]> Piment Noir Git Repositories - poolifier.git/log
poolifier.git
5 days agodocs: consolidate multiple task functions features in README
Jérôme Benoit [Sun, 22 Feb 2026 11:54:11 +0000 (12:54 +0100)] 
docs: consolidate multiple task functions features in README

6 days agochore(deps): update ajv to 6.14.0
Jérôme Benoit [Sat, 21 Feb 2026 09:17:59 +0000 (10:17 +0100)] 
chore(deps): update ajv to 6.14.0

Signed-off-by: Jérôme Benoit <jerome.benoit@piment-noir.org>
6 days agofix(deps): update all non-major dependencies (#3131)
renovate[bot] [Sat, 21 Feb 2026 09:14:41 +0000 (10:14 +0100)] 
fix(deps): update all non-major dependencies (#3131)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
7 days agofix(test): use fake timers for sleep() test to avoid flakiness
Jérôme Benoit [Fri, 20 Feb 2026 20:37:18 +0000 (21:37 +0100)] 
fix(test): use fake timers for sleep() test to avoid flakiness

7 days agodocs: publish documentation
Documentation Bot [Fri, 20 Feb 2026 15:36:43 +0000 (15:36 +0000)] 
docs: publish documentation

7 days agochore(master): release 5.3.1 (#3129) v5.3.1
Jérôme Benoit [Fri, 20 Feb 2026 15:33:35 +0000 (16:33 +0100)] 
chore(master): release 5.3.1 (#3129)

* chore(master): release 5.3.1

* [autofix.ci] apply automated fixes

---------

Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
7 days agofix(iwrr): remove erroneous workerNodeId reset corrupting round-robin state
Jérôme Benoit [Fri, 20 Feb 2026 15:22:56 +0000 (16:22 +0100)] 
fix(iwrr): remove erroneous workerNodeId reset corrupting round-robin state

7 days agodocs: publish documentation
Documentation Bot [Fri, 20 Feb 2026 14:29:03 +0000 (14:29 +0000)] 
docs: publish documentation

7 days agochore(master): release 5.3.0 (#3125) v5.3.0
Jérôme Benoit [Fri, 20 Feb 2026 14:26:01 +0000 (15:26 +0100)] 
chore(master): release 5.3.0 (#3125)

* chore(master): release 5.3.0

* [autofix.ci] apply automated fixes

---------

Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
7 days agochore: remove oh my opencode artifacts
Jérôme Benoit [Fri, 20 Feb 2026 14:23:31 +0000 (15:23 +0100)] 
chore: remove oh my opencode artifacts

Signed-off-by: Jérôme Benoit <jerome.benoit@piment-noir.org>
7 days agochore(deps): security: update minimatch to 10.2.2
Jérôme Benoit [Fri, 20 Feb 2026 14:18:39 +0000 (15:18 +0100)] 
chore(deps): security: update minimatch to 10.2.2

Signed-off-by: Jérôme Benoit <jerome.benoit@piment-noir.org>
7 days agochore(deps): update all non-major dependencies (#3128)
renovate[bot] [Fri, 20 Feb 2026 14:15:43 +0000 (15:15 +0100)] 
chore(deps): update all non-major dependencies (#3128)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
7 days agofeat(pool): add agingFactor and loadExponent tunables to TasksQueueOptions
Jérôme Benoit [Fri, 20 Feb 2026 14:14:32 +0000 (15:14 +0100)] 
feat(pool): add agingFactor and loadExponent tunables to TasksQueueOptions

8 days agochore(deps): update all non-major dependencies (#3127)
renovate[bot] [Thu, 19 Feb 2026 18:07:01 +0000 (19:07 +0100)] 
chore(deps): update all non-major dependencies (#3127)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
9 days agochore: make eslint works again
Jérôme Benoit [Wed, 18 Feb 2026 12:07:31 +0000 (13:07 +0100)] 
chore: make eslint works again

Signed-off-by: Jérôme Benoit <jerome.benoit@piment-noir.org>
9 days agochore: update biome schema version
Jérôme Benoit [Wed, 18 Feb 2026 11:28:50 +0000 (12:28 +0100)] 
chore: update biome schema version

Signed-off-by: Jérôme Benoit <jerome.benoit@piment-noir.org>
9 days agochore(deps): update ajv minimum version to 8.18.0
Jérôme Benoit [Wed, 18 Feb 2026 10:51:28 +0000 (11:51 +0100)] 
chore(deps): update ajv minimum version to 8.18.0

Signed-off-by: Jérôme Benoit <jerome.benoit@piment-noir.org>
10 days agofix(deps): update all non-major dependencies (#3126)
renovate[bot] [Tue, 17 Feb 2026 15:22:55 +0000 (16:22 +0100)] 
fix(deps): update all non-major dependencies (#3126)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
11 days agochore(deps): apply updates
Jérôme Benoit [Mon, 16 Feb 2026 21:24:19 +0000 (22:24 +0100)] 
chore(deps): apply updates

Signed-off-by: Jérôme Benoit <jerome.benoit@piment-noir.org>
11 days agodocs: publish documentation
Documentation Bot [Mon, 16 Feb 2026 19:07:45 +0000 (19:07 +0000)] 
docs: publish documentation

11 days agoci: add manual documentation publish workflow
Jérôme Benoit [Mon, 16 Feb 2026 19:05:40 +0000 (20:05 +0100)] 
ci: add manual documentation publish workflow

11 days agoci: use protected token for documentation checkout
Jérôme Benoit [Mon, 16 Feb 2026 18:58:32 +0000 (19:58 +0100)] 
ci: use protected token for documentation checkout

11 days agochore(master): release 5.2.0 (#3054) v5.2.0
Jérôme Benoit [Mon, 16 Feb 2026 18:45:49 +0000 (19:45 +0100)] 
chore(master): release 5.2.0 (#3054)

* chore(master): release 5.2.0

* [autofix.ci] apply automated fixes

---------

Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
11 days agoci: migrate npm publish to OIDC Trusted Publisher
Jérôme Benoit [Mon, 16 Feb 2026 18:27:11 +0000 (19:27 +0100)] 
ci: migrate npm publish to OIDC Trusted Publisher

11 days agofix: validate workerNodeKeys on worker ready and remove misleading JSDoc
Jérôme Benoit [Mon, 16 Feb 2026 17:58:41 +0000 (18:58 +0100)] 
fix: validate workerNodeKeys on worker ready and remove misleading JSDoc

11 days agochore(deps): lock file maintenance (#3123)
renovate[bot] [Mon, 16 Feb 2026 16:04:53 +0000 (17:04 +0100)] 
chore(deps): lock file maintenance (#3123)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
11 days agochore(deps): update all non-major dependencies (#3122)
renovate[bot] [Mon, 16 Feb 2026 15:55:24 +0000 (16:55 +0100)] 
chore(deps): update all non-major dependencies (#3122)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
11 days agofeat: task function worker node affinity (#2269)
Jérôme Benoit [Mon, 16 Feb 2026 15:52:42 +0000 (16:52 +0100)] 
feat: task function worker node affinity  (#2269)

* feat: task function worker node affinity

closes #778

Signed-off-by: Jérôme Benoit <jerome.benoit@piment-noir.org>
* refactor: cleanup worker node affinity namespace

Signed-off-by: Jérôme Benoit <jerome.benoit@piment-noir.org>
* refactor: validate worker nodes affinity

Signed-off-by: Jérôme Benoit <jerome.benoit@piment-noir.org>
* refactor: refine worke nodes affinity validation

Signed-off-by: Jérôme Benoit <jerome.benoit@piment-noir.org>
* fix: check worker node keys affinity is part of pool worker nodes

Signed-off-by: Jérôme Benoit <jerome.benoit@piment-noir.org>
* fix: fix default task function properties handling

Signed-off-by: Jérôme Benoit <jerome.benoit@piment-noir.org>
* test: improve task function objects coverage

Signed-off-by: Jérôme Benoit <jerome.benoit@piment-noir.org>
* test: cleanup tests

Signed-off-by: Jérôme Benoit <jerome.benoit@piment-noir.org>
* test: fix mismerge

Signed-off-by: Jérôme Benoit <jerome.benoit@piment-noir.org>
* refactor: silence linter

Signed-off-by: Jérôme Benoit <jerome.benoit@piment-noir.org>
* refactor: code reformatting

Signed-off-by: Jérôme Benoit <jerome.benoit@piment-noir.org>
* refactor: code formatting

Signed-off-by: Jérôme Benoit <jerome.benoit@piment-noir.org>
* chore: merge eslint-plugin-perfectionist reformatting

Signed-off-by: Jérôme Benoit <jerome.benoit@piment-noir.org>
* chore: reenabled lint-staged

Signed-off-by: Jérôme Benoit <jerome.benoit@piment-noir.org>
* chore: fix mismerge

Signed-off-by: Jérôme Benoit <jerome.benoit@piment-noir.org>
* refactor: code formatting

Signed-off-by: Jérôme Benoit <jerome.benoit@piment-noir.org>
* [autofix.ci] apply automated fixes

* [autofix.ci] apply automated fixes (attempt 2/3)

* chore: fix mismerge

Signed-off-by: Jérôme Benoit <jerome.benoit@piment-noir.org>
* perf: lighter worker node keys validation on hot path

Signed-off-by: Jérôme Benoit <jerome.benoit@piment-noir.org>
* refactor: cleanups

Signed-off-by: Jérôme Benoit <jerome.benoit@piment-noir.org>
* [autofix.ci] apply automated fixes

* [autofix.ci] apply automated fixes

* refactor: early exit in worker choice strategies

Signed-off-by: Jérôme Benoit <jerome.benoit@piment-noir.org>
* refactor: align unique worker node affinity handling

Signed-off-by: Jérôme Benoit <jerome.benoit@piment-noir.org>
* Apply suggestion from @Copilot

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
* [autofix.ci] apply automated fixes

* refactor: remove uneeded comment

Signed-off-by: Jérôme Benoit <jerome.benoit@piment-noir.org>
* perf: reorder conditions

Signed-off-by: Jérôme Benoit <jerome.benoit@piment-noir.org>
* refactor: remove uneeded conditions

Signed-off-by: Jérôme Benoit <jerome.benoit@piment-noir.org>
* Apply suggestion from @Copilot

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
* Apply suggestion from @Copilot

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
* Apply suggestion from @Copilot

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
* perf: add missing optimization

Signed-off-by: Jérôme Benoit <jerome.benoit@piment-noir.org>
* refactor: cleanup worker nodes array validation code

Signed-off-by: Jérôme Benoit <jerome.benoit@piment-noir.org>
* fix: add defensive checks for worker node affinity in selection strategies

- Add bounded loops to prevent infinite loops when no valid worker in affinity set
- Add empty/single-key checks in all strategies
- Add comprehensive tests for workerNodeKeys affinity

* fix: add empty array guard and fix iteration in worker node affinity strategies

* refactor(selection-strategies): extract getSingleWorkerNodeKey helper to reduce duplication

Consolidate the early-return pattern for single-element workerNodeKeys
array into a reusable protected method in AbstractWorkerChoiceStrategy.
All 7 selection strategies now use this helper instead of duplicating
the same check and isWorkerNodeReady call.

* fix(selection-strategies): correct affinity handling and optimize to O(1) lookup

- Fix WeightedRoundRobin: check affinity membership before using workerNodeKey
- Fix InterleavedWeightedRR: add wrap-around to find valid workers behind current position
- Optimize: change checkWorkerNodeKeys() to return Set<number> for O(1) .has() lookup
- Update all 7 strategies to use Set.has() instead of Array.includes()

* refactor(iwrr): remove unnecessary wrap-around logic

The retry mechanism in executeStrategy() already handles the case where
choose() returns undefined. Each call advances the position via
interleavedWeightedRoundRobinNextWorkerNodeId(), eventually covering
the entire (roundId, workerNodeId) space.

Removed the interleavedWeightedRoundRobinChoose() helper method and
inlined the logic directly in choose() for simplicity.

* refactor(api): rename workerNodes to workerNodeKeys for clarity

Rename the task function affinity property from 'workerNodes' to
'workerNodeKeys' to avoid confusion with pool.workerNodes (IWorkerNode[])
and align with internal naming conventions where keys refer to indices.

* test(selection-strategies): add workerNodeKeys affinity tests for all strategies

Add comprehensive tests for worker node keys affinity in choose() method:
- Empty workerNodeKeys returns undefined
- Single workerNodeKey returns that key if ready
- Multiple workerNodeKeys respects affinity constraint

Covers: RoundRobin, LeastUsed, LeastBusy, LeastElu, FairShare,
WeightedRoundRobin, InterleavedWeightedRoundRobin strategies

* test(pool): add workerNodeKeys validation and affinity tests

- Add checkValidWorkerNodes edge case tests
- Add addTaskFunction workerNodeKeys validation tests
- Add integration test for execute() workerNodeKeys affinity

* docs: improve workerNodeKeys JSDoc and error messages

- Expand JSDoc for workerNodeKeys parameter across selection strategies
- Improve error message clarity for invalid worker node keys
- Update tests to match improved error messages

* docs: harmonize workerNodeKeys JSDoc at getSingleWorkerNodeKey

* fix(weighted-round-robin): set nextWorkerNodeKey when staying on same worker

* fix(pool): check worker node affinity before returning dynamic worker

* docs: clarify worker node affinity validation behavior

* refactor: rename checkValidWorkerNodes to checkValidWorkerNodeKeys

Align function name, parameter name, and error messages with actual
semantics: the function validates worker node keys (numeric indices),
not worker node objects.

* refactor: eliminate unnecessary Set/Array allocations in worker node affinity hot paths

- Remove workerNodeKeys getter from IPool interface and AbstractPool
- Replace new Set(this.workerNodeKeys) validation with O(1) range checks
- Rename getTaskFunctionWorkerNodes() to getTaskFunctionWorkerNodeKeysSet()
  returning Set<number> directly from source
- Propagate Set<number> through execute() → executeStrategy() → choose()
  eliminating intermediate array-to-Set conversions
- Replace new Set(this.workerNodes.keys()) in sendTaskFunctionOperationToWorkers()
  with direct workerNodes.length/keys() usage

* fix(wrr): update state in single-element affinity shortcut

Reset nextWorkerNodeKey and workerNodeVirtualTaskExecutionTime in the
size === 1 path to maintain consistent round-robin state.

* fix: address Copilot review comments

- Check affinity before creating dynamic worker
- Add null to workerNodeKeys signature
- Fix anchor link and document length constraint

* chore: disable biome formatter in opencode

* perf(strategies): fast path for round-robin without affinity

* test: consolidate worker choice strategies test suite

* test: verify workerNodeKeys transmission from worker constructor

* fix: address Copilot review concerns for worker node affinity

- Snapshot workerNodeKeys in sendTaskFunctionOperationToWorkers to prevent race conditions
- Use ReadonlySet<number> for workerNodeKeysSet in selection strategies for type safety
- Compute workerNodeKeysSet lazily instead of storing in TaskFunctionProperties
- Allow null in workerNodeKeys type to explicitly disable affinity

* fix: improve error message grammar in addTaskFunction validation

Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-opencode)

Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
* fix: validate worker node keys against max pool size and fix single-key state update

- Validate workerNodeKeys against maximumNumberOfWorkers instead of current
  pool size, allowing dynamic pools to reference future worker indices
- Only update nextWorkerNodeKey in RR/WRR single-key path when worker is
  ready, preventing state inconsistency on retry
- Clarify TaskFunctionObject.workerNodeKeys doc regarding null vs undefined

* feat: create dynamic workers to satisfy worker node affinity constraints

In dynamic pools, when a task's workerNodeKeys affinity references
worker nodes beyond the current pool size, automatically create
dynamic workers up to the maximum pool size to satisfy the affinity.

* test: harmonize variable naming in dynamic worker affinity test

* refactor: consolidate worker node keys validation into helper and enforce error types in tests

* fix: remove unused null from workerNodeKeys type and restore test suite title

* docs: mention worker node affinity feature in README

Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-opencode)

Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
* refactor: use project max helper instead of Math.max

Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-opencode)

Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
---------

Signed-off-by: Jérôme Benoit <jerome.benoit@piment-noir.org>
Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
13 days agochore(deps): bump markdown-it (#3120)
dependabot[bot] [Sat, 14 Feb 2026 23:26:25 +0000 (00:26 +0100)] 
chore(deps): bump markdown-it (#3120)

Bumps the npm_and_yarn group with 1 update in the / directory: [markdown-it](https://github.com/markdown-it/markdown-it).

Updates `markdown-it` from 14.1.0 to 14.1.1
- [Changelog](https://github.com/markdown-it/markdown-it/blob/master/CHANGELOG.md)
- [Commits](https://github.com/markdown-it/markdown-it/compare/14.1.0...14.1.1)

---
updated-dependencies:
- dependency-name: markdown-it
  dependency-version: 14.1.1
  dependency-type: indirect
  dependency-group: npm_and_yarn
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
13 days agochore(deps): update dependency typedoc to ^0.28.17 (#3121)
renovate[bot] [Sat, 14 Feb 2026 23:25:57 +0000 (00:25 +0100)] 
chore(deps): update dependency typedoc to ^0.28.17 (#3121)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2 weeks agochore(deps): update all non-major dependencies (#3119)
renovate[bot] [Thu, 12 Feb 2026 16:24:53 +0000 (17:24 +0100)] 
chore(deps): update all non-major dependencies (#3119)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2 weeks agochore(deps): lock file maintenance (#3118)
renovate[bot] [Mon, 9 Feb 2026 15:51:24 +0000 (16:51 +0100)] 
chore(deps): lock file maintenance (#3118)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2 weeks agochore(deps): update pnpm to v10.29.2 (#3117)
renovate[bot] [Mon, 9 Feb 2026 15:16:11 +0000 (16:16 +0100)] 
chore(deps): update pnpm to v10.29.2 (#3117)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2 weeks agochore: update biome configuration schema version
Jérôme Benoit [Sun, 8 Feb 2026 15:04:35 +0000 (16:04 +0100)] 
chore: update biome configuration schema version

Signed-off-by: Jérôme Benoit <jerome.benoit@piment-noir.org>
2 weeks agofix(deps): update all non-major dependencies (#3116)
renovate[bot] [Sun, 8 Feb 2026 14:49:47 +0000 (15:49 +0100)] 
fix(deps): update all non-major dependencies (#3116)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2 weeks agofix(deps): update all non-major dependencies (#3114)
renovate[bot] [Sat, 7 Feb 2026 16:02:46 +0000 (17:02 +0100)] 
fix(deps): update all non-major dependencies (#3114)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
3 weeks agofix(deps): update dependency nodemailer to v8 (#3112)
renovate[bot] [Fri, 6 Feb 2026 22:42:36 +0000 (23:42 +0100)] 
fix(deps): update dependency nodemailer to v8 (#3112)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
3 weeks agochore(deps): update all non-major dependencies (#3113)
renovate[bot] [Fri, 6 Feb 2026 15:06:41 +0000 (16:06 +0100)] 
chore(deps): update all non-major dependencies (#3113)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
3 weeks agochore(deps): update all non-major dependencies (#3111)
renovate[bot] [Thu, 5 Feb 2026 13:01:42 +0000 (14:01 +0100)] 
chore(deps): update all non-major dependencies (#3111)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
3 weeks agochore(deps): update all non-major dependencies (#3110)
renovate[bot] [Wed, 4 Feb 2026 13:45:52 +0000 (14:45 +0100)] 
chore(deps): update all non-major dependencies (#3110)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
3 weeks agochore(deps): bump @isaacs/brace-expansion (#3109)
dependabot[bot] [Wed, 4 Feb 2026 13:39:13 +0000 (14:39 +0100)] 
chore(deps): bump @isaacs/brace-expansion (#3109)

Bumps the npm_and_yarn group with 1 update in the / directory: @isaacs/brace-expansion.

Updates `@isaacs/brace-expansion` from 5.0.0 to 5.0.1

---
updated-dependencies:
- dependency-name: "@isaacs/brace-expansion"
  dependency-version: 5.0.1
  dependency-type: indirect
  dependency-group: npm_and_yarn
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
3 weeks agochore(deps): update autofix-ci/action digest to 7a166d7 (#3107)
renovate[bot] [Tue, 3 Feb 2026 13:03:30 +0000 (14:03 +0100)] 
chore(deps): update autofix-ci/action digest to 7a166d7 (#3107)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
3 weeks agofix(deps): update all non-major dependencies (#3108)
renovate[bot] [Tue, 3 Feb 2026 13:03:08 +0000 (14:03 +0100)] 
fix(deps): update all non-major dependencies (#3108)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
3 weeks agochore(deps): lock file maintenance (#3106)
renovate[bot] [Mon, 2 Feb 2026 20:24:01 +0000 (21:24 +0100)] 
chore(deps): lock file maintenance (#3106)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
3 weeks agochore(deps): update all non-major dependencies (#3105)
renovate[bot] [Mon, 2 Feb 2026 20:12:52 +0000 (21:12 +0100)] 
chore(deps): update all non-major dependencies (#3105)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
3 weeks agochore: update serena project configuration
Jérôme Benoit [Sun, 1 Feb 2026 23:07:36 +0000 (00:07 +0100)] 
chore: update serena project configuration

Signed-off-by: Jérôme Benoit <jerome.benoit@piment-noir.org>
4 weeks agochore: update biome configuration schema to 2.3.13
Jérôme Benoit [Wed, 28 Jan 2026 12:07:40 +0000 (13:07 +0100)] 
chore: update biome configuration schema to 2.3.13

Signed-off-by: Jérôme Benoit <jerome.benoit@piment-noir.org>
4 weeks agochore(deps): lock file maintenance (#3101)
renovate[bot] [Wed, 28 Jan 2026 11:12:28 +0000 (12:12 +0100)] 
chore(deps): lock file maintenance (#3101)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
4 weeks agofix(deps): update all non-major dependencies (#3104)
renovate[bot] [Wed, 28 Jan 2026 10:47:26 +0000 (11:47 +0100)] 
fix(deps): update all non-major dependencies (#3104)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
5 weeks agobuild: update biome to 2.3.12
Jérôme Benoit [Fri, 23 Jan 2026 22:26:59 +0000 (23:26 +0100)] 
build: update biome to 2.3.12

5 weeks agochore(deps): update all non-major dependencies (#3103)
renovate[bot] [Fri, 23 Jan 2026 21:09:42 +0000 (22:09 +0100)] 
chore(deps): update all non-major dependencies (#3103)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
5 weeks agochore(deps): update all non-major dependencies (#3102)
renovate[bot] [Thu, 22 Jan 2026 11:02:16 +0000 (12:02 +0100)] 
chore(deps): update all non-major dependencies (#3102)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
5 weeks agofix(examples): type warnings at build
Jérôme Benoit [Sun, 18 Jan 2026 20:11:07 +0000 (21:11 +0100)] 
fix(examples): type warnings at build

Signed-off-by: Jérôme Benoit <jerome.benoit@piment-noir.org>
5 weeks agofix(deps): update all non-major dependencies (#3100)
renovate[bot] [Sun, 18 Jan 2026 18:32:32 +0000 (19:32 +0100)] 
fix(deps): update all non-major dependencies (#3100)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
6 weeks agochore: remove npm registry-url from release-please workflow
Jérôme Benoit [Tue, 13 Jan 2026 16:40:31 +0000 (17:40 +0100)] 
chore: remove npm registry-url from release-please workflow

Signed-off-by: Jérôme Benoit <jerome.benoit@piment-noir.org>
6 weeks agochore(deps): lock file maintenance (#3099)
renovate[bot] [Tue, 13 Jan 2026 11:07:50 +0000 (12:07 +0100)] 
chore(deps): lock file maintenance (#3099)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
6 weeks agoMerge pull request #3098 from poolifier/renovate/all-minor-patch
Jérôme Benoit [Tue, 13 Jan 2026 10:40:50 +0000 (11:40 +0100)] 
Merge pull request #3098 from poolifier/renovate/all-minor-patch

chore(deps): update all non-major dependencies

6 weeks agochore(deps): update all non-major dependencies
renovate[bot] [Mon, 12 Jan 2026 14:23:02 +0000 (14:23 +0000)] 
chore(deps): update all non-major dependencies

6 weeks agochore(deps): update dependency @types/node to ^24.10.7 (#3097)
renovate[bot] [Sun, 11 Jan 2026 13:00:39 +0000 (14:00 +0100)] 
chore(deps): update dependency @types/node to ^24.10.7 (#3097)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
6 weeks agochore: refine renovate configuration
Jérôme Benoit [Sat, 10 Jan 2026 23:51:20 +0000 (00:51 +0100)] 
chore: refine renovate configuration

Signed-off-by: Jérôme Benoit <jerome.benoit@piment-noir.org>
6 weeks agochore(deps): update all non-major dependencies (#3095)
renovate[bot] [Sat, 10 Jan 2026 14:04:54 +0000 (15:04 +0100)] 
chore(deps): update all non-major dependencies (#3095)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
6 weeks agoMerge pull request #3096 from poolifier/renovate/eslint-plugin-jsdoc-62.x
Jérôme Benoit [Sat, 10 Jan 2026 13:32:31 +0000 (14:32 +0100)] 
Merge pull request #3096 from poolifier/renovate/eslint-plugin-jsdoc-62.x

chore(deps): update dependency eslint-plugin-jsdoc to v62

7 weeks agochore(deps): update dependency eslint-plugin-jsdoc to v62
renovate[bot] [Fri, 9 Jan 2026 01:45:11 +0000 (01:45 +0000)] 
chore(deps): update dependency eslint-plugin-jsdoc to v62

7 weeks agochore: migrate biome configuration to 2.3.11
Jérôme Benoit [Thu, 8 Jan 2026 21:48:13 +0000 (22:48 +0100)] 
chore: migrate biome configuration to 2.3.11

Signed-off-by: Jérôme Benoit <jerome.benoit@piment-noir.org>
7 weeks agochore(deps): lock file maintenance (#3094)
renovate[bot] [Tue, 6 Jan 2026 21:50:03 +0000 (22:50 +0100)] 
chore(deps): lock file maintenance (#3094)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
7 weeks agofix(deps): update all non-major dependencies (#3093)
renovate[bot] [Tue, 6 Jan 2026 21:27:15 +0000 (22:27 +0100)] 
fix(deps): update all non-major dependencies (#3093)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
8 weeks agochore(deps): lock file maintenance (#3090)
renovate[bot] [Fri, 2 Jan 2026 12:08:10 +0000 (13:08 +0100)] 
chore(deps): lock file maintenance (#3090)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
8 weeks agochore(deps): update dependency globals to v17 (#3092)
renovate[bot] [Fri, 2 Jan 2026 11:47:02 +0000 (12:47 +0100)] 
chore(deps): update dependency globals to v17 (#3092)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
8 weeks agochore(deps): update all non-major dependencies (#3091)
renovate[bot] [Fri, 2 Jan 2026 11:37:36 +0000 (12:37 +0100)] 
chore(deps): update all non-major dependencies (#3091)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2 months agochore(deps): update pnpm to v10.26.2 (#3089)
renovate[bot] [Wed, 24 Dec 2025 12:50:22 +0000 (13:50 +0100)] 
chore(deps): update pnpm to v10.26.2 (#3089)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2 months agofix(deps): update all non-major dependencies (#3088)
renovate[bot] [Tue, 23 Dec 2025 11:15:51 +0000 (12:15 +0100)] 
fix(deps): update all non-major dependencies (#3088)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2 months agochore: sync biome schema version
Jérôme Benoit [Fri, 19 Dec 2025 13:45:12 +0000 (14:45 +0100)] 
chore: sync biome schema version

Signed-off-by: Jérôme Benoit <jerome.benoit@piment-noir.org>
2 months agochore(deps): lock file maintenance (#3087)
renovate[bot] [Mon, 22 Dec 2025 14:26:10 +0000 (15:26 +0100)] 
chore(deps): lock file maintenance (#3087)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2 months agochore(deps): update all non-major dependencies (#3086)
renovate[bot] [Mon, 22 Dec 2025 13:51:56 +0000 (14:51 +0100)] 
chore(deps): update all non-major dependencies (#3086)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2 months agochore(deps): update all non-major dependencies (#3084)
renovate[bot] [Fri, 19 Dec 2025 13:40:12 +0000 (14:40 +0100)] 
chore(deps): update all non-major dependencies (#3084)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2 months agochore(deps): update dependency eslint-plugin-perfectionist to v5 (#3085)
renovate[bot] [Fri, 19 Dec 2025 13:40:02 +0000 (14:40 +0100)] 
chore(deps): update dependency eslint-plugin-perfectionist to v5 (#3085)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2 months agochore(deps): lock file maintenance (#3083)
renovate[bot] [Mon, 15 Dec 2025 11:27:41 +0000 (12:27 +0100)] 
chore(deps): lock file maintenance (#3083)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2 months agochore(deps): update all non-major dependencies (#3082)
renovate[bot] [Sun, 14 Dec 2025 23:19:12 +0000 (00:19 +0100)] 
chore(deps): update all non-major dependencies (#3082)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2 months agochore(deps): update all non-major dependencies (#3081)
renovate[bot] [Thu, 11 Dec 2025 15:04:47 +0000 (16:04 +0100)] 
chore(deps): update all non-major dependencies (#3081)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2 months agochore(deps): update sonarsource/sonarqube-scan-action action to v7 (#3080)
renovate[bot] [Wed, 10 Dec 2025 16:53:11 +0000 (17:53 +0100)] 
chore(deps): update sonarsource/sonarqube-scan-action action to v7 (#3080)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2 months agochore(deps): update all non-major dependencies (#3079)
renovate[bot] [Wed, 10 Dec 2025 16:28:31 +0000 (17:28 +0100)] 
chore(deps): update all non-major dependencies (#3079)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2 months agochore(deps): lock file maintenance (#3078)
renovate[bot] [Mon, 8 Dec 2025 13:44:26 +0000 (14:44 +0100)] 
chore(deps): lock file maintenance (#3078)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2 months agochore(deps): update all non-major dependencies (#3077)
renovate[bot] [Sun, 7 Dec 2025 20:18:07 +0000 (21:18 +0100)] 
chore(deps): update all non-major dependencies (#3077)

* chore(deps): update all non-major dependencies

* [autofix.ci] apply automated fixes

---------

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
2 months agochore(deps): lock file maintenance (#3076)
renovate[bot] [Tue, 2 Dec 2025 18:14:51 +0000 (19:14 +0100)] 
chore(deps): lock file maintenance (#3076)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2 months agofix(benchmarks): destroy pool in the error case
Jérôme Benoit [Tue, 2 Dec 2025 13:26:48 +0000 (14:26 +0100)] 
fix(benchmarks): destroy pool in the error case

Signed-off-by: Jérôme Benoit <jerome.benoit@piment-noir.org>
2 months agofix: fix benchmark report file generation
Jérôme Benoit [Tue, 2 Dec 2025 12:42:48 +0000 (13:42 +0100)] 
fix: fix benchmark report file generation

Signed-off-by: Jérôme Benoit <jerome.benoit@piment-noir.org>
2 months agofix(benchmarks): port to tinybench v6 API
Jérôme Benoit [Tue, 2 Dec 2025 12:18:48 +0000 (13:18 +0100)] 
fix(benchmarks): port to tinybench v6 API

Signed-off-by: Jérôme Benoit <jerome.benoit@piment-noir.org>
2 months agochore(deps): update dependency tinybench to v6 (#3075)
renovate[bot] [Tue, 2 Dec 2025 11:08:23 +0000 (12:08 +0100)] 
chore(deps): update dependency tinybench to v6 (#3075)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2 months agofix(deps): update all non-major dependencies (#3074)
renovate[bot] [Tue, 2 Dec 2025 11:02:52 +0000 (12:02 +0100)] 
fix(deps): update all non-major dependencies (#3074)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2 months agochore(deps): update dependency express to v5.2.0 [security] (#3072)
renovate[bot] [Tue, 2 Dec 2025 10:54:12 +0000 (11:54 +0100)] 
chore(deps): update dependency express to v5.2.0 [security] (#3072)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2 months agochore(deps): lock file maintenance (#3071)
renovate[bot] [Mon, 1 Dec 2025 10:31:49 +0000 (11:31 +0100)] 
chore(deps): lock file maintenance (#3071)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2 months agochore(deps): update dependency prettier to ^3.7.3 (#3070)
renovate[bot] [Mon, 1 Dec 2025 00:38:15 +0000 (01:38 +0100)] 
chore(deps): update dependency prettier to ^3.7.3 (#3070)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2 months agochore(deps): update all non-major dependencies (#3069)
renovate[bot] [Sat, 29 Nov 2025 18:11:21 +0000 (19:11 +0100)] 
chore(deps): update all non-major dependencies (#3069)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2 months agochore: migrate biome configuration
Jérôme Benoit [Fri, 28 Nov 2025 20:36:07 +0000 (21:36 +0100)] 
chore: migrate biome configuration

Signed-off-by: Jérôme Benoit <jerome.benoit@piment-noir.org>
2 months agochore(deps): update all non-major dependencies (#3068)
renovate[bot] [Fri, 28 Nov 2025 20:35:24 +0000 (21:35 +0100)] 
chore(deps): update all non-major dependencies (#3068)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
3 months agofix(deps): update all non-major dependencies (#3067)
renovate[bot] [Thu, 27 Nov 2025 12:04:44 +0000 (13:04 +0100)] 
fix(deps): update all non-major dependencies (#3067)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
3 months agochore(deps): lock file maintenance (#3066)
renovate[bot] [Tue, 25 Nov 2025 10:26:22 +0000 (10:26 +0000)] 
chore(deps): lock file maintenance (#3066)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
3 months agochore(deps): update dependency eslint-plugin-jsdoc to ^61.4.1 (#3065)
renovate[bot] [Tue, 25 Nov 2025 10:16:40 +0000 (11:16 +0100)] 
chore(deps): update dependency eslint-plugin-jsdoc to ^61.4.1 (#3065)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
3 months agoci: remove uneeded workflow
Jérôme Benoit [Mon, 24 Nov 2025 20:48:45 +0000 (21:48 +0100)] 
ci: remove uneeded workflow

Signed-off-by: Jérôme Benoit <jerome.benoit@piment-noir.org>
3 months agochore: migrate biome configuration
Jérôme Benoit [Fri, 21 Nov 2025 10:15:29 +0000 (11:15 +0100)] 
chore: migrate biome configuration

Signed-off-by: Jérôme Benoit <jerome.benoit@piment-noir.org>