Releases: kishankumarhs/Polyglot
Releases · kishankumarhs/Polyglot
Release list
v0.3.3
v0.3.2
Polyglot v0.3.2
Highlights
- Tag-driven releases: CI sets Node / Python / .NET / Go versions from the git tag (fixes npm 403 republish of
0.3.0) - Async
ReloadConfigno longer hangs under a live writer flood - Benchmark harness: Python vs stdlib, .NET vs Serilog, verbose progress,
BENCH_QUICK, charts in README
Release / packaging
scripts/set-release-version.sh— rewrite binding + core versions from semver- Release workflow resolves
vX.Y.Z→X.Y.Z, applies versions before pack/publish, fails early if that npm version already exists - Docs:
PUBLISHING.md,RELEASE-CHECKLIST.md
Core
- Async worker prefers flush/reload/stop over a hot queue
drainQueueis bounded (cap(queue)+1) so reload/flush/stop can’t spin forever while producers refill the queue- Hot-reload bench:
BENCH_RELOAD_WORKERS, 15s timeout; reload under 100 workers ~tens of ms
Benchmarks & docs
- Python competitor (
bench/python) and .NET/Serilog (bench/dotnet) +bindings.svgchart - Payload-shape docs and Node FFI tax notes in
bench/README.md go test -benchuses-run '^$'so tests don’t run before benchmarks- Phase banners, 30s heartbeat, line-buffered streaming,
BENCH_QUICK=1 - Scale CSV wired into full/release benches; empty scale shows a placeholder, not a flat zero line
- Build Node bindings before Node benches (CI
MODULE_NOT_FOUNDfix)
Already in v0.3.1 (for reference)
Bench charts in README, scale chart fixes, Node build-before-bench in release, gofmt import fix, early chart pipeline work.
v0.3.1
Polyglot v0.3.1 (draft)
Highlights
- Benchmark charts land in the main README (SVG) with regenerable PNG/SVG from
summary.json - Python vs stdlib logging and .NET vs Serilog competitor harnesses +
bindingschart - Bench suite reliability: scale CSV actually produced, Node bindings built before Node benches, gofmt import fix
Benchmarks & docs
- Embed throughput / P99 latency / scale / FFI / Python·.NET charts in
README.md - Expand
bench/README.md: rich vs cross vs FFI payload shapes, fairness notes, Node FFI tax (stringify → C string → Go unmarshal → rematchal) - Chart pipeline writes SVG + PNG; empty scale data shows an explicit placeholder instead of a flat zero line
- Scale chart uses even x-spacing for 1→64 writers and y-axis labels
make bench/bench-smokebuildbindings/nodebefore running Node benches (fixes CIMODULE_NOT_FOUNDondist/index.js)BENCH_SCALE_CSV=1runsTestScaleCSVsoscale.csv/ scale chart are real- New:
bench/python/bench.py,bench/dotnet/(Serilog competitor) - Summarizer/charts ingest
python.txt/dotnet.txt→bindings_ops→bindings.svg
Fixes
internal/logger/logger.go: gofmt import order (mapsalphabetized) — unblocks CI format check- Release workflow: build Node bindings before release benches; emit scale CSV on release runners
Notes / caveats
- Node still trails Pino on sync file: expected while every call double-serializes across FFI. Buffer/
Uint8ArrayABI path is documented as next work, not shipped - Binding benches include FFI tax; do not compare Go Zap numbers to Node/Python/.NET as one runtime
- Absolute ops/s vary by machine; compare relative deltas on the same runner (
bench/HISTORY.md)
v0.3.0
ci(release): drop macos-13 until Intel runners are available Apple Silicon (macos-14 arm64) still ships liblogger.dylib. macos-13 was blocking the entire release queue with no assigned runner.
v0.2.1
This release includes the core Go logger and all language bindings (Node.js, Python, .NET) with bundled native libraries. See documentation for details.
Full Changelog: https://github.com/kishankumarhs/Polyglot/commits/v0.2.0
Full Changelog: v0.2.0...v0.2.1