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 5252b19d76 docs: add TODO-20 debug config migration notes
5252b19d76 is described below

commit 5252b19d769118d83b65f78ab9094a281e60e03d
Author: James Bognar <[email protected]>
AuthorDate: Mon May 25 09:09:42 2026 -0400

    docs: add TODO-20 debug config migration notes
    
    Co-authored-by: Cursor <[email protected]>
---
 pages/release-notes/9.5.0.md               | 17 +++++++++++++++++
 pages/topics/23.01.V9.5-migration-guide.md |  1 +
 2 files changed, 18 insertions(+)

diff --git a/pages/release-notes/9.5.0.md b/pages/release-notes/9.5.0.md
index 764618aed3..36e453e77c 100644
--- a/pages/release-notes/9.5.0.md
+++ b/pages/release-notes/9.5.0.md
@@ -1986,6 +1986,23 @@ String name
 
 ### juneau-rest-server
 
+#### Rest Debug Rethink (TODO-20)
+
+`juneau-rest-server` now resolves debug behavior through a single 
`DebugConfig` model and typed `@Debug` annotation slot, replacing the previous 
split model (`debug`, `debugDefault`, `debugEnablement`, `debugOn`) on `@Rest` 
/ `@RestOp`.
+
+- New typed annotation surface:
+  - `@Rest(debug=@Debug(...))`
+  - `@RestOp(debug=@Debug(...))`
+- New debug core model under `org.apache.juneau.rest.debug`:
+  - `DebugConfig`, `DebugRule`, `DebugResult`, `DebugFormat`, 
`DebugFormatContext`.
+- New built-in formats under `org.apache.juneau.rest.debug.format`:
+  - `BasicTextFormat`, `OneLineFormat`, `JsonFormat`, and Juneau-owned 
`CapturingFormat`.
+- `CallLogger` keeps its public surface, but internally resolves effective 
debug behavior through `DebugConfig`.
+- Runtime shortcuts remain:
+  - `RestRequest.setDebug()/setDebug(Boolean)/isDebug()` still work and map 
into the new debug resolution path.
+
+**Migration note:** This is a hard-break change for annotation members. 
Replace any old debug attributes on `@Rest` / `@RestOp` with the typed 
`debug=@Debug(...)` form.
+
 #### Test-time Bean Injection (TODO-35)
 
 A new JUnit 5 extension and `@TestBean` annotation enable Spring-style 
test-time bean substitution for `MockRestClient`, `Microservice`, 
`SerializerSet`, `ParserSet`, and `EncoderSet` — without CGLIB, AOT bytecode 
generation, or any Mockito dependency. See [REST Server — Test-time Bean 
Injection](/docs/topics/RestServerTestBeanInjection) for the full reference.
diff --git a/pages/topics/23.01.V9.5-migration-guide.md 
b/pages/topics/23.01.V9.5-migration-guide.md
index 5e72b7b481..63c973e1e6 100644
--- a/pages/topics/23.01.V9.5-migration-guide.md
+++ b/pages/topics/23.01.V9.5-migration-guide.md
@@ -29,6 +29,7 @@ teams jumping from 9.1 (or earlier) directly to 9.5 have a 
single reference.
 
 | Custom annotation appliers — user code that subclassed the internal 
`AnnotationApplier<Rest, RestContext.Builder>` (or `AnnotationApplier<RestOp, 
RestOpContext.Builder>`) to extend the annotation-processing pass (the 
`apply(AnnotationInfo<A>, B builder)` hook invoked once per annotation during 
context construction). | **Removed.** The builder-based apply-pass is gone; 
`RestAnnotation.Apply` (`RestContextApply`) is now a package-private nested 
class inside `RestContext` and is not exten [...]
 | Custom `RestAnnotation.create(...)` / `RestOpAnnotation.create(...)` 
builder-of-builders patterns — programmatic construction of `@Rest` / `@RestOp` 
annotation proxies used to feed synthetic annotations into the builder 
apply-pass (common in test fixtures and extension libraries). | The annotation 
proxy builders still exist for test use (`RestAnnotation.create()` / 
`RestOpAnnotation.create()` are still available via annotation-test helpers), 
but they no longer feed into a builder apply [...]
+| Debug config attributes on `@Rest` / `@RestOp` (`debug`, `debugDefault`, 
`debugEnablement`, `debugOn`) | A single typed slot: `debug=@Debug(...)` on 
both `@Rest` and `@RestOp`. Use `@Debug("always" | "never" | "conditional")`, 
optional `format`, `level`, and `config` members. | **Hard break.** The old 
attributes are removed with no deprecation shim. Method-level debug 
configuration is now applied only on `@RestOp` methods. Runtime request 
shortcuts (`RestRequest.setDebug()/setDebug(Boo [...]
 
 ## Health Probe Routing (`mixins` + `paths`)
 

Reply via email to