Skip to content
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
45 changes: 45 additions & 0 deletions docs/release-notes/v0.2.9.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,45 @@
# TiDB Cloud CLI v0.2.9

This patch release addresses mount readiness and initial-synchronization errors that could still affect v0.2.8. It includes ti's background mount readiness fix and is intended for use with the published Drive9 build `a9acf30`.

## Bug fixes

- `ti fs mount-file-system` and `ti fs-vault mount-vault` now check that the mount is active and its root can be listed before reporting success. Readiness checks honor `--ready-timeout` (default: `30s`) and cancellation. If waiting fails, the background mount and its local locator are retained, and the error provides the matching unmount command. [ti #69](https://github.com/tidbcloud/ti-cli/pull/69)
- The updated companion fixes an additional source of `EAGAIN` (`Resource temporarily unavailable`) during cold FUSE mounts: file lookups and attribute reads now retry once when they cross the first synchronization reset. The earlier companion build `c6e057f` handled this race for directory listings; this fix extends that handling to `Lookup` and `GetAttr`. [Drive9 #1013](https://github.com/mem9-ai/drive9/pull/1013)

Successful readiness checks establish that the mount root is readable. They do not guarantee that every cold-file read or concurrent operation will succeed. Authentication failures, remote failures, cancellation, and subsequent synchronization resets retain their existing error handling.

## Upgrade from v0.2.8

Upgrade both ti and its companion to receive both fixes. Reinstalling v0.2.8 can refresh Drive9, but it does not add the ti readiness fix.

Drain FUSE mounts and unmount all active Filesystem and Vault mounts before replacing the binaries. On macOS or Linux with a ti-owned installation, run:

```bash
ti update --check
ti update --target-version v0.2.9
ti --version
"$(dirname "$(command -v ti)")/ti-drive9" version
```

New installations and reinstalls can use the version-specific installer:

```bash
curl -fsSL https://github.com/tidbcloud/ti-cli/releases/download/v0.2.9/install.sh | sh -s -- --version v0.2.9 --yes
export PATH="$HOME/.ti/bin:$PATH"
ti --version
"$HOME/.ti/bin/ti-drive9" version
```

For a custom installation directory, pass `--install-dir` with that directory. On Windows, rerun the PowerShell installer because in-place self-update is unsupported:

```powershell
$script = "$env:TEMP\install-ti.ps1"
iwr https://github.com/tidbcloud/ti-cli/releases/download/v0.2.9/install.ps1 -OutFile $script
powershell -ExecutionPolicy Bypass -File $script -Version v0.2.9 -Yes
$env:Path = "$HOME\.ti\bin;$env:Path"
ti --version
& "$HOME\.ti\bin\ti-drive9.exe" version
```

The companion is downloaded separately from mutable Drive9 endpoints. `a9acf30` identifies the upstream build used for release preparation, not a dependency pin. Record both installed versions when reporting an issue. Pinning or rolling back ti does not pin or roll back Drive9.
Loading