Skip to content

Release CLI 3.4.3 and Docker v0.0.10 - #1172

Merged
matthewsanetra merged 2 commits into
mainfrom
claude/v0-0-10-release-a8f498
Oct 5, 2026
Merged

matthewsanetra merged 2 commits into
mainfrom
claude/v0-0-10-release-a8f498

Conversation

@matthewsanetra

@matthewsanetra matthewsanetra commented Oct 5, 2026 •

Copy link
Copy Markdown
Contributor

Release PR for CLI 3.4.3 and Docker image v0.0.10, following the same shape as #1161.

 crates/cli/Cargo.toml           version 3.4.2 → 3.4.3 (and Cargo.lock)
 crates/cli/src/config.rs        DEFAULT_LOCAL_IMAGE_TAG v0.0.9 → v0.0.10
 CLI tests, README, CLAUDE.md    v0.0.9 → v0.0.10
 docs                            default image, release notes, storage v5 warning, llms-full.txt
 docker-image/README.md          published release v0.0.9 → v0.0.10
 CONTRIBUTORS.md                 CLI image v0.0.9 → v0.0.10
 sdks/tests/parity/COVERAGE.md   published-image parity example v0.0.5 → v0.0.10

Version-history references stay as written:

  • "v0.0.9 and earlier refuse to open" in the docker-image README's index storage version 5 section.
  • "Upgrading S3 deployments from v0.0.8 and earlier".
  • The "Docker images through v0.0.9" locator comments in crates/db.
  • The v0.0.5 compatibility statements.

The TypeScript README's package-smoke commands stay on v0.0.5, because they mirror CI's digest-pinned compatibility check in typescript-sdk.yml.

The COVERAGE.md parity pin was bumped together with the CLI default in v0.0.5 (620fb543) and missed afterwards. v0.0.5 can't serve the search_consistency parity fixtures added in #1156.

Order

  1. Merge this. The Docker image workflow's publish job requires DEFAULT_LOCAL_IMAGE_TAG on main to equal release_version, so the image can only be published after this lands.
  2. Dispatch the Docker image workflow from main with release_version=v0.0.10. It reruns the full suite and publishes only if it passes.
  3. Once v0.0.10 is published, run cli.yml from main to tag and publish v3.4.3.

What's in v0.0.10 / 3.4.3

Testing

  • cargo check --workspace --locked passes, so the hand-edited Cargo.lock is consistent.
  • cargo test --locked -p helix-cli passes: lib 241, e2e_cli 13, runtime_commands 20, typescript_runtime, and the other targets. The Docker-only e2e_runtime tests are ignored by design, because they need the unpublished v0.0.10 image.
  • rustfmt 1.9.0 (the pinned 1.97.1 toolchain) --edition 2024 --check is clean on the edited Rust files.
  • Docs: check-docs, generate-llms --check, generate-llms-full --check and check-openapi pass.
  • Grep: every helixdb/helixdb:v0.0.x reference outside release notes is v0.0.10, except the CI-pinned v0.0.5 TypeScript smoke.
  • Workspace clippy is left to CI. The local nix nightly clippy rejects the repo's clippy configuration before linting, independent of this change.

Retrigger

The PR appears safe to merge, though the published-image parity instructions should include an image pull step.

Summary

This release PR updates the CLI default to Docker v0.0.10, bumps the CLI to 3.4.3, and updates image references and release guidance. The published-image parity instructions need a pull step before their new image pin can work without a local copy.

Reviews (1) · Last reviewed commit: "chore(release): CLI 3.4.3 and Docker ima..."

Also: fix main's workspace tests

