@@ -10,6 +10,34 @@ New features:
10
10
`FinishAssertionOptions`. When set, `RelyingParty.finishAssertion()` will
11
11
adapt the validation logic for a Secure Payment Confirmation (SPC) response
12
12
instead of an ordinary WebAuthn response. See the JavaDoc for details.
13
+ ** NOTE: Experimental features may receive breaking changes without a major
14
+ version increase.
15
+ * (Experimental) Added a new suite of interfaces, starting with
16
+ `CredentialRepositoryV2`. `RelyingParty` can now be configured with a
17
+ `CredentialRepositoryV2` instance instead of a `CredentialRepository`
18
+ instance. This changes the result of the `RelyingParty` builder to
19
+ `RelyingPartyV2`. `CredentialRepositoryV2` and `RelyingPartyV2` enable a suite
20
+ of new features:
21
+ ** `CredentialRepositoryV2` does not assume that the application has usernames,
22
+ instead username support is modular. In addition to the
23
+ `CredentialRepositoryV2`, `RelyingPartyV2` can be optionally configured with
24
+ a `UsernameRepository` as well. If a `UsernameRepository` is not set, then
25
+ `RelyingPartyV2.startAssertion(StartAssertionOptions)` will fail at runtime
26
+ if `StartAssertionOptions.username` is set.
27
+ ** `CredentialRepositoryV2` uses a new interface `CredentialRecord` to
28
+ represent registered credentials, instead of the concrete
29
+ `RegisteredCredential` class (although `RegisteredCredential` also
30
+ implements `CredentialRecord`). This provides implementations greater
31
+ flexibility while also automating the type conversion to
32
+ `PublicKeyCredentialDescriptor` needed in `startRegistration()` and
33
+ `startAssertion()`.
34
+ ** `RelyingPartyV2.finishAssertion()` returns a new type `AssertionResultV2`
35
+ with a new method `getCredential()`, which returns the `CredentialRecord`
36
+ that was verified. The return type of `getCredential()` is generic and
37
+ preserves the concrete type of `CredentialRecord` returned by the
38
+ `CredentialRepositoryV2` implementation.
39
+ ** NOTE: Experimental features may receive breaking changes without a major
40
+ version increase.
13
41
14
42
15
43
== Version 2.5.0 ==
0 commit comments