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

danhaywood pushed a commit to branch v3
in repository https://gitbox.apache.org/repos/asf/causeway.git

commit 11383028457313df8cda47cad1f0fea47ee7f8be
Merge: e045730dd2f 8f1a665c92c
Author: Dan Haywood <[email protected]>
AuthorDate: Sun Oct 12 23:22:55 2025 +0100

    Merge branch '3.4.0' into v3

 .../modules/ROOT/pages/2025/3.4.0/mignotes.adoc    | 12 +++----
 .../modules/ROOT/pages/2025/3.4.0/relnotes.adoc    | 42 ++++++++++++++++++++++
 core/adoc/modules/_overview/pages/about.adoc       |  2 +-
 3 files changed, 49 insertions(+), 7 deletions(-)

diff --cc antora/components/relnotes/modules/ROOT/pages/2025/3.4.0/mignotes.adoc
index 4d17780e5fb,532b5a58313..b460c456cc8
--- a/antora/components/relnotes/modules/ROOT/pages/2025/3.4.0/mignotes.adoc
+++ b/antora/components/relnotes/modules/ROOT/pages/2025/3.4.0/mignotes.adoc
@@@ -3,35 -3,20 +3,35 @@@
  :Notice: Licensed to the Apache Software Foundation (ASF) under one or more 
contributor license agreements. See the NOTICE file distributed with this work 
for additional information regarding copyright ownership. The ASF licenses this 
file to you under the Apache License, Version 2.0 (the "License"); you may not 
use this file except in compliance with the License. You may obtain a copy of 
the License at. http://www.apache.org/licenses/LICENSE-2.0 . Unless required by 
applicable law or a [...]
  :page-partial:
  
 -In link:https://issues.apache.org/jira/browse/CAUSEWAY-3896[CAUSEWAY-3896] we 
made a small change to the API for the 
xref:refguide:applib:index/services/wrapper/WrapperFactory.adoc[WrapperFactor]'s
 async programming model.
 +== Changes to the Wrapper Factory API
  
- Control classes `SynControl` and `AsyncControl` have been slightly modified, 
 -For example:
++Control classes `SynControl` and `AsyncControl` have been slightly modified,
 +those are immutable now but do support 'withers' to setup the desired control.
 +
- Factories `SynControl.control()` and `AsyncControl.control()` were 
++Factories `SynControl.control()` and `AsyncControl.control()` were
 +renamed to `#defaults()`.
 +
- `WrapperFactory.asyncWrap` and other `async*` sibling methods no longer 
return a `Future<T>` 
++`WrapperFactory.asyncWrap` and other `async*` sibling methods no longer 
return a `Future<T>`
 +but an `AsyncProxy<T>` which allows interaction with the proxied domain
 +in a more type safe manner.
  
  [source,java]
 +.Example usage
  ----
 -var counter = bookmarkService.lookup(bookmark, Counter.class).orElseThrow();
 +// transaction scoped call to retrieve an attached counter entity
 +var counter = bookmarkService
 +    .lookup(bookmark, Counter.class).orElseThrow();
 +
 +// returns a Future<Counter>
 +var proxy = wrapperFactory.asyncWrap(counter)
 +    .applyAsync(Counter::bumpUsingDeclaredAction);
-           
++
 +// then later ...
  
 -var counter = wrapperFactory.asyncWrap(counter)                 // <.>
 -          .applyAsync(Counter::bumpUsingDeclaredAction)
 -          .tryGet(5, TimeUnit.SECONDS)                          // <.>
 -          .valueAsNonNullElseFail();
 +// returns the detached counter entity
 +var counter2 = proxy
 +    .tryGet(5, TimeUnit.SECONDS) // blocking
-     .valueAsNonNullElseFail(); 
++    .valueAsNonNullElseFail();
  
 -assertThat(counter.getNum()).isEqualTo(2L);
 +assertThat(counter2.getNum()).isEqualTo(2L);
- ----
+ ----
 -<.> returns the detached counter entity
 -<.> wait max 5 sec to allow executor to complete before continuing
