gbnet-hs 0.1.0.0 → 0.1.1.0
raw patch · 4 files changed
+7/−19 lines, 4 filesPVP ok
version bump matches the API change (PVP)
API changes (from Hackage documentation)
Files
- CHANGELOG.md +4/−18
- README.md +1/−0
- gbnet-hs.cabal +1/−1
- test/Main.hs +1/−0
CHANGELOG.md view
@@ -2,25 +2,11 @@ ## Unreleased -- **Optics migration** — all record updates use `optics` composable lenses (`&`, `.~`, `%~`, `use`, `.=`)-- **Zero-copy linear types** — `ZeroCopy` module with mutable thaw/freeze for `SequenceBuffer`-- **SequenceBuffer rewrite** — vector-based ring buffer replacing `IntMap`, O(1) insert/lookup-- **Sub-microsecond packet processing** — INLINE pragmas, bang patterns, strict fields throughout-- **Peer module split** — `GBNet.Peer` split into `Internal`, `Protocol`, `Handshake`, `Migration` sub-modules (public API unchanged)-- Benchmark suite: connection, fragment, security, and reliability groups--## 0.2.0.0+## 0.1.1.0 -- **Storable serialization** — replaced `BitBuffer`/`BitSerialize` with zero-copy Storable-based `serialize`/`deserialize` (14ns, 70M ops/sec)-- **`deriveStorable` TH** — generates `Storable` instances for product types with little-endian wire format-- **23x faster packet header serialization** — zero-allocation `poke`-based writes (380ns → 17ns)-- **4.6x faster deserialization** — direct memory access via `unsafeIndex` (73ns → 18ns)-- Type-safe domain newtypes: `ChannelId`, `SequenceNum`, `MonoTime`, `MessageId`-- `GBNet.Types` module as shared home for domain newtypes-- Modules renamed: `GBNet.Serialize.FastTH` → `GBNet.Serialize.TH`, `GBNet.Serialize.FastSupport` → `GBNet.Serialize`-- Idiomatic cleanup: Either do-notation, function composition, `fmap`/`toList`-- Extracted focused helpers from monolithic functions (Simulator, Connection)-- Comprehensive test coverage: channel modes, fragment edge cases, security, config validation, delta compression, simulator+- Drop `-O2` from benchmark ghc-options (users set optimization in their own cabal.project)+- Add automated Hackage publish to CI pipeline (tag-gated with version validation)+- Add Hackage badge to README ## 0.1.0.0
README.md view
@@ -6,6 +6,7 @@ <p> [](https://github.com/gondola-bros-entertainment/gbnet-hs/actions/workflows/ci.yml)+[](https://hackage.haskell.org/package/gbnet-hs)  
gbnet-hs.cabal view
@@ -1,6 +1,6 @@ cabal-version: 3.0 name: gbnet-hs-version: 0.1.0.0+version: 0.1.1.0 synopsis: Transport-level networking library with zero-copy Storable serialization description: A transport-level networking library providing reliable UDP with
test/Main.hs view
@@ -4,6 +4,7 @@ {-# LANGUAGE ScopedTypeVariables #-} {-# LANGUAGE TemplateHaskell #-} {-# LANGUAGE TypeFamilies #-}+{-# OPTIONS_GHC -Wno-orphans #-} module Main where