All Versions
25
Latest Version
Avg Release Cycle
154 days
Latest Release
58 days ago
Changelog History
Page 1
Changelog History
Page 1
-
v1.4.2 Changes
April 18, 2026 -
v1.4.1 Changes
May 07, 2025 -
v1.4.0 Changes
February 10, 2025✨ Enhancements
Core
- 👌 Support Java 24 / class file major version 68 (#1364)
Lang
Library
- New
GeneralCodingRules.OLD_DATE_AND_TIME_CLASSES_SHOULD_NOT_BE_USED(#1385; thanks to @Bukama 👏) - 👌 Improve
GeneralCodingRules.testClassesShouldResideInTheSamePackageAsImplementationto not fail for classes with no tests in their packages (#1368; thanks to @krzysztof-owczarek 👏)
JUnit
- 🛠 Fix failure when
junit.testFilteris used (#1361; thanks to @Sparkymann 👏) - Enable
@AnalyzeClassesannotation to be used as meta annotation (#1300; thanks to @mathze 👏)
📚 Documentation
- 🛠 Fix user guide describing wrong default behavior of
@AnalyzeClasses(#1406) - 📚 Clarify Slices documentation (#1366; thanks to @mipo256 👏)
Internal improvements
-
v1.3.2 Changes
May 10, 2025 -
v1.3.1 Changes
March 19, 2025✨ Enhancements
🚀 (backported from ArchUnit 1.4.0)
Core
- 👌 Support Java 24 / class file major version 68 (backported from #1364)
-
v1.3.0 Changes
April 11, 2024🐛 Bug Fixes
- 🛠 Fix ArchUnit importer being unable to import classes from Spring Boot Nested jars (see #1224)
- 🛠 Fix
OnionArchitecturelosingwithOptionalLayers()on description override (see #1185) - 🛠 Fix
JavaType.getAllInvolvedRawTypes()recursing infinitely for recursive type definitions (see #1237) - 🛠 Fix
@ArchTestfields 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
ViolationHandlermore 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
componentkeyword incomponent [Example] <<..example..>>(see #1223; thanks a lot to @tfij)
JUnit
- 👀
@ArchTests included viaArchTests.in(..)now report their full "inclusion path" in the test report (see #452, #1279) - Specific
@ArchTestrules 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)
Further Acknowledgement
-
v1.2.2 Changes
April 23, 2024🐛 Bug Fixes
- 🛠 Fix ArchUnit importer being unable to import classes from Spring Boot Nested jars (see #1224)
-
v1.2.1 Changes
December 03, 2023 -
v1.2.0 Changes
November 06, 2023✨ Enhancements
Core
- ➕ Add support for Java 22 (see #1172; thanks a lot to @hankem)
- 🆕 New methods
{JavaType/JavaMember}.getAllInvolvedRawTypes()to quickly detect all raw types contributing to a type (e.g.List<? extends Serializable>) or member (e.g.List<? extends Serializable> method(Set<String> args) {..}) (see #723; thanks a lot to @leonardhusmann)
Lang
- 🆕 New rules API
FieldsShould.{be/notBe}AccessedByMethodsThat(predicate)to prevent fields from being accessed by certain methods (see #857; thanks a lot to @leonardhusmann)
Library
- New extensive modules rule syntax to support easier checks for modularization (dependency direction, API surface, ...) (compare the user guide; see #1078)
JUnit
Further Acknowledgement
- 👀 Thanks a lot to @SimonVerhoeven for improving the user guide (see #1140)
-
v1.1.1 Changes
April 25, 2024🐛 Bug Fixes
- 🛠 Fix ArchUnit importer being unable to import classes from Spring Boot Nested jars (see #1224)