Repository navigation
Releases: jonbaldie/queue
Releases · jonbaldie/queue
Release list
v0.11.6
Included changes
- Make FileStore's JSON serialization contract explicit (#159).
- Handle short writes on full persistence storage without acknowledging incomplete items or corrupting subsequent log records (#160, #163).
- Preserve Queue state when persistence writes fail (#161, #164).
- Add real OS short-write/restart regressions and record full-disk exploratory testing (#162).
Verification
- Deno 2.7.6; frozen dependency install, type check, compile and production quality gate passed.
- 345 local production tests and 376 full-suite PR CI tests passed.
- Compiled binary smoke passed: auth, payload validation, typed FIFO, non-destructive HEAD, crash replay and graceful shutdown/restart replay.
- All four CI checks passed on both
mainandv0.11.6, including full Mutasaurus and Stryker mutation gates. - Release tag identifies merge commit
2a961f5e107b028941236e70f2ea502fa92747d9of release PR #168; no additional source changes.
Full Changelog: v0.11.5...v0.11.6
v0.11.5
Included changes
- Encapsulate payload size pre-flight in the payload reader (#153, #154).
- Rename CONTEXT.md to GLOSSARY.md (#155, docs only).
- Install mattpocock/skills v1.3.1 skills to
.agents/skills(#156, agent tooling only).
Full Changelog: v0.11.4...v0.11.5
v0.11.4
Highlights
- Type HTTP queue payloads as JSON values (
JsonValue/Payload) across the payload module, HTTP handler, queue manager, and store wiring, replacing the unchecked<string>assertion. Top-levelnullremains rejected. No intended change to HTTP behaviour.
Verification
- Deno test suite: 364 passed, 0 failed.
- Production quality gate passed.
- Compiled binary smoke passed: health check, authentication rejection, malformed JSON and top-level
nullrejection, and authenticated enqueue/dequeue of string, number, and nested object payloads in FIFO order. - Release PR #145 CI passed: Test, Production quality, Mutation testing (Mutasaurus), and Mutation testing (Stryker).
Full Changelog: v0.11.3...v0.11.4
v0.11.3
Highlights
- Extract request payload ingestion and validation (size limit, UTF-8 decoding, JSON parsing, nesting depth, number precision) from the HTTP handler into a dedicated module with direct unit tests. No intended change to HTTP behaviour.
Verification
- Deno test suite: 578 passed, 0 failed.
- Production quality gate passed.
- Compiled binary smoke passed: health check, authentication rejection, malformed JSON rejection, and authenticated enqueue/dequeue round-trip.
- Release PR #143 CI passed: Test, Production quality, Mutation testing (Mutasaurus), and Mutation testing (Stryker).
Full Changelog: v0.11.2...v0.11.3
v0.11.2
Highlights
- Reject invalid UTF-8 enqueue request bodies.
- Return
400for JSON nested beyond the parser's stack depth. - Avoid per-value JSON reviver overhead during numeric validation.
- Make rate limiter checks independent of window size.
Verification
- Deno test suite: 338 passed, 0 failed.
- Production quality gate passed.
- Compiled binary smoke passed: health check, authentication rejection, and authenticated enqueue/dequeue round-trip.
- Release PR #135 CI passed: Test, Production quality, Mutation testing (Mutasaurus), and Mutation testing (Stryker).
Full Changelog: v0.11.1...v0.11.2
v0.11.1
Highlights
- Reject whitespace-only, internally spaced, and invalid
QUEUE_API_TOKENvalues. - Preserve remaining items when crash recovery replays under tighter limits.
- Default
HOSTto127.0.0.1for IPv4 loopback reachability. - Make the Docker persistence path writable by the non-root user.
- Replace
persist.datsnapshots atomically and report cleanup failures. - Add exploratory testing reports and evidence.
Verification
- Deno test suite: 325 passed, 0 failed.
- Production quality gate passed.
- Compiled binary smoke test passed: health check, authentication rejection, enqueue, and dequeue.
Full Changelog: v0.11.0...v0.11.1
v0.11.0
What's Changed
- Fix HEAD /dequeue/:queue consuming queued items by @jonbaldie in #92
- fix: reject lossy JSON numeric payloads by @jonbaldie in #93
- docs: fix README quick-start auth and Docker networking by @jonbaldie in #94
- fix: count queue names by Unicode code point by @jonbaldie in #98
- fix: include Bearer challenge in 401 responses by @jonbaldie in #99
- feat: make mutation concurrency configurable (#97) by @jonbaldie in #100
- Release v0.11.0 by @jonbaldie in #101
Full Changelog: v0.10.1...v0.11.0
v0.10.1
What's Changed
- fix: support HEAD requests on GET endpoints per RFC 9110 §9.3.2 (#78) by @jonbaldie in #79
- fix: include required Allow header in 405 responses (RFC 9110 §15.5.6) (#77) by @jonbaldie in #80
- fix: allow multiple spaces and tabs in Bearer tokens (RFC 9110 §11.1) (#76) by @jonbaldie in #81
- Fix router method shadowing on shared pathnames by @jonbaldie in #82
- fix: reject missing or empty QUEUE_API_TOKEN before bind by @jonbaldie in #86
- fix: canonicalize percent-encoded queue names from URI path by @jonbaldie in #87
- fix: enforce request body limit while streaming (#85) by @jonbaldie in #88
Full Changelog: v0.10.0...v0.10.1
v0.10.0
v0.9.9
What's Changed
- fix: make auth Bearer scheme match case-insensitive (RFC 9110) by @jonbaldie in #69
- fix: make /health endpoint trailing-slash tolerant by @jonbaldie in #70
- fix: read env vars by name instead of Deno.env.toObject() (#64) by @jonbaldie in #71
- fix: grant unrestricted --allow-write so PERSIST can be any directory (#65) by @jonbaldie in #72
- fix: grant unrestricted --allow-net so PORT/HOST can differ at runtime (#68) by @jonbaldie in #73
Full Changelog: v0.9.8...v0.9.9