Repository navigation
Deprecate shared daemon v1 and prepare v1.2.1 - #203
Merged
Merged
Conversation
Keep no-policy shared startup on v1, with a single stderr deprecation warning. Recommend explicit-policy managed v2 without changing legacy clients, protocols, formats, or retain-all storage. Prepare workspace package versions and add focused startup and output-isolation coverage. Co-authored-by: Copilot App <[email protected]>
Contributor
There was a problem hiding this comment.
🟢 Approval recommended
The deprecation is correctly isolated to v1 startup, preserves existing behavior, and has focused regression coverage.
0 open findings
What changed in this PR
Deprecates—but retains—shared daemon v1 while recommending managed v2 and preparing release 1.2.1.
Changes:
- Adds a once-per-startup v1 deprecation warning with regression coverage.
- Updates migration and lifecycle documentation.
- Bumps workspace and lockfile package versions to 1.2.1.
| File | Description |
|---|---|
tgrep-cli/src/serve/shared/server.rs |
Emits the v1 startup warning. |
tgrep-cli/src/main.rs |
Clarifies managed-v2 CLI help. |
tgrep-cli/tests/shared_daemon.rs |
Tests v1 warning and compatibility. |
tgrep-cli/tests/shared_daemon/managed.rs |
Verifies managed v2 remains warning-free. |
tgrep-cli/tests/shared_daemon/runtime.rs |
Verifies ordinary serving remains warning-free. |
README.md |
Documents deprecation and migration. |
AGENTS.md |
Recommends the managed-v2 lifecycle. |
SHARED_WORKTREE_INDEXES.md |
Updates shared-index design status. |
SHARED_INDEX_BENCHMARKS.md |
Labels v1 benchmarks as historical. |
CONTRIBUTING.md |
Updates release guidance to 1.2.1. |
Cargo.toml |
Bumps the workspace version. |
Cargo.lock |
Updates CLI/core package versions. |
fuzz/Cargo.lock |
Updates the core package version. |
🧠 Review effort: Balanced
💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
This is staged retirement: deprecation, not removal. It is a fresh, standalone PR from main at
95ea48dd421c0cb5729719e8d6d7236b8ccff5dd, which includes merged #202.--shared-policy <FILE>.serve --sharedwithout a policy on v1. Existing v1 attach/search/status/refresh/detach, protocol JSON, fixed pins and retain-all storage remain supported. Ordinary serving and both managed-v2 storage modes do not emit this warning. No protocol, storage schema, index format or transport behavior changes.Migration guidance
Use the existing complete managed policy and managed client contract, not just an added startup flag. Detach every legacy lease and drain readers/root handles before stopping v1. Then start with an explicit policy, establish fresh ownership and operation/lease tokens, and attach the intended exact revision using
shared manage/views.attachrather than legacyshared attach.Owner guards, private RPC credentials, version-checked recovery and explicit collection authorization remain required. Enabling managed v2 does not convert existing v1 storage or make it collectible; legacy data remains retain-all.
Verification
Native Windows, Rust/Cargo 1.98.0:
cargo test --locked -p tgrep-cli --features managed-test-hooks --test shared_daemon -- startup_deprecation cli_lifecycle_unsupported_options_and_explicit_index_intent v2_cli_real_backend_migration_replay_and_idle_shutdown --test-threads=2— 5 passed.cargo test --locked -p tgrep-cli --test shared_daemon startup_deprecation -- --test-threads=2— 3 passed without test hooks.cargo clippy --locked -p tgrep-cli --features managed-test-hooks --bin tgrep --test shared_daemon -- -D warnings— passed.cargo fmt --all -- --checkandgit diff --check— passed.python -B -m unittest discover -s scripts -p test_prepare_release.py -v— 17 passed, using isolated temporary Git remotes only.cargo metadata --locked --offline --format-version 1graphs resolve; parsed lockfile comparisons confirm only tgrep CLI/core package versions changed. CLI--versionand Windows VERSIONINFO report 1.2.1.No release, tag, merge or auto-merge is requested by this PR.