Node.js 20 reaches end-of-life on 2026-04-30, so raise the minimum
supported version to 22 (the next active LTS) and add Node.js 26 to the
CI matrix as the current release line.
- Bump engines.node to >=22.0.0 in package.json and scripts/memory
- Update CI matrix to [22.x, 24.x, 26.x] (drop 20.x and 25.x; 25.x EOL 2026-06)
- Update test-action.yml matrix to [22, 24, 26]
- Drop the obsolete `node --run` workaround comment in ci.yml since
`node --run` is supported on all matrix versions
- Update Node.js version mentions in English docs, llms-install.md,
configShard, bug report template, and code samples in hi/vi
github-actions guides
Dockerfile (node:22-slim) is intentionally left at the minimum supported
version so the published image confirms Repomix runs on the floor.
intent(ci-fix): the Memory Test job on CI started failing with "error TS5107: Option 'moduleResolution=node10' is deprecated" after the typescript v6 bump on main (b5bdda8f) — align scripts/memory/tsconfig.json with the root project's NodeNext settings so the subproject builds on TS6
decision(module-setting): NodeNext over Bundler to match the repo's existing main/server tsconfigs; source files already use explicit .js import extensions, so the switch is a no-op at runtime
Update all documentation, build configuration, and source comments
to reflect the completed migration from tiktoken to gpt-tokenizer.
- Update tokenCount.encoding description to say "OpenAI-compatible
tokenization" with gpt-tokenizer link (README + 15 language docs)
- Remove tiktoken from bundling external deps list since
gpt-tokenizer is pure JS (README + 15 language docs)
- Remove tiktoken COPY from Dockerfile and external from bundle.mjs
- Simplify source code comments removing migration artifacts
- Regenerate scripts/memory/package-lock.json
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
The final analysis compared iteration 0 (cold start, ~20MB heap) against
the final measurement, causing false "significant memory growth" warnings
on short CI runs (50 iterations). Now uses the average of post-warmup
entries as baseline, matching how the mid-run trend analysis already works.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
npm only reads .npmrc from the directory containing package.json,
not from parent directories. Sub-packages that run `npm ci`
independently (e.g., in CI or Docker builds) were missing the
min-release-age=7 protection that the root .npmrc provides.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
- Remove --graph/-g flag as graphs are now always enabled
- Update help text and feature display accordingly
- Simplify displayMemoryGraphs() condition check
- Graphs will now always show when sufficient data points are available
Makes memory visualization always available for better debugging experience.
- Extract graph display constants (MIN_POINTS_FOR_GRAPH=5, GRAPH_DATA_POINTS=40, GRAPH_HEIGHT=8)
- Make displayMemoryGraphs() more flexible by accepting history data as parameter
- Improve code maintainability and readability as suggested in PR review
Addresses PR review feedback from gemini-code-assist bot.
Relocated memory testing tools from benchmarks/memory/ to scripts/memory/
to better align with project structure conventions. Updated GitHub Actions
workflow paths accordingly to maintain CI functionality.