Releases: burakdede/aisw
Releases · burakdede/aisw
v0.3.3
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 | shOr 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>.sha256v0.3.2
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 | shOr 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>.sha256v0.3.1
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 | shOr 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>.sha256v0.3.0
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 | shOr 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>.sha256v0.2.0
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 | shOr 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>.sha256v0.1.1
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_COLORhandling. - Safer profile onboarding and deduplication during
initandadd, 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, andaisw 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 | shOr install from crates.io:
cargo install aiswv0.1.0
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 | shOr 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