packages feed

jsonlogic-hs-0.1.0.0: docs/STABILITY.md

# API stability

jsonlogic-hs follows the [Haskell Package Versioning Policy](https://pvp.haskell.org).

- **`JsonLogic`** is the supported API, and everything it exports is covered
  by the policy. That includes the error vocabulary (`Error`, `ParseError`,
  `EvalError`, `LimitKind`, `OperatorsError`, `Arity`), `Location` and
  `Segment`, `Config` and `ArityMode`, and `DataUse`. Match on constructors,
  never on `renderError` text, whose wording may change in any release. The
  rendered form of a `Location` (`renderLocation`) is RFC 6901 and will not
  change.
- **`JsonLogic.Core.*`** is exposed for the test suites and for advanced use
  (working with the rule tree directly). It carries **no stability promise
  before 1.0**, and may change in any release.
- Behaviour pinned by the classic suite, the outlier fixture, the community
  score (`test/community/expected.json`) or `docs/COMPATIBILITY.md` is not
  changed without a changelog entry and, for a deliberate deviation, a version
  bump that says so.
- Which node an error's location names, and how many steps a rule costs, are
  documented (`docs/LIMITS.md`) and tested, and a change to either is noted in
  the changelog.
- `Config` is a record with exported fields; construct it from
  `defaultConfig` (`defaultConfig {maxSteps = 5000}`) rather than with the
  constructor, so new fields do not break your code.