iteragain
Version:
Javascript Iterable/Iterator/Generator-function utilities.
179 lines (109 loc) • 4.38 kB
Markdown
# Changelog
All notable changes to this project will be documented in this file.
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/),
adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html),
and is generated by [Changie](https://github.com/miniscruff/changie).
## 4.2.1 - 2026-06-01
### Changed
- Improve `reverse` performance by collecting values with `push` and reversing in place instead of `unshift`
- Improve `unzip` TypeScript types so each returned iterator is typed to its column rather than a union of all column types
### Fixed
- Fix infinite loops when `cycle` receives an empty iterable, or when `chunks`/`windows` are given invalid zero lengths
- Fix `tee` and `seekable` truncating or mishandling iterator values of `undefined`
- Fix `unique({ justSeen: true })` not collapsing consecutive falsy duplicates such as `0`, `""`, and `false`
- Fix `permutations(iterable)` one-argument form incorrectly returning a curried function instead of an iterator
- Fix `shuffle` seeded swaps using out-of-bounds indices that could inject `undefined` into results
- Fix `reduce` (without initial value), `min`, `max`, and `minmax` on empty iterators to throw instead of returning `undefined`
- Align top-level `package.json` `types` entry with exports, fix README typo, and expand `format` script to cover `src/**/*.ts`
- Fix seekable bounded cache eviction returning wrong values or undefined after maxLength is exceeded
## 4.2.0 - 2026-03-30
### Added
- Added concurrency limit param to promiseAll fn
## 4.1.6 - 2025-02-10
### Fixed
- `join` method no longer returns undefined with an empty input
## 4.1.5 - 2024-10-20
### Fixed
- A slight readme fix
## 4.1.4 - 2024-10-20
### Fixed
- Add missing return type in ExtendedIterator.shuffle's param type `seed`
## 4.1.3 - 2024-10-20
### Fixed
- Add missing return types to src/internal. Since jsr also requires those too
## 4.1.2 - 2024-10-20
### Added
- Added `empty` standalone function
### Fixed
- Add missing return types in various files. Which is required for publishing to jsr
## 4.1.1 - 2024-10-20
### Added
- Updated readme, and now publishes to JSR as well
## 4.1.0 - 2024-07-10
### Added
- Added the `seed` optional param to `shuffle`
- Added CHANGELOG.md file to Github release assets
## 4.0.2 - 2024-06-20
### Fixed
- Support for importing from node platform using `import` syntax
## 4.0.1 - 2024-04-12
### Fixed
- Fixed the default exports and they now point to the ESM build
## 4.0.0 - 2024-04-12
### Changed
- `package.json` now includes an `exports` property, which is a breaking change for older module resolutions
### Fixed
- Added missing `default` export when importing with ".", i.e. root
- Fixed imports using /internal and /\*
- Fixed year in license file to be 2024
### Added
- Added this changelog file
- Added ESM and CJS support in the one package
### Deprecated
- The iteragain-es package is now deprecated.
## 3.18.4 - 2024-01-15
### Changed
- `partiton` now calls next instead of using `this`.
### Fixed
- Fixed immutability bug in ExtendedIterator.
- Update docs when package.json is updated.
## 3.18.3 - 2023-10-03
### Fixed
- Fixed filter typings.
- Removed docs publish.
- Updated badge in readme.
### Changed
- Renamed to update docs
## 3.18.2 - 2023-09-22
### Fixed
- Publishing is now done with execSync.
- Put code inside of main.
- publish-all now uses sh instead of execSync which is blocking.
- Added js-utils.
- turn off incremental as it causes problems with cleaning.
- Removed duplicate entry in .npmignore.
## 3.18.1 - 2023-09-22
### Fixed
- modified npmignore.
## 3.18.0 - 2023-09-22
### Added
- Added support for currying to most standalone functions
- Added some jsdoc to pipe
- Added check and check:watch scripts
- Added toIterableIterator to index.ts
- Added toIterableIterator
- Added npm-publish workflow
- Added some badges
### Fixed
- Fixed tap type bug
- Fixed pre-commit
- Fixed max type bugs
- Fixed a type bug with chunks.ts
### Changed
- Improved type checking in tests by wrapping `equal`
- Fixed flatMap type bug
- `length` no longer imports `reduce`
- More support for currying and changed all imports to types.ts to have the type keyword
- `reverse` now uses toIterableIterator
- Renamed AnyFunction to Fn and made it more useful
- Updated delpoy-docs.yml