This is an automated email from the ASF dual-hosted git repository.

jamesbognar pushed a commit to branch docs
in repository https://gitbox.apache.org/repos/asf/juneau.git


The following commit(s) were added to refs/heads/docs by this push:
     new fb59e93464 Add 10.0.0 release note for canonical HTTP stack 
immutability (TODO-273)
fb59e93464 is described below

commit fb59e93464b7ca2923a2ed6e3acdb6147bf70fae
Author: James Bognar <[email protected]>
AuthorDate: Tue Jul 21 11:14:29 2026 -0400

    Add 10.0.0 release note for canonical HTTP stack immutability (TODO-273)
    
    Co-authored-by: Cursor <[email protected]>
---
 pages/release-notes/10.0.0.md | 1 +
 1 file changed, 1 insertion(+)

diff --git a/pages/release-notes/10.0.0.md b/pages/release-notes/10.0.0.md
index 61ce798df7..621b425a1e 100644
--- a/pages/release-notes/10.0.0.md
+++ b/pages/release-notes/10.0.0.md
@@ -766,6 +766,7 @@ _TBD — to be filled in as development continues._
   - **Two bug fixes bundled with this migration:** the `Thrown` response 
header now reports the *logical* (declared) exception type rather than a frozen 
`INSTANCE` snapshot's synthetic `$Unmodifiable` subclass name, so client-side 
exception reconstruction from a frozen shared instance (e.g. 
`BadRequest.INSTANCE`) no longer breaks; and `BasicStatusLine`'s copy 
constructor now faithfully copies `reasonPhraseCatalog` (previously dropped on 
copy).
   - **Migration:** replace every `x.setUnmodifiable()` call with `x = 
x.unmodifiable()` (or use the returned snapshot directly), and audit any direct 
`new BasicHttpResponse(...)` / `new BasicHttpEntity(...)` construction to 
instantiate a concrete leaf instead.
   - **`BasicResource` becomes an abstract self-typed (CRTP) root (TODO-274).** 
`BasicResource` is now `BasicResource<SELF extends BasicResource<SELF>>` 
(mirroring `BasicHttpEntity`/`BasicHttpResponse`) and can no longer be 
instantiated directly — use a concrete leaf (`StreamResource`, 
`ByteArrayResource`, `StringResource`, `FileResource`, `ReaderResource`). The 
breaking surface is narrow: `.as(BasicResource.class)` and `@Remote` methods 
declared to return `BasicResource`/`HttpResource` s [...]
+  - **Canonical `juneau-rest-common` HTTP stack brought to the immutable-beans 
paradigm (TODO-273).** `BasicHttpResponse` is now an abstract self-typed (CRTP) 
root `BasicHttpResponse<SELF extends BasicHttpResponse<SELF>>`; 
`BasicHttpException` is a funnel-only root (no CRTP — a generic `Throwable` is 
illegal per JLS §8.1.2). The old `setUnmodifiable()` / `assertModifiable()` 
flag idiom is removed on these public types and on the `HttpHeaderList` / 
`HttpPartList` collections — use `unmodi [...]
 
 _Other entries TBD — to be filled in before release. See also the major 
version bump note above._
 

Reply via email to