Tags: singchia/geminio
Tags
Second release candidate for v1.3.0. Picks up an upstream scheduler r… …ace fix and real `make test` / `make bench` wiring. - **`go-timer/v2` → v2.2.2.** Fixes a data race in the scheduler's `control()` loop where `countIncomingReqs` / `countProcessedReqs` were read plainly while worker goroutines wrote them atomically. Surfaced as a persistent `Race detector` CI flake; now gone at the root. See [singchia/go-timer#26](singchia/go-timer#26). - **`make test`** now runs the full test tree (unit, integration, regression, e2e, security, harness, chaos) with explicit per-suite timeouts — previously it only ran regression. - **`make bench`** target added (the README has been pointing at it for releases; now it works). - Chaos suite opts out of `go test -short`. The heartbeat-waiting tests (HalfOpenSendOnly ~94s, WireBitFlip ~105s) were pushing the multi-platform CI step past the default 10-minute wall on macOS runners. The dedicated `Chaos tests` job still runs the full suite. No functional or behavioral change to geminio itself versus rc.1. All tests green under `-race` on main. **Full diff**: v1.3.0-rc.1...v1.3.0-rc.2
v1.3.0-rc.1 Chaos-hardening release candidate. Nine library bugs fixed across the RPC, stream, dismiss, and conn teardown paths, discovered by two rounds of chaos testing. Benchmarks refreshed with Apple M4 numbers and ops/sec reporting added. READMEs refreshed, five new language translations (ja/ko/es/fr/de). Library fixes (from v1.2.3): - stream.doRPC: panic-recover in handler, always WithCancel to avoid leaked server-side handlers - stream.Write: hold RLock across select, monitorStop escape arm to fix deadlock / send-on-closed-channel panic - dialogue.handleInDismissPacket: Case B bypass for in-flight writes - conn.fini / end.fini: remove pointer-nil races with writePkt/newStream - packet.Decode: add TypeRequestCancelPacket dispatch, MaxDecodablePacketLen guard against OOM on oversized declarations Tests: - 26 new chaos tests across 7 batches (kill-peer, dismiss, RPC, wire corruption, flow control, kill schedules, steady state) - bench suite now reports ops/sec for every benchmark Docs: - Overview / design images updated - Multilingual READMEs (en/cn/ja/ko/es/fr/de) - Benchmarks section shows M4 numbers with QPS column
chore: remove local documentation from git tracking
PreviousNext