@@ -6,13 +6,22 @@ Release candidate versions
6
6
7
7
1 . Make sure release notes in ` NEWS ` are up to date.
8
8
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:
10
19
11
20
```
12
21
$ ./gradlew clean check
13
22
```
14
23
15
- 3 . Update the Java version in the [`release-verify-signatures`
24
+ 4 . Update the Java version in the [`release-verify-signatures`
16
25
workflow](https://github.com/Yubico/java-webauthn-server/blob/main/.github/workflows/release-verify-signatures.yml#L42).
17
26
18
27
See the `openjdk version` line of output from `java -version`:
@@ -34,21 +43,21 @@ Release candidate versions
34
43
35
44
Commit this change, if any.
36
45
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:
38
47
39
48
```
40
49
$ git tag -a -s 1.4.0-RC1 -m "Pre-release 1.4.0-RC1"
41
50
```
42
51
43
52
No tag body needed.
44
53
45
- 5 . Publish to Sonatype Nexus:
54
+ 6 . Publish to Sonatype Nexus:
46
55
47
56
```
48
57
$ ./gradlew publishToSonatype closeAndReleaseSonatypeStagingRepository
49
58
```
50
59
51
- 6 . Push to GitHub.
60
+ 7 . Push to GitHub.
52
61
53
62
If the pre-release makes significant changes to the project README, such
54
63
that the README does not accurately reflect the latest non-pre-release
@@ -66,7 +75,7 @@ Release candidate versions
66
75
$ git push origin main 1.4.0-RC1
67
76
```
68
77
69
- 7 . Make GitHub release.
78
+ 8 . Make GitHub release.
70
79
71
80
- Use the new tag as the release tag.
72
81
- Check the pre-release checkbox.
@@ -76,7 +85,7 @@ Release candidate versions
76
85
- Note the JDK version shown by `java -version` in step 3.
77
86
For example: `openjdk version "17.0.7" 2023-04-18`.
78
87
79
- 8 . Check that the ["Reproducible binary"
88
+ 9 . Check that the ["Reproducible binary"
80
89
workflow](https://github.com/Yubico/java-webauthn-server/actions/workflows/release-verify-signatures.yml)
81
90
runs and succeeds.
82
91
@@ -86,7 +95,16 @@ Release versions
86
95
87
96
1. Make sure release notes in `NEWS` are up to date.
88
97
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
90
108
to the commit to be released:
91
109
92
110
```
@@ -108,13 +126,13 @@ Release versions
108
126
$ git branch -d release-1.4.0
109
127
```
110
128
111
- 3 . Remove the "(unreleased)" tag from `NEWS`.
129
+ 4 . Remove the "(unreleased)" tag from `NEWS`.
112
130
113
- 4 . Update the version in the dependency snippets in the README.
131
+ 5 . Update the version in the dependency snippets in the README.
114
132
115
- 5 . Update the version in JavaDoc links in the READMEs.
133
+ 6 . Update the version in JavaDoc links in the READMEs.
116
134
117
- 6 . Update the Java version in the [`release-verify-signatures`
135
+ 7 . Update the Java version in the [`release-verify-signatures`
118
136
workflow](https://github.com/Yubico/java-webauthn-server/blob/main/.github/workflows/release-verify-signatures.yml#L42).
119
137
120
138
See the `openjdk version` line of output from `java -version`:
@@ -134,40 +152,40 @@ Release versions
134
152
java: ["17.0.7"]
135
153
```
136
154
137
- 7 . Amend these changes into the merge commit:
155
+ 8 . Amend these changes into the merge commit:
138
156
139
157
```
140
158
$ git add NEWS README */README .github/workflows/release-verify-signatures.yml
141
159
$ git commit --amend --reset-author
142
160
```
143
161
144
- 8 . Run the tests one more time:
162
+ 9 . Run the tests one more time:
145
163
146
164
```
147
165
$ ./gradlew clean check
148
166
```
149
167
150
- 9 . Tag the merge commit with an `X.Y.Z` tag:
168
+ 10 . Tag the merge commit with an `X.Y.Z` tag:
151
169
152
170
```
153
171
$ git tag -a -s 1.4.0 -m "Release 1.4.0"
154
172
```
155
173
156
174
No tag body needed since that's included in the commit.
157
175
158
- 10 . Publish to Sonatype Nexus:
176
+ 11 . Publish to Sonatype Nexus:
159
177
160
178
```
161
179
$ ./gradlew publishToSonatype closeAndReleaseSonatypeStagingRepository
162
180
```
163
181
164
- 11 . Push to GitHub:
182
+ 12 . Push to GitHub:
165
183
166
184
```
167
185
$ git push origin main 1.4.0
168
186
```
169
187
170
- 12 . Make GitHub release.
188
+ 13 . Make GitHub release.
171
189
172
190
- Use the new tag as the release tag.
173
191
- Copy the release notes from `NEWS` into the GitHub release notes; reformat
@@ -176,6 +194,6 @@ Release versions
176
194
- Note the JDK version shown by `java -version` in step 6.
177
195
For example: `openjdk version "17.0.7" 2023-04-18`.
178
196
179
- 13 . Check that the ["Reproducible binary"
197
+ 14 . Check that the ["Reproducible binary"
180
198
workflow](https://github.com/Yubico/java-webauthn-server/actions/workflows/release-verify-signatures.yml)
181
199
runs and succeeds.
0 commit comments