v1.2.0 — testing-hardening release
The full API surface is now under table-driven error-branch coverage (99.6% of statements in the main package), CI enforces that floor and fuzzes the webhook verifier, and the repo is set up for external contributors.
Added
- Contribution scaffolding — rewritten README with badges, install instructions, and a per-resource tour;
CONTRIBUTING.mddocumenting the design constraints and test expectations;SECURITY.md;CODE_OF_CONDUCT.md; an Apache-2.0LICENSE(with its explicit patent grant); and a CI workflow running build, vet, staticcheck, gofmt, and tests across Go 1.21–1.24. - CI coverage gate — a dedicated job fails the build if main-package statement coverage drops below 95%.
- CI fuzz smoke — a job fuzzes
webhook.ConstructEventfor 20s on every push and PR, on top of the seed-corpus runs in the build matrix. - Race detector —
go test -race ./...in the CI matrix on every Go version, with the local command documented inCONTRIBUTING.md. - Webhook fuzz test —
FuzzConstructEventfeeds random raw bodies, signature/timestamp headers, secrets, and tolerances into the verifier, asserting it never panics and that any success implies a genuine signature under the documented sentinel-error classification.
Changed
- The test suite now covers the error branch of every service method via a table-driven test (all 89 methods across the 16 services), the pipeline's defensive branches (non-JSON and truncated error bodies, unencodable bodies, invalid base URLs), the idempotent retry-after-error flow, and per-hop method/path assertions in the pipeline sequence test.
go test -cover ./and a fuzz smoke run are documented inCONTRIBUTING.md.