Spring Modulith 1.4 GA, 1.3.6, and 1.2.13 released

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 an ApplicationContext will now be an AssertablePublishedEvents 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 execute ApplicationModuleListener 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 through ModulithEventMetricsCustomizer beans registered in the ApplicationContext (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
喜欢就支持一下吧
点赞7 分享
评论 抢沙发

请登录后发表评论

    暂无评论内容