Skip to content

Releases: spring-projects/spring-modulith

2.0 M2

22 Aug 10:05
2.0.0-M2
e5558b5
Compare
Choose a tag to compare
2.0 M2 Pre-release
Pre-release

⭐ New Features

  • Revamp event publication lifecycle for Neo4j #1337
  • Revamp event publication lifecycle for MongoDB #1336

💡 Improvements

  • Improve bootstrap procedure for ApplicationModulesEndpoint #1338

🪲 Bugs

  • Potential NullPointerException in annotation detection in JavaPackage #1341
  • Potential NoClassDefFoundError when jMolecules DDD artifact is missing from the classpath #1333
  • Version compatibility of 1.4 should state Boot 3.5 at compile target #1331

🔨 Dependency Upgrades

  • Upgrade to Spring Boot 4.0 M2 #1354
  • Upgrade to Spring Framework 7.0 M8 #1353

❤️ Contributors

Thank you to all the contributors who worked on this release:

@meistermeier

1.4.3

22 Aug 09:29
1.4.3
364912d
Compare
Choose a tag to compare

🪲 Bugs

  • Potential NullPointerException in annotation detection in JavaPackage #1342
  • Potential NoClassDefFoundError when jMolecules DDD artifact is missing from the classpath #1340
  • Version compatibility of 1.4 should state Boot 3.5 at compile target #1339
  • Avoid ConcurrentModificationException in PackageName #1324
  • Remove reference to JGraphT from reference documentation #1323

🔨 Dependency Upgrades

  • Upgrade to Spring Boot 3.5.5 #1350
  • Upgrade to Spring Framework 6.2.10 #1349
  • Upgrade to Micrometer Tracing 1.5.3 #1348

1.3.9

22 Aug 09:28
1.3.9
c1168f4
Compare
Choose a tag to compare

🪲 Bugs

  • Avoid ConcurrentModificationException in PackageName #1325

🔨 Dependency Upgrades

  • Upgrade to Spring Boot 3.4.9 #1345
  • Upgrade to Spring Framework 6.2.10 #1344

2.0 M1

26 Jul 17:13
2.0.0-M1
0ba2f75
Compare
Choose a tag to compare
2.0 M1 Pre-release
Pre-release

⭐ New Features

  • Revamp event publication lifecycle for JDBC #1321
  • Support to verify application module structure on startup #1287
  • Propagate named interface assignments of types to return and parameter types of methods declared #1264

💡 Improvements

  • Resolve JUnit warnings regarding nested test classes #1326
  • Update version compatibility matrix in reference docs #1289
  • Constrain access to internally used methods of ApplicationModuleSource #1283
  • Expose additional application module metadata in application-modules.json #1276
  • Reflection metadata missing in JSONPath lookup for application module identifiers on GraalVM #1254
  • Prevent application module misconfiguration due to invalid additional packages #1251
  • Unnecessary context bootstrap triggered for application module tests due to overly constrained equals(…) and hashCode() in ModuleTypeExcludeFilter #1216
  • Migrate nullness verification to jSpecify #1192

🪲 Bugs

  • Avoid ConcurrentModificationException in PackageName #1319
  • Potential stack overflow when looking up a module's dependencies if it's part of a cycle #1299
  • Potential ConcurrentModificationException when running @ApplicationModuleTest tests in parallel #1295
  • Remove reference to JGraphT from reference documentation #1288
  • ApplicationModules.toString() should list *all* dependencies marking bootstrap dependencies #1285
  • Named interfaces leaking from submodules into parent ones #1279
  • Inconsistent visibility of NamedInterface.of(String name, Classes classes) #1272
  • Exception during file creation from APT module #1263
  • Incompatible path handling for KAPT with Maven #1209

