Releases: riverscn/any-switch
Releases · riverscn/any-switch
v0.1.2
Changelog
All notable user-facing changes are recorded here.
This project is still before its first stable release. Until then, entries may
describe release-candidate scope rather than long-term compatibility guarantees.
0.1.2 - 2026-05-28
- Fixed
npx any-switchreporting when Rust is not installed. npm suppresses
failing lifecycle-script output for this path, so npm postinstall now treats
source-build failures as deferred and the runtime shim reports the actionable
Rust installation error when the command is executed. - Package verification now covers the no-Rust
npxpath so this failure mode
cannot silently regress.
0.1.1 - 2026-05-27
- Initial MVP release candidate for
any-switch. - This is a macOS-evidenced stage release: macOS Claude OAuth import evidence is
complete, while broader restart/risk experiments plus Linux and Windows
manual evidence remain deferred follow-up work. Do not treat this release as
fulldocs/design.mdsection 13 coverage. - Built-in app definitions for Claude Code and OpenAI Codex.
- Definition-driven profile switching for file, JSON, TOML, environment, macOS
Keychain, and OAuth capture state. - User-defined app definitions and safe override exports for extending
any-switchwithout app-specific core branches. - Defensive backups, restore, drift detection, pending-switch recovery,
target-lock serialization, process-safety checks, and redacted diagnostics. doctorreports current-platform OAuth capture source status, including
credentials files and Keychain entries, without printing captured secret
bytes.- Codex file-backed ChatGPT OAuth, API-key, and legacy API-key import support,
with unsupported credential stores rejected explicitly. - Claude OAuth capture identity is taken from
oauthAccount; opaque Claude
credential tokens are captured as credentials, not decoded as identity. --yesis limited to high-risk writes and process-safety escape hatches:
addand ordinaryimport-currentreject it, while
import-current --yesis valid only with--assume-app-stopped. Interactive
terminals can typeyesat the prompt instead of passing--yes.
--assume-app-stoppedis rejected when no matching running process was
detected, so it cannot be used as a preemptive default flag.- Distribution is source-build first through Cargo and npm. The npm package
compiles the Rust project locally with Cargo during installation; GitHub
Releases do not publish unsigned prebuilt macOS or Windows binaries. - Release workflow uses Node 24-compatible actions, checks tag/Cargo version
alignment, and publishes release notes from the checked-in changelog. - Manual evidence helpers for Unix shells and Windows PowerShell generate
redacted release-candidate evidence skeletons, including redaction for common
JSON identity-name fields and Keychain account labels in diagnostic output. doctorcapture-source warnings include a next-step hint, so Keychain or
file-source diagnostics tell users how to verify metadata without revealing
credential bytes.
v0.1.1
Changelog
All notable user-facing changes are recorded here.
This project is still before its first stable release. Until then, entries may
describe release-candidate scope rather than long-term compatibility guarantees.
0.1.1 - 2026-05-27
- Initial MVP release candidate for
any-switch. - This is a macOS-evidenced stage release: macOS Claude OAuth import evidence is
complete, while broader restart/risk experiments plus Linux and Windows
manual evidence remain deferred follow-up work. Do not treat this release as
fulldocs/design.mdsection 13 coverage. - Built-in app definitions for Claude Code and OpenAI Codex.
- Definition-driven profile switching for file, JSON, TOML, environment, macOS
Keychain, and OAuth capture state. - User-defined app definitions and safe override exports for extending
any-switchwithout app-specific core branches. - Defensive backups, restore, drift detection, pending-switch recovery,
target-lock serialization, process-safety checks, and redacted diagnostics. doctorreports current-platform OAuth capture source status, including
credentials files and Keychain entries, without printing captured secret
bytes.- Codex file-backed ChatGPT OAuth, API-key, and legacy API-key import support,
with unsupported credential stores rejected explicitly. - Claude OAuth capture identity is taken from
oauthAccount; opaque Claude
credential tokens are captured as credentials, not decoded as identity. --yesis limited to high-risk writes and process-safety escape hatches:
addand ordinaryimport-currentreject it, while
import-current --yesis valid only with--assume-app-stopped. Interactive
terminals can typeyesat the prompt instead of passing--yes.
--assume-app-stoppedis rejected when no matching running process was
detected, so it cannot be used as a preemptive default flag.- Distribution is source-build first through Cargo and npm. The npm package
compiles the Rust project locally with Cargo during installation; GitHub
Releases do not publish unsigned prebuilt macOS or Windows binaries. - Release workflow uses Node 24-compatible actions, checks tag/Cargo version
alignment, and publishes release notes from the checked-in changelog. - Manual evidence helpers for Unix shells and Windows PowerShell generate
redacted release-candidate evidence skeletons, including redaction for common
JSON identity-name fields and Keychain account labels in diagnostic output. doctorcapture-source warnings include a next-step hint, so Keychain or
file-source diagnostics tell users how to verify metadata without revealing
credential bytes.
v0.1.0
Changelog
All notable user-facing changes are recorded here.
This project is still before its first stable release. Until then, entries may
describe release-candidate scope rather than long-term compatibility guarantees.
0.1.0 - 2026-05-27
- Initial MVP release candidate for
any-switch. - This is a macOS-evidenced stage release: macOS Claude OAuth import evidence is
complete, while broader restart/risk experiments plus Linux and Windows
manual evidence remain deferred follow-up work. Do not treat this release as
fulldocs/design.mdsection 13 coverage. - Built-in app definitions for Claude Code and OpenAI Codex.
- Definition-driven profile switching for file, JSON, TOML, environment, macOS
Keychain, and OAuth capture state. - User-defined app definitions and safe override exports for extending
any-switchwithout app-specific core branches. - Defensive backups, restore, drift detection, pending-switch recovery,
target-lock serialization, process-safety checks, and redacted diagnostics. doctorreports current-platform OAuth capture source status, including
credentials files and Keychain entries, without printing captured secret
bytes.- Codex file-backed ChatGPT OAuth, API-key, and legacy API-key import support,
with unsupported credential stores rejected explicitly. - Claude OAuth capture identity is taken from
oauthAccount; opaque Claude
credential tokens are captured as credentials, not decoded as identity. --yesis limited to high-risk writes and process-safety escape hatches:
addand ordinaryimport-currentreject it, while
import-current --yesis valid only with--assume-app-stopped. Interactive
terminals can typeyesat the prompt instead of passing--yes.
--assume-app-stoppedis rejected when no matching running process was
detected, so it cannot be used as a preemptive default flag.- Distribution is source-build first through Cargo and npm. The npm package
compiles the Rust project locally with Cargo during installation; GitHub
Releases do not publish unsigned prebuilt macOS or Windows binaries. - Release workflow uses Node 24-compatible actions, checks tag/Cargo version
alignment, and publishes release notes from the checked-in changelog. - Manual evidence helpers for Unix shells and Windows PowerShell generate
redacted release-candidate evidence skeletons, including redaction for common
JSON identity-name fields and Keychain account labels in diagnostic output. doctorcapture-source warnings include a next-step hint, so Keychain or
file-source diagnostics tell users how to verify metadata without revealing
credential bytes.