Back to Explore

isaacs/yallist

GitHub
2 watchersOpen source

Last release:

yallist (“Yet Another Linked List”) is a JavaScript doubly-linked list implementation that provides Array-like methods, including forward and reverse iteration (forEach, map, reduce) and operations like push, pop, shift, unshift, and splice. It is useful when an array would be too big, or when you need to iterate in reverse order.

Project status

  • Maintenance status: Not actively maintained as of today (2026-06-09). The most recent upstream push was 2024-06-19, and the newest published updates in the provided list are v5.0.0 on 2024-04-09 (over 2 years ago), suggesting a quiet or maintenance-mode period.
  • Apparent update cadence: Historically it shipped updates in bursts (2017 to 2019), then had a long gap until 2024. After v5.0.0, there are no newer updates shown in the provided data, so the recent cadence appears stalled.

AI summary generated

AI-generated from public sources. May be inaccurate. Report

Recent updates

  • v5.0.0

    Release v5.0.0 introduces a major refactor from the legacy JavaScript implementation to a TypeScript-based implementation exported via a new build system. The packaging and runtime import patterns also change significantly (module type, exports map, dist-only publishing, and a higher Node engine requirement).

    BreakingFeatures
  • v4.0.0

    Release v4.0.0 contains essentially two code-level changes to the yallist package, with no release notes provided. The functional change is limited to how Yallist.prototype.splice collects its inserted nodes (using a rest parameter instead of the arguments object), alongside a package version bump from 3.1.1 to 4.0.0.

  • v3.1.1

    Release v3.1.1 was published on 2019-09-30, but no release notes were provided by the publisher. As a result, there is no documented information here about changes, bug fixes, breaking behavior, or dependency updates.

  • v3.1.0

    This release (v3.1.0) adds a new linked-list operation, Yallist.prototype.splice, along with an internal insert helper and expanded unit tests. It also tweaks internal behavior in removeNode and updates CI Node.js versions tested, but the provided release notes are empty (none documented).

    Features
  • v3.0.3

    Release v3.0.3 updates the yallist package version and modernizes the build/test setup. The most code-relevant change is a refactor of how Symbol.iterator is attached to the Yallist prototype.

  • v3.0.2

    Release notes for v3.0.2 are not provided. From the code diff, this version adds Symbol.iterator support for Yallist, introduces 'use strict' in the main and iterator modules, and fixes edge cases in pop() and shift() when removing the last element.

    Features
  • v2.1.2

    Release v2.1.2 contains a small internal change to the yallist linked-list implementation. No release notes were provided by the publisher, so the only actionable information comes from the code diff.

  • v3.0.1

    Release v3.0.1 only changes the package version and adjusts linked list boundary handling in yallist.js. Specifically, it updates pop and shift to correctly clear head or tail when the operation removes the last remaining element.

  • v3.0.0

    No release notes were provided for v3.0.0. The code diff shows a small change set: the package version was bumped and iterator support was conditionally added to enable Symbol.iterator behavior on Yallist instances.

    Features
  • v2.1.1

    Release v2.1.1 was published on 2017-03-13. No release notes or change descriptions were provided by the publisher, so the upgrade impact cannot be determined from the available documentation.