Skip to content

Commit 6e257a1

Browse files
authored
Record verified 1.6.0 publication and resume development (#250)
1 parent 5709c0c commit 6e257a1

16 files changed

Lines changed: 110 additions & 56 deletions

File tree

‎CHANGELOG.md‎

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -10,9 +10,9 @@ unchanged. [1.5.1 is available from Central](releases/1.5.1-central-publication.
1010

1111
No changes yet.
1212

13-
## 1.6.0 — release preparation
13+
## 1.6.0 — 2026-10-18 UTC
1414

15-
Publication is pending; see the [release record](releases/1.6.0.md).
15+
Publication is verified; see the [release record](releases/1.6.0.md).
1616

1717
- Reduce unnecessary script-letter escaping in `forJavaScript` and
1818
`forJavaScriptBlock` (#243). Interior letters remain readable; the input's last

‎README.md‎

Lines changed: 8 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -9,13 +9,11 @@ has no runtime dependencies; optional JSP and Jakarta adapters provide view-laye
99
bindings. Encoding is one part of [XSS prevention][xss], alongside
1010
safe templates, URL validation and other application controls.
1111

12-
**1.6.0 release preparation:** this minor release reduces unnecessary JavaScript
13-
letter escaping while preserving recognized HTML-token protection across trusted
14-
fragments. Encoded bytes and streaming behavior change; see the
15-
[release notes](releases/1.6.0.md) for migration and verification.
16-
Publication is not complete; the dependency example below targets the prepared
17-
release. The latest verified Central release remains
18-
[1.5.1](releases/1.5.1-central-publication.md) until publication is confirmed.
12+
**1.6.0 is available from Maven Central.** This minor release reduces unnecessary
13+
JavaScript letter escaping while preserving recognized HTML-token protection
14+
across trusted fragments. Encoded bytes and streaming behavior change; see the
15+
[release notes](releases/1.6.0.md) and
16+
[publication verification](releases/1.6.0-central-publication.md).
1917

2018
The parser-boundary security fixes introduced in 1.5.0 remain in effect;
2119
versions through 1.4.1 do not contain those fixes. See
@@ -50,9 +48,9 @@ on the same classpath or module path. See the [runtime matrix](compatibility/REA
5048
`encoder-esapi` was retired after 1.4.1 and is not included or supported in
5149
1.5.x or 1.6.0. Applications using it must [migrate away from the adapter](docs/encoder-esapi-retirement.md).
5250

53-
Published 1.5.1 API documentation (1.6.0 indexing follows publication): [core](https://javadoc.io/doc/org.owasp.encoder/encoder/1.5.1/),
54-
[javax JSP](https://javadoc.io/doc/org.owasp.encoder/encoder-jsp/1.5.1/) and
55-
[Jakarta JSP](https://javadoc.io/doc/org.owasp.encoder/encoder-jakarta-jsp/1.5.1/).
51+
Published 1.6.0 API documentation (hosted indexing may lag publication): [core](https://javadoc.io/doc/org.owasp.encoder/encoder/1.6.0/),
52+
[javax JSP](https://javadoc.io/doc/org.owasp.encoder/encoder-jsp/1.6.0/) and
53+
[Jakarta JSP](https://javadoc.io/doc/org.owasp.encoder/encoder-jakarta-jsp/1.6.0/).
5654

5755
```java
5856
import org.owasp.encoder.Encode;

‎RELEASING.md‎

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ Do not tag, publish, or announce a release until **all open issues and all
66
open pull requests have been handled**. Before considering release approval,
77
inventory the full open backlog and record the outcome and supporting review
88
or verification for every item. Completing a maintenance batch does not satisfy
9-
this gate on its own. Keep current development at `1.5.2-SNAPSHOT` until maintainers
9+
this gate on its own. Keep current development at `1.6.1-SNAPSHOT` until maintainers
1010
deliberately create the exact release commit after the technical gates pass.
1111
Changing that commit to a release version is release preparation, not release approval.
1212

@@ -15,7 +15,7 @@ the final backlog inventory and dispositions for #110 and #169. A closed tracker
1515
does not waive this gate: repeat the complete open-issue/PR inventory when a new
1616
release is actually proposed and obtain release approval then.
1717

18-
The signed 1.5.1 release has been [published to Central and verified](releases/1.5.1-central-publication.md).
18+
The signed 1.6.0 release has been [published to Central and verified](releases/1.6.0-central-publication.md).
1919
Repeat these gates for each subsequent release. Do not rebuild or replace
2020
published artifacts, republish existing coordinates, or move release tags.
2121

@@ -156,8 +156,8 @@ uploading. Keep an audit record of the exact uploaded bundle and its SHA-256.
156156
4. Set the fixed versions in the security advisories and publish the advisories
157157
in coordination with the available release. Do not announce a Central version
158158
that has not actually published.
159-
5. Set main to the next unreleased version (for example `1.5.2-SNAPSHOT` or
160-
`1.6.0-SNAPSHOT`, chosen through version review), update `jakarta-test`
159+
5. Set main to the next unreleased version (for example `1.6.1-SNAPSHOT` or
160+
`1.7.0-SNAPSHOT`, chosen through version review), update `jakarta-test`
161161
accordingly, and reset the SCM tag to `HEAD`. Advance `public.api.baseline.version`
162162
and its old support-API classpaths to the newly published immutable release.
163163
Fetch all release tags before running the baseline regression: the tested

‎SECURITY.md‎

Lines changed: 9 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -2,16 +2,11 @@
22

33
## Supported Versions
44

5-
Version **1.6.0** is being prepared as an output-encoding refinement. It preserves
6-
recognized HTML-token protection from 1.5.0 and introduces no new encoder
7-
security fix. Until [publication is verified](releases/1.6.0.md), 1.5.1 remains
8-
the current supported release shown below.
9-
10-
Version **1.5.1**, published **2026-10-15 UTC**, is the current supported
11-
release. This documentation and build-maintenance patch preserves the 1.5.0
12-
security fixes and introduces no new encoder security fix. The
13-
[signed GitHub assets](https://github.com/OWASP/owasp-java-encoder/releases/tag/v1.5.1)
14-
and [Maven Central publication](releases/1.5.1-central-publication.md) have been
5+
Version **1.6.0**, published **2026-10-18 UTC**, is the current supported
6+
release. It reduces unnecessary JavaScript escaping while retaining recognized
7+
HTML-token protection. It introduces no new encoder security fix. The
8+
[signed GitHub assets](https://github.com/OWASP/owasp-java-encoder/releases/tag/v1.6.0)
9+
and [Maven Central publication](releases/1.6.0-central-publication.md) were
1510
verified against the retained signed artifacts.
1611

1712
Version **1.5.0**, published **2026-09-28 UTC**, introduced the security fixes.
@@ -23,9 +18,9 @@ older release lines are not patched.
2318

2419
| Maven coordinate | Supported | Not supported |
2520
| --------------------------------------- | --------- | ------------- |
26-
| `org.owasp.encoder:encoder` | 1.5.1 | < 1.5.1 |
27-
| `org.owasp.encoder:encoder-jsp` | 1.5.1 | < 1.5.1 |
28-
| `org.owasp.encoder:encoder-jakarta-jsp` | 1.5.1 | < 1.5.1 |
21+
| `org.owasp.encoder:encoder` | 1.6.0 | < 1.6.0 |
22+
| `org.owasp.encoder:encoder-jsp` | 1.6.0 | < 1.6.0 |
23+
| `org.owasp.encoder:encoder-jakarta-jsp` | 1.6.0 | < 1.6.0 |
2924

3025
The optional `org.owasp.encoder:encoder-esapi` artifact is retired. Version
3126
1.4.1 is its final published release, no version is currently supported, and no
@@ -96,7 +91,7 @@ release tag, then verify:
9691

9792
```sh
9893
gpg --import KEYS
99-
gpg --verify encoder-1.5.1.jar.asc encoder-1.5.1.jar
94+
gpg --verify encoder-1.6.0.jar.asc encoder-1.6.0.jar
10095
gpg --verify SHA256SUMS.asc SHA256SUMS
10196
gpg --verify SHA512SUMS.asc SHA512SUMS
10297
shasum -a 256 -c SHA256SUMS

‎VERIFYING.md‎

Lines changed: 4 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -6,15 +6,14 @@ identity authority. Obtain [KEYS](KEYS) from a trusted project revision and chec
66
the fingerprint before use. Never import private key material to verify a release.
77

88
For 1.4.1 and later releases until a documented rotation, the expected project key
9-
is `1C5F632B86809F2F5DB25092BEA0075F94074A9B`. The [1.6.0 release record](releases/1.6.0.md#verification-and-evidence)
10-
tracks signing and publication of the prepared release. Do not treat a prepared
11-
release as available. The [1.5.1 publication verification](releases/1.5.1-central-publication.md)
12-
records the previous verified artifacts and signatures.
9+
is `1C5F632B86809F2F5DB25092BEA0075F94074A9B`. The [1.6.0 publication verification](releases/1.6.0-central-publication.md)
10+
records the signed tag, exact bundle and comparison of Central and GitHub
11+
downloads against the retained signed artifacts.
1312

1413
## Fresh public-only keyring
1514

1615
Download the artifact, its original `.asc`, and the trusted `KEYS`. This example
17-
targets 1.6.0 once its publication is verified. For historical releases, use the full
16+
targets the published 1.6.0 release. For historical releases, use the full
1817
fingerprint mapped below and review the historical key's expiry and algorithms.
1918
Commands use GnuPG and `shasum` (or equivalent SHA tools).
2019

‎compatibility/README.md‎

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -84,9 +84,9 @@ fail these guards.
8484
During ordinary `./mvnw verify`, Animal Sniffer checks each library against the Java 8
8585
API signature. This catches linkage such as Java 9's covariant `CharBuffer.flip()`
8686
even when bytecode still has class version 52. japicmp checks public/protected API
87-
binary and source compatibility against **1.5.1** for the prepared **1.6.0** release. The baseline guard selects the latest preceding semantic release tag,
87+
binary and source compatibility against **1.6.0** during **1.6.1-SNAPSHOT** development. The baseline guard selects the latest preceding semantic release tag,
8888
including signed source commits integrated by squash merge; fetch all release tags
89-
before running it. The old support classpath matches the 1.5.1 POMs (JSP 2.3.3,
89+
before running it. The old support classpath matches the 1.6.0 POMs (JSP 2.3.3,
9090
Jakarta Servlet 6.1.0 and EL 6.0.1). Independent minimum-consumer fixtures remain
9191
unchanged. Update these pins together after each release. Missing
9292
types are not broadly ignored: dependencies are resolved so inherited API changes
@@ -138,7 +138,7 @@ multi-release layout remain unchanged.
138138

139139
## Published identities and development import ranges
140140

141-
The tables below describe the published **1.5.1** artifacts. The names are
141+
The tables below describe the published **1.6.0** artifacts. The names are
142142
historical identities preserved in 1.x; the OSGi import floors reflect the new
143143
1.5 calls and must not be projected onto older published JARs.
144144

‎core/pom.xml‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -42,7 +42,7 @@
4242
<parent>
4343
<groupId>org.owasp.encoder</groupId>
4444
<artifactId>encoder-parent</artifactId>
45-
<version>1.6.0</version>
45+
<version>1.6.1-SNAPSHOT</version>
4646
</parent>
4747

4848
<artifactId>encoder</artifactId>

‎docs/compatibility-decisions.md‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -68,7 +68,7 @@ actual output rather than reserving the maximum bound.
6868

6969
## JavaScript output refinement in 1.6.0 (#243)
7070

71-
This change is prepared for the minor release 1.6.0, rather than a patch release. The evaluated values and supported HTML tokenizer protection
71+
This change shipped in the minor release 1.6.0, rather than a patch release. The evaluated values and supported HTML tokenizer protection
7272
remain intact, but encoded bytes, explicit-flush spelling, and the previous literal
7373
substring prohibition change. This record describes the migration and parser
7474
validation requirements; release preparation does not establish publication.

‎docs/contexts.md‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
# Output contexts and boundaries
22

3-
This guide describes the prepared **1.6.0** release, including the JavaScript
3+
This guide describes the published **1.6.0** release, including the JavaScript
44
refinement for #243. Published 1.5.0 and 1.5.1 retain their broader letter escapes.
55
See the [1.6.0 release record](../releases/1.6.0.md) for publication status.
66
The [Encode Javadoc source](../core/src/main/java/org/owasp/encoder/Encode.java) is

‎docs/usage.md‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
# Java and JSP examples
22

3-
These examples target the prepared **1.6.0** release, including the JavaScript
3+
These examples target the published **1.6.0** release, including the JavaScript
44
refinement for #243. See the [release record](../releases/1.6.0.md) for publication
55
status. Published 1.5.1 retains 1.5.0's broader letter escaping.
66
Features marked **1.5** were introduced in 1.5.0.

0 commit comments

Comments
 (0)