Repository navigation
Releases
Releases · teamchong/air-cli
v2.1.4
v2.1.3
v2.1.2
v2.1.1
v2.1.0
v2.0.0
2.0.0 (2025-10-08)
Bug Fixes
- add CLI imports to test files and limit test concurrency (17f550e)
- add container-friendly Chrome flags for CI (fabb80b)
- add flush() to persist debounced saves before command exit (51b6d20)
- add intelligent field suggestions and improve error handling (89e024b)
- add Linux/Windows browser paths for CI container support (fce8c10)
- add missing beforeEach/afterEach imports to upload.test.ts (886c3a0)
- align Prettier and ESLint configs to prevent CI failures (ca942ee)
- allow inline to take precedence over file in exec command (6fb11b4)
- await async getPageId calls in console and network commands (683f96a)
- change default build to use Bun and add ws dependency (a859373)
- ci: add unzip installation to test jobs (5d4d2d0)
- ci: capture test exit code before Chrome cleanup (fe9cf58)
- ci: ignore Bun exit code temporarily to see test output (2724890)
- ci: install Playwright browsers before tests (35cb420)
- ci: parse test output instead of relying on exit code (f22ae98)
- ci: reduce test shards and add cleanup delays (292ae6f)
- ci: remove pkill cleanup that was causing SIGKILL (d68667e)
- ci: run test shards in parallel jobs to prevent OOM (c617bfd)
- ci: skip cleanup hooks in CI environment (cd5fe44)
- closeTestTab now uses clean environment from TabManager (811796c)
- complete edge case fixes for enhanced commands (69abd46)
- complete Vitest to Bun test migration (0db5b17)
- console command now captures all messages by default (ee37107)
- correct exec stdin test syntax (6d45de8)
- disable eslint unused-vars for JXA type definitions (3a73b51)
- dynamically resolve Playwright chromium path on Linux (bec88d2)
- eliminate Chrome memory leak in tests by avoiding navigate (a9e5e43)
- improve Calendar JXA access and add macOS permissions docs (6db242c)
- improve error display and summary messages (02a54f8)
- improve exec command inline script handling (652d2f6)
- improve exec command object result handling (47244ef)
- improve ref selector generation for combobox and searchbox elements (1215296)
- improve test tab cleanup and prevent memory leaks (9da47bc)
- install unzip in CI container for setup-bun action (602fc10)
- launch Chrome in CI environment (873f11e)
- move test output files to /tmp and add missing upload timeout (067f833)
- move verbose logs to stderr for clean stdout (06abad1)
- prevent memory leaks in console and network commands (aab352d)
- release: remove redundant quality checks from release workflow (f64601a)
- remove async from synchronous beforeEach hook in context tests (2666336)
- remove unused dependency 'why-is-node-running' from package.json and bun.lock (333acc4)
- replace fragile temp files with permanent fixture (5aae959)
- resolve all ESLint errors and add lint to pre-commit (c6c714a)
- resolve all ESLint formatting errors for CI (e4bc0b9)
- resolve CI test timeouts with sharded execution (fe8f4f0)
- resolve remaining edge cases in enhanced commands (0dc0d3d)
- resolve test environment pollution causing 4 test failures (ece14b2)
- resolve test failures and improve command compatibility (1d0838d)
- resolve test timeout issues and update error assertions (f65ac89)
- resolve upload test failures by using repo .tmp/ directory (0f90610)
- resolve upload test failures using CDP file upload API (c95e950)
- setup TypeScript typecheck for Bun compatibility (10d7b53)
- simplify test configuration and remove complex sharding (b3a73b7)
- unskip 2 tests (browser-config and network) (49119d6)
- update tests to match current implementations (9686bfd)
- use Playwright's dynamic chromium path instead of hardcoded version (0c82bb3)
Code Refactoring
- rename playwright-cli to air-cli - Agentic Information Retrieval (c2d6a45)
Features
- add default test environment variables in bunfig.toml (b0cef42)
- add native macOS app automation support (3b13bb5)
- add persistent action history and improve text-based element selection (9479d21)
- add tab health validation and enhanced error diagnostics (c520cd6)
- comprehensive test suite stability improvements (906d6b8)
- configure bunfig.toml preload and add .env.test (c14494a)
- implement comprehensive LLM-friendly enhancements (d0eab82)
- improve troubleshooting - open command reuse...
v1.0.1
v1.0.0
1.0.0 (2025-09-17)
Bug Fixes
- add missing @vitest/coverage-v8 dependency (35892c9)
- add Playwright browser installation to CI workflow (20b9e55)
- add prettier and format all files (f293d6b)
- add process.exit() to SIGINT handlers for monitoring commands (858e367)
- allow Codecov to fail gracefully without token (0833c58)
- build TypeScript before running tests in CI pipeline (630f622)
- configure semantic-release to skip npm publishing (751f7a9)
- correct all remaining test failures (e549dba)
- correct path to built index.js file in dist/src directory (0e8a57d)
- format command-builder.ts and fix ESLint CI command (99661fd)
- install unzip in Docker container and fix artifact upload (6563a59)
- make Release workflow lint check non-blocking like CI Pipeline (af81fe4)
- migrate CI workflows from npm to pnpm for consistency (e81072c)
- mock PlatformHelper properly in session-manager tests for cross-platform compatibility (6f7e508)
- remove all process.exit calls from command handlers to fix test failures (015f15b)
- rename install script to prevent auto-execution during CI (71571eb)
- rename test-helpers to mock-helpers to avoid gitignore (7146ba5)
- reorder pnpm setup before Node.js cache and ensure ESLint report exists (59dd159)
- resolve hanging commands and improve test reliability (441c86f)
- setup pnpm before Node.js in release workflow to fix caching (b899443)
- skip browser launch in CI test setup and teardown (75e13fd)
- skip browser-dependent tests in CI environment (bf7f544)
- skip build in test setup for CI and use TypeScript build only (a5b0daa)
- temporarily disable coverage thresholds check in CI (1e69d3e)
- transform console command to return immediately (5df1a3d)
- transform network command to return immediately (5885fe4)
- update all test expectations for real CLI behavior (2e9e3ce)
- update CI to use only Node 20 and fix deprecated actions (8ca905b)
- use npx instead of bunx for semantic-release in Release workflow (694fe53)
- use Playwright Docker container for CI environment (c75076f)
Features
- add lint-staged for automatic code formatting on commit (7f79300)
- add pnpm-lock.yaml for CI dependency caching (5e6a187)
- complete test suite migration to real CLI execution with tab ID management (4d5657a), closes #1
- improve install/uninstall scripts with cross-platform support (c667b63)
BREAKING CHANGES
- All tests now use real browser execution instead of mocks
Summary
- Migrated all 31 command test files from mocks to real CLI execution
- Implemented comprehensive tab ID management system
- Achieved 100% test pass rate (183 tests passing)
Key Changes
Test Infrastructure
- Added TabManager utility class for centralized tab ID management
- Implemented global test setup/teardown for browser session management
- Created helper functions to extract and track tab IDs from command output
Command Updates
- Added --tab-id and --tab-index parameters to all relevant commands
- Fixed missing error handling in select, wait, and session commands
- Updated all commands to return "Tab ID: XXXX" for tab tracking
Test Conversions (31 files)
- Navigation (7): open, navigate, back, wait, tabs, close, open.real
- Interaction (8): click, type, press, fill, select, hover, drag, upload
- Capture (5): screenshot, pdf, snapshot, resize, list
- Advanced (6): console, dialog, eval, exec, network, perf
- Utility (5): session, claude, codegen, install, test
Results
- 183 total tests passing
- 100% real browser execution with execSync
- Zero mocks remaining in command tests
- Proper tab cleanup using specific IDs only