Spring Modulith 1.4 GA, 1.3.6, and 1.2.13 released

Releases | Oliver Drotbohm | May 28, 2025 | ...

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)
  • We introduced an SPI to detect NamedInterfaces programatically (GH-1009).
  • 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).
  • 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. (GH-928)
  • 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

  • Consider global proxy settings for proxies created. (GH-933)

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.

Get the Spring newsletter

Stay connected with the Spring newsletter

Subscribe

Get ahead

VMware offers training and certification to turbo-charge your progress.

Learn more

Get support

Tanzu Spring offers support and binaries for OpenJDK™, Spring, and Apache Tomcat® in one simple subscription.

Learn more

Upcoming events

Check out all the upcoming events in the Spring community.

View all