🔨 Dependency Upgrades

  • Upgrade to Micrometer Tracing 1.6 M1 #1318, #1221
  • Upgrade to Testcontainers 1.21.3 #1317, #1243
  • Upgrade to Cute 1.8.0 #1282
  • Upgrade to APTK 0.30.2 #1281
  • Update examples to jMolecules 2023.3.2 #1253
  • Upgrade to jMolecules 2023.3.2 #1252, #1210
  • Upgrade to Flapdoodle MongoDB 4.20.0 #1244
  • Upgrade to Structurizr 4.1.0 #1242
  • Upgrade to jGit 7.3.0.202506031305-r #1241, #1232
  • Upgrade to MongoDB 5.5.1 #1231
  • Upgrade to ArchUnit 1.4.1 #1230
  • Upgrade to Spring Boot 4 M1 #1191
  • Upgrade to Spring Framework 7 M7 #1190, #1240

1.4.2

25 Jul 16:22
1.4.2
8aac8c7
Compare
Choose a tag to compare

💡 Improvements

  • Update version compatibility matrix in reference docs #1290
  • Expose additional application module metadata in application-modules.json #1277
  • Unnecessary context bootstrap triggered for application module tests due to overly constrained equals(…) and hashCode() in ModuleTypeExcludeFilter #1261

🪲 Bugs

  • Potential ConcurrentModificationException when running @ApplicationModuleTest tests in parallel #1302
  • Potential stack overflow when looking up a module's dependencies if it's part of a cycle #1300
  • ApplicationModules.toString() should list *all* dependencies marking bootstrap dependencies #1286
  • Exception during file creation from APT module #1284
  • Named interfaces leaking from submodules into parent ones #1280

🔨 Dependency Upgrades

  • Upgrade to Spring Boot 3.5.4 #1320
  • Upgrade jMolecules to 2023.2.2 in examples #1315
  • Upgrade to Testcontainers 1.21.3 #1314
  • Upgrade to Micrometer 1.15.2 #1313
  • Upgrade to Spring Framework 6.2.9 #1308
  • Upgrade to Micrometer Tracing 1.5.2 #1307
  • Upgrade to jMolecules 2023.3.2 #1306

1.3.8

25 Jul 16:21
1.3.8
e41b13a
Compare
Choose a tag to compare

💡 Improvements

  • Unnecessary context bootstrap triggered for application module tests due to overly constrained equals(…) and hashCode() in ModuleTypeExcludeFilter #1262

🪲 Bugs

  • Potential ConcurrentModificationException when running @ApplicationModuleTest tests in parallel #1303
  • Potential stack overflow when looking up a module's dependencies if it's part of a cycle #1301

🔨 Dependency Upgrades

  • Upgrade to Spring Boot 3.4.8 #1305
  • Upgrade to Spring Framework 6.2.9 #1304

1.4.1

19 Jun 21:27
1.4.1
4d42328
Compare
Choose a tag to compare

💡 Improvements

  • Reflection metadata missing in JSONPath lookup for application module identifiers on GraalVM #1250
  • Prevent application module misconfiguration due to invalid additional packages #1247

🪲 Bugs

  • Incompatible path handling for KAPT with Maven #1255
  • Fix automatic module name of Moments artifact #1220

🔨 Dependency Upgrades

  • Upgrade to Spring Boot 3.5.2 #1257
  • Upgrade jGit to 7.0.1.202505221510-r #1236
  • Upgrade Spring Framework to 6.2.8 #1235
  • Upgrade ArchUnit to 1.4.1 #1233
  • Upgrade Micrometer Tracing to 1.5.1 #1222

1.3.7

19 Jun 21:26
1.3.7
e60bf80
Compare
Choose a tag to compare

🔨 Dependency Upgrades

  • Upgrade to Spring Boot 3.4.7 #1256
  • Upgrade jGit to 7.0.1.202505221510-r #1239
  • Upgrade ArchUnit to 1.3.2 #1238
  • Upgrade Spring Framework to 6.2.8 #1237

1.4.0

27 May 08:10
1.4.0
8395791
Compare
Choose a tag to compare

