keiro-core 0.16.0.0 → 0.17.0.0
raw patch · 3 files changed
+52/−39 lines, 3 filesPVP ok
version bump matches the API change (PVP)
API changes (from Hackage documentation)
Files
- CHANGELOG.md +9/−0
- keiro-core.cabal +39/−34
- src/Keiro/Integration/Event.hs +4/−5
CHANGELOG.md view
@@ -6,6 +6,15 @@ ## [Unreleased] +## 0.17.0.0 — 2026-09-17++### Other Changes++- `IntegrationEvent.messageId` is now documented as opaque application-level+ text: canonical Keiro producers derive it deterministically from source-event+ coordinates, and explicit callers own their identity policy. It was previously+ described as a time-ordered UUID. The type is unchanged.+ ## 0.16.0.0 — 2026-09-07 ### Other Changes
keiro-core.cabal view
@@ -1,34 +1,39 @@-cabal-version: 3.0-name: keiro-core-version: 0.16.0.0-synopsis: Core contracts for Keiro packages+cabal-version: 3.0+name: keiro-core+version: 0.17.0.0+synopsis: Core contracts for Keiro packages description: Stable stream, codec, event-stream, and integration-event contracts shared by Keiro packages. -license: BSD-3-Clause-license-file: LICENSE-author: Nadeem Bitar-maintainer: nadeem@gmail.com-copyright: 2026 Nadeem Bitar-category: Control-homepage: https://github.com/shinzui/keiro#readme-bug-reports: https://github.com/shinzui/keiro/issues-build-type: Simple-tested-with: GHC >=9.12 && <9.13+license: BSD-3-Clause+license-file: LICENSE+author: Nadeem Bitar+maintainer: nadeem@gmail.com+copyright: 2026 Nadeem Bitar+category: Control+homepage: https://github.com/shinzui/keiro#readme+bug-reports: https://github.com/shinzui/keiro/issues+build-type: Simple+tested-with: ghc >=9.12 && <9.13 extra-doc-files: CHANGELOG.md source-repository head- type: git+ type: git location: https://github.com/shinzui/keiro.git common warnings ghc-options:- -Wall -Wcompat -Widentities -Wincomplete-record-updates- -Wincomplete-uni-patterns -Wpartial-fields -Wredundant-constraints+ -Wall+ -Wcompat+ -Widentities+ -Wincomplete-record-updates+ -Wincomplete-uni-patterns+ -Wpartial-fields+ -Wredundant-constraints common shared- default-language: GHC2024+ default-language: GHC2024 default-extensions: DeriveAnyClass DuplicateRecordFields@@ -39,7 +44,7 @@ PackageImports library- import: warnings, shared+ import: warnings, shared exposed-modules: Keiro.Codec Keiro.Codec.IdDomain@@ -54,19 +59,19 @@ Keiro.Snapshot.Policy Keiro.Stream - hs-source-dirs: src+ hs-source-dirs: src build-depends:- , aeson >=2.2 && <2.3- , aeson-casing >=0.2 && <0.3- , base >=4.21 && <5- , bytestring >=0.11 && <0.13- , deepseq >=1.5 && <1.6- , generic-lens >=2.2 && <2.4- , keiki >=0.9 && <0.10- , kiroku-store >=0.8 && <0.9- , lens >=5.2 && <5.4- , mmzk-typeid >=0.7 && <0.8- , scientific >=0.3 && <0.4- , text >=2.1 && <2.2- , time >=1.12 && <1.15- , uuid >=1.3 && <1.4+ aeson >=2.2 && <2.3,+ aeson-casing >=0.2 && <0.3,+ base >=4.21 && <5,+ bytestring >=0.11 && <0.13,+ deepseq >=1.5 && <1.6,+ generic-lens >=2.2 && <2.4,+ keiki >=0.9 && <0.10,+ kiroku-store >=0.8 && <0.9,+ lens >=5.2 && <5.4,+ mmzk-typeid >=0.7 && <0.8,+ scientific >=0.3 && <0.4,+ text >=2.1 && <2.2,+ time >=1.12 && <1.15,+ uuid >=1.3 && <1.4,
src/Keiro/Integration/Event.hs view
@@ -68,11 +68,10 @@ -- -- Identity rules: ----- * 'messageId' is an application-level id (UUIDv7 or equivalent--- time-ordered UUID) minted by the producer subscription when it writes--- the outbox row. It is stable across publish retries because it lives in--- the row; Kafka topic/partition/offset are delivery metadata only and--- are /not/ the canonical dedupe key.+-- * 'messageId' is opaque application-level text. Canonical producers derive+-- it deterministically from source-event coordinates; explicit callers own+-- their identity policy. It is stable across publication retries. Kafka+-- topic/partition/offset are delivery metadata, not the canonical dedupe key. -- * 'sourceEventId' and 'sourceGlobalPosition' identify the private event -- that produced this integration event. A single source event can fan out -- to multiple integration events with distinct 'messageId's; consumers