Repository navigation
Releases
v0.0.6
v0.0.6 — irreversible JPEG 2000 (9/7)
- GRIB2 5.40 now decodes both reversible 5/3 and irreversible 9/7: accepts
qmfbid=0 and QCD scalar-derived/explicit styles (1/2), applies the reference
decoder's half-LSB tier-1 reconstruction and 0.5*stepsize dequantization,
then a float32 inverse 9/7 transform - output matches OpenJPEG sample for sample: fixtures generated via Pillow
(8/16-bit, 0-3 decomposition levels, odd sizes) plus 82 local codestreams;
unknown transforms/quantization styles still fail loudly - lifting is architecture-deterministic: explicit float32 rounding and
math.Ldexp for the power-of-two step factor; the macOS arm64 CI job that
caught a one-LSB FMA difference is green again
Verification: go build/vet/test ./... and the wasm suite pass on go1.27.1 with
CGO_ENABLED=0; CI (ubuntu/windows/macos, wasm target, generated files) and
CodeQL are green on this commit. Release assets: gribdump for linux/amd64,
linux/arm64, linux/loong64, windows/amd64 and darwin/arm64.
v0.0.5
v0.0.5 — PNG 5.41 reader/writer, wasm tests in CI, error-text cleanup
- PNG 5.41: grayscale 1/2/4/8/16-bit decoding (exact sub-byte inversion), and
gribw.SetPNG encoding at the same depths; pre-encoded payloads still go
through SetDataSection - PNG cross-checks: encoder-independent fixtures from pypng, Pillow and the
sister library simple-png, plus 500 randomized SetPNG outputs decoded by
simple-png; FuzzPNG added - wasm: coordinate anchors are per platform (bit-exact on recorded
amd64/darwin-arm64, sampled 1e-9 degree checks elsewhere) and CI now runs the
whole wasm suite under Node instead of only building - error text: wrapped sentinels no longer print "grib: grib:"; truncated phase
labels and "the the" comments repaired
Verification: go build / go vet / go test ./... green on go1.27.1 with
CGO_ENABLED=0; wasm suite green in CI. Release assets: gribdump for
linux/amd64, linux/arm64, linux/loong64, windows/amd64 and darwin/arm64.
v0.0.4
v0.0.4 — WebP image payloads, cleaner errors, gribdump -webp
- new local-use template 5.49152 carries a WebP image payload verbatim:
Message.WebP / WebPInfo / WebPImage on the reader, gribw.SetWebP on the
writer and gribdump -webp to extract; Values reports pack.ErrNotNumeric - dependency: pure-Go simple-webp v0.2.7 (no cgo); go.mod now requires 1.27.1
- error text: wrapped sentinels no longer double the "grib: grib:" prefix;
truncated phase labels and "the the" comments repaired - docs: bilingual README covers the WebP payload, the JPEG 2000 subset and the
WebP extractor; docs/eccodes-5.0-evidence.md title restored
Verification: go build / go vet / go test ./... green on go1.27.1 with
CGO_ENABLED=0; GOOS=js GOARCH=wasm build clean; gribdump round-trips a WebP
payload byte for byte. Release assets: gribdump for linux/amd64, linux/arm64,
linux/loong64, windows/amd64 and darwin/arm64.
v0.0.1-rc1 - first release candidate
Pure-Go GRIB edition 1 + 2 reader/writer: multi-template Walk engine generated from the official WMO CSVs, pack decoders 5.0/5.2/5.3/5.4/5.40(JPEG 2000)/5.42, grid coordinates (incl. 3.20 polar stereographic and 3.30 Lambert conformal), section 6 bitmap, gribw/gribw1 writers, gribdump CLI and a WASM viewer build. Verified bit-level against eccodes on real corpora.