packages feed

valiant-0.1.0.1: CHANGELOG.md

# Changelog

The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/),
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).

## [0.1.0.1] - 2026-04-29

### Changed

- Switched the per-connection prepared-statement cache used by
  `Valiant.Execute` and `Valiant.Batch` from a HashPSQ-based LRU to
  SIEVE ([NSDI'24](https://www.usenix.org/conference/nsdi24/presentation/zhang-yazhuo)).
  In standalone microbenchmarks, SIEVE is 2.3-3.8x faster than the
  previous LRU across fill, hit-only, mixed, eviction-storm,
  uniform-random, and Zipf-skewed workloads. No public API change.
- Updated `pg-wire` lower bound to `==0.2.*` (required to pick up the
  SIEVE-backed `Connection` and the `PgWire.Cache.Sieve` exports).

### Removed

- `psqueues` dependency.

## [0.1.0.0] - 2026-04-25

Initial release. Runtime library on top of
[`pg-wire`](https://hackage.haskell.org/package/pg-wire). Re-exports
the connection and pool APIs and adds:

- Binary codecs for the common PostgreSQL types: numerics, text,
  time, UUID, JSON / JSONB, hstore, inet, macaddr, point, ranges,
  arrays, composites, enums.
- A typed `Statement p r` value, query execution
  (`fetchOne`/`fetchAll`/`fetchScalar`/`fetchExists`/...), command
  execution (`execute`/`executeReturning`/`executeBatch`), pipelined
  batch execution.
- Server-side cursor streaming (`withCursor`, `fetchBatch`,
  `fetchAllCursor`).
- COPY in/out (binary and CSV), large objects, LISTEN/NOTIFY,
  advisory locks, transactions with isolation levels.
- `refine` and `refineWith` combinators in `Valiant.Binary.Decode`
  for validating decoded values against extra invariants without a
  full `PgDecode` instance.
- `fetchAllUnboxed`: an unboxed-vector variant of `fetchAllVec` for
  fixed-size primitive result columns. Eliminates per-element pointer
  indirection for `Int32` / `Int64` / `Double` / `Bool` and tuples of
  those.

[0.1.0.1]: https://github.com/joshburgess/valiant/releases/tag/valiant-v0.1.0.1
[0.1.0.0]: https://github.com/joshburgess/valiant/releases/tag/v0.1.0.0