On behalf of the community, I am delighted that after a half year’s work we can announce Spring Modulith 1.4. The release is packed with new features, such as:
Core
- Refinements in the core
ApplicationModule(s)
abstractions and documentation generation (GH-1150, GH-1152) - GH-1009 – SPI to detect
NamedInterfaces
programatically. - We fixed a performance regression in
JavaPackage
the erroneously repeatedly recomputed all sub packages. (also fixed in 1.3.4 and 1.2.10, GH-1098)
Testing
- Integration tests using
@ApplicationModuleTest
can now consume bean instances of classes declared in test sources. (GH-202) - The global
PublishedEvents
instance registered in anApplicationContext
will now be anAssertablePublishedEvents
if AssertJ is on the classpath. (GH-1110)
Events
- Performance improvements both in the core event publication registry and the observability instrumentation. (GH-1146, GH-1149)
- The event publication infrastructure has been revamped to now also support structurally identical events (GH-1056).
Runtime and Observability Support
- The runtime support has been revamped to avoid the dependency on an external library to topologically sort application modules, so that they can be traversed in dependency order (GH-1060). This allows assuming a stable module order in the application metadata file that – previously only created in AOT mode – is now also written when generating documentation (GH-1063). That in turn allows us to avoid the full bootstrap of an
ApplicationModules
instance at runtime, for example, to executeApplicationModuleListener
beans (GH-1062, GH-1065). - GH-928 – Move to Micrometer Observations API – Marcin Grzejszczak was kind enough to port our existing instrumentation based on the tracing APIs to the more modern observations API that allows more fine-grained integration and capturing of metrics.
- The observability module now automatically creates counters for application events published by modules. A new
ModulithEventMetrics
API has been introduced and can be used throughModulithEventMetricsCustomizer
beans registered in theApplicationContext
(GH-1068).
Configuration
- GH-933 – Consider global proxy settings for proxies created.
Documentation generation
- The Scenario API only considers non-empty collections as successful state transitions by default (GH-1131)
The release, of course, also contains upgrades to the latest Spring Boot 3.5 and Framework 6.2 releases, as well as ArchUnit 1.4. The bugfix releases also update to their latest upstream dependencies. For details, please check the full 1.4 changelog.
Up next are preparations for the 2.0 major release due in November. In the mean time, check out the Spring Modulith support the fine folks at IntelliJ have coming up for IDEA.
THE END
暂无评论内容