Skip to content

Commit 869fff5

Browse files
committed
Release 1.11.0
Deprecated features: - `AuthenticatorSelectionCriteria` methods `builder().requireResidentKey(boolean)` and `isRequireResidentKey()` deprecated in favor of a new option, see below. - The `icon` field in `RelyingPartyIdentity` and `UserIdentity`, and its associated methods, are now deprecated. The corresponding property was removed in WebAuthn Level 2. Deprecated features will be removed in the next major version release. Changes: - `RelyingParty.startAssertion()` no longer overwrites the `appid` extension input in the `StartAssertionOptions` argument. - `RelyingParty.appId` setting now also activates the `appidExclude` extension in addition to the `appid` extension. - `RelyingParty.startRegistration()` now enables the `credProps` extension by default. The extension output, if any, is available as `RegistrationResult.isDiscoverable()` and `RegistrationResult.getClientExtensionOutputs().getCredProps()`. New features: - `RegistrationResult.keyId()` now includes `transports` if any were included in the `AuthenticatorAttestatationResponse`. To get transports passed through, call `PublicKeyCredential.response.getTransports()` on the client side after successful registration, and add the result as the property `response.transports` in the JSON passed into `PublicKeyCredential.parseRegistrationResponseJson`. See the project README for an example. - Added support for the `appidExclude`, `credProps`, `largeBlob` and `uvm` extensions. - Added support for the new `authenticatorSelectionCriteria.residentKey` option: - Added method `AuthenticatorSelectionCriteria.builder().residentKey(ResidentKeyRequirement)`. - Added method `AuthenticatorSelectionCriteria.getResidentKey()`. - Methods `builder().requireResidentKey(boolean)` and `isRequireResidentKey()` deprecated in favor of the above two new methods. - The builder methods `requireResidentKey(boolean)` and `residentKey(ResidentKeyRequirement)` both control one shared setting, which sets both the `requireResidentKey` and `residentKey` options simultaneously and in agreement with each other for backwards compatibility with older browsers. - Added methods `PublicKeyCredentialCreationOptions.toCredentialsCreateJson()`, `PublicKeyCredentialRequestOptions.toCredentialsGetJson()` and `AssertionRequest.toCredentialsGetJson()` for serializing to JSON without having to use Jackson directly. - Added methods `PublicKeyCredentialCreationOptions.toJson()` and `.fromJson(String)` suitable for encoding to and decoding from JSON. - Added methods `AssertionRequest.toJson()` and `.fromJson(String)` suitable for encoding to and decoding from JSON. - Added methods `StartAssertionOptions.builder().userHandle(ByteArray)` and `.userHandle(Optional<ByteArray>)` as alternatives to `.username(String)` and `.username(Optional<String>)`. The `userHandle` methods fill the same function as, and are mutually exclusive with, the `username` methods. Fixes: - Added missing JavaDoc for `id` and `name` methods of initial `RelyingPartyIdentityBuilder` stages. - Added and improved JavaDoc for required builder methods. - Javadoc for `TokenBindingInfo.id` incorrectly stated that the value is base64url encoded. - Javadoc for `TokenBindingStatus.PRESENT` incorrectly referenced its own (private) `id` member instead of `TokenBindingInfo.id`. - Improved JavaDoc for `StartRegistrationOptions.authenticatorSelection` - Improved JavaDoc for `RelyingParty.appid` - Make the `RelyingParty.validateSignatureCounter` JavaDoc also cover the success case where stored and received signature count are both zero.
2 parents eb6e64f + 309da30 commit 869fff5

File tree

108 files changed

+7657
-1641
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

108 files changed

+7657
-1641
lines changed

.github/workflows/build.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@ jobs:
1010
runs-on: ubuntu-latest
1111
strategy:
1212
matrix:
13-
java: [8, 11, 15]
13+
java: [8, 11, 16]
1414

1515
steps:
1616
- name: Check out code
@@ -22,7 +22,7 @@ jobs:
2222
java-version: ${{ matrix.java }}
2323

2424
- name: Run tests
25-
run: ./gradlew cleanTest check
25+
run: ./gradlew cleanTest test
2626

2727
- name: Archive HTML test report
2828
if: ${{ always() }}

.github/workflows/code-formatting.yml

Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,25 @@
1+
# This name is shown in the status badge in the README
2+
name: code-formatting
3+
4+
on: [push, pull_request]
5+
6+
jobs:
7+
test:
8+
name: JDK ${{matrix.java}}
9+
10+
runs-on: ubuntu-latest
11+
strategy:
12+
matrix:
13+
java: [11]
14+
15+
steps:
16+
- name: Check out code
17+
uses: actions/checkout@v1
18+
19+
- name: Set up JDK
20+
uses: actions/setup-java@v1
21+
with:
22+
java-version: ${{ matrix.java }}
23+
24+
- name: Check code formatting
25+
run: ./gradlew spotlessCheck

