Denque is a fast, lightweight JavaScript implementation of a double-ended queue (deque), with zero dependencies and TypeScript types. It provides constant-time queue operations for use cases like implementing stacks or queues, and it is used by official Node.js libraries for Redis, MongoDB, MariaDB, and MySQL (among others).
Project status
- Maintenance status: The upstream is marked as archived, and there have been no recent tagged updates for several years (latest listed update is v2.1.0 in 2022-07-18, with the last upstream push noted as 2023-03-04), so it appears quiet/dormant rather than actively maintained.
- Update cadence: Updates are sporadic and infrequent relative to today (major version changes in 2021, then v2.1.0 in 2022, and no further tagged updates shown through 2026-06-09).
AI summary generated
Recent updates
v2.1.0
v2.1.0 appears to focus on internal performance refactors for Denque growth and array conversion, and includes a change intended to fix memory/reference retention on clear(). The repository also adds benchmark scripts and benchmark files. No publisher release notes were provided for this version, so the code changes below may not have been documented externally.
v2.0.1
Release v2.0.1 includes a small but potentially breaking TypeScript typing correction and some repository metadata/CI adjustments. The only code-change that affects consumers is a change to the return type of Denque.size in the TypeScript definition file.
Breakingv2.0.0
Version v2.0.0 changes Denque so that `push(undefined)` and `unshift(undefined)` now enqueue an `undefined` element, aligning behavior more closely with `Array`. It also updates the TypeScript declaration file and adds tests for undefined handling. No publisher release notes were provided, so the repo’s changelog appears to be the primary source of documentation.
Breakingv1.5.1
No release notes were provided for v1.5.1, so changes cannot be confirmed as documented. The code diff shows an API and behavior expansion around Denque, notably adding an optional capacity setting and TypeScript typings, plus internal logic changes in remove and splice behavior.
v1.2.0
This release adds new collection manipulation methods, implementing remove, removeOne, and splice. The change is likely additive to the existing API, enabling additional ways to remove elements from the relevant data structure.
Features