Skip to content

Commit 04c06e6

Browse files
authored
Merge pull request #245 from OWASP/release/1.5.1
Prepare Java Encoder 1.5.1 documentation patch release
2 parents ba3aade + 1ab0cfb commit 04c06e6

13 files changed

Lines changed: 133 additions & 32 deletions

File tree

‎CHANGELOG.md‎

Lines changed: 13 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -8,13 +8,18 @@ unchanged. [1.5.0 is available from Central](releases/1.5.0-central-publication.
88

99
## Unreleased
1010

11+
## 1.5.1 — release preparation, 2026-10-15 UTC
12+
13+
Documentation and build-maintenance patch; publication is tracked in the
14+
[release record](releases/1.5.1.md). Encoding behavior and public APIs are unchanged.
15+
1116
- Clarify JavaScript encoding modes, output growth, and insertion-boundary
1217
requirements for #243; distinguish JSON whole-string HTML embedding from
1318
JavaScript fragment protection. Correct internal HTML/XML comments and
1419
strengthen parser tests to verify script text, not only absence of a marker.
1520
Encoding behavior is unchanged.
16-
- Resume development at `1.5.1-SNAPSHOT`, with the immutable 1.5.0 public-API
17-
baseline and its matching support APIs. Minimum-consumer fixtures are unchanged.
21+
- Verify public API compatibility against immutable 1.5.0 artifacts and their
22+
matching support APIs. Minimum-consumer fixtures are unchanged.
1823
- Discover release tags independently of commit ancestry so squash merges cannot
1924
leave the compatibility baseline stale; add isolated Git regressions.
2025
- Record verified 1.5.0 publication and replace pending-availability notices.
@@ -30,6 +35,12 @@ unchanged. [1.5.0 is available from Central](releases/1.5.0-central-publication.
3035
module POMs are byte-identical to 3.9.16 builds
3136
([validation](releases/maven-3.10.0-validation.md)).
3237

38+
- Update isolated Tomcat/Jasper test engines to 9.0.123 and 10.1.61 and give
39+
each its own Dependabot scan (#241, #242). These are test tooling, not
40+
dependencies shipped inside the encoder libraries.
41+
- Update reviewed build tooling and pinned Actions, including japicmp 0.26.3,
42+
Commons Lang 3.21.0, and the publisher's HttpClient 5.6.5 (#234, #237, #240).
43+
3344
## 1.5.0 — 2026-09-28 UTC
3445

3546
This is a security release for

‎README.md‎

Lines changed: 13 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -9,12 +9,16 @@ 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-
**Released 2026-09-28:** version 1.5.0 fixes parser-boundary vulnerabilities in
13-
JavaScript-in-HTML, CDATA, and XML-comment fragment composition. Versions through
14-
1.4.1 do not contain those fixes. The [signed GitHub release][release] and
15-
[Maven Central artifacts](releases/1.5.0-central-publication.md) have been
16-
independently verified. See the [1.5.0 release notes](releases/1.5.0.md),
17-
[security advisory](https://github.com/OWASP/owasp-java-encoder/security/advisories/GHSA-g8p6-7r8f-qrpv)
12+
**1.5.1 release preparation:** this patch release clarifies the JavaScript and
13+
JSON documentation and strengthens parser regression tests. Encoder behavior,
14+
public APIs, and runtime dependencies are unchanged from 1.5.0. Publication is
15+
not complete; the dependency example below targets the prepared release. See
16+
[the 1.5.1 release record](releases/1.5.1.md) for availability and verification.
17+
18+
The latest verified Central release remains [1.5.0](releases/1.5.0-central-publication.md)
19+
until 1.5.1 publication is confirmed. It introduced the parser-boundary security
20+
fixes retained in 1.5.1; versions through 1.4.1 do not contain those fixes. See
21+
[the security advisory](https://github.com/OWASP/owasp-java-encoder/security/advisories/GHSA-g8p6-7r8f-qrpv)
1822
and [VERIFYING.md](VERIFYING.md).
1923

2024
## Start using the OWASP Java Encoders
@@ -32,7 +36,7 @@ The three supported artifacts use group ID `org.owasp.encoder`:
3236
<dependency>
3337
<groupId>org.owasp.encoder</groupId>
3438
<artifactId>encoder</artifactId>
35-
<version>1.5.0</version>
39+
<version>1.5.1</version>
3640
</dependency>
3741
```
3842

@@ -45,7 +49,7 @@ on the same classpath or module path. See the [runtime matrix](compatibility/REA
4549
`encoder-esapi` was retired after 1.4.1 and is not included or supported in
4650
1.5.0. Applications using it must [migrate away from the adapter](docs/encoder-esapi-retirement.md).
4751

48-
Published 1.5.0 API documentation: [core](https://javadoc.io/doc/org.owasp.encoder/encoder/1.5.0/),
52+
Published 1.5.0 API documentation (1.5.1 indexing follows publication): [core](https://javadoc.io/doc/org.owasp.encoder/encoder/1.5.0/),
4953
[javax JSP](https://javadoc.io/doc/org.owasp.encoder/encoder-jsp/1.5.0/) and
5054
[Jakarta JSP](https://javadoc.io/doc/org.owasp.encoder/encoder-jakarta-jsp/1.5.0/).
5155

@@ -172,4 +176,4 @@ links distinguish maintainer support from OWASP Foundation donations.
172176
[xss]: https://cheatsheetseries.owasp.org/cheatsheets/Cross_Site_Scripting_Prevention_Cheat_Sheet.html
173177
[java-libraries]: https://devguide.owasp.org/en/05-implementation/03-secure-libraries/04-java-secure-libs/
174178
[project]: https://owasp.org/projects/java-encoder
175-
[release]: https://github.com/OWASP/owasp-java-encoder/releases/tag/v1.5.0
179+
[release]: https://github.com/OWASP/owasp-java-encoder/releases/tag/v1.5.1

‎SECURITY.md‎

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,11 @@
22

33
## Supported Versions
44

5+
Version **1.5.1** is being prepared as a documentation and build-maintenance
6+
patch. It preserves the 1.5.0 security fixes and introduces no new encoder
7+
security fix. Until [publication is verified](releases/1.5.1.md), 1.5.0 remains
8+
the current supported release shown below.
9+
510
Version **1.5.0**, published **2026-09-28 UTC**, is the current security release.
611
The [signed GitHub assets](https://github.com/OWASP/owasp-java-encoder/releases/tag/v1.5.0)
712
and [Maven Central publication](releases/1.5.0-central-publication.md) have been

‎VERIFYING.md‎

Lines changed: 7 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -6,14 +6,15 @@ 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.5.0 release record](releases/1.5.0.md#verification-and-evidence)
10-
covers its signed GitHub assets. The [Central publication verification](releases/1.5.0-central-publication.md)
11-
confirms that Central serves the same artifacts and signatures.
9+
is `1C5F632B86809F2F5DB25092BEA0075F94074A9B`. The [1.5.1 release record](releases/1.5.1.md#verification-and-evidence)
10+
tracks signing and publication of the prepared patch release. Do not treat a
11+
prepared release as available. The [1.5.0 publication verification](releases/1.5.0-central-publication.md)
12+
continues to record the previous verified artifacts and signatures.
1213

1314
## Fresh public-only keyring
1415

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

@@ -22,7 +23,7 @@ verify_home=$(mktemp -d)
2223
chmod 700 "$verify_home"
2324
gpg --homedir "$verify_home" --batch --no-autostart --import KEYS
2425
expected_fingerprint=1C5F632B86809F2F5DB25092BEA0075F94074A9B
25-
artifact=encoder-1.5.0.jar
26+
artifact=encoder-1.5.1.jar
2627
gpg --homedir "$verify_home" --no-autostart --fingerprint "$expected_fingerprint"
2728
gpg --homedir "$verify_home" --batch --no-autostart --status-fd 1 \
2829
--verify "$artifact.asc" "$artifact" > signature.status || exit 1
@@ -45,7 +46,7 @@ A Maven `.sha256` sidecar usually contains **only a hex digest**, not a filename
4546
After fetching it over the intended distribution channel, form a check manifest:
4647

4748
```sh
48-
artifact=encoder-1.5.0.jar
49+
artifact=encoder-1.5.1.jar
4950
expected_hash=$(tr -d '[:space:]' < "$artifact.sha256")
5051
printf '%s\n' "$expected_hash" | grep -Eq '^[[:xdigit:]]{64}$' || exit 1
5152
printf '%s %s\n' "$expected_hash" "$artifact" | shasum -a 256 --check || exit 1

‎compatibility/README.md‎

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -84,8 +84,7 @@ 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.0** during **1.5.1-SNAPSHOT**
88-
development. The baseline guard selects the latest preceding semantic release tag,
87+
binary and source compatibility against **1.5.0** for the **1.5.1** release. The baseline guard selects the latest preceding semantic release tag,
8988
including signed source commits integrated by squash merge; fetch all release tags
9089
before running it. The old support classpath matches the 1.5.0 POMs (JSP 2.3.3,
9190
Jakarta Servlet 6.1.0 and EL 6.0.1). Independent minimum-consumer fixtures remain

‎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.5.1-SNAPSHOT</version>
45+
<version>1.5.1</version>
4646
</parent>
4747

4848
<artifactId>encoder</artifactId>

‎docs/contexts.md‎

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,8 @@
11
# Output contexts and boundaries
22

3-
This guide describes the published version **1.5.0**; feature introductions are
4-
marked below. See the [verified downloads](../releases/1.5.0-central-publication.md).
3+
This guide describes **1.5.1**, which clarifies the unchanged 1.5.0 encoding
4+
behavior; feature introductions are marked below. See the
5+
[release record](../releases/1.5.1.md) for publication status.
56
The [Encode Javadoc source](../core/src/main/java/org/owasp/encoder/Encode.java) is
67
the detailed per-method contract; each method has a String-returning and a
78
`(Writer out, String input)` overload. `Encoders` exposes shared stateless encoders;

‎docs/usage.md‎

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
# Java and JSP examples
22

3-
These examples target the published version **1.5.0**. See the
4-
[verified downloads](../releases/1.5.0-central-publication.md).
3+
These examples target **1.5.1**, with unchanged encoding behavior from 1.5.0.
4+
See the [release record](../releases/1.5.1.md) for publication status.
55
Features marked **1.5** are new in this release.
66

77
## HTML and Writer output
@@ -140,7 +140,7 @@ and the [packaged JSP engine checks](../compatibility/jsp-engine/README.md).
140140
## Java modules
141141

142142
The explicit module name for core is `owasp.encoder`. After verifying and obtaining
143-
`encoder-1.5.0.jar`, put that unchanged JAR in `lib/`, then create:
143+
`encoder-1.5.1.jar`, put that unchanged JAR in `lib/`, then create:
144144

145145
`src/example.app/module-info.java`:
146146

‎jakarta-test/pom.xml‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,7 @@
3131
<jackson.build.version>3.1.7</jackson.build.version>
3232
<!-- Must equal the version in the root pom.xml so this app tests the
3333
encoder-jakarta-jsp built in the same reactor. CI checks this. -->
34-
<encoder.version>1.5.1-SNAPSHOT</encoder.version>
34+
<encoder.version>1.5.1</encoder.version>
3535
</properties>
3636
<dependencies>
3737
<dependency>

‎jakarta/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.5.1-SNAPSHOT</version>
45+
<version>1.5.1</version>
4646
</parent>
4747

4848
<artifactId>encoder-jakarta-jsp</artifactId>

0 commit comments

Comments
 (0)