packages feed

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 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>  [![CI](https://github.com/gondola-bros-entertainment/gbnet-hs/actions/workflows/ci.yml/badge.svg)](https://github.com/gondola-bros-entertainment/gbnet-hs/actions/workflows/ci.yml)+[![Hackage](https://img.shields.io/hackage/v/gbnet-hs.svg)](https://hackage.haskell.org/package/gbnet-hs) ![Haskell](https://img.shields.io/badge/haskell-GHC%209.6-purple) ![License](https://img.shields.io/badge/license-MIT-blue) 
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