From 536ce19f0dc705f6f1079d6dba1d25c695749026 Mon Sep 17 00:00:00 2001 From: Dmitry Karpunin Date: Sun, 6 Sep 2026 01:56:42 +0300 Subject: [PATCH 1/2] Prepare 0.4.0 release --- CHANGELOG.md | 2 +- TODO.md | 28 ++++++++++++++++++++++++++++ 2 files changed, 29 insertions(+), 1 deletion(-) create mode 100644 TODO.md diff --git a/CHANGELOG.md b/CHANGELOG.md index 7e3d6ce..d80b141 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -5,7 +5,7 @@ All notable changes to this project are documented in this file. The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/), and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). -## [0.4.0] - Unreleased +## [0.4.0] - 2026-09-06 ### Added diff --git a/TODO.md b/TODO.md new file mode 100644 index 0000000..609a965 --- /dev/null +++ b/TODO.md @@ -0,0 +1,28 @@ +# TODO + +## Статус: 0.4.0 (dual package) +0.3.0 был подготовлен, но не опубликован — его изменения вошли в состав релиза 0.4.0. + +## Открытые задачи + +### TypeScript 7 (нативный порт, tsc-go) +`ts-jest` поддерживает `<7`, `typescript-eslint` — `<6.1`. Вернуться к миграции, когда экосистема догонит. + +### Обвязка +- Dependabot: проверить, что grouped PR реально приходят (настройка завершена). + +### Роадмап фич (из бенчмаркинга аналогов, см. README → Alternatives) +Отложено — возвращаться при запросах пользователей / перед 1.0: +- `abort()` + `AbortSignal` вторым аргументом `batchFetch` — как у batshit; +- per-item retry-токен — как `BATCHER_RETRY_TOKEN` у promise-batcher; +- `prime(id, value | Error)` — fill-if-absent кэш-прайминг как у dataloader; +- `isIdle` / `idlePromise()` — idle-трекинг как у promise-batcher; +- `cacheKeyFn` для объектных ключей (как у dataloader) — переработка дженериков + `ID extends number | string`; +- богатый scheduler-контракт `(start, latest, batchSize)` как у batshit — нативные + debounce (`bufferScheduler`) и size-triggered (`windowedFiniteBatchScheduler`, + `maxBatchSizeScheduler`) планировщики; сейчас наш `batchScheduleFn` вызывается один + раз на батч и debounce невыразим; +- devtools-пакет (как `@yornaath/batshit-devtools-react`); +- `loadManySettled` / опция «не реджектить loadMany при per-item ошибках» + (у dataloader loadMany возвращает ошибки значениями). From 95493f83d445fe01b471cae9cb6466c88bafb0fb Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Sat, 5 Sep 2026 22:57:48 +0000 Subject: [PATCH 2/2] Bump lodash from 4.17.21 to 4.18.1 Bumps [lodash](https://github.com/lodash/lodash) from 4.17.21 to 4.18.1. - [Release notes](https://github.com/lodash/lodash/releases) - [Commits](https://github.com/lodash/lodash/compare/4.17.21...4.18.1) --- updated-dependencies: - dependency-name: lodash dependency-version: 4.18.1 dependency-type: indirect ... Signed-off-by: dependabot[bot] --- package-lock.json | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/package-lock.json b/package-lock.json index 6292ef4..5a5e2ba 100644 --- a/package-lock.json +++ b/package-lock.json @@ -8614,10 +8614,11 @@ } }, "node_modules/lodash": { - "version": "4.17.21", - "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz", - "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==", - "dev": true + "version": "4.18.1", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.18.1.tgz", + "integrity": "sha512-dMInicTPVE8d1e5otfwmmjlxkZoUpiVLwyeTdUsi/Caj/gfzzblBcCE5sRHV/AsjuCmxWrte2TNGSYuCeCq+0Q==", + "dev": true, + "license": "MIT" }, "node_modules/lodash.memoize": { "version": "4.1.2",