Skip to content

contracts-rb v0.1.0 initial release

Choose a tag to compare

@theworker02 theworker02 released this 30 Jul 13:23

contracts-rb 0.1.0 — Release Notes

Initial release of contracts-rb, a Ruby 3.1+ behavioral-contract library.

Highlights:

  • Parameter, precondition, postcondition, and return-value contracts.
  • Object invariants, immutable state snapshots, observed state, permitted/required mutation rules, and pure-method checks.
  • Allowed exception declarations and exception postconditions.
  • Inheritance-aware merged contracts.
  • Constraint factories for types, unions, nilability, ranges, regexes, literals, arrays, hashes, duck types, and custom predicates.
  • Contract registry, runtime configuration, JSON introspection, CLI documentation/inspection/validation/doctor commands.
  • Optional RSpec matchers and Rails Railtie.
  • GitHub Actions CI/release workflows, RBS starter signature, benchmark, banking example, security/contribution docs.
  • Official logo and release-ready README badges/links.

Verified before handoff:

  • bundle exec rubocop .
  • bundle exec rspec — 8 examples, 0 failures
  • bundle exec rake build

Artifacts:

[contracts-rb-0.1.0.gem](C:/Users/matth/OneDrive/Desktop/another go/contracts-rb/contracts-rb-0.1.0.gem)
[Official logo](C:/Users/matth/OneDrive/Desktop/another go/contracts-rb/assets/contracts-rb-logo.png)
[Generated contract documentation](C:/Users/matth/OneDrive/Desktop/another go/contracts-rb/docs/contracts/contracts.md)
[README](C:/Users/matth/OneDrive/Desktop/another go/contracts-rb/README.md)

Local release commits:

0db5e32 Initial release of contracts-rb
b387110 add funding
ebc2d8c Polish release documentation