TiDB Cloud CLI v0.2.4
This release adds copy-on-write Filesystem layer workflows and tenant-scoped AI provider configuration, improves quota and authentication guidance, and tightens Filesystem authorization boundaries.
What's new
- New
ti fs fork-layer,list-layer-chain, anddelete-layercommands support parallel copy-on-write workspaces, ancestry inspection, and explicit abandonment of rejected timelines. ti fs mount-file-systemcan mount a writable layer or a read-only historical checkpoint through--layer-refand--checkpoint-id. Existing checkpoint, diff, rollback, and commit commands complete the versioned workspace workflow.- New extract and embedding configuration commands let organization administrators inspect, enable, update, and disable tenant-scoped image, audio, video, and embedding providers. Provider secrets are accepted only through
TI_FS_AI_PROVIDER_API_KEYand are never persisted or printed byti. - Filesystem inventory now includes media quota fields returned by the service.
ti fs create-file-systemrecognizes structured free-plan quota errors and links directly to TiDB Cloud billing when a payment method is required.- Missing TiDB Cloud API credentials now include the API key creation URL in the actionable error.
- Filesystem deletion and token administration consistently require TiDB Cloud API credentials. An FS token grants data-plane use and does not imply resource-administration permission.
- Telemetry ingestion now stores events only in TiDB. Compatibility with both current
tiand legacytdctelemetry clients is retained.
Breaking change
The public --foreground flag has been removed from ti fs mount-file-system and its mount alias. Mounts are background operations managed by ti; use drain-file-system and unmount-file-system to stop them safely.
Upgrade from v0.2.3
Drain and unmount active Filesystem mounts before replacing ti and its bundled ti-drive9 companion, then run:
ti update --check
ti update
ti --versionNew installations can use:
curl -fsSL https://github.com/tidbcloud/ti-cli/releases/download/v0.2.4/install.sh | sh -s -- --yes
export PATH="$HOME/.ti/bin:$PATH"
ti --versionFork a versioned workspace
Fork two independent child layers from a checkpoint and inspect one child's ancestry:
SEED="$(ti fs create-layer-checkpoint \
--layer-id research-base \
--checkpoint-id seed \
--label workspace-seed \
--query checkpoint_id \
--output text)"
ti fs fork-layer \
--parent-layer-ref research-base \
--layer-name style-brief \
--checkpoint-id "$SEED"
ti fs fork-layer \
--parent-layer-ref research-base \
--layer-name style-analyst \
--checkpoint-id "$SEED"
ti fs list-layer-chain --layer-ref style-analystMount a historical checkpoint for read-only comparison:
mkdir -p ./peek/v5
ti fs mount-file-system \
--mount-path ./peek/v5 \
--remote-path /research/q3-market \
--driver fuse \
--layer-ref style-analyst \
--checkpoint-id v5Checkpoint mounts require FUSE. Recursive copy-file and --layer-id remain mutually exclusive; seed a directory tree through a writable FUSE layer mount instead.