diff --cc antora/components/relnotes/modules/ROOT/pages/2025/3.4.0/relnotes.adoc
index fc22d87b7ee,bebd4232d07..fc0b5676595
--- a/antora/components/relnotes/modules/ROOT/pages/2025/3.4.0/relnotes.adoc
+++ b/antora/components/relnotes/modules/ROOT/pages/2025/3.4.0/relnotes.adoc
@@@ -4,16 -4,20 +4,58 @@@
  :Notice: Licensed to the Apache Software Foundation (ASF) under one or more 
contributor license agreements. See the NOTICE file distributed with this work 
for additional information regarding copyright ownership. The ASF licenses this 
file to you under the Apache License, Version 2.0 (the "License"); you may not 
use this file except in compliance with the License. You may obtain a copy of 
the License at. http://www.apache.org/licenses/LICENSE-2.0 . Unless required by 
applicable law or a [...]
  :page-partial:
  
+ This is primarily a maintenance release.
+ It includes an upgrade to Spring Boot 3.5, as well as various bug fixes.
+ 
+ The API for the `Wrapper` programming model has been overhauled, see the 
xref:./mignotes.adoc[migration notes].
+ 
+ This is primarily a bug-fix release, also including the upgrade to Spring 
Boot 3.5.
+ 
+ 
+ == New Feature
+ 
+ * link:https://issues.apache.org/jira/browse/CAUSEWAY-3886[CAUSEWAY-3886] - 
Utility to measure metaclass memory usage using jmx
+ * link:https://issues.apache.org/jira/browse/CAUSEWAY-3896[CAUSEWAY-3896] - 
[Wrapper] Async Wrapping Programming Model Overhaul
+ 
+ 
++== Improvement
++
++* link:https://issues.apache.org/jira/browse/CAUSEWAY-3891[CAUSEWAY-3891] - 
`pdf.js` download response allows caching, leads to confusing behaviour for 
end-users.
++* link:https://issues.apache.org/jira/browse/CAUSEWAY-3884[CAUSEWAY-3884] - 
[Persistence] Flesh out `EntityOrmMetadata` support for EclipseLink
++* link:https://issues.apache.org/jira/browse/CAUSEWAY-3883[CAUSEWAY-3883] - 
`WrapperFactory` leaks memory (metaspace) every time it is called.
++
++
++== Bug
++
++* link:https://issues.apache.org/jira/browse/CAUSEWAY-3893[CAUSEWAY-3893] - 
`CausewayConfiguration#valueOf(..)` potentially throws preventing App Context 
Initialization
++* link:https://issues.apache.org/jira/browse/CAUSEWAY-3888[CAUSEWAY-3888] - 
[Tabular] Out of Memory issues when exporting large Tabular Data to XLSX
++* link:https://issues.apache.org/jira/browse/CAUSEWAY-3881[CAUSEWAY-3881] - 
[Wicket Viewer] `BookmarkedPagesPanel` throws when click on 'Clear all'
++
++
++== Dependency upgrade
++
++* link:https://issues.apache.org/jira/browse/CAUSEWAY-3855[CAUSEWAY-3855] - 
Upgrade to Spring Boot 3.5
++
++
++== Documentation
++
++* link:https://issues.apache.org/jira/browse/CAUSEWAY-3887[CAUSEWAY-3887] - 
Markdown `ComponentFactory` not found from SimpleApp
++
++
++== Task
++
++* link:https://issues.apache.org/jira/browse/CAUSEWAY-3882[CAUSEWAY-3882] - 
3.4.0 release activities
++
 +
 +This is primarily a bug-fix release, also including the upgrade to Spring 
Boot 3.5.
 +
 +
 +== New Feature
 +
 +* link:https://issues.apache.org/jira/browse/CAUSEWAY-3886[CAUSEWAY-3886] - 
Utility to measure metaclass memory usage using jmx
 +* link:https://issues.apache.org/jira/browse/CAUSEWAY-3896[CAUSEWAY-3896] - 
[Wrapper] Async Wrapping Programming Model Overhaul
 +
 +
  == Improvement
  
  * link:https://issues.apache.org/jira/browse/CAUSEWAY-3891[CAUSEWAY-3891] - 
`pdf.js` download response allows caching, leads to confusing behaviour for 
end-users.

Reply via email to