Changelog for keiki-codec-json-test-0.9.0.0
Changelog
All notable changes to this package are documented in this file. The format follows Keep a Changelog, and this project adheres to the Haskell PVP.
[Unreleased]
[0.9.0.0] — 2026-08-04
Changed
- Co-released with
keiki-0.9.0.0andkeiki-codec-json-0.9.0.0; internal dependency bounds now target the coordinated^>=0.9PVP major range.
[0.8.0.0] — 2026-08-02
Changed
- Co-released with
keiki-0.8.0.0andkeiki-codec-json-0.8.0.0; internal dependency bounds now target the coordinated^>=0.8PVP major range.
[0.7.0.0] — 2026-08-01
Changed
- Co-released with
keiki-0.7.0.0andkeiki-codec-json-0.7.0.0; internal dependency bounds now target the coordinated^>=0.7PVP major range.
[0.6.0.0] — 2026-07-31
Changed
- Co-released with
keiki-0.6.0.0andkeiki-codec-json-0.6.0.0; internal dependency bounds now target the coordinated^>=0.6PVP range.
[0.5.0.0] — 2026-07-31
Changed
- Co-released with
keiki-0.5.0.0andkeiki-codec-json-0.5.0.0; internal package bounds now target the coordinated^>=0.5PVP major range.
[0.4.0.0] — 2026-07-28
Changed
- Co-released with
keiki-0.4.0.0andkeiki-codec-json-0.4.0.0; internal package bounds now target the coordinated^>=0.4PVP major range.
[0.3.1.0] — 2026-07-23
Changed
- Co-released with
keiki-0.3.1.0andkeiki-codec-json-0.3.1.0; existing^>=0.3bounds admit the additive shape API while retaining the current PVP major range.
[0.3.0.0] — 2026-07-23
Changed
- Updated the internal
keiki,keiki-codec-json, andkeiki-codec-json-testdependency bounds to co-release withkeiki-0.3.0.0.
[0.2.0.0] — 2026-07-13
Added
EqRegFileandregFileCodecPropsEqprovide value-level heterogeneous round-trip checks. The original byte-comparingregFileCodecPropsremains for compatibility, with its nested-Maybeblind spot now documented.Keiki.Codec.JSON.Test.GoldenFile.regFileGoldenFileSpecpins a whole register file against checked-in JSON in both directions, with a deliberately failingKEIKI_UPDATE_GOLDENSregeneration workflow.
[0.1.0.0] — 2026-06-07
Initial Hackage release. Co-released with keiki-0.1.0.0 and
keiki-codec-json-0.1.0.0.
Added
Keiki.Codec.JSON.Test.Golden— the case-#10 detector:data SlotGolden a = SlotGolden { sgInput :: a, sgBytes :: LBS.ByteString }andslotGoldenSpec :: (Aeson.ToJSON a, Aeson.FromJSON a, Eq a, Show a) => String -> SlotGolden a -> Hspec.Spec. Pins a per-slot-type golden bytes value; fails loudly when the slot'sToJSONinstance silently changes (the schema-evolution failure mode the shape hash cannot detect by design).Keiki.Codec.JSON.Test— library-ised exposure of the EP-36 M3 round-trip and sensitivity disciplines:class ArbitraryRegFile (rs :: [Slot])with inductivearbRegFile :: Gen (RegFile rs).regFileCodecProps @rs :: Spec— four QuickCheck properties (Value-path round-trip, Encoding-path round-trip, within-path determinism on both paths).data SomeKnownRegFileShape,someKnownShape @rs,regFileShapeSensitivitySpec— parameterised baseline + mutation list; asserts each mutation flips the shape hash.
Validated against
- GHC 9.12.2 locally on macOS aarch64 and in CI on Ubuntu Linux
x86_64 (see
.github/workflows/ci.yml). - 7 self-test assertions exercising every public helper against a
toy
Emailslot type andDemoSlots/DemoSlotsRenamedbaseline + mutation pair.