Skip to content

Latest commit

 

History

History
115 lines (62 loc) · 5.05 KB

File metadata and controls

115 lines (62 loc) · 5.05 KB

1.3.0 (2026-07-05)

Features

  • add because rule rationales (491c666)

1.2.1 (2026-06-28)

Bug Fixes

  • extract_graph: validate AST line number before range lookup (84c9ef4)

Performance Improvements

  • extract_graph: optimize file path normalization (14b4a95)
  • extract_graph: replace linear search in _in_type_checking() with binary search (1285b5e)

Reverts

  • Reverted the binary search implementation in _in_type_checking() function. (d06a455)

1.2.0 (2026-06-27)

Features

  • add graph reporting and sponsorship links (6d5eabc)

1.1.2 (2026-06-23)

Bug Fixes

  • fixed the duplicate key issue (283e8e3)
  • wrap long line in extract_graph to pass ruff E501 (f291181)

1.1.1 (2026-05-24)

Bug Fixes

  • deps: bump actions/upload-pages-artifact (a4452fc)

1.1.0 (2026-04-26)

Bug Fixes

Features

  • add external dependencies and TYPE_CHECKING (02b8d01)

1.0.1 (2026-04-02)

Bug Fixes

1.0.0 (2026-04-02)

  • feat!: rename package from archunitpy to archunitpython (95c0b3a)

Bug Fixes

BREAKING CHANGES

  • Package import changed from import archunitpy to import archunitpython.

Co-Authored-By: Claude Opus 4.6 (1M context) noreply@anthropic.com

Changelog

All notable changes to ArchUnitPython will be documented in this file.

The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.

[0.1.0] (2026-04-01)

Features

  • Initial release of ArchUnitPython
  • File-level architecture rules: circular dependencies, layer dependencies, naming conventions, custom rules
  • Slice-level architecture rules: PlantUML diagram validation, forbidden dependency checks
  • Code metrics: 8 count metrics, 8 LCOM cohesion variants, distance metrics (abstractness, instability, zones)
  • Custom metrics with arbitrary calculation and assertion logic
  • HTML report export (experimental)
  • Pattern matching with glob and regex support
  • Testing integration: assert_passes() for pytest, check() for any framework
  • Debug logging with file output
  • Empty test protection
  • Zero runtime dependencies