Bug Fixes
- Fix ArchUnit importer being unable to import classes from Spring Boot Nested jars (see #1224)
- Fix
OnionArchitecture
losingwithOptionalLayers()
on description override (see #1185) - Fix
JavaType.getAllInvolvedRawTypes()
recursing infinitely for recursive type definitions (see #1237) - Fix
@ArchTest
fields in base classes of@ArchIgnore
d 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 incomponent [Example] <<..example..>>
(see #1223; thanks a lot to @tfij)
JUnit
@ArchTest
s included viaArchTests.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 propertyjunit.testFilter=rule_field_name
/ setting the system property-Darchunit.junit.testFilter=...
(compare the user guide; see #1280)