Releases: spring-projects/spring-modulith
Releases · spring-projects/spring-modulith
2.1 GA
⭐ New Features
Outbox
- Support for event outbox via Namastack #1517
- Support for externalizing events via JobRunr #1637
- Support for application module testing in combination with Boot's slice test support #1573
- Avoid executing Flyway migrations for modules without any migrations #1684
EPR
- Allow opting out of event publication registry handling for an
@TransactionalEventListener#1630 - Enable JDBC event publication schema creation by default #1563
- Make sure that JDBC EPR schema initialization runs after Boot's file-based one #1568
Testing
- Open up
PublishedEventsandScenarioto see events from all threads by default #1564
Observability
- Streamline observability infrastructure #1567
- Split up observability support into API and core artifact #1559
Moments
- Allow Moments' events to be (de)serialized by Jackson #1569
💡 Improvements
Core
- Prefer
@SpringBootApplicationon explicitly declared classes in@ModuleSlicing#1644 - Allow
FormattableTypeto also abbreviate non-module types #1566
Outbox
- Require RabbitMQ publisher confirmation for outbox-based externalization #1727
- Block for externalization in outbox mode #1687
- Improve transaction handling in JobRunr integration #1655
EPR
- Switch to SHA-256 for event hashing in
Neo4jEventPublicationRepository#1718 - Simplify default status assignment in JpaEventPublication #1703
- Unify event externalization infrastructure #1642
- Add details about the refined event publication lifecycle to the reference documentation #1593
- Avoid recreation of
TransactionalEventListeners inPersistentApplicationEventMulticaster#1632 - Hibernate schema validation fails with JPA event publication registry #1543
JUnit Extension
- Allow skipping all tests if no changes are detected #1438
APT
- SpringModulithProcessor fails on Windows with KAPT - StringIndexOutOfBoundsException due to hardcoded forward slashes #1544
Moments
- Make
MomentsJacksonModulea package protected type to allow AOT configuration creation #1596 - Allow resetting the shift in
TimeMachine#1490
Misc
- Fix typo in Javadoc of ApplicationModules #1686
- Fixing links to reference documentation in README #1532
- Remove deprecations #1525
- Fix a typo in the runtime docs #1512
🪲 Bugs
- Avoid
ConcurrentModificationExceptioninModuleEntryInterceptor#1719 - Primitive types break
FormattableType#1713 - Application-module-aware Flyway migrations not activated when Boot's slice test annotations are used #1706
- Fix JPA event publication delete batching to bind each batch #1701
JpaEventPublicationAdapterreturns incorrect status #1683- Caching of
TransactionalEventListenersbreaks evaluation of conditions on@TransactionalEventListenermethods #1654 JdbcEventPublicationRepositorydeletes currently processing publication #1652- Improve batch handling in
DefaultEventpublicationRegistry.processFailedPublications(…)#1650 - Incorrect parameters in documentation for staleness of event publications of resubmitted event publications #1647
- Package-based named interfaces not properly merged #1598
- Fix incorrect
EventPublication.Statusreference in….staleness.publishedmetadata #1582 - Contributions made
ApplicationModuleSourceFactorynot fully considered inApplicationModules#1554 - Architecturally-evident type discovery tries to look up repository metadata for implementation classes #1541
JpaEventPublicationRepository.markCompleted(event, identifier, completionDate)doesn't update status toCOMPLETED#1521- CGLib proxy created for
JdbcEventPublicationRepositoryV2causing issues in native image #1518 - incompleteEventPublications.resubmitIncompletePublicationsOlderThan throws NPE when last_resubmission_date is null #1516
@ApplicationModuleTestdoes not bootstrap beans from test configuration #1489
🔨 Dependency Upgrades
- Upgrade to Spring Boot 4.1 #1740
- Upgrade to Spring Framework 7.0.8 #1736
- Upgrade to jMolecules 2025.0.2 #1534
- Upgrade to ArchUnit 1.4.2 #1657
- Upgrade to Namastack Outbox 1.7 #1737
- Upgrade to JobRunr 8.6.1 #1722
- Upgrade to MongoDB 5.8 #1738
- Upgrade to Micrometer Tracing 1.7 #1735
- Upgrade to jGit 7.7 #1739
- Upgrade to JSON Unit AssertJ 5.1.2 #1723
- Upgrade to Lombok 1.18.46 #1660
- Upgrade to Testcontainers 2.0.5 #1659
❤️ Contributors
Thank you to all the contributors who worked on this release:
@NeatGuyCoding, @patbaumgartner, @pramoth, @rolandbeisel, and @SAY-5
2.0.7
💡 Improvements
- Simplify default status assignment in JpaEventPublication #1729
- Fix typo in Javadoc of ApplicationModules #1696
🪲 Bugs
JpaEventPublicationAdapterreturns incorrect status #1728- Avoid
ConcurrentModificationExceptioninModuleEntryInterceptor#1720 - Primitive types break
FormattableType#1716
🔨 Dependency Upgrades
1.4.12
2.1 RC1
💡 Improvements
- Improve transaction handling in JobRunr integration #1655
- Prefer
@SpringBootApplicationon explicitly declared classes in@ModuleSlicing#1644 - Unify event externalization infrastructure #1642
🪲 Bugs
- Caching of
TransactionalEventListenersbreaks evaluation of conditions on@TransactionalEventListenermethods #1654 JdbcEventPublicationRepositorydeletes currently processing publication #1652- Improve batch handling in
DefaultEventpublicationRegistry.processFailedPublications(…)#1650 - Incorrect parameters in documentation for staleness of event publications of resubmitted event publications #1647
🔨 Dependency Upgrades
- Upgrade to Spring Boot 4.0 RC1 #1680
- Upgrade to Spring Boot 4.1 M4 #1662
- Upgrade to Micrometer 1.7 RC1 #1661
- Upgrade to Lombok 1.18.46 #1660
- Upgrade to Testcontainers 2.0.5 #1659
- Upgrade to Namastack Outbox 1.4.0 #1658
- Upgrade to ArchUnit 1.4.2 #1657
- Upgrade to Spring Framework 7.0.7 #1656
- Upgrade to Namastack 1.3.1 #1643
- Upgrade to Lombok 1.18.44 #1640
- Upgrade to Namastack Outbox 1.2.0 #1639
2.0.6
💡 Improvements
- Prefer
@SpringBootApplicationon explicitly declared classes in@ModuleSlicing#1645
🪲 Bugs
- Incorrect parameters in documentation for staleness of event publications of resubmitted event publications #1664
JdbcEventPublicationRepositorydeletes currently processing publication #1653- Improve batch handling in
DefaultEventpublicationRegistry.processFailedPublications(…)#1651
🔨 Dependency Upgrades
1.4.11
💡 Improvements
- Prefer
@SpringBootApplicationon explicitly declared classes in@ModuleSlicing#1646
🔨 Dependency Upgrades
2.1 M4
2.0.5
1.4.10
2.1 M3
💡 Improvements
- Make
MomentsJacksonModulea package protected type to allow AOT configuration creation #1596
🪲 Bugs
- Package-based named interfaces not properly merged #1598
- Fix incorrect
EventPublication.Statusreference in….staleness.publishedmetadata #1582
🔨 Dependency Upgrades
- Upgrade to Micrometer Tracing 1.4 M4 #1629
- Upgrade to JSON Unit AssertJ 5.1.1 #1628
- Upgrade to jGit 7.6.0.202603022253-r #1627
- Upgrade to Lombok 1.18.44 #1626
- Upgrade to Namastack Outbox 1.1.1 #1625
- Upgrade to Testcontainers 2.0.4 #1624
- Upgrade to Spring Framework 7.0.6 #1623
- Upgrade to Spring Boot 4.1 M3 #1622
- Upgrade to Namastack Outbox 1.1.0 #1603
❤️ Contributors
Thank you to all the contributors who worked on this release: