Skip to content

Releases: spring-projects/spring-modulith

2.1 GA

11 Jun 09:55
2.1.0
c75f173

Choose a tag to compare

⭐ 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 PublishedEvents and Scenario to 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 @SpringBootApplication on explicitly declared classes in @ModuleSlicing #1644
  • Allow FormattableType to 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 in PersistentApplicationEventMulticaster #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 MomentsJacksonModule a 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 ConcurrentModificationException in ModuleEntryInterceptor #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
  • JpaEventPublicationAdapter returns incorrect status #1683
  • Caching of TransactionalEventListeners breaks evaluation of conditions on @TransactionalEventListener methods #1654
  • JdbcEventPublicationRepository deletes 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.Status reference in ….staleness.published metadata #1582
  • Contributions made ApplicationModuleSourceFactory not fully considered in ApplicationModules #1554
  • Architecturally-evident type discovery tries to look up repository metadata for implementation classes #1541
  • JpaEventPublicationRepository.markCompleted(event, identifier, completionDate) doesn't update status to COMPLETED #1521
  • CGLib proxy created for JdbcEventPublicationRepositoryV2causing issues in native image #1518
  • incompleteEventPublications.resubmitIncompletePublicationsOlderThan throws NPE when last_resubmission_date is null #1516
  • @ApplicationModuleTest does 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

11 Jun 09:07
2.0.7
65f7290

Choose a tag to compare

💡 Improvements

  • Simplify default status assignment in JpaEventPublication #1729
  • Fix typo in Javadoc of ApplicationModules #1696

🪲 Bugs

  • JpaEventPublicationAdapter returns incorrect status #1728
  • Avoid ConcurrentModificationException in ModuleEntryInterceptor #1720
  • Primitive types break FormattableType #1716

🔨 Dependency Upgrades

  • Upgrade to Spring Boot 4.0.7 #1743
  • Upgrade to Spring Framework 7.0.8 #1742
  • Upgrade to Micrometer Tracing 1.6.6 #1741

1.4.12

11 Jun 09:02
1.4.12
2a5c9f6

Choose a tag to compare

💡 Improvements

  • Fix typo in Javadoc of ApplicationModules #1697

🪲 Bugs

  • Avoid ConcurrentModificationException in ModuleEntryInterceptor #1721
  • Primitive types break FormattableType #1717

🔨 Dependency Upgrades

  • Upgrade to Spring Framework 6.2.19 #1746
  • Upgrade to Micrometer Tracing 1.5.12 #1745

2.1 RC1

24 Apr 10:43
2.1.0-RC1
13dca64

Choose a tag to compare

2.1 RC1 Pre-release
Pre-release

💡 Improvements

  • Improve transaction handling in JobRunr integration #1655
  • Prefer @SpringBootApplication on explicitly declared classes in @ModuleSlicing #1644
  • Unify event externalization infrastructure #1642

🪲 Bugs

  • Caching of TransactionalEventListeners breaks evaluation of conditions on @TransactionalEventListener methods #1654
  • JdbcEventPublicationRepository deletes 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

24 Apr 10:40
2.0.6
20a0cba

Choose a tag to compare

💡 Improvements

  • Prefer @SpringBootApplication on explicitly declared classes in @ModuleSlicing #1645

🪲 Bugs

  • Incorrect parameters in documentation for staleness of event publications of resubmitted event publications #1664
  • JdbcEventPublicationRepository deletes currently processing publication #1653
  • Improve batch handling in DefaultEventpublicationRegistry.processFailedPublications(…) #1651

🔨 Dependency Upgrades

  • Upgrade to Spring Boot 4.0.6 #1679
  • Upgrade to MongoDB 5.6.5 #1670
  • Upgrade to Lombok 1.18.46 #1669
  • Upgrade to Testcontainers 2.0.5 #1668
  • Upgrade to ArchUnit 1.4.2 #1667
  • Upgrade to Spring Framework 7.0.7 #1666
  • Upgrade to Micrometer Tracing 1.6.5 #1665

1.4.11

24 Apr 10:40
1.4.11
0317bf1

Choose a tag to compare

💡 Improvements

  • Prefer @SpringBootApplication on explicitly declared classes in @ModuleSlicing #1646

🔨 Dependency Upgrades

  • Upgrade to Spring Boot 3.5.14 #1678
  • Upgrade to Micrometer 1.15.11 #1677
  • Upgrade to Lombok 1.18.46 #1676
  • Upgrade to ArchUnit 1.4.2 #1673
  • Upgrade to Spring Framework 6.2.18 #1672
  • Upgrade to Micrometer Tracing 1.5.11 #1671

2.1 M4

27 Mar 18:35
2.1.0-M4
9d1226b

Choose a tag to compare

2.1 M4 Pre-release
Pre-release

⭐ New Features

  • Support for externalizing events via JobRunr #1637
  • Allow opting out of event publication registry handling for an @TransactionalEventListener #1630

💡 Improvements

  • Avoid recreation of TransactionalEventListeners in PersistentApplicationEventMulticaster #1632

2.0.5

27 Mar 18:34
2.0.5
892e798

Choose a tag to compare

🔨 Dependency Upgrades

  • Upgrade to Spring Boot 4.0.5 #1635

1.4.10

27 Mar 18:33
1.4.10
0cce8f3

Choose a tag to compare

🔨 Dependency Upgrades

  • Upgrade to Spring Boot 3.5.13 #1633

2.1 M3

27 Mar 18:33
2.1.0-M3
81c1b6d

Choose a tag to compare

2.1 M3 Pre-release
Pre-release

💡 Improvements

  • Make MomentsJacksonModule a package protected type to allow AOT configuration creation #1596

🪲 Bugs

  • Package-based named interfaces not properly merged #1598
  • Fix incorrect EventPublication.Status reference in ….staleness.published metadata #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:

@NeatGuyCoding