counts_over_range_intersections_apply_every_filter (#1169) overflows the default 2 MiB test-thread stack in Linux debug builds. That fails Workspace tests, DB all targets and Workspace and tooling quality on main, and the Docker release's quality job runs the same tests. 92c15755 runs it through the file's existing 16 MiB run_high_stack_contract, like the other heavy contracts. It passes locally even with RUST_MIN_STACK=524288.

Bump helix-cli to 3.4.3 and its default local image to v0.0.10, move
current-version references in CLI tests, READMEs, docs and the
published-image parity example, and add the v0.0.10 / 3.4.3 release
notes.

The local server guide now warns that v0.0.10 upgrades a persisted
database's index storage version, which v0.0.9 and earlier then refuse
to open.
@mintlify

mintlify Bot commented Oct 5, 2026 •

Copy link
Copy Markdown

Preview deployment for your docs. Learn more about Mintlify Previews.

Project Status Preview Updated
helix 🟢 Ready View Preview Oct 5, 2026, 4:38 PM

💡 Tip: Enable Automations to automatically generate PRs for you.

counts_over_range_intersections_apply_every_filter (#1169) seeds a
600-entry write batch on the default 2 MiB test thread, which overflows
its stack in Linux debug builds and fails the workspace test jobs on
main. Run it through run_high_stack_contract like the file's other
heavy contracts.
@matthewsanetra
matthewsanetra merged commit 4202b28 into main Oct 5, 2026
42 of 44 checks passed
matthewsanetra added a commit that referenced this pull request Oct 5, 2026
The v0.0.10 image release ([run
37354464092](https://github.com/HelixDB/helix-db/actions/runs/37354464092))
did not publish. Its `Workspace and tooling quality` job hit
`timeout-minutes: 30` partway through `Server coverage`, so `Publish
tested image` was skipped. The main push run for #1172 timed out the
same way.

| Step | Duration |
| --- | --- |
| Workspace tests | 26m31s (passed) |
| Workspace doctests | 51s (passed) |
| Server coverage | cancelled at the 30-minute limit |
| Clippy, Formatting, Shell syntax | skipped |

Before #1172's stack fix, the job failed early in
`production_contracts`, so it never reached the limit. This raises only
the quality job's timeout to 60 minutes. The image, benchmark and
publish timeouts are unchanged.

CLI 3.4.3 is already released and defaults to v0.0.10, so this blocks
fresh `helix start` until the image publishes. After merging,
re-dispatch `docker-image.yml` from main with `release_version=v0.0.10`.

<!-- greptile_comment -->

<!-- greptile_summary -->

<p><a
href="https://app.greptile.com/api/retrigger?id=75063203"><picture><source
media="(prefers-color-scheme: dark)"
srcset="https://greptile-static-assets.s3.amazonaws.com/badges/RetriggerDark.svg?v=2"><source
media="(prefers-color-scheme: light)"
srcset="https://greptile-static-assets.s3.amazonaws.com/badges/Retrigger.svg?v=2"><img
alt="Retrigger"
src="https://greptile-static-assets.s3.amazonaws.com/badges/Retrigger.svg?v=2"
align="right"></picture></a><br clear="all"></p>

<!-- greptile-risk -->

The PR appears safe to merge.

<h3>Summary</h3>

Raises the Docker image workflow’s quality-job timeout from 30 to 60
minutes so the release gate has more time to finish. Image, benchmark,
and publish timeouts are unchanged.

<sub>Reviews (1) · Last reviewed commit: ["ci(docker-image): raise the
quality job
..."](https://github.com/helixdb/helix-db/commit/eab93854b1f9efba10272b53f68475151a252548)</sub>

<!-- /greptile_comment -->
nepalisagun pushed a commit to nepalisagun/helix-db that referenced this pull request Oct 6, 2026
Workspace tests now take about 26.5 minutes and doctests about one more,
so the 30-minute limit cancels the job during server coverage. It
cancelled the main push run for HelixDB#1172 and the v0.0.10 release dispatch,
which skipped publication. Clippy, formatting and shell syntax still
follow coverage.
xav-db added a commit that referenced this pull request Oct 6, 2026
Main now includes the range-intersection count contract's 16 MiB stack
fix through #1172. Merge current main to resolve the duplicate change
and retain the explanation that the debug future must be constructed and
polled on the dedicated thread. The remaining diff is two comment lines;
the fixture and every assertion match main.

```text
libtest → dedicated 16 MiB thread → Tokio → unchanged contract
```

Validated the merged branch on fresh ARM64 EC2:

- All 58 production contracts passed, plus the count contract with a 1
MiB outer test stack.
- Workspace Clippy (`-D warnings`) and formatting passed.
- Reviewed the diff and confirmed it changes only the explanatory
comment.

The original fix was also validated with rebuilt-image packaging,
native-volume persistence, S3/Compose suites, full workspace tests and
doctests before main incorporated it.
xav-db added a commit that referenced this pull request Oct 7, 2026
Release PR for **CLI 3.4.4** and **Docker image v0.0.11**, following the
same shape as #1172.

```diff
 crates/cli/Cargo.toml           version 3.4.3 → 3.4.4 (and Cargo.lock)
 crates/cli/src/config.rs        DEFAULT_LOCAL_IMAGE_TAG v0.0.10 → v0.0.11
 CLI tests, README, CLAUDE.md    v0.0.10 → v0.0.11
 docs                            default image, v0.0.11 release notes, llms-full.txt
 docker-image/README.md          published release v0.0.10 → v0.0.11
 CONTRIBUTORS.md                 CLI image v0.0.10 → v0.0.11
 sdks/tests/parity/COVERAGE.md   published-image parity example v0.0.10 → v0.0.11
```

The local-server storage warning now reads "v0.0.10 or later", because
v0.0.10 is the version that moved to index storage version 5. The
v0.0.10 release notes are unchanged.

## Order
1. Merge this. The `Docker image` publish job requires
`DEFAULT_LOCAL_IMAGE_TAG` on main to equal `release_version`.
2. Dispatch the `Docker image` workflow from main with
`release_version=v0.0.11`. It reruns the full suite and publishes only
if it passes.
3. Once v0.0.11 is published, run `cli.yml` from main to tag and publish
v3.4.4.

## What's in v0.0.11 / 3.4.4
- **Strong text search keeps working during ingest** (#1176). It has its
own bound, 512 MiB by default, configurable with
`HELIX_STRONG_TEXT_SEARCH_MAX_ANALYSIS_BYTES`, and it reuses
pending-text analyses across searches. 20K–40K-document bursts gave 0
rejections, against 106 and 234 before.
- **Strong searches decode pending work once per request**, off the
async workers, and a strong vector bound is added, set with
`HELIX_STRONG_VECTOR_SEARCH_MAX_PENDING_BYTES` (#1174). 4 searches in
one request went from 5.0 s to 2.2 s.
- **Queue admission counts each operation's real memory**: encoded size
+ 576 B (#1178).
- **Writer open streams the queue backlog**: 25 s / 4.5 GB → 5 s / 1.3
GB on a 2.26 GB backlog (#1177).
- **Linear publication drains** (#1175).
- No storage changes since v0.0.10.

## Validation of main (cfc5fca and 7372487) on EC2 c7i.8xlarge
- **Checks:** fmt, clippy, `cargo check --all-features`, db lib and doc
tests, server tests, and all release production suites (212 tests).
- **Image:** `docker-image/test.sh` and every `index_queue_contracts`
scenario (correctness on disk and S3, member limit, benchmark) pass.
- **Upgrade from v0.0.9:** searches stay exact after the upgrade, and
v0.0.9 then refuses the store with "Unsupported index storage version
5".
- **Backfills** (100K docs, 100 writes/s), time until caught up, no
429s:

  | Index | Caught up |
  |---|---|
  | text | 215 s |
  | vec128 | 704 s |
  | vec768, disk | 1,907 s |
  | vec768, S3 | 1,852 s |

- **Mixed workload** (100K docs, 768-d vector + text, 10 min), against
v0.0.9 at the same write load: reads are unchanged (point read p99 7 ms,
strong vector p99 69 vs 80 ms). Writes went from 406 / 708 ms with 16%
transaction conflicts to 57 / 107 ms with none.
- **This branch:** `cargo check --workspace --locked`, `cargo test -p
helix-cli` (except `typescript_runtime`, which needs `npm ci` in the
SDK), CLI clippy, rustfmt, and the docs checks (`check-docs`,
`generate-llms(-full) --check`, `check-openapi`).


<!-- greptile_comment -->

<!-- greptile_summary -->

<p><a
href="https://app.greptile.com/api/retrigger?id=76201413"><picture><source
media="(prefers-color-scheme: dark)"
srcset="https://greptile-static-assets.s3.amazonaws.com/badges/RetriggerDark.svg?v=2"><source
media="(prefers-color-scheme: light)"
srcset="https://greptile-static-assets.s3.amazonaws.com/badges/Retrigger.svg?v=2"><img
alt="Retrigger"
src="https://greptile-static-assets.s3.amazonaws.com/badges/Retrigger.svg?v=2"
align="right"></picture></a><br clear="all"></p>

<!-- greptile-risk -->

The PR appears safe to merge with the stated Docker-first publication
order.

<h3>Summary</h3>

Releases CLI `3.4.4` with Docker image `v0.0.11` as its default.
- Updates image references and matching CLI tests.
- Adds release notes for search and queue improvements.
- Keeps saved project tags and storage version unchanged.
- `xav-db` acknowledges the merge-before-publication order: publish
Docker first, then CLI. The temporary pre-publication state is
intentional.

<sub>Reviews (1) · Last reviewed commit: ["Release CLI 3.4.4 and Docker
v0.0.11"](7e15f74)
· [Reviewed by
Greptile](https://www.greptile.com/?utm_source=greptile_expert&utm_medium=github&utm_campaign=code_reviews&utm_content=helixdb/helix-db)</sub>

<!-- /greptile_comment -->
@matthewsanetra
matthewsanetra deleted the claude/v0-0-10-release-a8f498 branch October 8, 2026 10:01
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant