Skip to content

Commit a3698be

Browse files
committed
Release 2.5.1
Changes: - Dropped dependency on COSE-Java. - Fixed incompatibility with Jackson version 2.17.0-rc1.
2 parents 345762b + cdf9513 commit a3698be

File tree

25 files changed

+281
-186
lines changed

25 files changed

+281
-186
lines changed

.github/workflows/coverage.yml

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,9 @@ name: Test coverage
33

44
on:
55
push:
6-
branches: [main]
6+
branches:
7+
- main
8+
- 'release-*'
79

810
jobs:
911
test:
@@ -45,6 +47,7 @@ jobs:
4547
sed "s/{shortcommit}/${GITHUB_SHA:0:8}/g;s/{commit}/${GITHUB_SHA}/g;s#{repo}#${GITHUB_SERVER_URL}/${GITHUB_REPOSITORY}#g" .github/workflows/coverage/index.html.template > build/gh-pages/index.html
4648
4749
- name: Create coverage badge
50+
if: ${{ github.ref == 'refs/heads/main' }}
4851
# This creates a file that defines a [Shields.io endpoint badge](https://shields.io/endpoint)
4952
# which we can then include in the project README.
5053
uses: ./.github/actions/pit-results-badge
@@ -69,6 +72,7 @@ jobs:
6972
prev-mutations-file: prev-mutations.xml
7073

7174
- name: Push to GitHub Pages
75+
if: ${{ github.ref == 'refs/heads/main' }}
7276
run: |
7377
git config user.name github-actions
7478
git config user.email [email protected]

NEWS

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,11 @@
1+
== Version 2.5.1 ==
2+
3+
Changes:
4+
5+
* Dropped dependency on COSE-Java.
6+
* Fixed incompatibility with Jackson version 2.17.0-rc1.
7+
8+
19
== Version 2.5.0 ==
210

311
`webauthn-server-core`:

README

Lines changed: 55 additions & 55 deletions
Large diffs are not rendered by default.

