<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>bunqueue releases</title>
    <link>https://bunqueue.dev/blog/</link>
    <atom:link href="https://bunqueue.dev/blog/releases.xml" rel="self" type="application/rss+xml"/>
    <description>One post per bunqueue release: what changed, how to install it and who contributed.</description>
    <language>en</language>
    <lastBuildDate>Sun, 25 Oct 2026 00:00:00 GMT</lastBuildDate>
    <image>
      <url>https://bunqueue.dev/og/blog.png</url>
      <title>bunqueue releases</title>
      <link>https://bunqueue.dev/blog/</link>
    </image>
    <item>
      <title>bunqueue v2.9.20</title>
      <link>https://bunqueue.dev/blog/bunqueue-v2-9-20/</link>
      <guid isPermaLink="true">https://bunqueue.dev/blog/bunqueue-v2-9-20/</guid>
      <pubDate>Sun, 25 Oct 2026 00:00:00 GMT</pubDate>
      <category>Release</category>
      <dc:creator>egeominotti</dc:creator>
      <description>More TCP worker processes no longer slow the server down: draining a backlog with four worker processes is 2.9x faster and with eight 4x faster. Plus docs that AI agents read as plain Markdown, two RSS feeds and a refreshed site.</description>
    </item>
    <item>
      <title>bunqueue v2.9.19</title>
      <link>https://bunqueue.dev/blog/bunqueue-v2-9-19/</link>
      <guid isPermaLink="true">https://bunqueue.dev/blog/bunqueue-v2-9-19/</guid>
      <pubDate>Sun, 25 Oct 2026 00:00:00 GMT</pubDate>
      <category>Release</category>
      <dc:creator>egeominotti</dc:creator>
      <description>Fixes a getJobs crash on queues with a million jobs and removes O(n) scans from the broker: dashboard counts 4,500x faster at 1M jobs, idle pulls on delayed queues 3,500x faster, 64 MB TCP frames 80x faster.</description>
    </item>
    <item>
      <title>bunqueue v2.9.18</title>
      <link>https://bunqueue.dev/blog/bunqueue-v2-9-18/</link>
      <guid isPermaLink="true">https://bunqueue.dev/blog/bunqueue-v2-9-18/</guid>
      <pubDate>Fri, 23 Oct 2026 00:00:00 GMT</pubDate>
      <category>Release</category>
      <dc:creator>egeominotti</dc:creator>
      <description>Fixes 3 bugs. The weekly SDK advisory audit passes again for all six SDKs.</description>
    </item>
    <item>
      <title>bunqueue v2.9.17</title>
      <link>https://bunqueue.dev/blog/bunqueue-v2-9-17/</link>
      <guid isPermaLink="true">https://bunqueue.dev/blog/bunqueue-v2-9-17/</guid>
      <pubDate>Thu, 22 Oct 2026 00:00:00 GMT</pubDate>
      <category>Release</category>
      <dc:creator>egeominotti</dc:creator>
      <description>Release artifacts and CI run on Bun 1.4.4 (previously 1.4.3).</description>
    </item>
    <item>
      <title>bunqueue v2.9.16</title>
      <link>https://bunqueue.dev/blog/bunqueue-v2-9-16/</link>
      <guid isPermaLink="true">https://bunqueue.dev/blog/bunqueue-v2-9-16/</guid>
      <pubDate>Thu, 15 Oct 2026 00:00:00 GMT</pubDate>
      <category>Release</category>
      <dc:creator>egeominotti</dc:creator>
      <description>Fixes 7 bugs. MCP bulk retry confirmation cannot be bypassed with an empty job ID.</description>
    </item>
    <item>
      <title>bunqueue v2.9.15</title>
      <link>https://bunqueue.dev/blog/bunqueue-v2-9-15/</link>
      <guid isPermaLink="true">https://bunqueue.dev/blog/bunqueue-v2-9-15/</guid>
      <pubDate>Thu, 15 Oct 2026 00:00:00 GMT</pubDate>
      <category>Release</category>
      <dc:creator>egeominotti</dc:creator>
      <description>Fixes 4 bugs. Agent-oriented MCP inspection, structured MCP contracts, agent preset and readiness checks, optional bunqueue/agents entrypoint and more.</description>
    </item>
    <item>
      <title>bunqueue v2.9.14</title>
      <link>https://bunqueue.dev/blog/bunqueue-v2-9-14/</link>
      <guid isPermaLink="true">https://bunqueue.dev/blog/bunqueue-v2-9-14/</guid>
      <pubDate>Wed, 14 Oct 2026 00:00:00 GMT</pubDate>
      <category>Release</category>
      <dc:creator>egeominotti</dc:creator>
      <description>Fixes 10 bugs. waitUntilFinished returned undefined, or Job &lt;id&gt; not found, for a job added with removeOnComplete: true (#155).</description>
    </item>
    <item>
      <title>bunqueue v2.9.13</title>
      <link>https://bunqueue.dev/blog/bunqueue-v2-9-13/</link>
      <guid isPermaLink="true">https://bunqueue.dev/blog/bunqueue-v2-9-13/</guid>
      <pubDate>Fri, 09 Oct 2026 00:00:00 GMT</pubDate>
      <category>Release</category>
      <dc:creator>egeominotti</dc:creator>
      <description>Fixes 7 bugs. Re-adding a finished custom jobId, or replacing a deduplicated job, without durable could lose both generations on a crash.</description>
    </item>
    <item>
      <title>bunqueue v2.9.12</title>
      <link>https://bunqueue.dev/blog/bunqueue-v2-9-12/</link>
      <guid isPermaLink="true">https://bunqueue.dev/blog/bunqueue-v2-9-12/</guid>
      <pubDate>Thu, 08 Oct 2026 00:00:00 GMT</pubDate>
      <category>Release</category>
      <dc:creator>egeominotti</dc:creator>
      <description>Three regression suites pin the 2.9.11 write path on failure paths, as a guard for any future write-path optimization.</description>
    </item>
    <item>
      <title>bunqueue v2.9.11</title>
      <link>https://bunqueue.dev/blog/bunqueue-v2-9-11/</link>
      <guid isPermaLink="true">https://bunqueue.dev/blog/bunqueue-v2-9-11/</guid>
      <pubDate>Mon, 05 Oct 2026 00:00:00 GMT</pubDate>
      <category>Release</category>
      <dc:creator>egeominotti</dc:creator>
      <description>Fixes 23 bugs. Bun and Node.js run a timer whose delay is NaN, negative, infinite or above 2^31 - 1 ms (about 24.8 days) after about 1 ms, and an interval with such a period, or with 0, about 870 times a second.</description>
    </item>
    <item>
      <title>bunqueue v2.9.10</title>
      <link>https://bunqueue.dev/blog/bunqueue-v2-9-10/</link>
      <guid isPermaLink="true">https://bunqueue.dev/blog/bunqueue-v2-9-10/</guid>
      <pubDate>Sat, 03 Oct 2026 00:00:00 GMT</pubDate>
      <category>Release</category>
      <dc:creator>egeominotti</dc:creator>
      <description>Fixes 1 bug. A wait TTL longer than about 24.8 days now lasts the whole TTL.</description>
    </item>
    <item>
      <title>bunqueue v2.9.9</title>
      <link>https://bunqueue.dev/blog/bunqueue-v2-9-9/</link>
      <guid isPermaLink="true">https://bunqueue.dev/blog/bunqueue-v2-9-9/</guid>
      <pubDate>Sat, 03 Oct 2026 00:00:00 GMT</pubDate>
      <category>Release</category>
      <dc:creator>egeominotti</dc:creator>
      <description>Fixes 3 bugs. Waiting for a job settles on its final outcome, for every Job and in both modes.</description>
    </item>
    <item>
      <title>bunqueue v2.9.8</title>
      <link>https://bunqueue.dev/blog/bunqueue-v2-9-8/</link>
      <guid isPermaLink="true">https://bunqueue.dev/blog/bunqueue-v2-9-8/</guid>
      <pubDate>Sat, 03 Oct 2026 00:00:00 GMT</pubDate>
      <category>Release</category>
      <dc:creator>egeominotti</dc:creator>
      <description>Fixes 14 bugs. Streamable HTTP transport (BUNQUEUE_MCP_TRANSPORT=http).</description>
    </item>
    <item>
      <title>bunqueue v2.9.7</title>
      <link>https://bunqueue.dev/blog/bunqueue-v2-9-7/</link>
      <guid isPermaLink="true">https://bunqueue.dev/blog/bunqueue-v2-9-7/</guid>
      <pubDate>Fri, 02 Oct 2026 00:00:00 GMT</pubDate>
      <category>Release</category>
      <dc:creator>egeominotti</dc:creator>
      <description>Fixes 9 bugs. PUSH, PUSHB, PUSHF and HTTP push validate backoff.maxDelay.</description>
    </item>
    <item>
      <title>bunqueue v2.9.6</title>
      <link>https://bunqueue.dev/blog/bunqueue-v2-9-6/</link>
      <guid isPermaLink="true">https://bunqueue.dev/blog/bunqueue-v2-9-6/</guid>
      <pubDate>Thu, 01 Oct 2026 00:00:00 GMT</pubDate>
      <category>Release</category>
      <dc:creator>egeominotti</dc:creator>
      <description>Fixes 2 bugs. Unhandled rejections are reported again after a TCP client close.</description>
    </item>
    <item>
      <title>bunqueue v2.9.5</title>
      <link>https://bunqueue.dev/blog/bunqueue-v2-9-5/</link>
      <guid isPermaLink="true">https://bunqueue.dev/blog/bunqueue-v2-9-5/</guid>
      <pubDate>Wed, 09 Sep 2026 00:00:00 GMT</pubDate>
      <category>Release</category>
      <dc:creator>egeominotti</dc:creator>
      <description>Publish Alpine, Debian 13, Debian slim, and distroless variants to Docker Hub and GHCR for Linux amd64 and arm64.</description>
    </item>
    <item>
      <title>bunqueue v2.9.4</title>
      <link>https://bunqueue.dev/blog/bunqueue-v2-9-4/</link>
      <guid isPermaLink="true">https://bunqueue.dev/blog/bunqueue-v2-9-4/</guid>
      <pubDate>Thu, 03 Sep 2026 00:00:00 GMT</pubDate>
      <category>Release</category>
      <dc:creator>egeominotti</dc:creator>
      <description>Deep-profiled queue hot paths and TCP ACK latency.</description>
    </item>
    <item>
      <title>bunqueue v2.9.3</title>
      <link>https://bunqueue.dev/blog/bunqueue-v2-9-3/</link>
      <guid isPermaLink="true">https://bunqueue.dev/blog/bunqueue-v2-9-3/</guid>
      <pubDate>Wed, 02 Sep 2026 00:00:00 GMT</pubDate>
      <category>Release</category>
      <dc:creator>egeominotti</dc:creator>
      <description>Fixes 33 bugs and ships 4 performance improvements and 5 additions. SQLite safety and queue-control release.</description>
    </item>
    <item>
      <title>bunqueue v2.9.2</title>
      <link>https://bunqueue.dev/blog/bunqueue-v2-9-2/</link>
      <guid isPermaLink="true">https://bunqueue.dev/blog/bunqueue-v2-9-2/</guid>
      <pubDate>Sun, 30 Aug 2026 00:00:00 GMT</pubDate>
      <category>Release</category>
      <dc:creator>egeominotti</dc:creator>
      <description>Ships 4 performance improvements and 2 additions. Reworked the main Examples page into an explicit beginner-to-advanced path: one embedded job, lifecycle and reliability, process boundaries, workflows, and finally the tested PostgreSQL…</description>
    </item>
    <item>
      <title>bunqueue v2.9.1</title>
      <link>https://bunqueue.dev/blog/bunqueue-v2-9-1/</link>
      <guid isPermaLink="true">https://bunqueue.dev/blog/bunqueue-v2-9-1/</guid>
      <pubDate>Fri, 28 Aug 2026 00:00:00 GMT</pubDate>
      <category>Release</category>
      <dc:creator>egeominotti</dc:creator>
      <description>Fixes 6 bugs. Multi-broker correctness fix.</description>
    </item>
    <item>
      <title>bunqueue v2.9.0</title>
      <link>https://bunqueue.dev/blog/bunqueue-v2-9-0/</link>
      <guid isPermaLink="true">https://bunqueue.dev/blog/bunqueue-v2-9-0/</guid>
      <pubDate>Fri, 28 Aug 2026 00:00:00 GMT</pubDate>
      <category>Release</category>
      
      <description>Fixes 43 bugs and ships 19 performance improvements. PostgreSQL without a compatibility driver, real multi-broker coordination, failure is part of the contract, one runtime dependency and more.</description>
    </item>
    <item>
      <title>bunqueue v2.8.61</title>
      <link>https://bunqueue.dev/blog/bunqueue-v2-8-61/</link>
      <guid isPermaLink="true">https://bunqueue.dev/blog/bunqueue-v2-8-61/</guid>
      <pubDate>Sat, 22 Aug 2026 00:00:00 GMT</pubDate>
      <category>Release</category>
      <dc:creator>egeominotti</dc:creator>
      <description>Fixes 1 bug. Fixed the order-dependent Linux release failure where persistent embedded suites inherited a process-wide in-memory QueueManager before selecting their SQLite database.</description>
    </item>
    <item>
      <title>bunqueue v2.8.60</title>
      <link>https://bunqueue.dev/blog/bunqueue-v2-8-60/</link>
      <guid isPermaLink="true">https://bunqueue.dev/blog/bunqueue-v2-8-60/</guid>
      <pubDate>Sat, 22 Aug 2026 00:00:00 GMT</pubDate>
      <category>Release</category>
      
      <description>Fixes 1 bug. Fixed workflow generation races exposed by Bun 1.4.</description>
    </item>
    <item>
      <title>bunqueue v2.8.59</title>
      <link>https://bunqueue.dev/blog/bunqueue-v2-8-59/</link>
      <guid isPermaLink="true">https://bunqueue.dev/blog/bunqueue-v2-8-59/</guid>
      <pubDate>Wed, 05 Aug 2026 00:00:00 GMT</pubDate>
      <category>Release</category>
      <dc:creator>egeominotti</dc:creator>
      <description>Fixes 1 bug. Fixed the order-dependent Linux release failure where the in-memory Workflow loop suite left the process-wide embedded manager alive before a SQLite-backed timeout regression selected its database.</description>
    </item>
    <item>
      <title>bunqueue v2.8.58</title>
      <link>https://bunqueue.dev/blog/bunqueue-v2-8-58/</link>
      <guid isPermaLink="true">https://bunqueue.dev/blog/bunqueue-v2-8-58/</guid>
      <pubDate>Tue, 04 Aug 2026 00:00:00 GMT</pubDate>
      <category>Release</category>
      
      <description>Fixes 4 bugs. Queue now releases its constructor-owned shared TCP pool reference exactly once, so duplicate close() calls and disconnect() followed by close() cannot break unrelated Queue instances.</description>
    </item>
    <item>
      <title>bunqueue v2.8.57</title>
      <link>https://bunqueue.dev/blog/bunqueue-v2-8-57/</link>
      <guid isPermaLink="true">https://bunqueue.dev/blog/bunqueue-v2-8-57/</guid>
      <pubDate>Mon, 03 Aug 2026 00:00:00 GMT</pubDate>
      <category>Release</category>
      <dc:creator>egeominotti</dc:creator>
      <description>Fixed an order-dependent CI failure caused by a Workflow production test leaving the process-wide embedded manager initialized in memory.</description>
    </item>
    <item>
      <title>bunqueue v2.8.56</title>
      <link>https://bunqueue.dev/blog/bunqueue-v2-8-56/</link>
      <guid isPermaLink="true">https://bunqueue.dev/blog/bunqueue-v2-8-56/</guid>
      <pubDate>Mon, 03 Aug 2026 00:00:00 GMT</pubDate>
      <category>Release</category>
      
      <description>Made durable acceptance fail closed in Embedded and real TCP+SQLite modes.</description>
    </item>
    <item>
      <title>bunqueue v2.8.55</title>
      <link>https://bunqueue.dev/blog/bunqueue-v2-8-55/</link>
      <guid isPermaLink="true">https://bunqueue.dev/blog/bunqueue-v2-8-55/</guid>
      <pubDate>Sat, 01 Aug 2026 00:00:00 GMT</pubDate>
      <category>Release</category>
      <dc:creator>egeominotti</dc:creator>
      <description>Preserved DLQ automatic-retry history, retry count, expiry and backoff across repeated terminal failures and broker restarts.</description>
    </item>
    <item>
      <title>bunqueue v2.8.54</title>
      <link>https://bunqueue.dev/blog/bunqueue-v2-8-54/</link>
      <guid isPermaLink="true">https://bunqueue.dev/blog/bunqueue-v2-8-54/</guid>
      <pubDate>Sat, 01 Aug 2026 00:00:00 GMT</pubDate>
      <category>Release</category>
      <dc:creator>egeominotti</dc:creator>
      <description>Completed 39 previously exposed Queue, Worker, QueueGroup, dependency, DLQ, deduplication, retry, limiter and state-query methods or method families that returned sentinels, ignored public options or behaved differently between embedded…</description>
    </item>
    <item>
      <title>bunqueue v2.8.53</title>
      <link>https://bunqueue.dev/blog/bunqueue-v2-8-53/</link>
      <guid isPermaLink="true">https://bunqueue.dev/blog/bunqueue-v2-8-53/</guid>
      <pubDate>Fri, 31 Jul 2026 00:00:00 GMT</pubDate>
      <category>Release</category>
      
      <description>Fixes 2 bugs. The TCP protocol audit now asks the kernel to bind an available port and reads the assigned listener port before connecting, eliminating the EADDRINUSE race that failed the parallel CI unit gate.</description>
    </item>
    <item>
      <title>bunqueue v2.8.52</title>
      <link>https://bunqueue.dev/blog/bunqueue-v2-8-52/</link>
      <guid isPermaLink="true">https://bunqueue.dev/blog/bunqueue-v2-8-52/</guid>
      <pubDate>Fri, 31 Jul 2026 00:00:00 GMT</pubDate>
      <category>Release</category>
      
      <description>Fixes 2 bugs. The binary-build workflow now quotes the GitHub Actions command-file path used for version outputs, resolving the SC2086 failure reported by Actionlint when ShellCheck is available on the CI runner.</description>
    </item>
    <item>
      <title>bunqueue v2.8.51</title>
      <link>https://bunqueue.dev/blog/bunqueue-v2-8-51/</link>
      <guid isPermaLink="true">https://bunqueue.dev/blog/bunqueue-v2-8-51/</guid>
      <pubDate>Fri, 31 Jul 2026 00:00:00 GMT</pubDate>
      <category>Release</category>
      
      <description>Production hardening for atomic cross-SDK flows, dependency completion durability and fail-closed release gates.</description>
    </item>
    <item>
      <title>bunqueue v2.8.50</title>
      <link>https://bunqueue.dev/blog/bunqueue-v2-8-50/</link>
      <guid isPermaLink="true">https://bunqueue.dev/blog/bunqueue-v2-8-50/</guid>
      <pubDate>Thu, 30 Jul 2026 00:00:00 GMT</pubDate>
      <category>Release</category>
      
      <description>Fixes 12 bugs. Production hardening for the experimental workflow engine and FlowProducer.</description>
    </item>
    <item>
      <title>bunqueue v2.8.49</title>
      <link>https://bunqueue.dev/blog/bunqueue-v2-8-49/</link>
      <guid isPermaLink="true">https://bunqueue.dev/blog/bunqueue-v2-8-49/</guid>
      <pubDate>Thu, 30 Jul 2026 00:00:00 GMT</pubDate>
      <category>Release</category>
      
      <description>Fixes 9 bugs. Documentation site only: five responsive layout defects and the SEO gaps found by auditing all 83 pages at 390 / 834 / 1024 / 1440px (332 measurements) plus the production build's 319 HTML files.</description>
    </item>
    <item>
      <title>bunqueue v2.8.48</title>
      <link>https://bunqueue.dev/blog/bunqueue-v2-8-48/</link>
      <guid isPermaLink="true">https://bunqueue.dev/blog/bunqueue-v2-8-48/</guid>
      <pubDate>Thu, 30 Jul 2026 00:00:00 GMT</pubDate>
      <category>Release</category>
      <dc:creator>egeominotti</dc:creator>
      <description>Fixes 4 bugs. bun run check:docs-data.</description>
    </item>
    <item>
      <title>bunqueue v2.8.47</title>
      <link>https://bunqueue.dev/blog/bunqueue-v2-8-47/</link>
      <guid isPermaLink="true">https://bunqueue.dev/blog/bunqueue-v2-8-47/</guid>
      <pubDate>Thu, 30 Jul 2026 00:00:00 GMT</pubDate>
      <category>Release</category>
      
      <description>Fixes 40 bugs. An injected clock for the workflow engine, A deterministic simulation suite, property-based tests over the workflow engine's pure core, saga hardening and more.</description>
    </item>
    <item>
      <title>bunqueue v2.8.46</title>
      <link>https://bunqueue.dev/blog/bunqueue-v2-8-46/</link>
      <guid isPermaLink="true">https://bunqueue.dev/blog/bunqueue-v2-8-46/</guid>
      <pubDate>Wed, 22 Jul 2026 00:00:00 GMT</pubDate>
      <category>Release</category>
      <dc:creator>egeominotti</dc:creator>
      <description>Fixes 1 bug. Startup banner regression coverage now validates the runtime shard count against bunqueue's hardware-derived value instead of assuming the 16 shards used by the development machine.</description>
    </item>
    <item>
      <title>bunqueue v2.8.45</title>
      <link>https://bunqueue.dev/blog/bunqueue-v2-8-45/</link>
      <guid isPermaLink="true">https://bunqueue.dev/blog/bunqueue-v2-8-45/</guid>
      <pubDate>Wed, 22 Jul 2026 00:00:00 GMT</pubDate>
      <category>Release</category>
      
      <description>The startup banner and CLI help now use One queue.</description>
    </item>
    <item>
      <title>bunqueue v2.8.44</title>
      <link>https://bunqueue.dev/blog/bunqueue-v2-8-44/</link>
      <guid isPermaLink="true">https://bunqueue.dev/blog/bunqueue-v2-8-44/</guid>
      <pubDate>Mon, 20 Jul 2026 00:00:00 GMT</pubDate>
      <category>Release</category>
      <dc:creator>egeominotti</dc:creator>
      <description>Fixes 7 bugs. Scheduled and manual S3 backups now snapshot SQLite through VACUUM INTO, so committed WAL frames are preserved even when a reader blocks checkpoint truncation.</description>
    </item>
    <item>
      <title>bunqueue v2.8.43</title>
      <link>https://bunqueue.dev/blog/bunqueue-v2-8-43/</link>
      <guid isPermaLink="true">https://bunqueue.dev/blog/bunqueue-v2-8-43/</guid>
      <pubDate>Sun, 19 Jul 2026 00:00:00 GMT</pubDate>
      <category>Release</category>
      <dc:creator>egeominotti</dc:creator>
      <description>Fixes 2 bugs. TypeScript SDK E2E fixtures now let the operating system allocate each broker's unused HTTP port independently.</description>
    </item>
    <item>
      <title>bunqueue v2.8.42</title>
      <link>https://bunqueue.dev/blog/bunqueue-v2-8-42/</link>
      <guid isPermaLink="true">https://bunqueue.dev/blog/bunqueue-v2-8-42/</guid>
      <pubDate>Sun, 19 Jul 2026 00:00:00 GMT</pubDate>
      <category>Release</category>
      <dc:creator>egeominotti</dc:creator>
      <description>Fixes 3 bugs. Weekly SDK soaks now raise the disposable broker's protocol request budget, so long-lived single-connection profiles measure SDK health instead of stopping at the production anti-abuse limit after roughly one minute.</description>
    </item>
    <item>
      <title>bunqueue v2.8.41</title>
      <link>https://bunqueue.dev/blog/bunqueue-v2-8-41/</link>
      <guid isPermaLink="true">https://bunqueue.dev/blog/bunqueue-v2-8-41/</guid>
      <pubDate>Sun, 19 Jul 2026 00:00:00 GMT</pubDate>
      <category>Release</category>
      <dc:creator>egeominotti</dc:creator>
      <description>Ships 3 performance improvements. pullBatch now parks delayed and active-group-blocked candidates in one scratch area for the entire batch, then restores them once before releasing the shard lock.</description>
    </item>
    <item>
      <title>bunqueue v2.8.40</title>
      <link>https://bunqueue.dev/blog/bunqueue-v2-8-40/</link>
      <guid isPermaLink="true">https://bunqueue.dev/blog/bunqueue-v2-8-40/</guid>
      <pubDate>Sun, 19 Jul 2026 00:00:00 GMT</pubDate>
      <category>Release</category>
      <dc:creator>egeominotti</dc:creator>
      <description>Fixes 5 bugs and ships 3 additions. The CLI now derives command routing and command discovery from one canonical registry.</description>
    </item>
    <item>
      <title>bunqueue v2.8.39</title>
      <link>https://bunqueue.dev/blog/bunqueue-v2-8-39/</link>
      <guid isPermaLink="true">https://bunqueue.dev/blog/bunqueue-v2-8-39/</guid>
      <pubDate>Sat, 18 Jul 2026 00:00:00 GMT</pubDate>
      <category>Release</category>
      <dc:creator>egeominotti</dc:creator>
      <description>Fixes 4 bugs and ships 2 additions. TCP rate limiting now charges each complete MessagePack frame instead of each socket data event.</description>
    </item>
    <item>
      <title>bunqueue v2.8.38</title>
      <link>https://bunqueue.dev/blog/bunqueue-v2-8-38/</link>
      <guid isPermaLink="true">https://bunqueue.dev/blog/bunqueue-v2-8-38/</guid>
      <pubDate>Sat, 18 Jul 2026 00:00:00 GMT</pubDate>
      <category>Release</category>
      <dc:creator>egeominotti</dc:creator>
      <description>bunqueue 2.8.38 release notes.</description>
    </item>
    <item>
      <title>bunqueue v2.8.37</title>
      <link>https://bunqueue.dev/blog/bunqueue-v2-8-37/</link>
      <guid isPermaLink="true">https://bunqueue.dev/blog/bunqueue-v2-8-37/</guid>
      <pubDate>Fri, 17 Jul 2026 00:00:00 GMT</pubDate>
      <category>Release</category>
      <dc:creator>egeominotti</dc:creator>
      <description>Fixes 4 bugs. The Go conformance job now enters the nested driver module explicitly with go -C drivers/go run ..</description>
    </item>
    <item>
      <title>bunqueue v2.8.36</title>
      <link>https://bunqueue.dev/blog/bunqueue-v2-8-36/</link>
      <guid isPermaLink="true">https://bunqueue.dev/blog/bunqueue-v2-8-36/</guid>
      <pubDate>Fri, 17 Jul 2026 00:00:00 GMT</pubDate>
      <category>Release</category>
      <dc:creator>egeominotti</dc:creator>
      <description>Ships 16 additions. A fast-check asynchronous command model now generates lifecycle, batch, dependency, DLQ, limiter, queue-control, and actual SIGKILL/restart histories against a fresh TCP broker and SQLite database per run.</description>
    </item>
    <item>
      <title>bunqueue v2.8.35</title>
      <link>https://bunqueue.dev/blog/bunqueue-v2-8-35/</link>
      <guid isPermaLink="true">https://bunqueue.dev/blog/bunqueue-v2-8-35/</guid>
      <pubDate>Fri, 17 Jul 2026 00:00:00 GMT</pubDate>
      <category>Release</category>
      <dc:creator>egeominotti</dc:creator>
      <description>Fixes 5 bugs and ships 3 additions. New Async variants on Queue that resolve only after the server has processed the command: obliterateAsync(), pauseAsync(), resumeAsync(), drainAsync() (returns the removed count), retryDlqAsync(id?) and…</description>
    </item>
    <item>
      <title>bunqueue v2.8.34</title>
      <link>https://bunqueue.dev/blog/bunqueue-v2-8-34/</link>
      <guid isPermaLink="true">https://bunqueue.dev/blog/bunqueue-v2-8-34/</guid>
      <pubDate>Fri, 17 Jul 2026 00:00:00 GMT</pubDate>
      <category>Release</category>
      
      <description>Fixes 2 bugs and ships 4 additions. bun run test:sandbox builds the current worktree into one pinned Debian/Bun test image and runs the mandatory unit, TCP, and embedded suites concurrently in three disposable containers.</description>
    </item>
    <item>
      <title>bunqueue v2.8.33</title>
      <link>https://bunqueue.dev/blog/bunqueue-v2-8-33/</link>
      <guid isPermaLink="true">https://bunqueue.dev/blog/bunqueue-v2-8-33/</guid>
      <pubDate>Thu, 16 Jul 2026 00:00:00 GMT</pubDate>
      <category>Release</category>
      
      <description>Fixes 3 bugs. SQLite startup recovery no longer skips the row that crosses a shrinking OFFSET page boundary.</description>
    </item>
    <item>
      <title>bunqueue v2.8.32</title>
      <link>https://bunqueue.dev/blog/bunqueue-v2-8-32/</link>
      <guid isPermaLink="true">https://bunqueue.dev/blog/bunqueue-v2-8-32/</guid>
      <pubDate>Sat, 11 Jul 2026 00:00:00 GMT</pubDate>
      <category>Release</category>
      <dc:creator>egeominotti</dc:creator>
      <description>Fixes 3 bugs. TcpConnectionPool accepted maxInFlight and pipelining but never forwarded them to the clients it built, so every pooled connection ran with the default window of 100 no matter what you configured.</description>
    </item>
    <item>
      <title>bunqueue v2.8.31</title>
      <link>https://bunqueue.dev/blog/bunqueue-v2-8-31/</link>
      <guid isPermaLink="true">https://bunqueue.dev/blog/bunqueue-v2-8-31/</guid>
      <pubDate>Fri, 10 Jul 2026 00:00:00 GMT</pubDate>
      <category>Release</category>
      <dc:creator>egeominotti</dc:creator>
      <description>bunqueue 2.8.31 release notes.</description>
    </item>
    <item>
      <title>bunqueue v2.8.30</title>
      <link>https://bunqueue.dev/blog/bunqueue-v2-8-30/</link>
      <guid isPermaLink="true">https://bunqueue.dev/blog/bunqueue-v2-8-30/</guid>
      <pubDate>Fri, 10 Jul 2026 00:00:00 GMT</pubDate>
      <category>Release</category>
      <dc:creator>egeominotti</dc:creator>
      <description>Protocol fuzzing, chaos / fault injection, race / concurrency, crash-recovery and more.</description>
    </item>
    <item>
      <title>bunqueue v2.8.29</title>
      <link>https://bunqueue.dev/blog/bunqueue-v2-8-29/</link>
      <guid isPermaLink="true">https://bunqueue.dev/blog/bunqueue-v2-8-29/</guid>
      <pubDate>Thu, 09 Jul 2026 00:00:00 GMT</pubDate>
      <category>Release</category>
      <dc:creator>egeominotti</dc:creator>
      <description>Fixes 3 bugs. retryJobs({ state:'failed', count }) ignored count: the client sent it (or, in the SDKs, explicitly dropped it) but the RetryDlq command/handler had no count field, so the entire DLQ was retried instead of the requested N.</description>
    </item>
    <item>
      <title>bunqueue v2.8.28</title>
      <link>https://bunqueue.dev/blog/bunqueue-v2-8-28/</link>
      <guid isPermaLink="true">https://bunqueue.dev/blog/bunqueue-v2-8-28/</guid>
      <pubDate>Thu, 09 Jul 2026 00:00:00 GMT</pubDate>
      <category>Release</category>
      <dc:creator>egeominotti</dc:creator>
      <description>bunqueue 2.8.28 release notes.</description>
    </item>
    <item>
      <title>bunqueue v2.8.27</title>
      <link>https://bunqueue.dev/blog/bunqueue-v2-8-27/</link>
      <guid isPermaLink="true">https://bunqueue.dev/blog/bunqueue-v2-8-27/</guid>
      <pubDate>Wed, 08 Jul 2026 00:00:00 GMT</pubDate>
      <category>Release</category>
      <dc:creator>egeominotti</dc:creator>
      <description>A security + correctness release.</description>
    </item>
    <item>
      <title>bunqueue v2.8.26</title>
      <link>https://bunqueue.dev/blog/bunqueue-v2-8-26/</link>
      <guid isPermaLink="true">https://bunqueue.dev/blog/bunqueue-v2-8-26/</guid>
      <pubDate>Wed, 01 Jul 2026 00:00:00 GMT</pubDate>
      <category>Release</category>
      <dc:creator>egeominotti</dc:creator>
      <description>A correctness release from an exhaustive feature + extreme-stress audit (every subsystem, embedded and TCP).</description>
    </item>
    <item>
      <title>bunqueue v2.8.25</title>
      <link>https://bunqueue.dev/blog/bunqueue-v2-8-25/</link>
      <guid isPermaLink="true">https://bunqueue.dev/blog/bunqueue-v2-8-25/</guid>
      <pubDate>Mon, 29 Jun 2026 00:00:00 GMT</pubDate>
      <category>Release</category>
      <dc:creator>egeominotti</dc:creator>
      <description>Fixes 3 bugs. Fixed in src/client/queue/operations/query.ts for all three affected sites: getJobs (embedded), getJobsAsync (TCP), and getJob(id) over TCP, the last was the inverse of the same gap (its TCP branch patched only progress, so…</description>
    </item>
    <item>
      <title>bunqueue v2.8.24</title>
      <link>https://bunqueue.dev/blog/bunqueue-v2-8-24/</link>
      <guid isPermaLink="true">https://bunqueue.dev/blog/bunqueue-v2-8-24/</guid>
      <pubDate>Sat, 27 Jun 2026 00:00:00 GMT</pubDate>
      <category>Release</category>
      <dc:creator>egeominotti</dc:creator>
      <description>Ships 3 performance improvements. Deterministic micro-benchmark (addData, 111-byte frames coalesced into one read): F=1000 2.78ms → 0.043ms (~65×), F=5000 61.1ms → 0.21ms (~291×).</description>
    </item>
    <item>
      <title>bunqueue v2.8.23</title>
      <link>https://bunqueue.dev/blog/bunqueue-v2-8-23/</link>
      <guid isPermaLink="true">https://bunqueue.dev/blog/bunqueue-v2-8-23/</guid>
      <pubDate>Wed, 24 Jun 2026 00:00:00 GMT</pubDate>
      <category>Release</category>
      <dc:creator>egeominotti</dc:creator>
      <description>Fixes 2 bugs. updateJobParent corrupted a child's parentQueue (src/application/queueManager.ts).</description>
    </item>
    <item>
      <title>bunqueue v2.8.22</title>
      <link>https://bunqueue.dev/blog/bunqueue-v2-8-22/</link>
      <guid isPermaLink="true">https://bunqueue.dev/blog/bunqueue-v2-8-22/</guid>
      <pubDate>Tue, 23 Jun 2026 00:00:00 GMT</pubDate>
      <category>Release</category>
      <dc:creator>egeominotti</dc:creator>
      <description>bunqueue 2.8.22 release notes.</description>
    </item>
    <item>
      <title>bunqueue v2.8.21</title>
      <link>https://bunqueue.dev/blog/bunqueue-v2-8-21/</link>
      <guid isPermaLink="true">https://bunqueue.dev/blog/bunqueue-v2-8-21/</guid>
      <pubDate>Tue, 23 Jun 2026 00:00:00 GMT</pubDate>
      <category>Release</category>
      <dc:creator>egeominotti</dc:creator>
      <description>Ships 2 performance improvements. Temporal index comparator was not a total order (src/domain/queue/temporalManager.ts).</description>
    </item>
    <item>
      <title>bunqueue v2.8.20</title>
      <link>https://bunqueue.dev/blog/bunqueue-v2-8-20/</link>
      <guid isPermaLink="true">https://bunqueue.dev/blog/bunqueue-v2-8-20/</guid>
      <pubDate>Wed, 17 Jun 2026 00:00:00 GMT</pubDate>
      <category>Release</category>
      <dc:creator>egeominotti</dc:creator>
      <description>Fixes 1 bug. Queue.removeAsync() (which backs the BullMQ-style job.remove()) returned before the job was actually removed, on the embedded path (src/client/queue/operations/management.ts): the embedded branch fired…</description>
    </item>
    <item>
      <title>bunqueue v2.8.19</title>
      <link>https://bunqueue.dev/blog/bunqueue-v2-8-19/</link>
      <guid isPermaLink="true">https://bunqueue.dev/blog/bunqueue-v2-8-19/</guid>
      <pubDate>Wed, 17 Jun 2026 00:00:00 GMT</pubDate>
      <category>Release</category>
      <dc:creator>egeominotti</dc:creator>
      <description>Fixes 2 bugs. A job that was processed successfully could be recorded as failed when its lock token expired while the handler was running (src/application/queueManager.ts): when lockDuration elapsed without renewal (e.g.</description>
    </item>
    <item>
      <title>bunqueue v2.8.18</title>
      <link>https://bunqueue.dev/blog/bunqueue-v2-8-18/</link>
      <guid isPermaLink="true">https://bunqueue.dev/blog/bunqueue-v2-8-18/</guid>
      <pubDate>Tue, 16 Jun 2026 00:00:00 GMT</pubDate>
      <category>Release</category>
      <dc:creator>egeominotti</dc:creator>
      <description>Fixes 1 bug. A Worker leased more jobs than concurrency, inflating the broker's active count and starving other workers (src/client/worker/worker.ts): the #96 fix capped _execution_ (activeJobs) at concurrency, but doPullBatch() computed…</description>
    </item>
    <item>
      <title>bunqueue v2.8.17</title>
      <link>https://bunqueue.dev/blog/bunqueue-v2-8-17/</link>
      <guid isPermaLink="true">https://bunqueue.dev/blog/bunqueue-v2-8-17/</guid>
      <pubDate>Tue, 16 Jun 2026 00:00:00 GMT</pubDate>
      <category>Release</category>
      <dc:creator>egeominotti</dc:creator>
      <description>Fixes 1 bug. Retrying a job that reached failed through the lock-expiry path failed with UNIQUE constraint failed: jobs.id (src/application/lockManager.ts): handleMaxStallsExceeded moved the job to the DLQ using only in-memory state…</description>
    </item>
    <item>
      <title>bunqueue v2.8.16</title>
      <link>https://bunqueue.dev/blog/bunqueue-v2-8-16/</link>
      <guid isPermaLink="true">https://bunqueue.dev/blog/bunqueue-v2-8-16/</guid>
      <pubDate>Tue, 16 Jun 2026 00:00:00 GMT</pubDate>
      <category>Release</category>
      <dc:creator>egeominotti</dc:creator>
      <description>Fixes 1 bug. A late ACK from a timed-out worker could phantom-complete a retrying job, silently skipping the retry (src/application/queueManager.ts, src/application/backgroundTasks.ts): for a job with a per-job timeout and attempts &gt; 1…</description>
    </item>
    <item>
      <title>bunqueue v2.8.15</title>
      <link>https://bunqueue.dev/blog/bunqueue-v2-8-15/</link>
      <guid isPermaLink="true">https://bunqueue.dev/blog/bunqueue-v2-8-15/</guid>
      <pubDate>Tue, 16 Jun 2026 00:00:00 GMT</pubDate>
      <category>Release</category>
      <dc:creator>egeominotti</dc:creator>
      <description>Fixes 2 bugs. Queue.getJobCounts() silently returned all zeros in TCP mode (src/client/queue/operations/counts.ts): the sync getJobCounts() hardcoded {waiting:0,…} for the non-embedded branch, so a TCP client got zeros while the server…</description>
    </item>
    <item>
      <title>bunqueue v2.8.14</title>
      <link>https://bunqueue.dev/blog/bunqueue-v2-8-14/</link>
      <guid isPermaLink="true">https://bunqueue.dev/blog/bunqueue-v2-8-14/</guid>
      <pubDate>Mon, 15 Jun 2026 00:00:00 GMT</pubDate>
      <category>Release</category>
      <dc:creator>egeominotti</dc:creator>
      <description>Fixes 8 bugs. Concurrency slot leak on lock expiry (lockManager.ts): requeueExpiredJob / handleMaxStallsExceeded now call shard.releaseJobResources() before re-queue/DLQ, mirroring the stall-detection paths.</description>
    </item>
    <item>
      <title>bunqueue v2.8.13</title>
      <link>https://bunqueue.dev/blog/bunqueue-v2-8-13/</link>
      <guid isPermaLink="true">https://bunqueue.dev/blog/bunqueue-v2-8-13/</guid>
      <pubDate>Mon, 15 Jun 2026 00:00:00 GMT</pubDate>
      <category>Release</category>
      <dc:creator>egeominotti</dc:creator>
      <description>Fixes 3 bugs. moveToFailed() sends the stack.</description>
    </item>
    <item>
      <title>bunqueue v2.8.12</title>
      <link>https://bunqueue.dev/blog/bunqueue-v2-8-12/</link>
      <guid isPermaLink="true">https://bunqueue.dev/blog/bunqueue-v2-8-12/</guid>
      <pubDate>Mon, 15 Jun 2026 00:00:00 GMT</pubDate>
      <category>Release</category>
      <dc:creator>egeominotti</dc:creator>
      <description>Fixes 2 bugs. Re-check the gate before starting.</description>
    </item>
    <item>
      <title>bunqueue v2.8.11</title>
      <link>https://bunqueue.dev/blog/bunqueue-v2-8-11/</link>
      <guid isPermaLink="true">https://bunqueue.dev/blog/bunqueue-v2-8-11/</guid>
      <pubDate>Fri, 12 Jun 2026 00:00:00 GMT</pubDate>
      <category>Release</category>
      <dc:creator>egeominotti</dc:creator>
      <description>Fixes 6 bugs. FAIL now carries the stack (stack: string[], optional, old clients unaffected).</description>
    </item>
    <item>
      <title>bunqueue v2.8.10</title>
      <link>https://bunqueue.dev/blog/bunqueue-v2-8-10/</link>
      <guid isPermaLink="true">https://bunqueue.dev/blog/bunqueue-v2-8-10/</guid>
      <pubDate>Thu, 11 Jun 2026 00:00:00 GMT</pubDate>
      <category>Release</category>
      <dc:creator>egeominotti</dc:creator>
      <description>Fixes 19 bugs. A typo no longer boots a server.</description>
    </item>
    <item>
      <title>bunqueue v2.8.9</title>
      <link>https://bunqueue.dev/blog/bunqueue-v2-8-9/</link>
      <guid isPermaLink="true">https://bunqueue.dev/blog/bunqueue-v2-8-9/</guid>
      <pubDate>Wed, 10 Jun 2026 00:00:00 GMT</pubDate>
      <category>Release</category>
      <dc:creator>egeominotti</dc:creator>
      <description>Ships 3 additions. Remote failure → the job fails locally (retry with backoff → local DLQ): persist the source queue to survive an uplink outage while its process or volume survives; retryDlq() re-enqueues when connectivity returns.</description>
    </item>
    <item>
      <title>bunqueue v2.8.8</title>
      <link>https://bunqueue.dev/blog/bunqueue-v2-8-8/</link>
      <guid isPermaLink="true">https://bunqueue.dev/blog/bunqueue-v2-8-8/</guid>
      <pubDate>Wed, 10 Jun 2026 00:00:00 GMT</pubDate>
      <category>Release</category>
      <dc:creator>egeominotti</dc:creator>
      <description>Server, fail fast, client SDK, CLI client.</description>
    </item>
    <item>
      <title>bunqueue v2.8.7</title>
      <link>https://bunqueue.dev/blog/bunqueue-v2-8-7/</link>
      <guid isPermaLink="true">https://bunqueue.dev/blog/bunqueue-v2-8-7/</guid>
      <pubDate>Sun, 07 Jun 2026 00:00:00 GMT</pubDate>
      <category>Release</category>
      <dc:creator>egeominotti</dc:creator>
      <description>Fixes 18 bugs. GET /queues/:q/jobs/list?status=&lt;state&gt; ignored the filter, only state was read, so it returned the whole queue regardless of the requested state (#95).</description>
    </item>
    <item>
      <title>bunqueue v2.8.6</title>
      <link>https://bunqueue.dev/blog/bunqueue-v2-8-6/</link>
      <guid isPermaLink="true">https://bunqueue.dev/blog/bunqueue-v2-8-6/</guid>
      <pubDate>Sun, 07 Jun 2026 00:00:00 GMT</pubDate>
      <category>Release</category>
      <dc:creator>egeominotti</dc:creator>
      <description>Fixes 4 bugs. Command timeouts now drive reconnection.</description>
    </item>
    <item>
      <title>bunqueue v2.8.5</title>
      <link>https://bunqueue.dev/blog/bunqueue-v2-8-5/</link>
      <guid isPermaLink="true">https://bunqueue.dev/blog/bunqueue-v2-8-5/</guid>
      <pubDate>Fri, 05 Jun 2026 00:00:00 GMT</pubDate>
      <category>Release</category>
      <dc:creator>egeominotti</dc:creator>
      <description>Fixes 4 bugs. the same custom jobId in two different queues sharing one database, or</description>
    </item>
    <item>
      <title>bunqueue v2.8.4</title>
      <link>https://bunqueue.dev/blog/bunqueue-v2-8-4/</link>
      <guid isPermaLink="true">https://bunqueue.dev/blog/bunqueue-v2-8-4/</guid>
      <pubDate>Fri, 05 Jun 2026 00:00:00 GMT</pubDate>
      <category>Release</category>
      <dc:creator>egeominotti</dc:creator>
      <description>Fixes 5 bugs. Failed jobs were not enumerable on the storage path.</description>
    </item>
    <item>
      <title>bunqueue v2.8.3</title>
      <link>https://bunqueue.dev/blog/bunqueue-v2-8-3/</link>
      <guid isPermaLink="true">https://bunqueue.dev/blog/bunqueue-v2-8-3/</guid>
      <pubDate>Wed, 03 Jun 2026 00:00:00 GMT</pubDate>
      <category>Release</category>
      <dc:creator>egeominotti</dc:creator>
      <description>bunqueue 2.8.3 release notes.</description>
    </item>
    <item>
      <title>bunqueue v2.8.2</title>
      <link>https://bunqueue.dev/blog/bunqueue-v2-8-2/</link>
      <guid isPermaLink="true">https://bunqueue.dev/blog/bunqueue-v2-8-2/</guid>
      <pubDate>Tue, 02 Jun 2026 00:00:00 GMT</pubDate>
      <category>Release</category>
      <dc:creator>egeominotti</dc:creator>
      <description>bunqueue 2.8.2 release notes.</description>
    </item>
    <item>
      <title>bunqueue v2.8.1</title>
      <link>https://bunqueue.dev/blog/bunqueue-v2-8-1/</link>
      <guid isPermaLink="true">https://bunqueue.dev/blog/bunqueue-v2-8-1/</guid>
      <pubDate>Tue, 02 Jun 2026 00:00:00 GMT</pubDate>
      <category>Release</category>
      
      <description>Released as 2.8.1 because 2.8.0 was already taken on npm (an earlier accidental publish, since deprecated).</description>
    </item>
    <item>
      <title>bunqueue v2.7.22</title>
      <link>https://bunqueue.dev/blog/bunqueue-v2-7-22/</link>
      <guid isPermaLink="true">https://bunqueue.dev/blog/bunqueue-v2-7-22/</guid>
      <pubDate>Tue, 02 Jun 2026 00:00:00 GMT</pubDate>
      <category>Release</category>
      <dc:creator>egeominotti</dc:creator>
      <description>Fixes 1 bug. Pinned typescript-eslint to exact 8.56.1 (dropped the ^ caret) in package.json so CI no longer floats into a broken or unexpected upstream release.</description>
    </item>
    <item>
      <title>bunqueue v2.7.21</title>
      <link>https://bunqueue.dev/blog/bunqueue-v2-7-21/</link>
      <guid isPermaLink="true">https://bunqueue.dev/blog/bunqueue-v2-7-21/</guid>
      <pubDate>Tue, 02 Jun 2026 00:00:00 GMT</pubDate>
      <category>Release</category>
      
      <description>Fixes 4 bugs. MCP setup docs now make the install step explicit: every guide (README, MCP guide, quickstart, server, cron, use-cases) shows bun add bunqueue (or bun add -g bunqueue) before bunx bunqueue-mcp, and a caution box explains the…</description>
    </item>
    <item>
      <title>bunqueue v2.7.20</title>
      <link>https://bunqueue.dev/blog/bunqueue-v2-7-20/</link>
      <guid isPermaLink="true">https://bunqueue.dev/blog/bunqueue-v2-7-20/</guid>
      <pubDate>Sun, 31 May 2026 00:00:00 GMT</pubDate>
      <category>Release</category>
      <dc:creator>egeominotti</dc:creator>
      <description>Fixes 3 bugs. drain() left stale rows in SQLite (embedded): queue.drain() cleared the in-memory index and counts but never deleted the SQLite rows, so drained jobs resurrected via getJobState/getJob/getWaiting/getJobs and would reload on…</description>
    </item>
    <item>
      <title>bunqueue v2.7.19</title>
      <link>https://bunqueue.dev/blog/bunqueue-v2-7-19/</link>
      <guid isPermaLink="true">https://bunqueue.dev/blog/bunqueue-v2-7-19/</guid>
      <pubDate>Sun, 31 May 2026 00:00:00 GMT</pubDate>
      <category>Release</category>
      <dc:creator>egeominotti</dc:creator>
      <description>Fixes 13 bugs. Cloud snapshots leaked unredacted job data (security): BUNQUEUE_CLOUD_REDACT_FIELDS was applied only to the event stream, never to periodic snapshots, so raw job.data and DLQ jobData (potential PII/secrets) were sent to the…</description>
    </item>
    <item>
      <title>bunqueue v2.7.18</title>
      <link>https://bunqueue.dev/blog/bunqueue-v2-7-18/</link>
      <guid isPermaLink="true">https://bunqueue.dev/blog/bunqueue-v2-7-18/</guid>
      <pubDate>Sun, 31 May 2026 00:00:00 GMT</pubDate>
      <category>Release</category>
      <dc:creator>egeominotti</dc:creator>
      <description>Fixes 5 bugs. getJobsAsync() (and getWaitingAsync/getDelayedAsync/getActiveAsync/getCompletedAsync/getFailedAsync) dropped job.opts over TCP: listed jobs returned opts: {}, so job.opts.attempts/timeout/etc.</description>
    </item>
    <item>
      <title>bunqueue v2.7.17</title>
      <link>https://bunqueue.dev/blog/bunqueue-v2-7-17/</link>
      <guid isPermaLink="true">https://bunqueue.dev/blog/bunqueue-v2-7-17/</guid>
      <pubDate>Sat, 30 May 2026 00:00:00 GMT</pubDate>
      <category>Release</category>
      <dc:creator>egeominotti</dc:creator>
      <description>Fixes 2 bugs. Created job has wrong priority / options not reflected in TCP mode (#88): await queue.add(name, data, { priority: 10 }) returned job.priority === 0 over TCP.</description>
    </item>
    <item>
      <title>bunqueue v2.7.16</title>
      <link>https://bunqueue.dev/blog/bunqueue-v2-7-16/</link>
      <guid isPermaLink="true">https://bunqueue.dev/blog/bunqueue-v2-7-16/</guid>
      <pubDate>Fri, 29 May 2026 00:00:00 GMT</pubDate>
      <category>Release</category>
      <dc:creator>egeominotti</dc:creator>
      <description>Fixes 1 bug. MCP returns inconsistent numbers across monitoring tools (#87): In TCP mode the MCP TcpBackend parsed several TCP response envelopes at the wrong nesting level, so monitoring tools returned wrong or empty data even though the…</description>
    </item>
    <item>
      <title>bunqueue v2.7.15</title>
      <link>https://bunqueue.dev/blog/bunqueue-v2-7-15/</link>
      <guid isPermaLink="true">https://bunqueue.dev/blog/bunqueue-v2-7-15/</guid>
      <pubDate>Tue, 26 May 2026 00:00:00 GMT</pubDate>
      <category>Release</category>
      <dc:creator>egeominotti</dc:creator>
      <description>Fixes 1 bug. Cron/scheduler jobs ignored job options (#86): Jobs spawned by upsertJobScheduler/cron always used JOB_DEFAULTS (maxAttempts: 3, removeOnFail: false), ignoring both the scheduler job template opts and the Queue…</description>
    </item>
    <item>
      <title>bunqueue v2.7.14</title>
      <link>https://bunqueue.dev/blog/bunqueue-v2-7-14/</link>
      <guid isPermaLink="true">https://bunqueue.dev/blog/bunqueue-v2-7-14/</guid>
      <pubDate>Fri, 15 May 2026 00:00:00 GMT</pubDate>
      <category>Release</category>
      <dc:creator>egeominotti</dc:creator>
      <description>Fixes 7 bugs. worker register via CLI silently expires: Server auto-unregisters workers when their TCP connection closes; one-shot CLI commands disconnect immediately, so worker list right after worker register showed nothing.</description>
    </item>
    <item>
      <title>bunqueue v2.7.13</title>
      <link>https://bunqueue.dev/blog/bunqueue-v2-7-13/</link>
      <guid isPermaLink="true">https://bunqueue.dev/blog/bunqueue-v2-7-13/</guid>
      <pubDate>Fri, 15 May 2026 00:00:00 GMT</pubDate>
      <category>Release</category>
      <dc:creator>egeominotti</dc:creator>
      <description>Fixes 6 bugs. WriteBuffer silent data loss when retries exhausted: SqliteStorage previously constructed WriteBuffer without an onCriticalError callback, so jobs dropped after maxRetries (10) vanished with no recovery path (the…</description>
    </item>
    <item>
      <title>bunqueue v2.7.12</title>
      <link>https://bunqueue.dev/blog/bunqueue-v2-7-12/</link>
      <guid isPermaLink="true">https://bunqueue.dev/blog/bunqueue-v2-7-12/</guid>
      <pubDate>Mon, 11 May 2026 00:00:00 GMT</pubDate>
      <category>Release</category>
      <dc:creator>egeominotti</dc:creator>
      <description>Remove 63 unnecessary as Type assertions across src/ flagged by @typescript-eslint/no-unnecessary-type-assertion on CI's stricter @types/bun@1.3.13.</description>
    </item>
    <item>
      <title>bunqueue v2.7.11</title>
      <link>https://bunqueue.dev/blog/bunqueue-v2-7-11/</link>
      <guid isPermaLink="true">https://bunqueue.dev/blog/bunqueue-v2-7-11/</guid>
      <pubDate>Mon, 11 May 2026 00:00:00 GMT</pubDate>
      <category>Release</category>
      
      <description>Fixes 1 bug. defineConfig caused &quot;Failed to listen at 0.0.0.0&quot; when used in config file (Issue #85, reported by @timnew), src/main.ts re-executes its top-level dispatch on every import.</description>
    </item>
    <item>
      <title>bunqueue v2.7.10</title>
      <link>https://bunqueue.dev/blog/bunqueue-v2-7-10/</link>
      <guid isPermaLink="true">https://bunqueue.dev/blog/bunqueue-v2-7-10/</guid>
      <pubDate>Mon, 20 Apr 2026 00:00:00 GMT</pubDate>
      <category>Release</category>
      <dc:creator>egeominotti</dc:creator>
      <description>Fixes 1 bug and ships 1 addition. clean() left orphan rows in job_results table (Issue #84, follow-up from @jdorner), storage.deleteJob() executed only DELETE FROM jobs, so cleaned completed jobs' result rows persisted forever in…</description>
    </item>
    <item>
      <title>bunqueue v2.7.9</title>
      <link>https://bunqueue.dev/blog/bunqueue-v2-7-9/</link>
      <guid isPermaLink="true">https://bunqueue.dev/blog/bunqueue-v2-7-9/</guid>
      <pubDate>Mon, 20 Apr 2026 00:00:00 GMT</pubDate>
      <category>Release</category>
      <dc:creator>egeominotti</dc:creator>
      <description>Fixes 2 bugs and ships 1 addition. clean()/cleanAsync() returned array of empty strings (Issue #84, follow-up from @jdorner), Previously returned new Array(count).fill(''), so the result length was correct but the IDs were empty.</description>
    </item>
    <item>
      <title>bunqueue v2.7.8</title>
      <link>https://bunqueue.dev/blog/bunqueue-v2-7-8/</link>
      <guid isPermaLink="true">https://bunqueue.dev/blog/bunqueue-v2-7-8/</guid>
      <pubDate>Mon, 20 Apr 2026 00:00:00 GMT</pubDate>
      <category>Release</category>
      <dc:creator>egeominotti</dc:creator>
      <description>Fixes 2 bugs. cleanAsync() silently returned [] for completed/failed/wait (Issue #84), cleanQueue() only handled 'waiting' and 'delayed' state filters; all other states fell through to a no-op, leaving job data in SQLite.</description>
    </item>
    <item>
      <title>bunqueue v2.7.7</title>
      <link>https://bunqueue.dev/blog/bunqueue-v2-7-7/</link>
      <guid isPermaLink="true">https://bunqueue.dev/blog/bunqueue-v2-7-7/</guid>
      <pubDate>Sun, 19 Apr 2026 00:00:00 GMT</pubDate>
      <category>Release</category>
      <dc:creator>egeominotti</dc:creator>
      <description>Fixes 4 bugs. Wrong job state after server restart (Issue #83), getJobState/getJob/job.getState returned unknown/null for completed, failed, and DLQ jobs after restart because jobIndex was not repopulated for completed/DLQ jobs during…</description>
    </item>
    <item>
      <title>bunqueue v2.7.6</title>
      <link>https://bunqueue.dev/blog/bunqueue-v2-7-6/</link>
      <guid isPermaLink="true">https://bunqueue.dev/blog/bunqueue-v2-7-6/</guid>
      <pubDate>Fri, 17 Apr 2026 00:00:00 GMT</pubDate>
      <category>Release</category>
      <dc:creator>egeominotti</dc:creator>
      <description>Fixes 7 bugs. Systemic silent no-op in ~20 job methods (Issue #82 follow-up), Across 6 factories (processor.ts, jobProxy.ts, flowJobFactory.ts, jobConversion.ts, sandboxed worker, flow), many job methods (retry, moveToWait…</description>
    </item>
    <item>
      <title>bunqueue v2.7.5</title>
      <link>https://bunqueue.dev/blog/bunqueue-v2-7-5/</link>
      <guid isPermaLink="true">https://bunqueue.dev/blog/bunqueue-v2-7-5/</guid>
      <pubDate>Thu, 16 Apr 2026 00:00:00 GMT</pubDate>
      <category>Release</category>
      <dc:creator>egeominotti</dc:creator>
      <description>Fixes 1 bug. job.moveToFailed() inside processor was a no-op (Issue #82), Calling job.moveToFailed() inside a worker processor silently did nothing because move method callbacks were not wired to createPublicJob.</description>
    </item>
    <item>
      <title>bunqueue v2.7.4</title>
      <link>https://bunqueue.dev/blog/bunqueue-v2-7-4/</link>
      <guid isPermaLink="true">https://bunqueue.dev/blog/bunqueue-v2-7-4/</guid>
      <pubDate>Mon, 13 Apr 2026 00:00:00 GMT</pubDate>
      <category>Release</category>
      <dc:creator>egeominotti</dc:creator>
      <description>Crash recovery, type-safe workflow steps.</description>
    </item>
    <item>
      <title>bunqueue v2.7.3</title>
      <link>https://bunqueue.dev/blog/bunqueue-v2-7-3/</link>
      <guid isPermaLink="true">https://bunqueue.dev/blog/bunqueue-v2-7-3/</guid>
      <pubDate>Sun, 12 Apr 2026 00:00:00 GMT</pubDate>
      <category>Release</category>
      <dc:creator>egeominotti</dc:creator>
      <description>Fixes 4 bugs. Workflow emitter resilience: Event listeners that throw exceptions no longer break the dispatch chain.</description>
    </item>
    <item>
      <title>bunqueue v2.7.2</title>
      <link>https://bunqueue.dev/blog/bunqueue-v2-7-2/</link>
      <guid isPermaLink="true">https://bunqueue.dev/blog/bunqueue-v2-7-2/</guid>
      <pubDate>Fri, 10 Apr 2026 00:00:00 GMT</pubDate>
      <category>Release</category>
      <dc:creator>egeominotti</dc:creator>
      <description>Loop control flow, forEach iteration, map transform, schema validation and more.</description>
    </item>
    <item>
      <title>bunqueue v2.7.1</title>
      <link>https://bunqueue.dev/blog/bunqueue-v2-7-1/</link>
      <guid isPermaLink="true">https://bunqueue.dev/blog/bunqueue-v2-7-1/</guid>
      <pubDate>Fri, 10 Apr 2026 00:00:00 GMT</pubDate>
      <category>Release</category>
      <dc:creator>egeominotti</dc:creator>
      <description>Step retry with exponential backoff, parallel steps, signal timeout, nested workflows (sub-workflows) and more.</description>
    </item>
    <item>
      <title>bunqueue v2.7.0</title>
      <link>https://bunqueue.dev/blog/bunqueue-v2-7-0/</link>
      <guid isPermaLink="true">https://bunqueue.dev/blog/bunqueue-v2-7-0/</guid>
      <pubDate>Fri, 10 Apr 2026 00:00:00 GMT</pubDate>
      <category>Release</category>
      <dc:creator>egeominotti</dc:creator>
      <description>Workflow Engine.</description>
    </item>
    <item>
      <title>bunqueue v2.6.116</title>
      <link>https://bunqueue.dev/blog/bunqueue-v2-6-116/</link>
      <guid isPermaLink="true">https://bunqueue.dev/blog/bunqueue-v2-6-116/</guid>
      <pubDate>Thu, 09 Apr 2026 00:00:00 GMT</pubDate>
      <category>Release</category>
      <dc:creator>egeominotti</dc:creator>
      <description>Fixes 1 bug. Deduplication broken for long-running scheduled jobs: cleanEmptyQueues() was deleting unique-key entries for queues whose priority queue was empty, even when jobs holding those keys were still actively processing.</description>
    </item>
    <item>
      <title>bunqueue v2.6.115</title>
      <link>https://bunqueue.dev/blog/bunqueue-v2-6-115/</link>
      <guid isPermaLink="true">https://bunqueue.dev/blog/bunqueue-v2-6-115/</guid>
      <pubDate>Wed, 08 Apr 2026 00:00:00 GMT</pubDate>
      <category>Release</category>
      <dc:creator>egeominotti</dc:creator>
      <description>prefixKey, namespace isolation for Queue and Worker.</description>
    </item>
    <item>
      <title>bunqueue v2.6.114</title>
      <link>https://bunqueue.dev/blog/bunqueue-v2-6-114/</link>
      <guid isPermaLink="true">https://bunqueue.dev/blog/bunqueue-v2-6-114/</guid>
      <pubDate>Tue, 07 Apr 2026 00:00:00 GMT</pubDate>
      <category>Release</category>
      <dc:creator>egeominotti</dc:creator>
      <description>Fixes 1 bug. Worker 'ready' event never fires with chained listener: Worker.run() was emitting 'ready' synchronously inside the constructor (when autorun: true, the default), so listeners attached via the chained pattern new…</description>
    </item>
    <item>
      <title>bunqueue v2.6.113</title>
      <link>https://bunqueue.dev/blog/bunqueue-v2-6-113/</link>
      <guid isPermaLink="true">https://bunqueue.dev/blog/bunqueue-v2-6-113/</guid>
      <pubDate>Fri, 03 Apr 2026 00:00:00 GMT</pubDate>
      <category>Release</category>
      <dc:creator>egeominotti</dc:creator>
      <description>Fixes 1 bug. Cron job with preventOverlap fires immediately on reconnect: Lock expiration was re-queuing cron jobs instead of discarding them, and batch ACK (ackBatchWithResults) silently skipped stall-retried jobs without recovery.</description>
    </item>
    <item>
      <title>bunqueue v2.6.112</title>
      <link>https://bunqueue.dev/blog/bunqueue-v2-6-112/</link>
      <guid isPermaLink="true">https://bunqueue.dev/blog/bunqueue-v2-6-112/</guid>
      <pubDate>Fri, 03 Apr 2026 00:00:00 GMT</pubDate>
      <category>Release</category>
      <dc:creator>egeominotti</dc:creator>
      <description>bunqueue version command, bunqueue doctor command.</description>
    </item>
    <item>
      <title>bunqueue v2.6.111</title>
      <link>https://bunqueue.dev/blog/bunqueue-v2-6-111/</link>
      <guid isPermaLink="true">https://bunqueue.dev/blog/bunqueue-v2-6-111/</guid>
      <pubDate>Fri, 03 Apr 2026 00:00:00 GMT</pubDate>
      <category>Release</category>
      <dc:creator>egeominotti</dc:creator>
      <description>Fixes 1 bug. bunqueue stats showing zeros for waiting/active: TCP Stats command was returning fields named queued/processing while the CLI expected waiting/active.</description>
    </item>
    <item>
      <title>bunqueue v2.6.110</title>
      <link>https://bunqueue.dev/blog/bunqueue-v2-6-110/</link>
      <guid isPermaLink="true">https://bunqueue.dev/blog/bunqueue-v2-6-110/</guid>
      <pubDate>Fri, 03 Apr 2026 00:00:00 GMT</pubDate>
      <category>Release</category>
      <dc:creator>egeominotti</dc:creator>
      <description>Fixes 1 bug. Stacktrace now included in failed worker event: job.stacktrace was always null when a job threw an error.</description>
    </item>
    <item>
      <title>bunqueue v2.6.109</title>
      <link>https://bunqueue.dev/blog/bunqueue-v2-6-109/</link>
      <guid isPermaLink="true">https://bunqueue.dev/blog/bunqueue-v2-6-109/</guid>
      <pubDate>Fri, 03 Apr 2026 00:00:00 GMT</pubDate>
      <category>Release</category>
      <dc:creator>egeominotti</dc:creator>
      <description>Cloud instance ID required: BUNQUEUE_CLOUD_INSTANCE_ID env var is now required for cloud mode (no more auto-generated UUIDs).</description>
    </item>
    <item>
      <title>bunqueue v2.6.108</title>
      <link>https://bunqueue.dev/blog/bunqueue-v2-6-108/</link>
      <guid isPermaLink="true">https://bunqueue.dev/blog/bunqueue-v2-6-108/</guid>
      <pubDate>Thu, 02 Apr 2026 00:00:00 GMT</pubDate>
      <category>Release</category>
      <dc:creator>egeominotti</dc:creator>
      <description>bunqueue.config.ts, Global configuration file, defineConfig() helper, --config / -c CLI flag, cloudAgent.createFromConfig() and more.</description>
    </item>
    <item>
      <title>bunqueue v2.6.107</title>
      <link>https://bunqueue.dev/blog/bunqueue-v2-6-107/</link>
      <guid isPermaLink="true">https://bunqueue.dev/blog/bunqueue-v2-6-107/</guid>
      <pubDate>Thu, 02 Apr 2026 00:00:00 GMT</pubDate>
      <category>Release</category>
      <dc:creator>egeominotti</dc:creator>
      <description>Fixes 1 bug. Fix contextFactory test: updated getLockContext test to reflect the storage field added in v2.6.103 for cron job cleanup on disconnect (#73).</description>
    </item>
    <item>
      <title>bunqueue v2.6.106</title>
      <link>https://bunqueue.dev/blog/bunqueue-v2-6-106/</link>
      <guid isPermaLink="true">https://bunqueue.dev/blog/bunqueue-v2-6-106/</guid>
      <pubDate>Thu, 02 Apr 2026 00:00:00 GMT</pubDate>
      <category>Release</category>
      
      <description>Fixes 1 bug. Cron upsert now removes orphaned queued jobs: between client disconnect and reconnect, a cron tick could push a job while a stale worker was still within the heartbeat timeout window.</description>
    </item>
    <item>
      <title>bunqueue v2.6.105</title>
      <link>https://bunqueue.dev/blog/bunqueue-v2-6-105/</link>
      <guid isPermaLink="true">https://bunqueue.dev/blog/bunqueue-v2-6-105/</guid>
      <pubDate>Thu, 02 Apr 2026 00:00:00 GMT</pubDate>
      <category>Release</category>
      
      <description>Fixes 1 bug. skipIfNoWorker now ignores stale workers: getForQueue() was returning ALL registered workers regardless of heartbeat status.</description>
    </item>
    <item>
      <title>bunqueue v2.6.104</title>
      <link>https://bunqueue.dev/blog/bunqueue-v2-6-104/</link>
      <guid isPermaLink="true">https://bunqueue.dev/blog/bunqueue-v2-6-104/</guid>
      <pubDate>Thu, 02 Apr 2026 00:00:00 GMT</pubDate>
      <category>Release</category>
      
      <description>Fixes 1 bug. Stall detector no longer re-queues cron jobs: the stall detection system (both retry and DLQ paths) now discards cron jobs with preventOverlap instead of re-queuing or moving them to DLQ.</description>
    </item>
    <item>
      <title>bunqueue v2.6.103</title>
      <link>https://bunqueue.dev/blog/bunqueue-v2-6-103/</link>
      <guid isPermaLink="true">https://bunqueue.dev/blog/bunqueue-v2-6-103/</guid>
      <pubDate>Thu, 02 Apr 2026 00:00:00 GMT</pubDate>
      <category>Release</category>
      
      <description>Fixes 1 bug. Cron jobs no longer fire immediately on client reconnect: when a TCP/WebSocket client disconnected while processing a cron job with preventOverlap, releaseClientJobs would re-queue the job as &quot;waiting&quot;.</description>
    </item>
    <item>
      <title>bunqueue v2.6.102</title>
      <link>https://bunqueue.dev/blog/bunqueue-v2-6-102/</link>
      <guid isPermaLink="true">https://bunqueue.dev/blog/bunqueue-v2-6-102/</guid>
      <pubDate>Thu, 02 Apr 2026 00:00:00 GMT</pubDate>
      <category>Release</category>
      
      <description>Fixes 1 bug. Event subscription leak on HTTP server shutdown: queueManager.subscribe() returned an unsubscribe function that was discarded.</description>
    </item>
    <item>
      <title>bunqueue v2.6.101</title>
      <link>https://bunqueue.dev/blog/bunqueue-v2-6-101/</link>
      <guid isPermaLink="true">https://bunqueue.dev/blog/bunqueue-v2-6-101/</guid>
      <pubDate>Thu, 02 Apr 2026 00:00:00 GMT</pubDate>
      <category>Release</category>
      
      <description>Fixes 1 bug. WebSocket rate limiter leak: WebSocket disconnect handler was not calling removeClient() on the rate limiter, causing per-client rate limiter state to accumulate indefinitely.</description>
    </item>
    <item>
      <title>bunqueue v2.6.100</title>
      <link>https://bunqueue.dev/blog/bunqueue-v2-6-100/</link>
      <guid isPermaLink="true">https://bunqueue.dev/blog/bunqueue-v2-6-100/</guid>
      <pubDate>Thu, 02 Apr 2026 00:00:00 GMT</pubDate>
      <category>Release</category>
      <dc:creator>egeominotti</dc:creator>
      <description>Fixes 2 bugs. Worker deregistration on disconnect: TCP, WebSocket, and SSE disconnect handlers now properly deregister workers when a client disconnects.</description>
    </item>
    <item>
      <title>bunqueue v2.6.99</title>
      <link>https://bunqueue.dev/blog/bunqueue-v2-6-99/</link>
      <guid isPermaLink="true">https://bunqueue.dev/blog/bunqueue-v2-6-99/</guid>
      <pubDate>Thu, 02 Apr 2026 00:00:00 GMT</pubDate>
      <category>Release</category>
      
      <description>Fixes 1 bug. Cron jobs no longer re-queue on restart: active cron jobs with preventOverlap (default) are now discarded during stall recovery instead of being re-queued.</description>
    </item>
    <item>
      <title>bunqueue v2.6.98</title>
      <link>https://bunqueue.dev/blog/bunqueue-v2-6-98/</link>
      <guid isPermaLink="true">https://bunqueue.dev/blog/bunqueue-v2-6-98/</guid>
      <pubDate>Wed, 01 Apr 2026 00:00:00 GMT</pubDate>
      <category>Release</category>
      <dc:creator>egeominotti</dc:creator>
      <description>Fixes 1 bug. Cron overlap prevention: added preventOverlap option (default: true) that automatically deduplicates cron-fired jobs.</description>
    </item>
    <item>
      <title>bunqueue v2.6.97</title>
      <link>https://bunqueue.dev/blog/bunqueue-v2-6-97/</link>
      <guid isPermaLink="true">https://bunqueue.dev/blog/bunqueue-v2-6-97/</guid>
      <pubDate>Wed, 01 Apr 2026 00:00:00 GMT</pubDate>
      <category>Release</category>
      <dc:creator>egeominotti</dc:creator>
      <description>Fixes 1 bug. Cron jobs no longer fire immediately on restart: skipMissedOnRestart now defaults to true.</description>
    </item>
    <item>
      <title>bunqueue v2.6.96</title>
      <link>https://bunqueue.dev/blog/bunqueue-v2-6-96/</link>
      <guid isPermaLink="true">https://bunqueue.dev/blog/bunqueue-v2-6-96/</guid>
      <pubDate>Wed, 01 Apr 2026 00:00:00 GMT</pubDate>
      <category>Release</category>
      
      <description>Fixes 1 bug. Job state race condition in TCP mode: getJobState() inside the completed event callback now correctly returns completed instead of active (fixes #72).</description>
    </item>
    <item>
      <title>bunqueue v2.6.95</title>
      <link>https://bunqueue.dev/blog/bunqueue-v2-6-95/</link>
      <guid isPermaLink="true">https://bunqueue.dev/blog/bunqueue-v2-6-95/</guid>
      <pubDate>Tue, 31 Mar 2026 00:00:00 GMT</pubDate>
      <category>Release</category>
      <dc:creator>egeominotti</dc:creator>
      <description>AI-native completeness.</description>
    </item>
    <item>
      <title>bunqueue v2.6.94</title>
      <link>https://bunqueue.dev/blog/bunqueue-v2-6-94/</link>
      <guid isPermaLink="true">https://bunqueue.dev/blog/bunqueue-v2-6-94/</guid>
      <pubDate>Tue, 31 Mar 2026 00:00:00 GMT</pubDate>
      <category>Release</category>
      <dc:creator>egeominotti</dc:creator>
      <description>Claude Code plugin &amp; skills.</description>
    </item>
    <item>
      <title>bunqueue v2.6.93</title>
      <link>https://bunqueue.dev/blog/bunqueue-v2-6-93/</link>
      <guid isPermaLink="true">https://bunqueue.dev/blog/bunqueue-v2-6-93/</guid>
      <pubDate>Tue, 31 Mar 2026 00:00:00 GMT</pubDate>
      <category>Release</category>
      
      <description>Fixes 1 bug. Deduplication bypass while job is active: handleDeduplication now checks jobIndex for active/processing jobs, not just the priority queue.</description>
    </item>
    <item>
      <title>bunqueue v2.6.92</title>
      <link>https://bunqueue.dev/blog/bunqueue-v2-6-92/</link>
      <guid isPermaLink="true">https://bunqueue.dev/blog/bunqueue-v2-6-92/</guid>
      <pubDate>Tue, 31 Mar 2026 00:00:00 GMT</pubDate>
      <category>Release</category>
      <dc:creator>egeominotti</dc:creator>
      <description>Simple Mode: 4 new production features.</description>
    </item>
    <item>
      <title>bunqueue v2.6.91</title>
      <link>https://bunqueue.dev/blog/bunqueue-v2-6-91/</link>
      <guid isPermaLink="true">https://bunqueue.dev/blog/bunqueue-v2-6-91/</guid>
      <pubDate>Tue, 31 Mar 2026 00:00:00 GMT</pubDate>
      <category>Release</category>
      <dc:creator>egeominotti</dc:creator>
      <description>Simple Mode: 8 advanced features, modular architecture, 50 unit tests, comprehensive documentation.</description>
    </item>
    <item>
      <title>bunqueue v2.6.90</title>
      <link>https://bunqueue.dev/blog/bunqueue-v2-6-90/</link>
      <guid isPermaLink="true">https://bunqueue.dev/blog/bunqueue-v2-6-90/</guid>
      <pubDate>Tue, 31 Mar 2026 00:00:00 GMT</pubDate>
      <category>Release</category>
      <dc:creator>egeominotti</dc:creator>
      <description>Simple Mode (Bunqueue class), documentation.</description>
    </item>
    <item>
      <title>bunqueue v2.6.89</title>
      <link>https://bunqueue.dev/blog/bunqueue-v2-6-89/</link>
      <guid isPermaLink="true">https://bunqueue.dev/blog/bunqueue-v2-6-89/</guid>
      <pubDate>Mon, 30 Mar 2026 00:00:00 GMT</pubDate>
      <category>Release</category>
      <dc:creator>egeominotti</dc:creator>
      <description>Fixes 1 bug. getPrioritized() returning empty array: end=-1 (default) was not normalized in the embedded path of getJobsAsync, causing maxPerSource=0 and zero results.</description>
    </item>
    <item>
      <title>bunqueue v2.6.88</title>
      <link>https://bunqueue.dev/blog/bunqueue-v2-6-88/</link>
      <guid isPermaLink="true">https://bunqueue.dev/blog/bunqueue-v2-6-88/</guid>
      <pubDate>Mon, 30 Mar 2026 00:00:00 GMT</pubDate>
      <category>Release</category>
      
      <description>Fixes 1 bug. ESLint crash on flow.ts: removed unnecessary explicit &lt;T&gt; type arguments from createFlowJobObject calls that caused @typescript-eslint/no-unnecessary-type-arguments rule to crash during bun run lint.</description>
    </item>
    <item>
      <title>bunqueue v2.6.87</title>
      <link>https://bunqueue.dev/blog/bunqueue-v2-6-87/</link>
      <guid isPermaLink="true">https://bunqueue.dev/blog/bunqueue-v2-6-87/</guid>
      <pubDate>Mon, 30 Mar 2026 00:00:00 GMT</pubDate>
      <category>Release</category>
      
      <description>Fixes 1 bug. skipIfNoWorker not working on restart (#67), when a cron job had skipIfNoWorker: true and the server restarted with past-due nextRun, the missed cron fired immediately because workers reconnected before the scheduler tick.</description>
    </item>
    <item>
      <title>bunqueue v2.6.85</title>
      <link>https://bunqueue.dev/blog/bunqueue-v2-6-85/</link>
      <guid isPermaLink="true">https://bunqueue.dev/blog/bunqueue-v2-6-85/</guid>
      <pubDate>Thu, 26 Mar 2026 00:00:00 GMT</pubDate>
      <category>Release</category>
      
      <description>skipIfNoWorker.</description>
    </item>
    <item>
      <title>bunqueue v2.6.84</title>
      <link>https://bunqueue.dev/blog/bunqueue-v2-6-84/</link>
      <guid isPermaLink="true">https://bunqueue.dev/blog/bunqueue-v2-6-84/</guid>
      <pubDate>Thu, 26 Mar 2026 00:00:00 GMT</pubDate>
      <category>Release</category>
      
      <description>Fixes 1 bug. immediately: true conflicting with skipMissedOnRestart (#65): - immediately now only fires on first creation, not on subsequent upserts - Previously, every call to upsertJobScheduler with immediately: true would override…</description>
    </item>
    <item>
      <title>bunqueue v2.6.83</title>
      <link>https://bunqueue.dev/blog/bunqueue-v2-6-83/</link>
      <guid isPermaLink="true">https://bunqueue.dev/blog/bunqueue-v2-6-83/</guid>
      <pubDate>Thu, 26 Mar 2026 00:00:00 GMT</pubDate>
      <category>Release</category>
      
      <description>Fixes 1 bug. immediately: true now works in TCP mode (#65): - Added immediately field to TCP Cron command type - Wired immediately through TCP handler (handleCron) and client TCP path (upsertJobScheduler) - Full TCP parity: immediately…</description>
    </item>
    <item>
      <title>bunqueue v2.6.82</title>
      <link>https://bunqueue.dev/blog/bunqueue-v2-6-82/</link>
      <guid isPermaLink="true">https://bunqueue.dev/blog/bunqueue-v2-6-82/</guid>
      <pubDate>Thu, 26 Mar 2026 00:00:00 GMT</pubDate>
      <category>Release</category>
      
      <description>Fixes 2 bugs. skipMissedOnRestart not working via Queue#upsertJobScheduler (#65): - CronScheduler.add() now preserves existing executions count when upserting a cron (previously reset to 0 on every call) - CronScheduler.load() now…</description>
    </item>
    <item>
      <title>bunqueue v2.6.81</title>
      <link>https://bunqueue.dev/blog/bunqueue-v2-6-81/</link>
      <guid isPermaLink="true">https://bunqueue.dev/blog/bunqueue-v2-6-81/</guid>
      <pubDate>Thu, 26 Mar 2026 00:00:00 GMT</pubDate>
      <category>Release</category>
      
      <description>Fixes 1 bug. Worker API enhancements, worker options now fully wired.</description>
    </item>
    <item>
      <title>bunqueue v2.6.80</title>
      <link>https://bunqueue.dev/blog/bunqueue-v2-6-80/</link>
      <guid isPermaLink="true">https://bunqueue.dev/blog/bunqueue-v2-6-80/</guid>
      <pubDate>Wed, 25 Mar 2026 00:00:00 GMT</pubDate>
      <category>Release</category>
      
      <description>Fixes 1 bug. Issue #64 follow-up: Jobs no longer lost from in-memory queue when markActive() fails during pull.</description>
    </item>
    <item>
      <title>bunqueue v2.6.79</title>
      <link>https://bunqueue.dev/blog/bunqueue-v2-6-79/</link>
      <guid isPermaLink="true">https://bunqueue.dev/blog/bunqueue-v2-6-79/</guid>
      <pubDate>Wed, 25 Mar 2026 00:00:00 GMT</pubDate>
      <category>Release</category>
      
      <description>Fixes 1 bug. Issue #63 follow-up: getStallConfig() and getDlqConfig() in TCP mode now return the correct config after calling setStallConfig()/setDlqConfig() instead of always returning hardcoded defaults.</description>
    </item>
    <item>
      <title>bunqueue v2.6.78</title>
      <link>https://bunqueue.dev/blog/bunqueue-v2-6-78/</link>
      <guid isPermaLink="true">https://bunqueue.dev/blog/bunqueue-v2-6-78/</guid>
      <pubDate>Wed, 25 Mar 2026 00:00:00 GMT</pubDate>
      <category>Release</category>
      
      <description>Fixes 3 bugs. skipMissedOnRestart.</description>
    </item>
    <item>
      <title>bunqueue v2.6.77</title>
      <link>https://bunqueue.dev/blog/bunqueue-v2-6-77/</link>
      <guid isPermaLink="true">https://bunqueue.dev/blog/bunqueue-v2-6-77/</guid>
      <pubDate>Tue, 24 Mar 2026 00:00:00 GMT</pubDate>
      <category>Release</category>
      
      <description>Fixes 1 bug. removeChildDependency() TCP response now returns { ok: true, removed: boolean } separately; client reads res.removed instead of res.ok to correctly reflect whether the dependency was actually removed</description>
    </item>
    <item>
      <title>bunqueue v2.6.76</title>
      <link>https://bunqueue.dev/blog/bunqueue-v2-6-76/</link>
      <guid isPermaLink="true">https://bunqueue.dev/blog/bunqueue-v2-6-76/</guid>
      <pubDate>Tue, 24 Mar 2026 00:00:00 GMT</pubDate>
      <category>Release</category>
      
      <description>Ships 2 additions. Integration test scripts for monitoring, query operations, cron event-driven scheduling, and sandboxed workers (TCP + embedded modes)</description>
    </item>
    <item>
      <title>bunqueue v2.6.75</title>
      <link>https://bunqueue.dev/blog/bunqueue-v2-6-75/</link>
      <guid isPermaLink="true">https://bunqueue.dev/blog/bunqueue-v2-6-75/</guid>
      <pubDate>Tue, 24 Mar 2026 00:00:00 GMT</pubDate>
      <category>Release</category>
      
      <description>removeDependencyOnFailure, ignoreDependencyOnFailure, continueParentOnFailure, job.getFailedChildrenValues() and more.</description>
    </item>
    <item>
      <title>bunqueue v2.6.74</title>
      <link>https://bunqueue.dev/blog/bunqueue-v2-6-74/</link>
      <guid isPermaLink="true">https://bunqueue.dev/blog/bunqueue-v2-6-74/</guid>
      <pubDate>Mon, 23 Mar 2026 00:00:00 GMT</pubDate>
      <category>Release</category>
      
      <description>Cloud: dynamic ingest interval: Snapshot interval now adapts automatically to payload size: &lt; 50KB → 5s, 50–200KB → 10s, 200–500KB → 20s, &gt; 500KB → 30s.</description>
    </item>
    <item>
      <title>bunqueue v2.6.73</title>
      <link>https://bunqueue.dev/blog/bunqueue-v2-6-73/</link>
      <guid isPermaLink="true">https://bunqueue.dev/blog/bunqueue-v2-6-73/</guid>
      <pubDate>Mon, 23 Mar 2026 00:00:00 GMT</pubDate>
      <category>Release</category>
      <dc:creator>egeominotti</dc:creator>
      <description>Job timeline tracking, timeline SQLite persistence, cloud snapshot: timeline field, cloud snapshot: failed job duration enrichment.</description>
    </item>
    <item>
      <title>bunqueue v2.6.72</title>
      <link>https://bunqueue.dev/blog/bunqueue-v2-6-72/</link>
      <guid isPermaLink="true">https://bunqueue.dev/blog/bunqueue-v2-6-72/</guid>
      <pubDate>Mon, 23 Mar 2026 00:00:00 GMT</pubDate>
      <category>Release</category>
      <dc:creator>egeominotti</dc:creator>
      <description>Fixes 1 bug. Cloud snapshot: waiting-children state, cloud snapshot: prioritized state in job collection, cloud snapshot: worker computed fields, cloud snapshot: queueExtended and more.</description>
    </item>
    <item>
      <title>bunqueue v2.6.71</title>
      <link>https://bunqueue.dev/blog/bunqueue-v2-6-71/</link>
      <guid isPermaLink="true">https://bunqueue.dev/blog/bunqueue-v2-6-71/</guid>
      <pubDate>Mon, 23 Mar 2026 00:00:00 GMT</pubDate>
      <category>Release</category>
      <dc:creator>egeominotti</dc:creator>
      <description>Fixes 6 bugs. BullMQ v5 prioritized state, bullMQ v5 waiting-children state, failParentOnFailure, flow atomicity and more.</description>
    </item>
    <item>
      <title>bunqueue v2.6.67</title>
      <link>https://bunqueue.dev/blog/bunqueue-v2-6-67/</link>
      <guid isPermaLink="true">https://bunqueue.dev/blog/bunqueue-v2-6-67/</guid>
      <pubDate>Sun, 22 Mar 2026 00:00:00 GMT</pubDate>
      <category>Release</category>
      <dc:creator>egeominotti</dc:creator>
      <description>Disabled flaky SandboxedWorker tests: Commented out all 35 SandboxedWorker tests across 5 files.</description>
    </item>
    <item>
      <title>bunqueue v2.6.66</title>
      <link>https://bunqueue.dev/blog/bunqueue-v2-6-66/</link>
      <guid isPermaLink="true">https://bunqueue.dev/blog/bunqueue-v2-6-66/</guid>
      <pubDate>Sun, 22 Mar 2026 00:00:00 GMT</pubDate>
      <category>Release</category>
      
      <description>Fixes 1 bug. Deduplication not working for JobScheduler (Issue #60): upsertJobScheduler accepted deduplication options in the JobTemplate but silently discarded them.</description>
    </item>
    <item>
      <title>bunqueue v2.6.65</title>
      <link>https://bunqueue.dev/blog/bunqueue-v2-6-65/</link>
      <guid isPermaLink="true">https://bunqueue.dev/blog/bunqueue-v2-6-65/</guid>
      <pubDate>Sun, 22 Mar 2026 00:00:00 GMT</pubDate>
      <category>Release</category>
      <dc:creator>egeominotti</dc:creator>
      <description>MCP operation tracking for Cloud dashboard.</description>
    </item>
    <item>
      <title>bunqueue v2.6.64</title>
      <link>https://bunqueue.dev/blog/bunqueue-v2-6-64/</link>
      <guid isPermaLink="true">https://bunqueue.dev/blog/bunqueue-v2-6-64/</guid>
      <pubDate>Sat, 21 Mar 2026 00:00:00 GMT</pubDate>
      <category>Release</category>
      <dc:creator>egeominotti</dc:creator>
      <description>Fixes 1 bug. No-lock ack fails after stall re-queue (data loss): When a worker with useLocks=false processed a job that stall detection re-queued, the ack() call threw &quot;Job not found&quot; with no recovery path, leaving the job stuck in the…</description>
    </item>
    <item>
      <title>bunqueue v2.6.63</title>
      <link>https://bunqueue.dev/blog/bunqueue-v2-6-63/</link>
      <guid isPermaLink="true">https://bunqueue.dev/blog/bunqueue-v2-6-63/</guid>
      <pubDate>Sat, 21 Mar 2026 00:00:00 GMT</pubDate>
      <category>Release</category>
      
      <description>Ships 2 performance improvements. WorkerRateLimiter: O(n) → O(1) amortized: Replaced Array.filter() with head-pointer eviction for sliding window token expiration.</description>
    </item>
    <item>
      <title>bunqueue v2.6.62</title>
      <link>https://bunqueue.dev/blog/bunqueue-v2-6-62/</link>
      <guid isPermaLink="true">https://bunqueue.dev/blog/bunqueue-v2-6-62/</guid>
      <pubDate>Sat, 21 Mar 2026 00:00:00 GMT</pubDate>
      <category>Release</category>
      <dc:creator>egeominotti</dc:creator>
      <description>Fixes 1 bug. E2E webhook tests failing after SSRF validation: Added validateWebhookUrls option to QueueManagerConfig so tests using localhost can disable URL validation.</description>
    </item>
    <item>
      <title>bunqueue v2.6.60</title>
      <link>https://bunqueue.dev/blog/bunqueue-v2-6-60/</link>
      <guid isPermaLink="true">https://bunqueue.dev/blog/bunqueue-v2-6-60/</guid>
      <pubDate>Sat, 21 Mar 2026 00:00:00 GMT</pubDate>
      <category>Release</category>
      
      <description>Fixes 2 bugs. Webhook SSRF prevention in embedded mode: WebhookManager.add() now validates URLs against SSRF (localhost, private IPs, cloud metadata).</description>
    </item>
    <item>
      <title>bunqueue v2.6.49</title>
      <link>https://bunqueue.dev/blog/bunqueue-v2-6-49/</link>
      <guid isPermaLink="true">https://bunqueue.dev/blog/bunqueue-v2-6-49/</guid>
      <pubDate>Fri, 20 Mar 2026 00:00:00 GMT</pubDate>
      <category>Release</category>
      <dc:creator>egeominotti</dc:creator>
      <description>Cloud: 20 new remote commands, shared deriveState and mapJob helpers.</description>
    </item>
    <item>
      <title>bunqueue v2.6.48</title>
      <link>https://bunqueue.dev/blog/bunqueue-v2-6-48/</link>
      <guid isPermaLink="true">https://bunqueue.dev/blog/bunqueue-v2-6-48/</guid>
      <pubDate>Fri, 20 Mar 2026 00:00:00 GMT</pubDate>
      <category>Release</category>
      <dc:creator>egeominotti</dc:creator>
      <description>Fixes 2 bugs. Cloud: auth via HTTP upgrade headers: WebSocket authentication now uses Authorization, X-Instance-Id, and X-Remote-Commands headers on the upgrade request (Bun-specific).</description>
    </item>
    <item>
      <title>bunqueue v2.6.47</title>
      <link>https://bunqueue.dev/blog/bunqueue-v2-6-47/</link>
      <guid isPermaLink="true">https://bunqueue.dev/blog/bunqueue-v2-6-47/</guid>
      <pubDate>Fri, 20 Mar 2026 00:00:00 GMT</pubDate>
      <category>Release</category>
      <dc:creator>egeominotti</dc:creator>
      <description>Programmatic dataPath for embedded mode, BUNQUEUE_DATA_PATH / BQ_DATA_PATH env vars, cloud: snapshots via WebSocket.</description>
    </item>
    <item>
      <title>bunqueue v2.6.46</title>
      <link>https://bunqueue.dev/blog/bunqueue-v2-6-46/</link>
      <guid isPermaLink="true">https://bunqueue.dev/blog/bunqueue-v2-6-46/</guid>
      <pubDate>Fri, 20 Mar 2026 00:00:00 GMT</pubDate>
      <category>Release</category>
      <dc:creator>egeominotti</dc:creator>
      <description>Fixes 3 bugs. Cloud: resilient WebSocket with ring buffer, cloud: client-side ping heartbeat, cloud: dual-channel failover.</description>
    </item>
    <item>
      <title>bunqueue v2.6.45</title>
      <link>https://bunqueue.dev/blog/bunqueue-v2-6-45/</link>
      <guid isPermaLink="true">https://bunqueue.dev/blog/bunqueue-v2-6-45/</guid>
      <pubDate>Fri, 20 Mar 2026 00:00:00 GMT</pubDate>
      <category>Release</category>
      <dc:creator>egeominotti</dc:creator>
      <description>Fixes 1 bug. Cloud: prev and delay fields in WebSocket events.</description>
    </item>
    <item>
      <title>bunqueue v2.6.44</title>
      <link>https://bunqueue.dev/blog/bunqueue-v2-6-44/</link>
      <guid isPermaLink="true">https://bunqueue.dev/blog/bunqueue-v2-6-44/</guid>
      <pubDate>Fri, 20 Mar 2026 00:00:00 GMT</pubDate>
      <category>Release</category>
      <dc:creator>egeominotti</dc:creator>
      <description>Fixes 1 bug. Cloud: WebSocket ping/pong heartbeat: Pong responses are now sent regardless of BUNQUEUE_CLOUD_REMOTE_COMMANDS config.</description>
    </item>
    <item>
      <title>bunqueue v2.6.43</title>
      <link>https://bunqueue.dev/blog/bunqueue-v2-6-43/</link>
      <guid isPermaLink="true">https://bunqueue.dev/blog/bunqueue-v2-6-43/</guid>
      <pubDate>Thu, 19 Mar 2026 00:00:00 GMT</pubDate>
      <category>Release</category>
      <dc:creator>egeominotti</dc:creator>
      <description>Fixes 3 bugs. Cloud: job:list command, cloud: job:get command, cloud: queue:detail command.</description>
    </item>
    <item>
      <title>bunqueue v2.6.42</title>
      <link>https://bunqueue.dev/blog/bunqueue-v2-6-42/</link>
      <guid isPermaLink="true">https://bunqueue.dev/blog/bunqueue-v2-6-42/</guid>
      <pubDate>Thu, 19 Mar 2026 00:00:00 GMT</pubDate>
      <category>Release</category>
      <dc:creator>egeominotti</dc:creator>
      <description>Fixes 1 bug and ships 1 performance improvement. Cloud: two-tier snapshot collection: Light data (stats, throughput, latency, memory) collected every 5s at O(SHARD_COUNT).</description>
    </item>
    <item>
      <title>bunqueue v2.6.41</title>
      <link>https://bunqueue.dev/blog/bunqueue-v2-6-41/</link>
      <guid isPermaLink="true">https://bunqueue.dev/blog/bunqueue-v2-6-41/</guid>
      <pubDate>Thu, 19 Mar 2026 00:00:00 GMT</pubDate>
      <category>Release</category>
      <dc:creator>egeominotti</dc:creator>
      <description>bunqueue Cloud: enterprise-grade telemetry: Snapshot now includes per-queue totals (totalCompleted/totalFailed), connection stats (TCP/WS/SSE clients), webhook delivery stats, top errors grouped by message, cron execution counts, S3…</description>
    </item>
    <item>
      <title>bunqueue v2.6.40</title>
      <link>https://bunqueue.dev/blog/bunqueue-v2-6-40/</link>
      <guid isPermaLink="true">https://bunqueue.dev/blog/bunqueue-v2-6-40/</guid>
      <pubDate>Thu, 19 Mar 2026 00:00:00 GMT</pubDate>
      <category>Release</category>
      <dc:creator>egeominotti</dc:creator>
      <description>bunqueue Cloud.</description>
    </item>
    <item>
      <title>bunqueue v2.6.39</title>
      <link>https://bunqueue.dev/blog/bunqueue-v2-6-39/</link>
      <guid isPermaLink="true">https://bunqueue.dev/blog/bunqueue-v2-6-39/</guid>
      <pubDate>Wed, 18 Mar 2026 00:00:00 GMT</pubDate>
      <category>Release</category>
      <dc:creator>egeominotti</dc:creator>
      <description>Fixes 3 bugs. Issue #53 test.</description>
    </item>
    <item>
      <title>bunqueue v2.6.38</title>
      <link>https://bunqueue.dev/blog/bunqueue-v2-6-38/</link>
      <guid isPermaLink="true">https://bunqueue.dev/blog/bunqueue-v2-6-38/</guid>
      <pubDate>Wed, 18 Mar 2026 00:00:00 GMT</pubDate>
      <category>Release</category>
      
      <description>Worker registration + heartbeat system, registerWorkerCommand extended, heartbeatCommand extended, onOutcome callback in processor.</description>
    </item>
    <item>
      <title>bunqueue v2.6.37</title>
      <link>https://bunqueue.dev/blog/bunqueue-v2-6-37/</link>
      <guid isPermaLink="true">https://bunqueue.dev/blog/bunqueue-v2-6-37/</guid>
      <pubDate>Tue, 17 Mar 2026 00:00:00 GMT</pubDate>
      <category>Release</category>
      <dc:creator>egeominotti</dc:creator>
      <description>getJobCounts now returns delayed and paused counts, getJobs supports multiple statuses, GET /queues/summary endpoint.</description>
    </item>
    <item>
      <title>bunqueue v2.6.36</title>
      <link>https://bunqueue.dev/blog/bunqueue-v2-6-36/</link>
      <guid isPermaLink="true">https://bunqueue.dev/blog/bunqueue-v2-6-36/</guid>
      <pubDate>Tue, 17 Mar 2026 00:00:00 GMT</pubDate>
      <category>Release</category>
      <dc:creator>egeominotti</dc:creator>
      <description>Fixes 1 bug. /queues/:queue/jobs/list performance: Endpoint was taking 300-450ms even with limit=2 because it scanned the entire jobIndex (O(N) iterations + O(N) individual SQLite lookups) then sorted all results.</description>
    </item>
    <item>
      <title>bunqueue v2.6.35</title>
      <link>https://bunqueue.dev/blog/bunqueue-v2-6-35/</link>
      <guid isPermaLink="true">https://bunqueue.dev/blog/bunqueue-v2-6-35/</guid>
      <pubDate>Mon, 16 Mar 2026 00:00:00 GMT</pubDate>
      <category>Release</category>
      <dc:creator>egeominotti</dc:creator>
      <description>Removed flaky SandboxedWorker flow failure test</description>
    </item>
    <item>
      <title>bunqueue v2.6.34</title>
      <link>https://bunqueue.dev/blog/bunqueue-v2-6-34/</link>
      <guid isPermaLink="true">https://bunqueue.dev/blog/bunqueue-v2-6-34/</guid>
      <pubDate>Mon, 16 Mar 2026 00:00:00 GMT</pubDate>
      <category>Release</category>
      
      <description>Fixes 1 bug. QueueEvents failed events: failedReason now correctly reads from event.error instead of event.data, job data is included in failed broadcasts, and error emission includes event context.</description>
    </item>
    <item>
      <title>bunqueue v2.6.33</title>
      <link>https://bunqueue.dev/blog/bunqueue-v2-6-33/</link>
      <guid isPermaLink="true">https://bunqueue.dev/blog/bunqueue-v2-6-33/</guid>
      <pubDate>Mon, 16 Mar 2026 00:00:00 GMT</pubDate>
      <category>Release</category>
      
      <description>Fixes 1 bug. Worker log event: worker.on('log', (job, message) =&gt; ...) now works with full TypeScript autocomplete.</description>
    </item>
    <item>
      <title>bunqueue v2.6.32</title>
      <link>https://bunqueue.dev/blog/bunqueue-v2-6-32/</link>
      <guid isPermaLink="true">https://bunqueue.dev/blog/bunqueue-v2-6-32/</guid>
      <pubDate>Mon, 16 Mar 2026 00:00:00 GMT</pubDate>
      <category>Release</category>
      
      <description>13 new WebSocket/SSE events, monitoring checks, cron overlap detection, flow lifecycle events.</description>
    </item>
    <item>
      <title>bunqueue v2.6.31</title>
      <link>https://bunqueue.dev/blog/bunqueue-v2-6-31/</link>
      <guid isPermaLink="true">https://bunqueue.dev/blog/bunqueue-v2-6-31/</guid>
      <pubDate>Mon, 16 Mar 2026 00:00:00 GMT</pubDate>
      <category>Release</category>
      
      <description>SandboxedWorker autoStart option.</description>
    </item>
    <item>
      <title>bunqueue v2.6.30</title>
      <link>https://bunqueue.dev/blog/bunqueue-v2-6-30/</link>
      <guid isPermaLink="true">https://bunqueue.dev/blog/bunqueue-v2-6-30/</guid>
      <pubDate>Mon, 16 Mar 2026 00:00:00 GMT</pubDate>
      <category>Release</category>
      
      <description>Full WebSocket/SSE event coverage, new event categories, backup events, connection tracking and more.</description>
    </item>
    <item>
      <title>bunqueue v2.6.29</title>
      <link>https://bunqueue.dev/blog/bunqueue-v2-6-29/</link>
      <guid isPermaLink="true">https://bunqueue.dev/blog/bunqueue-v2-6-29/</guid>
      <pubDate>Mon, 16 Mar 2026 00:00:00 GMT</pubDate>
      <category>Release</category>
      
      <description>TCP integration tests.</description>
    </item>
    <item>
      <title>bunqueue v2.6.28</title>
      <link>https://bunqueue.dev/blog/bunqueue-v2-6-28/</link>
      <guid isPermaLink="true">https://bunqueue.dev/blog/bunqueue-v2-6-28/</guid>
      <pubDate>Sun, 15 Mar 2026 00:00:00 GMT</pubDate>
      <category>Release</category>
      
      <description>Fixes 1 bug. getChildrenValues empty in TCP mode: Fixed response envelope unwrap in worker processor (response.data.values instead of response.values).</description>
    </item>
    <item>
      <title>bunqueue v2.6.27</title>
      <link>https://bunqueue.dev/blog/bunqueue-v2-6-27/</link>
      <guid isPermaLink="true">https://bunqueue.dev/blog/bunqueue-v2-6-27/</guid>
      <pubDate>Sun, 15 Mar 2026 00:00:00 GMT</pubDate>
      <category>Release</category>
      
      <description>Fixes 2 bugs. WebSocket/SSE integration tests.</description>
    </item>
    <item>
      <title>bunqueue v2.6.26</title>
      <link>https://bunqueue.dev/blog/bunqueue-v2-6-26/</link>
      <guid isPermaLink="true">https://bunqueue.dev/blog/bunqueue-v2-6-26/</guid>
      <pubDate>Sun, 15 Mar 2026 00:00:00 GMT</pubDate>
      <category>Release</category>
      <dc:creator>egeominotti</dc:creator>
      <description>Enterprise-grade SSE, enterprise-grade WebSocket.</description>
    </item>
    <item>
      <title>bunqueue v2.6.25</title>
      <link>https://bunqueue.dev/blog/bunqueue-v2-6-25/</link>
      <guid isPermaLink="true">https://bunqueue.dev/blog/bunqueue-v2-6-25/</guid>
      <pubDate>Sat, 14 Mar 2026 00:00:00 GMT</pubDate>
      <category>Release</category>
      
      <description>Fixes 1 bug. GET /queues/:q/workers crash: Fixed crash when some workers were registered without a queues field (undefined/null).</description>
    </item>
    <item>
      <title>bunqueue v2.6.24</title>
      <link>https://bunqueue.dev/blog/bunqueue-v2-6-24/</link>
      <guid isPermaLink="true">https://bunqueue.dev/blog/bunqueue-v2-6-24/</guid>
      <pubDate>Sat, 14 Mar 2026 00:00:00 GMT</pubDate>
      <category>Release</category>
      <dc:creator>egeominotti</dc:creator>
      <description>Fixes 3 bugs. Per-queue totalCompleted/totalFailed counters, GET /queues/:q/workers endpoint, GET /queues/:q/dlq/stats endpoint, worker concurrency, status, currentJob fields and more.</description>
    </item>
    <item>
      <title>bunqueue v2.6.23</title>
      <link>https://bunqueue.dev/blog/bunqueue-v2-6-23/</link>
      <guid isPermaLink="true">https://bunqueue.dev/blog/bunqueue-v2-6-23/</guid>
      <pubDate>Sat, 14 Mar 2026 00:00:00 GMT</pubDate>
      <category>Release</category>
      <dc:creator>egeominotti</dc:creator>
      <description>Dashboard beta demo.</description>
    </item>
    <item>
      <title>bunqueue v2.6.22</title>
      <link>https://bunqueue.dev/blog/bunqueue-v2-6-22/</link>
      <guid isPermaLink="true">https://bunqueue.dev/blog/bunqueue-v2-6-22/</guid>
      <pubDate>Sat, 14 Mar 2026 00:00:00 GMT</pubDate>
      <category>Release</category>
      <dc:creator>egeominotti</dc:creator>
      <description>Fixes 2 bugs. Comprehensive WebSocket pub/sub integration test.</description>
    </item>
    <item>
      <title>bunqueue v2.6.21</title>
      <link>https://bunqueue.dev/blog/bunqueue-v2-6-21/</link>
      <guid isPermaLink="true">https://bunqueue.dev/blog/bunqueue-v2-6-21/</guid>
      <pubDate>Sat, 14 Mar 2026 00:00:00 GMT</pubDate>
      <category>Release</category>
      <dc:creator>egeominotti</dc:creator>
      <description>Fixes 1 bug and ships 2 performance improvements. Batch push notifyBatch(): Batch push now wakes all waiting workers correctly via notifyBatch(N) instead of a single notify() call.</description>
    </item>
    <item>
      <title>bunqueue v2.6.20</title>
      <link>https://bunqueue.dev/blog/bunqueue-v2-6-20/</link>
      <guid isPermaLink="true">https://bunqueue.dev/blog/bunqueue-v2-6-20/</guid>
      <pubDate>Sat, 14 Mar 2026 00:00:00 GMT</pubDate>
      <category>Release</category>
      
      <description>Fixes 3 bugs. Centralized HTTP JSON body parsing: Replaced per-file parseBody() with shared parseJsonBody() that returns proper 400 responses for invalid JSON instead of silently falling back to {}.</description>
    </item>
    <item>
      <title>bunqueue v2.6.19</title>
      <link>https://bunqueue.dev/blog/bunqueue-v2-6-19/</link>
      <guid isPermaLink="true">https://bunqueue.dev/blog/bunqueue-v2-6-19/</guid>
      <pubDate>Sat, 14 Mar 2026 00:00:00 GMT</pubDate>
      <category>Release</category>
      <dc:creator>egeominotti</dc:creator>
      <description>WebSocket idle timeout (ping/pong), webSocket max payload limit.</description>
    </item>
    <item>
      <title>bunqueue v2.6.18</title>
      <link>https://bunqueue.dev/blog/bunqueue-v2-6-18/</link>
      <guid isPermaLink="true">https://bunqueue.dev/blog/bunqueue-v2-6-18/</guid>
      <pubDate>Sat, 14 Mar 2026 00:00:00 GMT</pubDate>
      <category>Release</category>
      
      <description>WebSocket pub/sub system with 50 event types, periodic dashboard broadcasts, queue:counts event, dashboard event hooks.</description>
    </item>
    <item>
      <title>bunqueue v2.6.17</title>
      <link>https://bunqueue.dev/blog/bunqueue-v2-6-17/</link>
      <guid isPermaLink="true">https://bunqueue.dev/blog/bunqueue-v2-6-17/</guid>
      <pubDate>Sat, 14 Mar 2026 00:00:00 GMT</pubDate>
      <category>Release</category>
      <dc:creator>egeominotti</dc:creator>
      <description>Fixes 1 bug. Memory leak in HTTP client tracking: Every HTTP PULL+ACK cycle created an orphaned entry in the clientJobs Map that was never cleaned up.</description>
    </item>
    <item>
      <title>bunqueue v2.6.16</title>
      <link>https://bunqueue.dev/blog/bunqueue-v2-6-16/</link>
      <guid isPermaLink="true">https://bunqueue.dev/blog/bunqueue-v2-6-16/</guid>
      <pubDate>Sat, 14 Mar 2026 00:00:00 GMT</pubDate>
      <category>Release</category>
      
      <description>Fixes 3 bugs. PUSH maxAttempts silently ignored via HTTP: The HTTP endpoint mapped attempts instead of maxAttempts, causing retry configuration to be discarded.</description>
    </item>
    <item>
      <title>bunqueue v2.6.15</title>
      <link>https://bunqueue.dev/blog/bunqueue-v2-6-15/</link>
      <guid isPermaLink="true">https://bunqueue.dev/blog/bunqueue-v2-6-15/</guid>
      <pubDate>Sat, 14 Mar 2026 00:00:00 GMT</pubDate>
      <category>Release</category>
      <dc:creator>egeominotti</dc:creator>
      <description>Full HTTP REST API parity with TCP protocol, HTTP route architecture, HTTP API documentation rewritten.</description>
    </item>
    <item>
      <title>bunqueue v2.6.14</title>
      <link>https://bunqueue.dev/blog/bunqueue-v2-6-14/</link>
      <guid isPermaLink="true">https://bunqueue.dev/blog/bunqueue-v2-6-14/</guid>
      <pubDate>Sat, 14 Mar 2026 00:00:00 GMT</pubDate>
      <category>Release</category>
      <dc:creator>egeominotti</dc:creator>
      <description>Fixes 12 bugs. CLI double execution: Every CLI command ran twice due to main() being called both on module load and on import.</description>
    </item>
    <item>
      <title>bunqueue v2.6.9</title>
      <link>https://bunqueue.dev/blog/bunqueue-v2-6-9/</link>
      <guid isPermaLink="true">https://bunqueue.dev/blog/bunqueue-v2-6-9/</guid>
      <pubDate>Tue, 10 Mar 2026 00:00:00 GMT</pubDate>
      <category>Release</category>
      <dc:creator>egeominotti</dc:creator>
      <description>Fixes 1 bug. SandboxedWorker graceful stop: stop() now drains active jobs before terminating worker threads, preventing data loss when stopping during job processing.</description>
    </item>
    <item>
      <title>bunqueue v2.6.7</title>
      <link>https://bunqueue.dev/blog/bunqueue-v2-6-7/</link>
      <guid isPermaLink="true">https://bunqueue.dev/blog/bunqueue-v2-6-7/</guid>
      <pubDate>Sun, 08 Mar 2026 00:00:00 GMT</pubDate>
      <category>Release</category>
      <dc:creator>egeominotti</dc:creator>
      <description>Fixes 2 bugs and ships 1 performance improvement. 53 new test suites.</description>
    </item>
    <item>
      <title>bunqueue v2.6.6</title>
      <link>https://bunqueue.dev/blog/bunqueue-v2-6-6/</link>
      <guid isPermaLink="true">https://bunqueue.dev/blog/bunqueue-v2-6-6/</guid>
      <pubDate>Sat, 07 Mar 2026 00:00:00 GMT</pubDate>
      <category>Release</category>
      <dc:creator>egeominotti</dc:creator>
      <description>Fixes 2 bugs. Parent-child flow race condition: Resolved race where concurrent ack/fail operations on parent-child flows could cause inconsistent state.</description>
    </item>
    <item>
      <title>bunqueue v2.6.5</title>
      <link>https://bunqueue.dev/blog/bunqueue-v2-6-5/</link>
      <guid isPermaLink="true">https://bunqueue.dev/blog/bunqueue-v2-6-5/</guid>
      <pubDate>Fri, 06 Mar 2026 00:00:00 GMT</pubDate>
      <category>Release</category>
      <dc:creator>egeominotti</dc:creator>
      <description>Fixes 2 bugs. Typed event overloads for 'log' event on SandboxedWorker (on/once).</description>
    </item>
    <item>
      <title>bunqueue v2.6.4</title>
      <link>https://bunqueue.dev/blog/bunqueue-v2-6-4/</link>
      <guid isPermaLink="true">https://bunqueue.dev/blog/bunqueue-v2-6-4/</guid>
      <pubDate>Thu, 05 Mar 2026 00:00:00 GMT</pubDate>
      <category>Release</category>
      <dc:creator>egeominotti</dc:creator>
      <description>Fixes 1 bug. SandboxedWorker generics, processor API improvements.</description>
    </item>
    <item>
      <title>bunqueue v2.6.2</title>
      <link>https://bunqueue.dev/blog/bunqueue-v2-6-2/</link>
      <guid isPermaLink="true">https://bunqueue.dev/blog/bunqueue-v2-6-2/</guid>
      <pubDate>Tue, 03 Mar 2026 00:00:00 GMT</pubDate>
      <category>Release</category>
      <dc:creator>egeominotti</dc:creator>
      <description>Fixes 1 bug and ships 1 addition. job.name always 'default' for scheduled jobs: When jobs were created via Queue#upsertJobScheduler, the name from jobTemplate was not embedded in the cron job data.</description>
    </item>
    <item>
      <title>bunqueue v2.6.1</title>
      <link>https://bunqueue.dev/blog/bunqueue-v2-6-1/</link>
      <guid isPermaLink="true">https://bunqueue.dev/blog/bunqueue-v2-6-1/</guid>
      <pubDate>Tue, 03 Mar 2026 00:00:00 GMT</pubDate>
      <category>Release</category>
      <dc:creator>egeominotti</dc:creator>
      <description>Fixes 1 bug and ships 1 addition. Queue#upsertJobScheduler ignoring timezone: The RepeatOpts interface was missing the timezone field, causing a TypeScript error when setting it.</description>
    </item>
    <item>
      <title>bunqueue v2.6.0</title>
      <link>https://bunqueue.dev/blog/bunqueue-v2-6-0/</link>
      <guid isPermaLink="true">https://bunqueue.dev/blog/bunqueue-v2-6-0/</guid>
      <pubDate>Tue, 03 Mar 2026 00:00:00 GMT</pubDate>
      <category>Release</category>
      <dc:creator>egeominotti</dc:creator>
      <description>Fixes 5 bugs. 8 new TCP command handlers, updateJobData / updateJobChildrenIds.</description>
    </item>
    <item>
      <title>bunqueue v2.5.8</title>
      <link>https://bunqueue.dev/blog/bunqueue-v2-5-8/</link>
      <guid isPermaLink="true">https://bunqueue.dev/blog/bunqueue-v2-5-8/</guid>
      <pubDate>Mon, 02 Mar 2026 00:00:00 GMT</pubDate>
      <category>Release</category>
      <dc:creator>egeominotti</dc:creator>
      <description>Fixes 2 bugs. FlowJobData type, CLI env var auth.</description>
    </item>
    <item>
      <title>bunqueue v2.5.7</title>
      <link>https://bunqueue.dev/blog/bunqueue-v2-5-7/</link>
      <guid isPermaLink="true">https://bunqueue.dev/blog/bunqueue-v2-5-7/</guid>
      <pubDate>Sun, 01 Mar 2026 00:00:00 GMT</pubDate>
      <category>Release</category>
      <dc:creator>egeominotti</dc:creator>
      <description>SandboxedWorker TCP mode, sandboxedWorker EventEmitter, queueOps adapter, TCP heartbeat for SandboxedWorker.</description>
    </item>
    <item>
      <title>bunqueue v2.5.6</title>
      <link>https://bunqueue.dev/blog/bunqueue-v2-5-6/</link>
      <guid isPermaLink="true">https://bunqueue.dev/blog/bunqueue-v2-5-6/</guid>
      <pubDate>Fri, 27 Feb 2026 00:00:00 GMT</pubDate>
      <category>Release</category>
      <dc:creator>egeominotti</dc:creator>
      <description>Fixes 3 bugs. 3 new TCP commands.</description>
    </item>
    <item>
      <title>bunqueue v2.5.5</title>
      <link>https://bunqueue.dev/blog/bunqueue-v2-5-5/</link>
      <guid isPermaLink="true">https://bunqueue.dev/blog/bunqueue-v2-5-5/</guid>
      <pubDate>Thu, 26 Feb 2026 00:00:00 GMT</pubDate>
      <category>Release</category>
      <dc:creator>egeominotti</dc:creator>
      <description>Fixes 1 bug. TCP client auth state corruption: TcpClient.doConnect() set connected = true before authenticate() completed.</description>
    </item>
    <item>
      <title>bunqueue v2.5.4</title>
      <link>https://bunqueue.dev/blog/bunqueue-v2-5-4/</link>
      <guid isPermaLink="true">https://bunqueue.dev/blog/bunqueue-v2-5-4/</guid>
      <pubDate>Tue, 24 Feb 2026 00:00:00 GMT</pubDate>
      <category>Release</category>
      <dc:creator>egeominotti</dc:creator>
      <description>4 MCP Flow Tools.</description>
    </item>
    <item>
      <title>bunqueue v2.5.3</title>
      <link>https://bunqueue.dev/blog/bunqueue-v2-5-3/</link>
      <guid isPermaLink="true">https://bunqueue.dev/blog/bunqueue-v2-5-3/</guid>
      <pubDate>Tue, 24 Feb 2026 00:00:00 GMT</pubDate>
      <category>Release</category>
      <dc:creator>egeominotti</dc:creator>
      <description>Fixes 5 bugs. 3 MCP Prompts.</description>
    </item>
    <item>
      <title>bunqueue v2.5.2</title>
      <link>https://bunqueue.dev/blog/bunqueue-v2-5-2/</link>
      <guid isPermaLink="true">https://bunqueue.dev/blog/bunqueue-v2-5-2/</guid>
      <pubDate>Tue, 24 Feb 2026 00:00:00 GMT</pubDate>
      <category>Release</category>
      <dc:creator>egeominotti</dc:creator>
      <description>Fixes 4 bugs. Tests for PUSHB deduplication (same-batch and cross-batch), test for ping response structure validation, E2E TCP deduplication test script (scripts/tcp/test-dedup-tcp.ts).</description>
    </item>
    <item>
      <title>bunqueue v2.5.1</title>
      <link>https://bunqueue.dev/blog/bunqueue-v2-5-1/</link>
      <guid isPermaLink="true">https://bunqueue.dev/blog/bunqueue-v2-5-1/</guid>
      <pubDate>Mon, 23 Feb 2026 00:00:00 GMT</pubDate>
      <category>Release</category>
      <dc:creator>egeominotti</dc:creator>
      <description>Fixes 3 bugs and ships 2 additions. MCP error handling: All 66 tool handlers now wrapped with withErrorHandler that catches backend exceptions and returns structured { error: &quot;message&quot; } responses with isError: true instead of raw stack…</description>
    </item>
    <item>
      <title>bunqueue v2.5.0</title>
      <link>https://bunqueue.dev/blog/bunqueue-v2-5-0/</link>
      <guid isPermaLink="true">https://bunqueue.dev/blog/bunqueue-v2-5-0/</guid>
      <pubDate>Sat, 21 Feb 2026 00:00:00 GMT</pubDate>
      <category>Release</category>
      <dc:creator>egeominotti</dc:creator>
      <description>AI agent documentation and use cases.</description>
    </item>
    <item>
      <title>bunqueue v2.4.8</title>
      <link>https://bunqueue.dev/blog/bunqueue-v2-4-8/</link>
      <guid isPermaLink="true">https://bunqueue.dev/blog/bunqueue-v2-4-8/</guid>
      <pubDate>Mon, 16 Feb 2026 00:00:00 GMT</pubDate>
      <category>Release</category>
      <dc:creator>egeominotti</dc:creator>
      <description>Fixes 1 bug. getJobs({ state: 'completed' }) now correctly returns completed jobs instead of empty results</description>
    </item>
    <item>
      <title>bunqueue v2.4.7</title>
      <link>https://bunqueue.dev/blog/bunqueue-v2-4-7/</link>
      <guid isPermaLink="true">https://bunqueue.dev/blog/bunqueue-v2-4-7/</guid>
      <pubDate>Sat, 14 Feb 2026 00:00:00 GMT</pubDate>
      <category>Release</category>
      <dc:creator>egeominotti</dc:creator>
      <description>Ships 2 performance improvements and 1 addition. Event-driven cron scheduler - Replaced 1s setInterval polling with precise setTimeout that wakes exactly when the next cron is due.</description>
    </item>
    <item>
      <title>bunqueue v2.4.6</title>
      <link>https://bunqueue.dev/blog/bunqueue-v2-4-6/</link>
      <guid isPermaLink="true">https://bunqueue.dev/blog/bunqueue-v2-4-6/</guid>
      <pubDate>Sat, 14 Feb 2026 00:00:00 GMT</pubDate>
      <category>Release</category>
      <dc:creator>egeominotti</dc:creator>
      <description>Ships 3 performance improvements and 2 additions. Event-driven dependency resolution - Replaced 100ms setInterval polling with microtask-coalesced flush triggered on job completion.</description>
    </item>
    <item>
      <title>bunqueue v2.4.5</title>
      <link>https://bunqueue.dev/blog/bunqueue-v2-4-5/</link>
      <guid isPermaLink="true">https://bunqueue.dev/blog/bunqueue-v2-4-5/</guid>
      <pubDate>Sat, 14 Feb 2026 00:00:00 GMT</pubDate>
      <category>Release</category>
      <dc:creator>egeominotti</dc:creator>
      <description>Fixes 3 bugs. Backoff jitter - calculateBackoff() now applies jitter to prevent thundering herd when many jobs retry simultaneously.</description>
    </item>
    <item>
      <title>bunqueue v2.4.3</title>
      <link>https://bunqueue.dev/blog/bunqueue-v2-4-3/</link>
      <guid isPermaLink="true">https://bunqueue.dev/blog/bunqueue-v2-4-3/</guid>
      <pubDate>Sat, 14 Feb 2026 00:00:00 GMT</pubDate>
      <category>Release</category>
      <dc:creator>egeominotti</dc:creator>
      <description>Fixes 2 bugs. Batch push now wakes all waiting workers - pushJobBatch previously called notify() only once, causing only 1 of N waiting workers to wake up immediately.</description>
    </item>
    <item>
      <title>bunqueue v2.4.2</title>
      <link>https://bunqueue.dev/blog/bunqueue-v2-4-2/</link>
      <guid isPermaLink="true">https://bunqueue.dev/blog/bunqueue-v2-4-2/</guid>
      <pubDate>Fri, 13 Feb 2026 00:00:00 GMT</pubDate>
      <category>Release</category>
      <dc:creator>egeominotti</dc:creator>
      <description>CPU-Intensive Workers guide, CPU stress test script.</description>
    </item>
    <item>
      <title>bunqueue v2.4.1</title>
      <link>https://bunqueue.dev/blog/bunqueue-v2-4-1/</link>
      <guid isPermaLink="true">https://bunqueue.dev/blog/bunqueue-v2-4-1/</guid>
      <pubDate>Thu, 12 Feb 2026 00:00:00 GMT</pubDate>
      <category>Release</category>
      <dc:creator>egeominotti</dc:creator>
      <description>Codebase refactoring - Split 6 large files exceeding 300-line limit into smaller focused modules - src/shared/lru.ts (643 lines) → barrel re-export + 5 modules: lruMap.ts, lruSet.ts, boundedSet.ts, boundedMap.ts, ttlMap.ts -…</description>
    </item>
    <item>
      <title>bunqueue v2.4.0</title>
      <link>https://bunqueue.dev/blog/bunqueue-v2-4-0/</link>
      <guid isPermaLink="true">https://bunqueue.dev/blog/bunqueue-v2-4-0/</guid>
      <pubDate>Wed, 11 Feb 2026 00:00:00 GMT</pubDate>
      <category>Release</category>
      <dc:creator>egeominotti</dc:creator>
      <description>Auto-batching for queue.add() over TCP, 306 new tests.</description>
    </item>
    <item>
      <title>bunqueue v2.3.1</title>
      <link>https://bunqueue.dev/blog/bunqueue-v2-3-1/</link>
      <guid isPermaLink="true">https://bunqueue.dev/blog/bunqueue-v2-3-1/</guid>
      <pubDate>Sun, 08 Feb 2026 00:00:00 GMT</pubDate>
      <category>Release</category>
      <dc:creator>egeominotti</dc:creator>
      <description>Fixes 2 bugs. Non-numeric job IDs - Allow non-numeric job IDs in HTTP routes</description>
    </item>
    <item>
      <title>bunqueue v2.3.0</title>
      <link>https://bunqueue.dev/blog/bunqueue-v2-3-0/</link>
      <guid isPermaLink="true">https://bunqueue.dev/blog/bunqueue-v2-3-0/</guid>
      <pubDate>Fri, 06 Feb 2026 00:00:00 GMT</pubDate>
      <category>Release</category>
      <dc:creator>egeominotti</dc:creator>
      <description>Ships 2 performance improvements. Latency Histograms, per-Queue Metric Labels, throughput Tracker, LOG_LEVEL Runtime Filtering and more.</description>
    </item>
    <item>
      <title>bunqueue v2.1.8</title>
      <link>https://bunqueue.dev/blog/bunqueue-v2-1-8/</link>
      <guid isPermaLink="true">https://bunqueue.dev/blog/bunqueue-v2-1-8/</guid>
      <pubDate>Fri, 06 Feb 2026 00:00:00 GMT</pubDate>
      <category>Release</category>
      <dc:creator>egeominotti</dc:creator>
      <description>Fixes 1 bug. 4 regression tests for batch push event emission fix.</description>
    </item>
    <item>
      <title>bunqueue v2.1.7</title>
      <link>https://bunqueue.dev/blog/bunqueue-v2-1-7/</link>
      <guid isPermaLink="true">https://bunqueue.dev/blog/bunqueue-v2-1-7/</guid>
      <pubDate>Thu, 05 Feb 2026 00:00:00 GMT</pubDate>
      <category>Release</category>
      
      <description>Fixes 2 bugs. 2,664 new tests across 37 files.</description>
    </item>
    <item>
      <title>bunqueue v2.1.6</title>
      <link>https://bunqueue.dev/blog/bunqueue-v2-1-6/</link>
      <guid isPermaLink="true">https://bunqueue.dev/blog/bunqueue-v2-1-6/</guid>
      <pubDate>Thu, 05 Feb 2026 00:00:00 GMT</pubDate>
      <category>Release</category>
      <dc:creator>egeominotti</dc:creator>
      <description>Fixes 2 bugs and ships 2 additions. S3 backup hardening - 10 bug fixes with 33 new tests: - Replace silent catch in cleanup with proper logging - Reject retention &lt; 1 and intervalMs &lt; 60s in config validation - Validate SQLite magic bytes…</description>
    </item>
    <item>
      <title>bunqueue v2.1.5</title>
      <link>https://bunqueue.dev/blog/bunqueue-v2-1-5/</link>
      <guid isPermaLink="true">https://bunqueue.dev/blog/bunqueue-v2-1-5/</guid>
      <pubDate>Thu, 05 Feb 2026 00:00:00 GMT</pubDate>
      <category>Release</category>
      
      <description>Fixes 3 bugs. uncaughtException and unhandledRejection handlers - Previously, any uncaught error in background tasks or unhandled promise rejections would crash the server immediately without cleanup (write buffer not flushed, SQLite not…</description>
    </item>
    <item>
      <title>bunqueue v2.1.4</title>
      <link>https://bunqueue.dev/blog/bunqueue-v2-1-4/</link>
      <guid isPermaLink="true">https://bunqueue.dev/blog/bunqueue-v2-1-4/</guid>
      <pubDate>Thu, 05 Feb 2026 00:00:00 GMT</pubDate>
      <category>Release</category>
      <dc:creator>egeominotti</dc:creator>
      <description>README split into Embedded and Server mode sections</description>
    </item>
    <item>
      <title>bunqueue v2.1.3</title>
      <link>https://bunqueue.dev/blog/bunqueue-v2-1-3/</link>
      <guid isPermaLink="true">https://bunqueue.dev/blog/bunqueue-v2-1-3/</guid>
      <pubDate>Thu, 05 Feb 2026 00:00:00 GMT</pubDate>
      <category>Release</category>
      <dc:creator>egeominotti</dc:creator>
      <description>Type safety improvements.</description>
    </item>
    <item>
      <title>bunqueue v2.1.2</title>
      <link>https://bunqueue.dev/blog/bunqueue-v2-1-2/</link>
      <guid isPermaLink="true">https://bunqueue.dev/blog/bunqueue-v2-1-2/</guid>
      <pubDate>Wed, 04 Feb 2026 00:00:00 GMT</pubDate>
      <category>Release</category>
      <dc:creator>egeominotti</dc:creator>
      <description>Fixes 1 bug. Queue name consistency tests to prevent regression, monitoring documentation added to sidebar Production section.</description>
    </item>
    <item>
      <title>bunqueue v2.1.1</title>
      <link>https://bunqueue.dev/blog/bunqueue-v2-1-1/</link>
      <guid isPermaLink="true">https://bunqueue.dev/blog/bunqueue-v2-1-1/</guid>
      <pubDate>Wed, 04 Feb 2026 00:00:00 GMT</pubDate>
      <category>Release</category>
      <dc:creator>egeominotti</dc:creator>
      <description>Prometheus + Grafana Monitoring Stack, monitoring Documentation.</description>
    </item>
    <item>
      <title>bunqueue v2.1.0</title>
      <link>https://bunqueue.dev/blog/bunqueue-v2-1-0/</link>
      <guid isPermaLink="true">https://bunqueue.dev/blog/bunqueue-v2-1-0/</guid>
      <pubDate>Wed, 04 Feb 2026 00:00:00 GMT</pubDate>
      <category>Release</category>
      <dc:creator>egeominotti</dc:creator>
      <description>Fixes 4 bugs and ships 3 performance improvements. Hello command, protocol version 2, semaphore utility, fair benchmark comparison and more.</description>
    </item>
    <item>
      <title>bunqueue v2.0.9</title>
      <link>https://bunqueue.dev/blog/bunqueue-v2-0-9/</link>
      <guid isPermaLink="true">https://bunqueue.dev/blog/bunqueue-v2-0-9/</guid>
      <pubDate>Tue, 03 Feb 2026 00:00:00 GMT</pubDate>
      <category>Release</category>
      <dc:creator>egeominotti</dc:creator>
      <description>Fixes 4 bugs and ships 1 addition. Critical: Memory leak in EventsManager - Cancelled waiters in waitForJobCompletion() were never removed from the completionWaiters map on timeout.</description>
    </item>
    <item>
      <title>bunqueue v2.0.3</title>
      <link>https://bunqueue.dev/blog/bunqueue-v2-0-3/</link>
      <guid isPermaLink="true">https://bunqueue.dev/blog/bunqueue-v2-0-3/</guid>
      <pubDate>Mon, 02 Feb 2026 00:00:00 GMT</pubDate>
      <category>Release</category>
      <dc:creator>egeominotti</dc:creator>
      <description>Fixes 6 bugs. Major refactor: Split queue.ts into modular architecture (1955 → 485 lines) - Follows single responsibility principle with 14 focused modules - New modules: operations/add.ts, operations/counts.ts, operations/query.ts…</description>
    </item>
    <item>
      <title>bunqueue v2.0.2</title>
      <link>https://bunqueue.dev/blog/bunqueue-v2-0-2/</link>
      <guid isPermaLink="true">https://bunqueue.dev/blog/bunqueue-v2-0-2/</guid>
      <pubDate>Mon, 02 Feb 2026 00:00:00 GMT</pubDate>
      <category>Release</category>
      <dc:creator>egeominotti</dc:creator>
      <description>Fixes 1 bug. loadCompletedJobIds() method in SQLite storage for dependency recovery, hasResult() method to check if job result exists in SQLite.</description>
    </item>
    <item>
      <title>bunqueue v2.0.1</title>
      <link>https://bunqueue.dev/blog/bunqueue-v2-0-1/</link>
      <guid isPermaLink="true">https://bunqueue.dev/blog/bunqueue-v2-0-1/</guid>
      <pubDate>Mon, 02 Feb 2026 00:00:00 GMT</pubDate>
      <category>Release</category>
      <dc:creator>egeominotti</dc:creator>
      <description>Fixes 1 bug. Critical: jobId deduplication not working after restart - The customIdMap was not populated when recovering jobs from SQLite on server startup.</description>
    </item>
    <item>
      <title>bunqueue v2.0.0</title>
      <link>https://bunqueue.dev/blog/bunqueue-v2-0-0/</link>
      <guid isPermaLink="true">https://bunqueue.dev/blog/bunqueue-v2-0-0/</guid>
      <pubDate>Mon, 02 Feb 2026 00:00:00 GMT</pubDate>
      <category>Release</category>
      <dc:creator>egeominotti</dc:creator>
      <description>Complete BullMQ v5 API Compatibility, comprehensive Test Coverage.</description>
    </item>
    <item>
      <title>bunqueue v1.9.9</title>
      <link>https://bunqueue.dev/blog/bunqueue-v1-9-9/</link>
      <guid isPermaLink="true">https://bunqueue.dev/blog/bunqueue-v1-9-9/</guid>
      <pubDate>Sun, 01 Feb 2026 00:00:00 GMT</pubDate>
      <category>Release</category>
      
      <description>Fixes 4 bugs. Comprehensive Functional Test Suite.</description>
    </item>
    <item>
      <title>bunqueue v1.9.8</title>
      <link>https://bunqueue.dev/blog/bunqueue-v1-9-8/</link>
      <guid isPermaLink="true">https://bunqueue.dev/blog/bunqueue-v1-9-8/</guid>
      <pubDate>Sat, 31 Jan 2026 00:00:00 GMT</pubDate>
      <category>Release</category>
      
      <description>msgpackr Binary Protocol - Switched TCP protocol from JSON to msgpackr binary - ~30% faster serialization/deserialization - Smaller message sizes</description>
    </item>
    <item>
      <title>bunqueue v1.9.6</title>
      <link>https://bunqueue.dev/blog/bunqueue-v1-9-6/</link>
      <guid isPermaLink="true">https://bunqueue.dev/blog/bunqueue-v1-9-6/</guid>
      <pubDate>Sat, 31 Jan 2026 00:00:00 GMT</pubDate>
      <category>Release</category>
      
      <description>Durable Writes.</description>
    </item>
    <item>
      <title>bunqueue v1.9.4</title>
      <link>https://bunqueue.dev/blog/bunqueue-v1-9-4/</link>
      <guid isPermaLink="true">https://bunqueue.dev/blog/bunqueue-v1-9-4/</guid>
      <pubDate>Sat, 31 Jan 2026 00:00:00 GMT</pubDate>
      <category>Release</category>
      
      <description>5 BullMQ-Compatible Features.</description>
    </item>
    <item>
      <title>bunqueue v1.9.3</title>
      <link>https://bunqueue.dev/blog/bunqueue-v1-9-3/</link>
      <guid isPermaLink="true">https://bunqueue.dev/blog/bunqueue-v1-9-3/</guid>
      <pubDate>Sat, 31 Jan 2026 00:00:00 GMT</pubDate>
      <category>Release</category>
      
      <description>Fixes 1 bug. Unix Socket Support.</description>
    </item>
    <item>
      <title>bunqueue v1.9.2</title>
      <link>https://bunqueue.dev/blog/bunqueue-v1-9-2/</link>
      <guid isPermaLink="true">https://bunqueue.dev/blog/bunqueue-v1-9-2/</guid>
      <pubDate>Fri, 30 Jan 2026 00:00:00 GMT</pubDate>
      <category>Release</category>
      
      <description>Fixes 1 bug. Critical Memory Leak - Resolved temporalIndex leak causing 5.5M object retention after 1M jobs - Added cleanOrphanedTemporalEntries() method to Shard - Memory now properly released after job completion with removeOnComplete…</description>
    </item>
    <item>
      <title>bunqueue v1.9.1</title>
      <link>https://bunqueue.dev/blog/bunqueue-v1-9-1/</link>
      <guid isPermaLink="true">https://bunqueue.dev/blog/bunqueue-v1-9-1/</guid>
      <pubDate>Thu, 29 Jan 2026 00:00:00 GMT</pubDate>
      <category>Release</category>
      <dc:creator>egeominotti</dc:creator>
      <description>Fixes 2 bugs. Two-Phase Stall Detection.</description>
    </item>
    <item>
      <title>bunqueue v1.9.0</title>
      <link>https://bunqueue.dev/blog/bunqueue-v1-9-0/</link>
      <guid isPermaLink="true">https://bunqueue.dev/blog/bunqueue-v1-9-0/</guid>
      <pubDate>Wed, 28 Jan 2026 00:00:00 GMT</pubDate>
      <category>Release</category>
      <dc:creator>egeominotti</dc:creator>
      <description>TCP Client.</description>
    </item>
    <item>
      <title>bunqueue v1.6.8</title>
      <link>https://bunqueue.dev/blog/bunqueue-v1-6-8/</link>
      <guid isPermaLink="true">https://bunqueue.dev/blog/bunqueue-v1-6-8/</guid>
      <pubDate>Tue, 27 Jan 2026 00:00:00 GMT</pubDate>
      <category>Release</category>
      
      <description>Fixes 2 bugs. Renamed bunq to bunqueue in Dockerfile</description>
    </item>
    <item>
      <title>bunqueue v1.6.7</title>
      <link>https://bunqueue.dev/blog/bunqueue-v1-6-7/</link>
      <guid isPermaLink="true">https://bunqueue.dev/blog/bunqueue-v1-6-7/</guid>
      <pubDate>Mon, 26 Jan 2026 00:00:00 GMT</pubDate>
      <category>Release</category>
      
      <description>Dynamic version badge in documentation, mobile-responsive layout improvements, comprehensive stress tests.</description>
    </item>
    <item>
      <title>bunqueue v1.6.6</title>
      <link>https://bunqueue.dev/blog/bunqueue-v1-6-6/</link>
      <guid isPermaLink="true">https://bunqueue.dev/blog/bunqueue-v1-6-6/</guid>
      <pubDate>Sun, 25 Jan 2026 00:00:00 GMT</pubDate>
      <category>Release</category>
      
      <description>Fixes 1 bug. Counter updates when recovering jobs from SQLite on restart</description>
    </item>
    <item>
      <title>bunqueue v1.6.5</title>
      <link>https://bunqueue.dev/blog/bunqueue-v1-6-5/</link>
      <guid isPermaLink="true">https://bunqueue.dev/blog/bunqueue-v1-6-5/</guid>
      <pubDate>Sat, 24 Jan 2026 00:00:00 GMT</pubDate>
      <category>Release</category>
      
      <description>Fixes 1 bug. Production readiness improvements with critical fixes</description>
    </item>
    <item>
      <title>bunqueue v1.6.4</title>
      <link>https://bunqueue.dev/blog/bunqueue-v1-6-4/</link>
      <guid isPermaLink="true">https://bunqueue.dev/blog/bunqueue-v1-6-4/</guid>
      <pubDate>Fri, 23 Jan 2026 00:00:00 GMT</pubDate>
      <category>Release</category>
      
      <description>Fixes 2 bugs. SQLite persistence for DLQ entries</description>
    </item>
    <item>
      <title>bunqueue v1.6.3</title>
      <link>https://bunqueue.dev/blog/bunqueue-v1-6-3/</link>
      <guid isPermaLink="true">https://bunqueue.dev/blog/bunqueue-v1-6-3/</guid>
      <pubDate>Thu, 22 Jan 2026 00:00:00 GMT</pubDate>
      <category>Release</category>
      
      <description>Fixes 1 bug. MCP Server.</description>
    </item>
    <item>
      <title>bunqueue v1.6.2</title>
      <link>https://bunqueue.dev/blog/bunqueue-v1-6-2/</link>
      <guid isPermaLink="true">https://bunqueue.dev/blog/bunqueue-v1-6-2/</guid>
      <pubDate>Wed, 21 Jan 2026 00:00:00 GMT</pubDate>
      <category>Release</category>
      
      <description>SandboxedWorker.</description>
    </item>
    <item>
      <title>bunqueue v1.6.1</title>
      <link>https://bunqueue.dev/blog/bunqueue-v1-6-1/</link>
      <guid isPermaLink="true">https://bunqueue.dev/blog/bunqueue-v1-6-1/</guid>
      <pubDate>Tue, 20 Jan 2026 00:00:00 GMT</pubDate>
      <category>Release</category>
      
      <description>Bunny ASCII art in server startup and CLI help, professional benchmark charts using QuickChart.io, bullMQ vs bunqueue comparison benchmarks.</description>
    </item>
    <item>
      <title>bunqueue v1.6.0</title>
      <link>https://bunqueue.dev/blog/bunqueue-v1-6-0/</link>
      <guid isPermaLink="true">https://bunqueue.dev/blog/bunqueue-v1-6-0/</guid>
      <pubDate>Mon, 19 Jan 2026 00:00:00 GMT</pubDate>
      <category>Release</category>
      
      <description>Fixes 1 bug. Stall Detection, advanced DLQ, worker Heartbeats, repeatable Jobs and more.</description>
    </item>
    <item>
      <title>bunqueue v1.5.0</title>
      <link>https://bunqueue.dev/blog/bunqueue-v1-5-0/</link>
      <guid isPermaLink="true">https://bunqueue.dev/blog/bunqueue-v1-5-0/</guid>
      <pubDate>Thu, 15 Jan 2026 00:00:00 GMT</pubDate>
      <category>Release</category>
      
      <description>S3 backup with configurable retention, support for Cloudflare R2, MinIO, DigitalOcean Spaces, backup CLI commands (now, list, restore, status).</description>
    </item>
    <item>
      <title>bunqueue v1.4.0</title>
      <link>https://bunqueue.dev/blog/bunqueue-v1-4-0/</link>
      <guid isPermaLink="true">https://bunqueue.dev/blog/bunqueue-v1-4-0/</guid>
      <pubDate>Sat, 10 Jan 2026 00:00:00 GMT</pubDate>
      <category>Release</category>
      <dc:creator>egeominotti</dc:creator>
      <description>Rate limiting per queue, concurrency limiting per queue, prometheus metrics endpoint, health check endpoint.</description>
    </item>
    <item>
      <title>bunqueue v1.3.0</title>
      <link>https://bunqueue.dev/blog/bunqueue-v1-3-0/</link>
      <guid isPermaLink="true">https://bunqueue.dev/blog/bunqueue-v1-3-0/</guid>
      <pubDate>Mon, 05 Jan 2026 00:00:00 GMT</pubDate>
      <category>Release</category>
      
      <description>Fixes 2 bugs. Cron job scheduling, webhook notifications, job progress tracking, job logs.</description>
    </item>
    <item>
      <title>bunqueue v1.2.0</title>
      <link>https://bunqueue.dev/blog/bunqueue-v1-2-0/</link>
      <guid isPermaLink="true">https://bunqueue.dev/blog/bunqueue-v1-2-0/</guid>
      <pubDate>Sun, 28 Dec 2025 00:00:00 GMT</pubDate>
      <category>Release</category>
      
      <description>Priority queues, delayed jobs, retry with exponential backoff, job timeout.</description>
    </item>
    <item>
      <title>bunqueue v1.1.0</title>
      <link>https://bunqueue.dev/blog/bunqueue-v1-1-0/</link>
      <guid isPermaLink="true">https://bunqueue.dev/blog/bunqueue-v1-1-0/</guid>
      <pubDate>Sat, 20 Dec 2025 00:00:00 GMT</pubDate>
      <category>Release</category>
      
      <description>TCP protocol for high-performance clients, HTTP API with WebSocket support, authentication tokens, CORS configuration.</description>
    </item>
    <item>
      <title>bunqueue v1.0.0</title>
      <link>https://bunqueue.dev/blog/bunqueue-v1-0-0/</link>
      <guid isPermaLink="true">https://bunqueue.dev/blog/bunqueue-v1-0-0/</guid>
      <pubDate>Mon, 15 Dec 2025 00:00:00 GMT</pubDate>
      <category>Release</category>
      
      <description>Initial release, queue and Worker classes, SQLite persistence with WAL mode, basic DLQ support and more.</description>
    </item>
  </channel>
</rss>