Skip to content

ArchUnit 1.3.0

Latest
Compare
Choose a tag to compare
@codecholeric codecholeric released this 11 Apr 14:47
· 49 commits to main since this release

Bug Fixes

  • Fix ArchUnit importer being unable to import classes from Spring Boot Nested jars (see #1224)
  • Fix OnionArchitecture losing withOptionalLayers() on description override (see #1185)
  • Fix JavaType.getAllInvolvedRawTypes() recursing infinitely for recursive type definitions (see #1237)
  • Fix @ArchTest fields in base classes of @ArchIgnored classes not being ignored (see #1277)

Enhancements

Core

  • Add support for Java 23 (see #1275; thanks a lot to @hankem)
  • New method JavaType.traverseSignature(..) to examine parts of a type signature more conveniently (see 8456198 of #1276)

Lang

  • Make handling specific violating object types with ViolationHandler more convenient (see #1251)

Library

  • Jakarta EE annotations are now considered in GeneralCodingRules.NO_CLASSES_SHOULD_USE_FIELD_INJECTION (see #1285; thanks a lot to @hankem)
  • PlantUML rules now ignore dependencies between unparsable objects (e.g. a database instead of a regular component) (see #1132; thanks a lot to @tfij)
  • PlantUML rules now optionally support the component keyword in component [Example] <<..example..>> (see #1223; thanks a lot to @tfij)

JUnit

  • @ArchTests included via ArchTests.in(..) now report their full "inclusion path" in the test report (see #452, #1279)
  • Specific @ArchTest rules can now be executed by setting the ArchUnit property junit.testFilter=rule_field_name / setting the system property -Darchunit.junit.testFilter=... (compare the user guide; see #1280)

Further Acknowledgement

  • Thanks a lot to @hankem for improving the user guide (see #1221)