⭐ New Features

  • Support for bean instances located in test sources for @ApplicationModuleTest #202
  • Automatically create counters for cross-module application events #1068
  • Provide abstraction to access ApplicationModuleIdentifiers in order of module dependency #1066
  • Avoid the bootstrap of an ApplicationModules instance to execute ApplicationModuleInitializers #1065
  • Documenter should automatically write application module metadata #1063
  • Application metadata JSON should list ApplicationModuleInitializer beans #1062
  • Avoid dependency on JGraphT #1060
  • Migrate to FinishedSpan.localServiceName(…) #935
  • Remove AWS integration in favor of Spring Cloud AWS port #1024
  • Allow detecting NamedInterfaces programmatically #1009
  • Move to Micrometer's Observations API #928

💡 Improvements

  • Remove deprecated support for Spring AutoRestDocs for Javadoc extraction #1193*
  • Deprecate @CheckReturnValue in favor of the Spring Framework variant #1189*
  • Support to disable automatic additional verifications executed by ApplicationModules.verify() #1185*
  • Improve rendering of tree structures in reference documentation #1171
  • Removed deprecated FormatableType #1153
  • ApplicationModules should expose root packages #1152
  • ApplicationModule should expose internal types #1150
  • Module observability listener performance issue on publishEvent #1149
  • Performance problem with event publication lookup #1146
  • State change detection for Scenarios should only accept non-empty collections by default #1131
  • Event externalization bootstrap should log which event types it's configured to externalize. #1130
  • Align automatic module names with project portfolio #1122
  • Register AssertablePublishedEvents in test ApplicationContext if AssertJ is on the classpath #1110
  • ModuleTestExecution should use ApplicationModulesFactory to create ApplicationModules instance #1090
  • Set up DCO infrastructure #1087
  • Move AOT processor generating application module metadata to runtime module #1064
  • Structurally identical events cause the wrong publication to be selected for completion #1056
  • Avoid dependency on Apache Commons Logging from spring-modulith-docs artifact #1055
  • ModulithMetadata.of(String) should pick up classes annotated with @Modulithic in the given package #1015
  • Allow filtering Violations #995
  • Allow registering skin parameters in generated PlantUML diagrams #983
  • Provide a Spring Boot compatibility matrix #971
  • Improve Application Module Canvas rendering #968
  • Improve documentation when to add the Spring Modulith Core artifact in compile scope #943
  • Controllers implementing interfaces not mapped when the observability module is used #933

🪲 Bugs

  • FormattableType.getAbbreviatedTypeName(…) skips containing class for nested ones #1151
  • @NamedInterface not detected on composed annotation #1139
  • Fix Kotlin examples for module and named interfaces declarations and … #1138
  • Severe performance regression in JavaPackage #1098
  • Complete description for Neo4j index property #1084
  • Application module identifier not picked up on package marker types #1052
  • Resubmission of publications must not unregister in-progress publications in case of successful invocation #1051
  • @ApplicationModuleTest in separate test files does not cache the ApplicationContext #1050
  • ApplicationModuleSource picks up module identifier from nested modules #1042
  • NamedInterfaces.Builder excludes all packages by default #1040
  • JavaPackage.getSubPackages() does not include empty intermediate packages #1039
  • ApplicationModuleInformation needs to be public #1038
  • Proxy creation in observability support should use the original bean's classloader #1016
  • IllegalArgumentException in AsciiDoc generation for Spring @EventListeners without parameters #1006
  • Prevent compile time dependency of APT on docs artifact #984
  • Asciidoctor.toInlineCode(String) does not handle local method references correctly #965
  • Archiving JPA entity causes unnecessary need to set up archive table #964

🔨 Dependency Upgrades

❤️ Contributors

Thank you to all the contributors who worked on this release:

@Alexander-Miller @ciberkleid @marcingrzejszczak @lukasdo @dtsaryov @sangjun121

* – Added between RC1 and GA.

1.3.6

27 May 08:09
1.3.6
26a1d1f
Compare
Choose a tag to compare

🔨 Dependency Upgrades

  • Upgrade to Spring Boot 3.4.6 #1201
  • Upgrade Spring Framework to 6.2.7 #1200