From ddc56f30a68054fa5547512e869b3fe2d6a9523e Mon Sep 17 00:00:00 2001 From: Ignacio Van Droogenbroeck Date: Mon, 27 Apr 2026 09:28:02 -0600 Subject: [PATCH] chore: lower go.mod directive from 1.26 to 1.25 Preserves drop-in compatibility for downstream users still on Go 1.25, addressing the migration friction reported in #70 (forced toolchain bump when moving from vmihailenco/msgpack/v5 to this fork). The original bump to 1.26 was a modernization decision, not a code requirement. The codebase only depends on 1.21+ builtins (min, max, clear); no 1.22+ language features or 1.26-only stdlib APIs are in use. CI matrix already covers 1.25.x and 1.26.x, so no workflow changes are needed and 1.25 support is exercised on every PR. Verified locally: go vet, go build, go test, and go test -race all pass under the new directive. Closes #70 --- CHANGELOG.md | 4 ++++ go.mod | 2 +- 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 34883b5..3c1e1c6 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -8,6 +8,10 @@ - **encode/decode:** pool and pre-allocate interned-string dict — `SetInternedStringsDictCap(n)` pre-sizes the dict to avoid map rehashing and slice growth; pooled encoders/decoders now reuse dict storage across `Reset()` (cleared in place) instead of discarding it, and `Put*()` drops oversized dicts to keep the pool lean ([#66](https://github.com/Basekick-Labs/msgpack/issues/66)) - **decode:** hoist `newValue()` allocations out of `decodeTypedMapValue` loop — reuses a single key slot and value slot across all map entries, zeroing between iterations. Takes typed-map decode from 2N `reflect.New()` calls to 2 per map ([#65](https://github.com/Basekick-Labs/msgpack/issues/65)) (BenchmarkLargeMapIntInt **-50% allocs/op**, **-50% B/op**, **-10% ns/op** for 1000-entry `map[int]int`) +### Chores + +- Lower `go.mod` directive from 1.26 to 1.25 — preserves drop-in compatibility for downstream users on Go 1.25; CI matrix unchanged (1.25.x, 1.26.x) ([#70](https://github.com/Basekick-Labs/msgpack/issues/70)) + --- ## v6.0.0 (Basekick-Labs fork) diff --git a/go.mod b/go.mod index 1ccb447..c3a53e6 100644 --- a/go.mod +++ b/go.mod @@ -1,6 +1,6 @@ module github.com/Basekick-Labs/msgpack/v6 -go 1.26 +go 1.25 require ( github.com/stretchr/testify v1.6.1