shikumi-cache-redis 0.1.2.2 → 0.1.2.3
raw patch · 3 files changed
+28/−11 lines, 3 filesdep ~aesondep ~baikaidep ~bytestringPVP ok
version bump matches the API change (PVP)
Dependency ranges changed: aeson, baikai, bytestring, effectful, hedis
API changes (from Hackage documentation)
Files
- CHANGELOG.md +17/−0
- shikumi-cache-redis.cabal +6/−6
- test/Main.hs +5/−5
CHANGELOG.md view
@@ -2,6 +2,23 @@ ## Unreleased +## 0.1.2.3 — 2026-08-29++### Changed++- Every library dependency now carries a PVP upper bound: `aeson`, `bytestring`,+ `effectful`, `hedis`. `cabal check` reported these under+ `missing-upper-bounds`. Without one, a future breaking release of a dependency+ enters a consumer's build plan unchecked — which is the failure the bound+ exists to prevent.++ Each bound admits the version this package is built and tested against and+ stops below the next major.++ `aeson` stops at `<2.3` rather than `<2.4`: baikai-openai 0.5 constrains it to+ `^>=2.2`, so aeson 2.3 is not reachable for this cohort and a wider bound+ would assert compatibility that cannot be exercised here.+ ## 0.1.2.2 — 2026-08-07 ### Changed
shikumi-cache-redis.cabal view
@@ -1,6 +1,6 @@ cabal-version: 3.4 name: shikumi-cache-redis-version: 0.1.2.2+version: 0.1.2.3 synopsis: Redis-backed shikumi cache (EP-6) category: AI description:@@ -36,11 +36,11 @@ hs-source-dirs: src exposed-modules: Shikumi.Cache.Backend.Redis build-depends:- , aeson+ , aeson >=2.2 && <2.3 , base >=4.20 && <5- , bytestring- , effectful- , hedis+ , bytestring >=0.11 && <0.13+ , effectful >=2.5 && <2.7+ , hedis >=0.15 && <0.17 , shikumi-cache ^>=0.1.2.0 , text ^>=2.1 @@ -51,7 +51,7 @@ main-is: Main.hs ghc-options: -threaded -with-rtsopts=-N build-depends:- , baikai >=0.5 && <0.6+ , baikai >=0.6 && <0.7 , base , bytestring , effectful
test/Main.hs view
@@ -10,7 +10,7 @@ -- it), in which case the skip becomes a failure. module Main (main) where -import Baikai (Context, Model, Options, Response, user, _Context, _Model, _Options, _Response)+import Baikai (Context, Model, Options, Response, emptyContext, emptyModel, emptyOptions, emptyResponse, user) import Control.Exception (SomeException, try) import Control.Lens ((&), (.~)) import Control.Monad (void)@@ -49,16 +49,16 @@ import Test.Tasty.HUnit (assertBool, testCase, (@?=)) fixModel :: Model-fixModel = _Model & #modelId .~ "claude-sonnet-4-6" & #provider .~ "anthropic"+fixModel = emptyModel & #modelId .~ "claude-sonnet-4-6" & #provider .~ "anthropic" fixCtx :: Context-fixCtx = _Context & #systemPrompt .~ Just "You are helpful." & #messages .~ V.singleton (user "ping")+fixCtx = emptyContext & #systemPrompt .~ Just "You are helpful." & #messages .~ V.singleton (user "ping") fixOpts :: Options-fixOpts = _Options & #temperature .~ Just 0.0 & #maxTokens .~ Just 1024+fixOpts = emptyOptions & #temperature .~ Just 0.0 & #maxTokens .~ Just 1024 stubResponse :: Response-stubResponse = _Response+stubResponse = emptyResponse someTime :: UTCTime someTime = read "2026-06-08 00:00:00 UTC"