Changelog of @hackage/haskell-fsrs 7.0.0

Changelog for haskell-fsrs

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

The format is based on Keep a Changelog. The major version tracks the FSRS algorithm version, as py-fsrs and fsrs-rs do: 7.x.y implements FSRS-7.

Unreleased

7.0.0 - 2026-08-20

Initial release: FSRS-7.

Added

  • FSRS.TypesRating, MemoryState and the Stability / Difficulty / Retrievability / Days synonyms.
  • FSRS.Parameters — the 35 FSRS-7 weights, the default set, bounds taken from the upstream optimiser's clipper, validation with per-weight errors, clamping, and typed views onto the weight blocks (StabilityWeights, CurveWeights).
  • FSRS.Algorithm — the model: the two-component retrievability curve and its derivative, nextIntervalDays (a safeguarded Newton root-find, since the FSRS-7 curve has no closed-form inverse), initialDifficulty, nextDifficulty, initialStability, stabilityAfterReview, transitionCoefficient, nextStability, nextMemoryState and replayReviews.
  • FSRS.Scheduler — cards, due dates, learning and relearning steps, review logs, interval preview and explicit (pure) interval fuzzing.
  • FSRS — an umbrella module re-exporting all of the above.
  • A test suite of golden vectors generated from a pure-Python transcription of the upstream reference implementation, plus property tests for the model's invariants.