Skip to content

Releases: mokevnin/easement

v0.3.1

Choose a tag to compare

@mokevnin mokevnin released this 26 Oct 14:35
6fbcd10

0.3.1 (2026-10-26)

Features

  • key the index cache on content so other checkouts reuse it (#30) (a3aa08a)
  • target_only keeps generated files in the graph as targets (#32) (480896d)
  • uncovered_ok takes a list of globs, suggest --check fails on unused allowances (#29) (5998f7d)

v0.3.0

Choose a tag to compare

@mokevnin mokevnin released this 26 Oct 01:05
6322958

0.3.0 (2026-10-26)

⚠ BREAKING CHANGES

  • report every use of a violation, not the first one per file (#25)
  • Java and C# projects need scip-java (with a JDK and Maven or Gradle) and scip-dotnet (with the .NET SDK) installed. The dynamic imports not analysed count and stats.dynamic are gone. Violations name the target file rather than the package or namespace.
  • PHP projects need scip-php installed and composer install done. Functions and constants brought in with use function and use const are no longer dependencies. Violations name the target file rather than the specifier as written.

Features

  • easement doctor checks that the indexers can run (#22) (b627c8e)
  • easement suggest --patch drops unused allowances as a patch (#27) (b85a532)
  • index Go files behind build tags with go.tags (#24) (a2e818d)
  • keep the indexers' output between runs (#20) (1a82708)
  • list the files no indexer covered and mark a partial verdict (#21) (c1def55)
  • mark a run that judges only a part as partial (#26) (231ef3a)
  • resolve Java and C# through SCIP indexers (#18) (b38442f)
  • resolve PHP through the scip-php indexer (#16) (bbbe3ef)
  • share a part of a rule between components with YAML merge keys (#23) (dcdfdcf)

Bug Fixes

  • report every use of a violation, not the first one per file (#25) (e2e8b12)
  • suggest does not trust a missing import next to unindexed files (#19) (a24f93d)

v0.2.0

Choose a tag to compare

@mokevnin mokevnin released this 25 Oct 22:48
802b29c

0.2.0 (2026-10-25)

⚠ BREAKING CHANGES

  • Python and Rust projects need scip-python and rust-analyzer installed, and third-party Python modules must be installed in the environment. The python key of easement.yml is removed. Violations name the target file rather than the specifier as written.
  • Go and TypeScript projects need scip-go and scip-typescript installed (and node_modules for TypeScript). Only files a tsconfig.json includes are checked. require() in .ts files, vi.mock() and similar string arguments are no longer imports, and a violation names the target file rather than the specifier as written.

Features

  • file and directive rules, Go symbol rules, tests: auto, suggest and diff summary (#11) (597bb5c)
  • resolve Go and TypeScript through SCIP indexers (#13) (3602fc8)
  • resolve Python and Rust through SCIP indexers (#14) (b25d74f)
  • shell completions and coloured output (#15) (92d4472)

v0.1.2

Choose a tag to compare

@mokevnin mokevnin released this 25 Oct 15:35
53c217c

0.1.2 (2026-10-25)

Features

  • isolated instances, importer lists, priority, scopes and required imports (#8) (afa3221)

v0.1.1

Choose a tag to compare

@mokevnin mokevnin released this 25 Oct 14:55
525f156

0.1.1 (2026-10-25)

Features

  • external, layer and metric rules, five more languages, CI formats and tooling (#4) (abafd9d)

v0.1.0

Choose a tag to compare

@mokevnin mokevnin released this 25 Oct 13:02
7dd04ad

0.1.0 (2026-10-25)

Features

  • diff mode for pull requests (b79cd2f)
  • install script and .deb/.rpm packages (#2) (1c5a1df)
  • public API, cycle detection, rule reasons and inline suppressions (abfa525)

Bug Fixes

  • deps: replace deprecated serde_yaml with serde_norway (5ac7456)