Repository navigation
v1.0.2
Changed
- The dashboard now requires Bun 1.4.4 (previously 1.4.2). The npm package
(bunx bunqueue-dashboard) refuses to start on any other Bun version; the
standalone binaries and the Docker image bundle their own runtime and need no
Bun at all. CI, the Docker build stage andbun-typesuse the same version. - CI/CD runs much faster. The validation workflow now fans out into parallel jobs:
thequalitychecks are split into static, unit and four runtime groups (the
newquality:*scripts, whichbun run qualitychains locally), the browser
E2E runs as six independent suites, and the native binaries start as soon as
the bundle is built instead of after every quality check. Browser jobs cache
Playwright browsers and skip the duplicate typecheck. Firefox and WebKit run
inside the official Playwright image (no slow apt step), and
version:checkkeeps its tag equal to@playwright/test. - The multi-arch Docker image builds without QEMU emulation. The build stage
produces static files, so it now runs once on the builder's native platform
and both the amd64 and arm64 images only copy its output (the arm64 build
used to emulatebun installand the Vite build). - Docker and Pages no longer repeat the whole validation on a push to
main:
they wait for CI'sStability gateon the same commit (ci-gate.yml). Version
tags and manual runs still validate in full. - The README now opens with the narrated 4K video tour on YouTube (7:45, English
with subtitles), recorded against a real bunqueue server under live traffic. It
replaces the old animated GIF, which still showed the Copilot removed in 1.0.1.
Fixed
- Dependabot can update dependencies again: it was configured for the
npm
ecosystem, which cannot updatebun.lock, so every weekly run failed. It now
uses thebunecosystem with the same groups. - The soak test's memory budget no longer fails at random on Linux. It measured
memory without collecting garbage first, so the reading swung between 53 and
153 MiB of growth for the same run; it now forces a full collection before
each sample (12 to 26 MiB measured), so only retained memory counts. - Restore confirmations no longer go stale because of SQLite's
-shmfile. That
shared-memory index appears and disappears as connections open and close
(the last one deletes it) without any write, so comparing it rejected valid
restores, for example right after the server stopped. The check now compares
path, existence, size, WAL size and modification time. - Restoring an S3 backup no longer fails with "Database changed after restore
confirmation" when the in-agent Workflow Engine still held the database open.
The agent released that connection before checking the operator's
confirmation, and SQLite's WAL checkpoint on close changed the files, so a
valid confirmation was rejected. The confirmation is now verified first. - A rejected restore now names every field that changed (for example
walSize 4152 → 0), so the cause is visible instead of a generic message.
Security
bun audit --audit-level=highpasses again; it was failing the CI quality
gate on 10 high and critical advisories. The MCP SDK moves to 1.32.1 and Vite
to 8.1.6, and patched transitive versions of Vue (3.5.44, for
@vue/server-renderer), markdown-it, proxy-addr, source-map-js and tinypool
are pinned throughoverrides.
What's Changed
- Feature the narrated 4K video tour in the README by @egeominotti in #40
- Fix: verify restore confirmation before releasing the Workflow Engine by @egeominotti in #41
- CI: run the validation as parallel jobs and stop re-validating on deploy by @egeominotti in #42
- Fix: ignore SQLite's -shm index when verifying a restore confirmation by @egeominotti in #43
- Collect garbage before each soak memory sample by @egeominotti in #46
- Build the Docker image without QEMU emulation by @egeominotti in #44
- Use Dependabot's bun ecosystem for bun.lock by @egeominotti in #45
- fix(deps): clear high and critical audit advisories by @egeominotti in #62
- chore: bump Bun to 1.4.4 and release 1.0.2 by @egeominotti in #61
- chore: bump Bun to 1.4.3 by @egeominotti in #59
Full Changelog: v1.0.1...v1.0.2