Skip to content

Releases: burakdede/aisw

v0.3.3

24 Apr 01:10

Choose a tag to compare

Changes

  • chore: release v0.3.3
  • ci: harden Homebrew formula checksum mapping
  • test: add regression coverage for keyring-backed use apply paths
  • Update project logo and remove em dashes from docs
  • Documentation overhaul
  • Use GEMINI_CLI_HOME instead of HOME override for Gemini OAuth isolation
  • Preserve mcpOAuth tokens when writing Claude credentials to the Keychain
  • Fix Gemini OAuth scratch dir leak on success
  • Remove dead capture-dir code from Claude OAuth
  • Replace four hand-rolled base64 decoders with shared util::jwt module
  • Stabilize test runtime flags with thread-local isolation
  • Prevent real keychain access in unit tests by default
  • Increase Gemini auth coverage to satisfy quality gate
  • Raise use command coverage and stabilize coverage run assertions
  • Add Unix PTY integration tests for interactive pickers
  • Unify init import output into consistent effects layout
  • Add TTY-only interactive selection for remove/rename/backup restore
  • Harden JSON script-mode contracts for filter/sort outputs
  • Add filtering and sorting flags to list/status/backup list
  • Add TTY-only interactive profile selection for use
  • Improve CLI human output consistency and harden Gemini scratch dirs
  • test: relax windows codex live-file assertion to behavior
  • test: force USERPROFILE precedence in windows harness
  • test: sandbox windows home env in integration harness
  • test: make fake keyring path-safe on windows
  • test: gate platform-specific flakes and stabilize add runtime state
  • ci: fix test lock poisoning and stabilize coverage gate
  • ci: fix homebrew workflow gating and secret checks
  • ci: fix windows test compile and stabilize coverage/homebrew gates
  • test: expand command edge-mode matrix coverage
  • test: expand opt-in real credential-store canary auth coverage
  • test: add Windows secure-backend parity integration coverage
  • test: add JSON output contract coverage for list/status/backup
  • test: add command contract matrix across auth backends
  • test: add native Windows integration smoke coverage
  • ci: enforce branch and critical-path coverage gates
  • test: add opt-in real credential-store canary
  • test: enforce acceptance-matrix reference integrity
  • test: backfill codex secure-backend coverage
  • Run native Windows unit tests in CI
  • Harden test env isolation for local config safety
  • add --from-live flag to aisw add (#7)
  • test(add): stabilize from-env env-var tests (#11)
  • docs: add terminal workflow GIF demo to README (#10)
  • Merge pull request #9 from burakdede/chore/homebrew-release-automation
  • Merge origin/main into chore/homebrew-release-automation
  • docs: overhaul docs and website content for concise developer-first guidance
  • release: automate Homebrew tap updates on published releases (#8)
  • release: automate Homebrew tap updates on published releases
  • test(ci): run windows compatibility as build-only
  • test(ci): make doctor permission check cross-platform
  • docs(testing): document strategy and local gates
  • test(backup): remove sleep-based prune test timing
  • test(ci): add windows job and lock test commands
  • add issue and PR templates
  • fix ci imports for claude oauth tests
  • fix gemini oauth shutdown test flake
  • fix(gemini): restore interactive tty and clean up OAuth child tree
  • fix(init): skip duplicate Claude OAuth imports by exact credential match
  • fix(gemini): terminate OAuth process group to prevent TTY EIO
  • fix(gemini): stop OAuth child after capture and simplify prompts
  • fix(claude): apply keyring-backed profiles to file-based live auth
  • fix(init): allow skipping duplicate interactive imports
  • test(init): assert Claude OAuth import is idempotent
  • fix(add): preserve live Claude state unless --set-active
  • fix(claude): avoid config-dir override during OAuth login
  • fix(claude): accept live OAuth credentials when capture dir is ignored
  • AI-101: Gemini HOME-override OAuth failure mode integration tests
  • AI-97/AI-94: color-coded list with auth badges and grouped --json output
  • AI-95: animated spinner and step-by-step guidance for OAuth add flows
  • AI-100: verify captured Gemini OAuth identity via JWT decode
  • AI-103: OAuth token expiry warnings in status and use
  • AI-105: aisw add --from-env bootstraps API key profile from environment variable
  • AI-104: aisw use --all switches all tools to same-named profile
  • AI-96: profile name typo suggestions via Levenshtein edit distance
  • Enrich post-switch output with tool→profile header and account identity
  • Add aisw doctor diagnostic command
  • Split auth/claude.rs into focused sub-modules
  • Add AiswError typed error taxonomy with exit codes
  • Guard Codex config.toml merge against malformed TOML

Install

curl -fsSL https://raw.githubusercontent.com/burakdede/aisw/main/install.sh | sh

Or download directly from the assets below and verify the checksum:

# Linux / macOS
sha256sum -c aisw-<target>.sha256
# macOS (if sha256sum not available)
shasum -a 256 -c aisw-<target>.sha256

v0.3.2

01 Apr 22:07

Choose a tag to compare

Changes

  • vendor keyring on linux build
  • Bump version to 0.3.2
  • trim down README docs
  • Fix OAuth capture and terminal cleanup
  • fix and properly scope test target platforms
  • add missing headers for linux keyring
  • improve keychain pass prompt deny DX
  • add test coverage for secure backend
  • improve fish syntax
  • add hardening for all codex flows
  • add hardening for all claude code flows
  • Fix Claude macOS live auth restore
  • Use standard Claude login during add
  • Make Codex OAuth storage policy consistent
  • Avoid Claude Keychain prompts during status
  • Reduce Claude Keychain prompting on macOS
  • Fix Claude init keychain import on macOS
  • Use standard Codex login during add
  • Accept stable Claude keychain logins during add
  • Improve uninstall binary removal guidance
  • Clarify same-shell install guidance
  • Avoid raw keychain prompts during secure import

Install

curl -fsSL https://raw.githubusercontent.com/burakdede/aisw/main/install.sh | sh

Or download directly from the assets below and verify the checksum:

# Linux / macOS
sha256sum -c aisw-<target>.sha256
# macOS (if sha256sum not available)
shasum -a 256 -c aisw-<target>.sha256

v0.3.1

31 Mar 11:42

Choose a tag to compare

Changes

  • Bump release version to 0.3.1
  • Merge pull request #4 from burakdede/burakdede/auth-storage-support-hardening-20260331
  • Stabilize Claude auth tests on macOS
  • Refine auth storage policy by platform
  • Fix Claude Keychain import on macOS

Install

curl -fsSL https://raw.githubusercontent.com/burakdede/aisw/main/install.sh | sh

Or download directly from the assets below and verify the checksum:

# Linux / macOS
sha256sum -c aisw-<target>.sha256
# macOS (if sha256sum not available)
shasum -a 256 -c aisw-<target>.sha256

v0.3.0

31 Mar 10:06

Choose a tag to compare

Changes

  • chore: release v0.3.0
  • Merge pull request #3 from burakdede/burakdede/auth-storage-support-hardening-20260331
  • Use headless auth flows during add
  • Improve Codex keyring account discovery
  • Add auth backend acceptance matrix
  • Document auth backend support matrix
  • Fail closed on unknown Codex keyring accounts
  • Keep Claude OAuth profiles in secure storage
  • Generalize keyring-backed auth detection
  • Format Codex keyring import test
  • Add cross-platform system keyring backend
  • Store Codex OAuth profiles securely on macOS
  • Centralize secure backend access
  • Avoid leaking keychain secrets in process args
  • Keep keychain-backed profiles secure on macOS
  • Import Codex from macOS Keychain during init
  • Centralize Gemini init import policy
  • Make init storage-aware for Codex and Gemini
  • make init claude import platform-aware
  • fix claude macos oauth switching

Install

curl -fsSL https://raw.githubusercontent.com/burakdede/aisw/main/install.sh | sh

Or download directly from the assets below and verify the checksum:

# Linux / macOS
sha256sum -c aisw-<target>.sha256
# macOS (if sha256sum not available)
shasum -a 256 -c aisw-<target>.sha256

v0.2.0

30 Mar 12:55

Choose a tag to compare

Changes

  • chore: release 0.2.0
  • consolidate glue modules
  • simplify tool detection pipeline
  • standardize init prompts with dialoguer
  • use standard jwt payload decoding
  • add critical runtime test coverage
  • extract shared auth file utilities
  • refactor tool config access
  • add safe uninstall workflow
  • add real shell integration tests for source hooks
  • tighten pre-commit checks
  • document gemini isolated-only state mode
  • add claude shared state mode
  • add codex shared state mode
  • make live profile switching transactional
  • finish structured backup list output
  • harden global CLI execution contract for automation
  • redact secrets in stdio and add regression tests to prevent secrets from appearing sterr
  • fix build failures regardign the unlock API and website
  • introduce compatibility-preserving lock around config.json mutations
  • update and improve documentation with troubleshooting
  • Add README badges

Install

curl -fsSL https://raw.githubusercontent.com/burakdede/aisw/main/install.sh | sh

Or download directly from the assets below and verify the checksum:

# Linux / macOS
sha256sum -c aisw-<target>.sha256
# macOS (if sha256sum not available)
shasum -a 256 -c aisw-<target>.sha256

v0.1.1

26 Mar 15:06

Choose a tag to compare

Highlights

  • Structured CLI output system across the main commands, with clearer titles, sections, action feedback, and next-step guidance.
  • Better automation support with backup list --json, documented stdout/stderr and JSON contracts, and --no-color / NO_COLOR handling.
  • Safer profile onboarding and deduplication during init and add, including deterministic duplicate detection for exact API-key matches and already-managed OAuth identities.
  • Improved first-run UX with explicit tool detection, clearer onboarding/import steps, and idempotent behavior when rerunning aisw init.
  • Refreshed documentation website with tighter docs structure, improved SEO, and an updated Asciinema walkthrough that reflects the current CLI output and workflows.

Included

  • Structured output for init, add, use, status, list, rename, remove, and backup flows.
  • JSON output for aisw list, aisw status, and aisw backup list.
  • Consistent release/version metadata across the CLI docs site.
  • Updated website homepage demo covering setup, switching, rename/remove, and backup restore.

Install

curl -fsSL https://raw.githubusercontent.com/burakdede/aisw/main/install.sh | sh

Or install from crates.io:

cargo install aisw

v0.1.0

26 Mar 14:40

Choose a tag to compare

Changes

  • Shell-escape emitted environment values
  • Align Gemini emit-env with active profile switching
  • Clarify active profile behavior in docs
  • Apply imported profiles during init
  • Apply active profiles directly to live tool config
  • Add restrained next-step guidance
  • Let init name and label imported profiles
  • Add profile rename command
  • Make use and status reflect current shell state
  • Make imported profiles active by default on init
  • Restore legacy backups without metadata sidecars
  • Include Codex file-store config on import
  • Restore profile metadata with backup snapshots
  • Make backup restore use unique backup ids
  • Track Cargo.lock for locked release builds
  • shell completions via clap_complete with installer and CI coverage
  • fix shell installer bug and add hermetic installer test
  • make tool detection robust; checks no longer shell out for versions
  • documentation and man pages overhaul with added quick start for onboarding
  • e2e integration tests for full commands and lifecycle
  • relase workflow and platform build matrix with checksum
  • install shell platform detection and binary release with checksum
  • audit error messages format apply consistent actionable three part format
  • add backup list and restore commands
  • fix flaky tests caused by fork copying the parent process's entire fd table into the child before execve replaces the image during parallel run
  • aisw init — shell hook install, credential import, idempotent first-run setup
  • add fish shell hook and shell-integration docs
  • aisw shell-hook for bash and zsh with AISW_SHELL_HOOK sentinel
  • aisw remove with active profile guard, confirmation prompt, and final backup
  • aisw status with per-tool health check and JSON output
  • aisw list with table and JSON output
  • aisw use command with env var emission, Gemini .env rewrite, and backup on switch
  • aisw add command handler wiring all auth flows with tool detection guard
  • OAuth flows for codex and gemini
  • auth handlers for all three tools, API key and OAuth flows
  • add auth handlers for claude, codex, gemini API keys
  • backup module with snapshot, list, restore, and auto-prune
  • scaffold integration test harness with TestEnv and CLI smoke tests
  • add tool detection module
  • fmt files automatically with commit instead of just checking/failing
  • add profile storage module
  • config module with atomic writes, permissions, and schema versioning
  • clap v4 cli with all subcommands, tool enum, and parser tests
  • init cargo workspace with ci, lint, and coverage pipeline
  • init cargo workspace with ci, lint, and coverage pipeline

Install

curl -fsSL https://raw.githubusercontent.com/burakdede/aisw/main/install.sh | sh

Or download directly from the assets below and verify the checksum:

# Linux / macOS
sha256sum -c aisw-<target>.sha256
# macOS (if sha256sum not available)
shasum -a 256 -c aisw-<target>.sha256