Skip to content

Commit 300ca83

Browse files
authored
adr(docs): Decision around 2.0.5 sdk compatibility. (#2445)
### Proposed Changes 1.) Decision point around expected behavior for v2.0.5 of SDK with different platform versions. ### Checklist - [ ] I have added or updated unit tests - [ ] I have added or updated integration tests (if appropriate) - [ ] I have added or updated documentation ### Testing Instructions
1 parent 4eb9fff commit 300ca83

File tree

1 file changed

+37
-0
lines changed

1 file changed

+37
-0
lines changed
Lines changed: 37 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,37 @@
1+
---
2+
# Required
3+
status: 'accepted'
4+
date: '2025-06-16'
5+
tags:
6+
- sdk:v2.0.5
7+
- key management
8+
# Optional
9+
driver: '@strantalis @jrschumacher @c-r33d @damorris25'
10+
deciders: '@strantalis @jrschumacher @c-r33d @damorris25'
11+
consulted: '@strantalis @jrschumacher @c-r33d @damorris25'
12+
informed: '@strantalis @jrschumacher @c-r33d @damorris25'
13+
---
14+
# SDK backwards/forward compatibility v2.0.5
15+
16+
## Decision Outcome
17+
18+
1. v2.0.5 of SDK should work with < v2.0.4 of platform
19+
2. < v2.0.5 of SDK should work with >= v2.0.5 of plaform
20+
3. We should not have a WithBaseKeyEnabled option, instead the platform version should be derived from the well-known. For v2.0.5 of the SDK we will prefer to use the base key if present and set properly. If it is not, we will fallback to using the default kases. In v2.0.6 the plan would be to error if the platform is >= v2.0.5 and the base key is not set.
21+
4. When creating a split plan if the SDK notices that there are key mappings it will **only** use those key mappings instead of grants. If no key mappings are present, the sdk will fallback to grants.
22+
23+
<!-- This is an optional element. Feel free to remove. -->
24+
### Consequences
25+
26+
- 🟩 **Good**, maintains backwards/forward compatibility
27+
- 🟩 **Good**, allows us to not add another TDFOption
28+
- 🟨 **Neutral**: Wellknown needs to be updated with platform version information.
29+
- 🟨 **Neutral**: After an admin creates their first key mapping the SDK will ignore previously created grants.
30+
31+
<!-- This is an optional element. Feel free to remove. -->
32+
## Validation
33+
34+
- **Unit Tests:** SDK conditions for no base key functionality based on platform version
35+
- **Integration Tests:** Mix of tests using new and old platform/sdk. *Should be covered in existing XTests*
36+
- **Manual Testing:** Deploy different versions of the SDK/Platform.
37+
- **Documentation:** Update SDK and platform documentation to reflect the new configuration option and its usage.

0 commit comments

Comments
 (0)