NEWS

Lines changed: 74 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,77 @@
1+
== Version 1.11.0 ==
2+
3+
Deprecated features:
4+
5+
* `AuthenticatorSelectionCriteria` methods
6+
`builder().requireResidentKey(boolean)` and `isRequireResidentKey()`
7+
deprecated in favor of a new option, see below.
8+
* The `icon` field in `RelyingPartyIdentity` and `UserIdentity`, and its
9+
associated methods, are now deprecated. The corresponding property was removed
10+
in WebAuthn Level 2.
11+
12+
Deprecated features will be removed in the next major version release.
13+
14+
Changes:
15+
16+
* `RelyingParty.startAssertion()` no longer overwrites the `appid` extension
17+
input in the `StartAssertionOptions` argument.
18+
* `RelyingParty.appId` setting now also activates the `appidExclude` extension in
19+
addition to the `appid` extension.
20+
* `RelyingParty.startRegistration()` now enables the `credProps` extension by
21+
default. The extension output, if any, is available as
22+
`RegistrationResult.isDiscoverable()` and
23+
`RegistrationResult.getClientExtensionOutputs().getCredProps()`.
24+
25+
New features:
26+
27+
* `RegistrationResult.keyId()` now includes `transports` if any were included in
28+
the `AuthenticatorAttestatationResponse`. To get transports passed through,
29+
call `PublicKeyCredential.response.getTransports()` on the client side after
30+
successful registration, and add the result as the property
31+
`response.transports` in the JSON passed into
32+
`PublicKeyCredential.parseRegistrationResponseJson`. See the project README
33+
for an example.
34+
* Added support for the `appidExclude`, `credProps`, `largeBlob` and `uvm`
35+
extensions.
36+
* Added support for the new `authenticatorSelectionCriteria.residentKey` option:
37+
** Added method
38+
`AuthenticatorSelectionCriteria.builder().residentKey(ResidentKeyRequirement)`.
39+
** Added method `AuthenticatorSelectionCriteria.getResidentKey()`.
40+
** Methods `builder().requireResidentKey(boolean)` and `isRequireResidentKey()`
41+
deprecated in favor of the above two new methods.
42+
** The builder methods `requireResidentKey(boolean)` and
43+
`residentKey(ResidentKeyRequirement)` both control one shared setting, which
44+
sets both the `requireResidentKey` and `residentKey` options simultaneously
45+
and in agreement with each other for backwards compatibility with older
46+
browsers.
47+
* Added methods `PublicKeyCredentialCreationOptions.toCredentialsCreateJson()`,
48+
`PublicKeyCredentialRequestOptions.toCredentialsGetJson()` and
49+
`AssertionRequest.toCredentialsGetJson()` for serializing to JSON without
50+
having to use Jackson directly.
51+
* Added methods `PublicKeyCredentialCreationOptions.toJson()` and
52+
`.fromJson(String)` suitable for encoding to and decoding from JSON.
53+
* Added methods `AssertionRequest.toJson()` and `.fromJson(String)` suitable for
54+
encoding to and decoding from JSON.
55+
* Added methods `StartAssertionOptions.builder().userHandle(ByteArray)` and
56+
`.userHandle(Optional<ByteArray>)` as alternatives to `.username(String)` and
57+
`.username(Optional<String>)`. The `userHandle` methods fill the same function
58+
as, and are mutually exclusive with, the `username` methods.
59+
60+
Fixes:
61+
62+
* Added missing JavaDoc for `id` and `name` methods of initial
63+
`RelyingPartyIdentityBuilder` stages.
64+
* Added and improved JavaDoc for required builder methods.
65+
* Javadoc for `TokenBindingInfo.id` incorrectly stated that the value is
66+
base64url encoded.
67+
* Javadoc for `TokenBindingStatus.PRESENT` incorrectly referenced its own
68+
(private) `id` member instead of `TokenBindingInfo.id`.
69+
* Improved JavaDoc for `StartRegistrationOptions.authenticatorSelection`
70+
* Improved JavaDoc for `RelyingParty.appid`
71+
* Make the `RelyingParty.validateSignatureCounter` JavaDoc also cover the
72+
success case where stored and received signature count are both zero.
73+
74+
175
== Version 1.10.1 ==
276

377
webauthn-server-attestation:

0 commit comments

Comments
 (0)