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 c16c96dad10f8a2c79a81ba1945447d7f9f5f87d Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Sat, 5 Sep 2026 22:57:56 +0000 Subject: [PATCH 2/2] Bump picomatch from 2.3.1 to 2.3.2 Bumps [picomatch](https://github.com/micromatch/picomatch) from 2.3.1 to 2.3.2. - [Release notes](https://github.com/micromatch/picomatch/releases) - [Changelog](https://github.com/micromatch/picomatch/blob/master/CHANGELOG.md) - [Commits](https://github.com/micromatch/picomatch/compare/2.3.1...2.3.2) --- updated-dependencies: - dependency-name: picomatch dependency-version: 2.3.2 dependency-type: indirect ... Signed-off-by: dependabot[bot] --- package-lock.json | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/package-lock.json b/package-lock.json index 6292ef4..236ceb2 100644 --- a/package-lock.json +++ b/package-lock.json @@ -9749,10 +9749,11 @@ "license": "ISC" }, "node_modules/picomatch": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", - "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.2.tgz", + "integrity": "sha512-V7+vQEJ06Z+c5tSye8S+nHUfI51xoXIXjHQ99cQtKUkQqqO1kO/KCJUfZXuB47h/YBlDhah2H3hdUGXn8ie0oA==", "dev": true, + "license": "MIT", "engines": { "node": ">=8.6" },