Skip to content

Releases

v0.1.0

Choose a tag to compare

@github-actions github-actions released this 06 Nov 15:55

MoonCompat v0.1.0

The first public release of MoonCompat provides a MoonBit-native public API compatibility gate for semver-aware package releases.

Install the library from Mooncakes:

moon add 404-32/mooncompat@0.1.0

Highlights

  • Parses interfaces generated by moon info.
  • Detects removed and changed public declarations.
  • Distinguishes compatible additions from breaking changes.
  • Reports a conservative SemVer recommendation.
  • Supports single- and multi-package comparisons.
  • Emits deterministic text and JSON reports.
  • Returns CI-friendly exit codes.
  • Fails closed on unknown public .mbti syntax.
  • Normalizes member ordering, derive/explicit impl placement, and Int aliases.

Verified

  • 33 MoonBit library tests.
  • CLI fixture tests for breaking, compatible, unchanged, JSON, snapshot, file output, and parse errors.
  • Smoke tests against moonbitlang/x and moonbitlang/async releases.
  • CI targets: wasm, wasm-gc, js, and native.
  • Published and documentation-built on Mooncakes.

Assets

  • mooncompat-wasm32-wasi.wasm: runnable with moonrun or any WASI runtime.
  • mooncompat-linux-x86_64: Linux native CLI.
  • SHA256SUMS: artifact checksums.

Verify downloads from the directory containing all three assets:

sha256sum --check SHA256SUMS

Scope

MoonCompat checks source-level public interface compatibility. It does not verify ABI, runtime behavior, performance, or protocols.