Skip to content

Releases: riverscn/any-switch

v0.1.2

28 May 00:09

Choose a tag to compare

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-switch reporting 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 npx path 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
    full docs/design.md section 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-switch without app-specific core branches.
  • Defensive backups, restore, drift detection, pending-switch recovery,
    target-lock serialization, process-safety checks, and redacted diagnostics.
  • doctor reports 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.
  • --yes is limited to high-risk writes and process-safety escape hatches:
    add and ordinary import-current reject it, while
    import-current --yes is valid only with --assume-app-stopped. Interactive
    terminals can type yes at the prompt instead of passing --yes.
    --assume-app-stopped is 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.
  • doctor capture-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

27 May 14:58

Choose a tag to compare

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
    full docs/design.md section 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-switch without app-specific core branches.
  • Defensive backups, restore, drift detection, pending-switch recovery,
    target-lock serialization, process-safety checks, and redacted diagnostics.
  • doctor reports 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.
  • --yes is limited to high-risk writes and process-safety escape hatches:
    add and ordinary import-current reject it, while
    import-current --yes is valid only with --assume-app-stopped. Interactive
    terminals can type yes at the prompt instead of passing --yes.
    --assume-app-stopped is 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.
  • doctor capture-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

27 May 08:02

Choose a tag to compare

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
    full docs/design.md section 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-switch without app-specific core branches.
  • Defensive backups, restore, drift detection, pending-switch recovery,
    target-lock serialization, process-safety checks, and redacted diagnostics.
  • doctor reports 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.
  • --yes is limited to high-risk writes and process-safety escape hatches:
    add and ordinary import-current reject it, while
    import-current --yes is valid only with --assume-app-stopped. Interactive
    terminals can type yes at the prompt instead of passing --yes.
    --assume-app-stopped is 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.
  • doctor capture-source warnings include a next-step hint, so Keychain or
    file-source diagnostics tell users how to verify metadata without revealing
    credential bytes.