All Versions
Latest Version
Avg Release Cycle
52 days
Latest Release
981 days ago

Changelog History
Page 2

  • v0.9.2 Changes

    November 11, 2018

    โœจ Enhancements

    • โž• Added Java 11 support (see #117; thanks a lot to @hankem)
    • โœ… ArchUnitTestEngine's UniqueId is now archunit instead of junit-archunit to make it clear that it is not maintained by the JUnit 5 team
  • v0.9.1 Changes

    August 20, 2018

    ๐Ÿ› Bug Fixes

    • ๐Ÿ›  Fixed a bug where classes in Jars with white spaces (like Kotlin class files could have) cause an exception during the import (see #103)
  • v0.9.0 Changes

    August 19, 2018


    ๐Ÿ‘ The Maven coordinates for com.tngtech.archunit:archunit-junit have changed, since there is now support for JUnit 4 and JUnit 5. The new coordinates for the equivalent artifact are now


    โœจ Enhancements


    ๐Ÿ‘€ archunit-ignore-patterns.txt can now contain comments (see #88; many thanks to @bedla)

    a JavaClass' directDependenciesFromSelf and directDependenciesToSelf now contain further dependencies. This affects many rules as well, like layeredArchitecture() which might now detect more violations than before. In particular dependencies now contain dependencies from

    • fields of a certain type
    • method/constructor parameters of a certain type
    • method return types

    ๐Ÿ‘€ (see #92 and #96; many thanks to @msherman32)

    ๐Ÿ‘€ the plugin mechanism activating Java >= 9 support now supports EA versions (see #93; many thanks to @jqno)


    • ๐Ÿ‘€ the rule API now supports a concise way to assert properties of a single class (see #60; many thanks to @msherman32)
    • ๐Ÿ‘€ the rule API can now assert that classes haveOnlyFinalFields() (see #86; many thanks to @bgalek)
    • ๐Ÿ‘€ the rule API now allows to assert that there are at least / at most / exactly x classes matched by a rule (see #83; many thanks to @bedla)
    • rules can now be derived from PlantUML component diagrams (compare the User Guide; see #4; many thanks to @msherman32)
    • ๐Ÿ‘€ the rule API now allows to check more general for dependencies instead of just accesses (like interfaces, field types, method parameters, ...) (see #69)
    • ๐Ÿ‘€ the rule API now includes several methods to restrict what classes should "only" do, i.e. classes().should().onlyDependOnClassesThat()... or onlyCallMethodsThat(..), etc. (see #84)


    • ArchUnit now offers extended JUnit 5 support (compare the User Guide; see #34)


    • rule suits with JUnit 4 / JUnit 5 can now be written in a concise way and source locations are reported correctly (compare the User Guide; see #77)
  • v0.8.3 Changes

    July 20, 2018

    ๐Ÿ› Bug Fixes

    ๐Ÿ›  Fixed bug where deeply nested super classes missing from the import were not resolved correctly from the classpath (see #91; many thanks to @svenackermann for reporting and debugging)