build.gradle

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -34,7 +34,6 @@ dependencies {
3434
constraints {
3535
api(constraintLibs.bundles.jackson)
3636
api(constraintLibs.cbor)
37-
api(constraintLibs.cose)
3837
api(constraintLibs.guava)
3938
api(constraintLibs.httpclient5)
4039
api(constraintLibs.slf4j)

doc/releasing.md

Lines changed: 37 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -6,13 +6,22 @@ Release candidate versions
66

77
1. Make sure release notes in `NEWS` are up to date.
88

9-
2. Run the tests one more time:
9+
2. Review the diff from the previous version for any changes to the public API,
10+
and adjust the upcoming version number accordingly.
11+
12+
If any implementation dependencies have been added to method signatures in
13+
the public API, including `throws` declarations, change these dependencies
14+
from `implementation` to `api` dependency declarations in the relevant
15+
Gradle build script. Conversely, remove or downgrade to `implementation` any
16+
dependencies no longer exposed in the public API.
17+
18+
3. Run the tests one more time:
1019

1120
```
1221
$ ./gradlew clean check
1322
```
1423
15-
3. Update the Java version in the [`release-verify-signatures`
24+
4. Update the Java version in the [`release-verify-signatures`
1625
workflow](https://github.com/Yubico/java-webauthn-server/blob/main/.github/workflows/release-verify-signatures.yml#L42).
1726
1827
See the `openjdk version` line of output from `java -version`:
@@ -34,21 +43,21 @@ Release candidate versions
3443
3544
Commit this change, if any.
3645
37-
4. Tag the head commit with an `X.Y.Z-RCN` tag:
46+
5. Tag the head commit with an `X.Y.Z-RCN` tag:
3847
3948
```
4049
$ git tag -a -s 1.4.0-RC1 -m "Pre-release 1.4.0-RC1"
4150
```
4251
4352
No tag body needed.
4453
45-
5. Publish to Sonatype Nexus:
54+
6. Publish to Sonatype Nexus:
4655
4756
```
4857
$ ./gradlew publishToSonatype closeAndReleaseSonatypeStagingRepository
4958
```
5059
51-
6. Push to GitHub.
60+
7. Push to GitHub.
5261
5362
If the pre-release makes significant changes to the project README, such
5463
that the README does not accurately reflect the latest non-pre-release
@@ -66,7 +75,7 @@ Release candidate versions
6675
$ git push origin main 1.4.0-RC1
6776
```
6877
69-
7. Make GitHub release.
78+
8. Make GitHub release.
7079
7180
- Use the new tag as the release tag.
7281
- Check the pre-release checkbox.
@@ -76,7 +85,7 @@ Release candidate versions
7685
- Note the JDK version shown by `java -version` in step 3.
7786
For example: `openjdk version "17.0.7" 2023-04-18`.
7887
79-
8. Check that the ["Reproducible binary"
88+
9. Check that the ["Reproducible binary"
8089
workflow](https://github.com/Yubico/java-webauthn-server/actions/workflows/release-verify-signatures.yml)
8190
runs and succeeds.
8291
@@ -86,7 +95,16 @@ Release versions
8695
8796
1. Make sure release notes in `NEWS` are up to date.
8897
89-
2. Make a no-fast-forward merge from the last (non release candidate) release
98+
2. Review the diff from the previous version for any changes to the public API,
99+
and adjust the upcoming version number accordingly.
100+
101+
If any implementation dependencies have been added to method signatures in
102+
the public API, including `throws` declarations, change these dependencies
103+
from `implementation` to `api` dependency declarations in the relevant
104+
Gradle build script. Conversely, remove or downgrade to `implementation` any
105+
dependencies no longer exposed in the public API.
106+
107+
3. Make a no-fast-forward merge from the last (non release candidate) release
90108
to the commit to be released:
91109
92110
```
@@ -108,13 +126,13 @@ Release versions
108126
$ git branch -d release-1.4.0
109127
```
110128
111-
3. Remove the "(unreleased)" tag from `NEWS`.
129+
4. Remove the "(unreleased)" tag from `NEWS`.
112130
113-
4. Update the version in the dependency snippets in the README.
131+
5. Update the version in the dependency snippets in the README.
114132
115-
5. Update the version in JavaDoc links in the READMEs.
133+
6. Update the version in JavaDoc links in the READMEs.
116134
117-
6. Update the Java version in the [`release-verify-signatures`
135+
7. Update the Java version in the [`release-verify-signatures`
118136
workflow](https://github.com/Yubico/java-webauthn-server/blob/main/.github/workflows/release-verify-signatures.yml#L42).
119137
120138
See the `openjdk version` line of output from `java -version`:
@@ -134,40 +152,40 @@ Release versions
134152
java: ["17.0.7"]
135153
```
136154
137-
7. Amend these changes into the merge commit:
155+
8. Amend these changes into the merge commit:
138156
139157
```
140158
$ git add NEWS README */README .github/workflows/release-verify-signatures.yml
141159
$ git commit --amend --reset-author
142160
```
143161
144-
8. Run the tests one more time:
162+
9. Run the tests one more time:
145163
146164
```
147165
$ ./gradlew clean check
148166
```
149167
150-
9. Tag the merge commit with an `X.Y.Z` tag:
168+
10. Tag the merge commit with an `X.Y.Z` tag:
151169
152170
```
153171
$ git tag -a -s 1.4.0 -m "Release 1.4.0"
154172
```
155173
156174
No tag body needed since that's included in the commit.
157175
158-
10. Publish to Sonatype Nexus:
176+
11. Publish to Sonatype Nexus:
159177
160178
```
161179
$ ./gradlew publishToSonatype closeAndReleaseSonatypeStagingRepository
162180
```
163181
164-
11. Push to GitHub:
182+
12. Push to GitHub:
165183
166184
```
167185
$ git push origin main 1.4.0
168186
```
169187
170-
12. Make GitHub release.
188+
13. Make GitHub release.
171189
172190
- Use the new tag as the release tag.
173191
- Copy the release notes from `NEWS` into the GitHub release notes; reformat
@@ -176,6 +194,6 @@ Release versions
176194
- Note the JDK version shown by `java -version` in step 6.
177195
For example: `openjdk version "17.0.7" 2023-04-18`.
178196
179-
13. Check that the ["Reproducible binary"
197+
14. Check that the ["Reproducible binary"
180198
workflow](https://github.com/Yubico/java-webauthn-server/actions/workflows/release-verify-signatures.yml)
181199
runs and succeeds.

settings.gradle.kts

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,6 @@ dependencyResolutionManagement {
1515
versionCatalogs {
1616
create("constraintLibs") {
1717
library("cbor", "com.upokecenter:cbor:[4.5.1,5)")
18-
library("cose", "com.augustcellars.cose:cose-java:[1.0.0,2)")
1918
library("guava", "com.google.guava:guava:[24.1.1,33)")
2019
library("httpclient5", "org.apache.httpcomponents.client5:httpclient5:[5.0.0,6)")
2120
library("slf4j", "org.slf4j:slf4j-api:[1.7.25,3)")

test-dependent-projects/java-dep-webauthn-server-core-and-bouncycastle/build.gradle.kts

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -12,9 +12,6 @@ dependencies {
1212
testImplementation("junit:junit:4.12")
1313
testImplementation("org.mockito:mockito-core:[2.27.0,3)")
1414

15-
// Runtime-only internal dependency of webauthn-server-core
16-
testImplementation("com.augustcellars.cose:cose-java:[1.0.0,2)")
17-
1815
// Transitive dependencies from coreTestOutput
1916
testImplementation("org.scala-lang:scala-library:[2.13.1,3)")
2017
}

test-dependent-projects/java-dep-webauthn-server-core-and-bouncycastle/src/test/java/com/yubico/webauthn/BouncyCastleProviderPresenceTest.java

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,6 @@
22

33
import static org.junit.Assert.assertTrue;
44

5-
import COSE.CoseException;
65
import com.yubico.webauthn.data.AttestationObject;
76
import com.yubico.webauthn.data.RelyingPartyIdentity;
87
import java.io.IOException;
@@ -72,7 +71,7 @@ public void bouncyCastleProviderIsNotLoadedAfterInstantiatingRelyingParty() {
7271

7372
@Test
7473
public void bouncyCastleProviderIsNotLoadedAfterAttemptingToLoadEddsaKey()
75-
throws IOException, CoseException, InvalidKeySpecException {
74+
throws IOException, InvalidKeySpecException {
7675
try {
7776
WebAuthnCodecs.importCosePublicKey(
7877
new AttestationObject(
@@ -92,7 +91,7 @@ public void bouncyCastleProviderIsNotLoadedAfterAttemptingToLoadEddsaKey()
9291

9392
@Test(expected = NoSuchAlgorithmException.class)
9493
public void doesNotFallBackToBouncyCastleAutomatically()
95-
throws IOException, CoseException, InvalidKeySpecException, NoSuchAlgorithmException {
94+
throws IOException, InvalidKeySpecException, NoSuchAlgorithmException {
9695
for (Provider prov : Security.getProviders()) {
9796
Security.removeProvider(prov.getName());
9897
}

test-dependent-projects/java-dep-webauthn-server-core-and-bouncycastle/src/test/java/com/yubico/webauthn/CryptoAlgorithmsTest.java

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,6 @@
33
import static org.junit.Assert.assertEquals;
44
import static org.junit.Assert.assertTrue;
55

6-
import COSE.CoseException;
76
import com.yubico.webauthn.data.AttestationObject;
87
import com.yubico.webauthn.data.RelyingPartyIdentity;
98
import java.io.IOException;
@@ -47,7 +46,7 @@ public void tearDown() {
4746

4847
@Test
4948
public void importRsa()
50-
throws IOException, CoseException, NoSuchAlgorithmException, InvalidKeySpecException {
49+
throws IOException, NoSuchAlgorithmException, InvalidKeySpecException {
5150
PublicKey key =
5251
WebAuthnCodecs.importCosePublicKey(
5352
new AttestationObject(
@@ -61,7 +60,7 @@ public void importRsa()
6160

6261
@Test
6362
public void importEcdsa()
64-
throws IOException, CoseException, NoSuchAlgorithmException, InvalidKeySpecException {
63+
throws IOException, NoSuchAlgorithmException, InvalidKeySpecException {
6564
PublicKey key =
6665
WebAuthnCodecs.importCosePublicKey(
6766
new AttestationObject(
@@ -75,7 +74,7 @@ public void importEcdsa()
7574

7675
@Test
7776
public void importEddsa()
78-
throws IOException, CoseException, NoSuchAlgorithmException, InvalidKeySpecException {
77+
throws IOException, NoSuchAlgorithmException, InvalidKeySpecException {
7978
PublicKey key =
8079
WebAuthnCodecs.importCosePublicKey(
8180
new AttestationObject(

test-dependent-projects/java-dep-webauthn-server-core/build.gradle.kts

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -11,9 +11,6 @@ dependencies {
1111
testImplementation("junit:junit:4.12")
1212
testImplementation("org.mockito:mockito-core:[2.27.0,3)")
1313

14-
// Runtime-only internal dependency of webauthn-server-core
15-
testImplementation("com.augustcellars.cose:cose-java:[1.0.0,2)")
16-
1714
// Transitive dependencies from coreTestOutput
1815
testImplementation("org.scala-lang:scala-library:[2.13.1,3)")
1916
}

0 commit comments

Comments
 (0)