packages feed

kiroku-store 0.8.0.0 → 0.8.0.1

raw patch · 5 files changed

+90/−72 lines, 5 filesdep ~ephemeral-pgPVP ok

version bump matches the API change (PVP)

Dependency ranges changed: ephemeral-pg

API changes (from Hackage documentation)

Files

CHANGELOG.md view
@@ -1,5 +1,15 @@ # Changelog +## 0.8.0.1 — 2026-09-18++### Other Changes++* The test-suite and benchmarks now require `ephemeral-pg >=0.3.1 && <0.4`+  (was `>=0.2 && <0.3`). The benchmarks pin ephemeral-pg's temporary root to a+  stable per-user directory, so clusters left behind by killed runs are cleaned+  up on the next start. The library's dependencies, API and runtime behavior+  are unchanged.+ ## 0.8.0.0 — 2026-08-16  ### Breaking Changes
bench/Explain.hs view
@@ -4,7 +4,7 @@  Two modes: -  * default — boots a cached ephemeral PostgreSQL via 'Pg.withCached', runs+  * default — boots a cached ephemeral PostgreSQL via 'Pg.withCachedConfig', runs     the production @AnyVersion@ CTE under     @EXPLAIN (ANALYZE, BUFFERS, TIMING, FORMAT TEXT)@ wrapped in     @BEGIN ... ROLLBACK@, prints the result to stdout, then runs the same@@ -46,6 +46,7 @@ import Hasql.Session qualified as Session import Hasql.Statement (Statement, unpreparable) import Kiroku.Store+import Kiroku.Test.Postgres (ephemeralConfig) import System.Directory (createDirectoryIfMissing, doesFileExist, getCurrentDirectory, listDirectory, removePathForcibly) import System.Environment (getArgs) import System.FilePath (takeDirectory, (</>))@@ -262,7 +263,8 @@     createDirectoryIfMissing True dir     putStrLn ("=== Output directory: " <> dir <> " ===")     putStrLn "=== Booting cached ephemeral PostgreSQL for EXPLAIN ANALYZE ==="-    result <- Pg.withCached $ \db -> do+    config <- ephemeralConfig+    result <- Pg.withCachedConfig config Pg.defaultCacheConfig $ \db -> do         let settings = defaultConnectionSettings (Pg.connectionString db)         withStore settings $ \store -> do             paramsText <- mkSampleParams@@ -371,8 +373,9 @@               -- & Discoveries for the empirical evidence.               ("log_min_messages", "'log'")             ]+    base <- ephemeralConfig     let cfg =-            PgC.defaultConfig+            base                 <> PgC.autoExplainConfig 0                 <> (mempty :: PgC.Config){PgC.postgresSettings = collectorSettings}     result <- Pg.withConfig cfg $ \db -> do
bench/Main.hs view
@@ -26,7 +26,7 @@ import Hasql.Transaction qualified as Tx import Hasql.Transaction.Sessions qualified as TxSessions import Kiroku.Store-import Kiroku.Test.Postgres (migrateTestDatabase, withMigratedTestDatabase, withSharedMigratedPostgres)+import Kiroku.Test.Postgres (ephemeralConfig, migrateTestDatabase, withMigratedTestDatabase, withSharedMigratedPostgres) import Test.Tasty.Bench  data RawAppendParams = RawAppendParams@@ -712,7 +712,8 @@ main :: IO () main = do     -- Start ephemeral PostgreSQL once for all benchmarks-    result <- Pg.withCached $ \db -> do+    config <- ephemeralConfig+    result <- Pg.withCachedConfig config Pg.defaultCacheConfig $ \db -> do         migrateTestDatabase (Pg.connectionString db)         let settings = defaultConnectionSettings (Pg.connectionString db)         withStore settings $ \store -> do
bench/ShibuyaOverhead.hs view
@@ -29,6 +29,7 @@ import EphemeralPg qualified as Pg import Kiroku.Store import Kiroku.Store.Subscription.Stream (subscriptionStream)+import Kiroku.Test.Postgres (ephemeralConfig) import Shibuya.Adapter (Adapter (..)) import Shibuya.App (ProcessorId (..), defaultAppConfig, mkProcessor, runApp, stopApp) import Shibuya.Core.Ack (AckDecision (..))@@ -46,7 +47,8 @@  main :: IO () main = do-    result <- Pg.withCached $ \db -> do+    config <- ephemeralConfig+    result <- Pg.withCachedConfig config Pg.defaultCacheConfig $ \db -> do         let settings = defaultConnectionSettings (Pg.connectionString db)         withStore settings $ \store -> do             putStrLn "=== Kiroku Shibuya Adapter Overhead Benchmark ==="
kiroku-store.cabal view
@@ -1,6 +1,6 @@ cabal-version:   3.0 name:            kiroku-store-version:         0.8.0.0+version:         0.8.0.1 synopsis:        High-performance PostgreSQL event store description:   Kiroku is a PostgreSQL-backed event store for Haskell applications. It@@ -141,33 +141,33 @@    ghc-options:    -threaded -rtsopts -with-rtsopts=-N   build-depends:-    , aeson                 >=2.1  && <2.3-    , async                 >=2.2  && <2.3-    , base                  >=4.18 && <5-    , bytestring            >=0.11 && <0.13-    , containers            >=0.6  && <0.8+    , aeson                 >=2.1   && <2.3+    , async                 >=2.2   && <2.3+    , base                  >=4.18  && <5+    , bytestring            >=0.11  && <0.13+    , containers            >=0.6   && <0.8     , contravariant-extras  >=0.3     , directory-    , effectful-core        >=2.4  && <2.7-    , ephemeral-pg          >=0.2  && <0.3-    , generic-lens          >=2.2  && <2.4-    , hasql                 >=1.10 && <1.11-    , hasql-notifications   >=0.2  && <0.3-    , hasql-pool            >=1.2  && <1.5-    , hasql-transaction     >=1.1  && <1.3-    , hedgehog              >=1.4  && <1.8-    , hspec                 >=2.10 && <2.12-    , hspec-hedgehog        >=0.0  && <0.4+    , effectful-core        >=2.4   && <2.7+    , ephemeral-pg          >=0.3.1 && <0.4+    , generic-lens          >=2.2   && <2.4+    , hasql                 >=1.10  && <1.11+    , hasql-notifications   >=0.2   && <0.3+    , hasql-pool            >=1.2   && <1.5+    , hasql-transaction     >=1.1   && <1.3+    , hedgehog              >=1.4   && <1.8+    , hspec                 >=2.10  && <2.12+    , hspec-hedgehog        >=0.0   && <0.4     , kiroku-store     , kiroku-test-support-    , lens                  >=5.2  && <5.4-    , mmzk-typeid           >=0.6  && <0.8-    , stm                   >=2.5  && <2.6-    , streamly-core         >=0.3  && <0.4-    , text                  >=2.0  && <2.2-    , time                  >=1.12 && <1.15-    , uuid                  >=1.3  && <1.4-    , vector                >=0.13 && <0.14+    , lens                  >=5.2   && <5.4+    , mmzk-typeid           >=0.6   && <0.8+    , stm                   >=2.5   && <2.6+    , streamly-core         >=0.3   && <0.4+    , text                  >=2.0   && <2.2+    , time                  >=1.12  && <1.15+    , uuid                  >=1.3   && <1.4+    , vector                >=0.13  && <0.14  benchmark kiroku-store-bench   import:         common@@ -178,24 +178,24 @@     -threaded -rtsopts "-with-rtsopts=-N -A32m" -fproc-alignment=64    build-depends:-    , aeson                >=2.1  && <2.3-    , async                >=2.2  && <2.3-    , base                 >=4.18 && <5+    , aeson                >=2.1   && <2.3+    , async                >=2.2   && <2.3+    , base                 >=4.18  && <5     , deepseq              >=1.4-    , ephemeral-pg         >=0.2  && <0.3-    , generic-lens         >=2.2  && <2.4-    , hasql                >=1.10 && <1.11-    , hasql-pool           >=1.2  && <1.5-    , hasql-transaction    >=1.1  && <1.3+    , ephemeral-pg         >=0.3.1 && <0.4+    , generic-lens         >=2.2   && <2.4+    , hasql                >=1.10  && <1.11+    , hasql-pool           >=1.2   && <1.5+    , hasql-transaction    >=1.1   && <1.3     , kiroku-store     , kiroku-test-support-    , lens                 >=5.2  && <5.4+    , lens                 >=5.2   && <5.4     , mmzk-typeid          >=0.6     , tasty-bench          >=0.4-    , text                 >=2.0  && <2.2-    , time                 >=1.12 && <1.15-    , uuid                 >=1.3  && <1.4-    , vector               >=0.13 && <0.14+    , text                 >=2.0   && <2.2+    , time                 >=1.12  && <1.15+    , uuid                 >=1.3   && <1.4+    , vector               >=0.13  && <0.14  benchmark kiroku-store-bench-workload-gate   import:         common@@ -227,24 +227,25 @@   hs-source-dirs: bench   ghc-options:    -threaded -rtsopts "-with-rtsopts=-N -A32m"   build-depends:-    , aeson                 >=2.1  && <2.3-    , base                  >=4.18 && <5-    , containers            >=0.6  && <0.8-    , effectful             >=2.4  && <2.7-    , effectful-core        >=2.4  && <2.7-    , ephemeral-pg          >=0.2  && <0.3-    , generic-lens          >=2.2  && <2.4+    , aeson                 >=2.1   && <2.3+    , base                  >=4.18  && <5+    , containers            >=0.6   && <0.8+    , effectful             >=2.4   && <2.7+    , effectful-core        >=2.4   && <2.7+    , ephemeral-pg          >=0.3.1 && <0.4+    , generic-lens          >=2.2   && <2.4     , kiroku-store-    , lens                  >=5.2  && <5.4-    , shibuya-core          >=0.9  && <0.10-    , stm                   >=2.5  && <2.6+    , kiroku-test-support+    , lens                  >=5.2   && <5.4+    , shibuya-core          >=0.9   && <0.10+    , stm                   >=2.5   && <2.6     , streamly              >=0.11-    , streamly-core         >=0.3  && <0.4-    , text                  >=2.0  && <2.2-    , time                  >=1.12 && <1.15+    , streamly-core         >=0.3   && <0.4+    , text                  >=2.0   && <2.2+    , time                  >=1.12  && <1.15     , unliftio              >=0.2-    , unordered-containers  >=0.2  && <0.3-    , uuid                  >=1.3  && <1.4+    , unordered-containers  >=0.2   && <0.3+    , uuid                  >=1.3   && <1.4  benchmark kiroku-store-bench-explain   import:         common@@ -253,18 +254,19 @@   hs-source-dirs: bench   ghc-options:    -threaded -rtsopts "-with-rtsopts=-N -A32m"   build-depends:-    , aeson         >=2.1  && <2.3-    , base          >=4.18 && <5-    , bytestring    >=0.11 && <0.13-    , directory     >=1.3-    , ephemeral-pg  >=0.2  && <0.3-    , filepath      >=1.4-    , generic-lens  >=2.2  && <2.4-    , hasql         >=1.10 && <1.11-    , hasql-pool    >=1.2  && <1.5+    , aeson                >=2.1   && <2.3+    , base                 >=4.18  && <5+    , bytestring           >=0.11  && <0.13+    , directory            >=1.3+    , ephemeral-pg         >=0.3.1 && <0.4+    , filepath             >=1.4+    , generic-lens         >=2.2   && <2.4+    , hasql                >=1.10  && <1.11+    , hasql-pool           >=1.2   && <1.5     , kiroku-store-    , lens          >=5.2  && <5.4-    , text          >=2.0  && <2.2-    , time          >=1.12 && <1.15-    , uuid          >=1.3  && <1.4-    , vector        >=0.13 && <0.14+    , kiroku-test-support+    , lens                 >=5.2   && <5.4+    , text                 >=2.0   && <2.2+    , time                 >=1.12  && <1.15+    , uuid                 >=1.3   && <1.4+    , vector               >=0.13  && <0.14