Repository navigation
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 reuses existing tabs (d37ca68)
- migrate from Node.js/Vitest to Bun runtime (bc00cc2)
Performance Improvements
- add test sharding to handle Chrome backpressure (92a14f2)
- replace fs with Bun native file I/O for 3-5x performance gain (bc305be)
BREAKING CHANGES
- Repository and binary renamed from playwright-cli/pw to air-cli/air
Changes
Project Identity
- Name: playwright-cli → air-cli
- Binary: pw → air
- Description: Now emphasizes Agentic Information Retrieval paradigm
- Philosophy: Take back control of information diet from Big Tech algorithms
Files Updated
- package.json: name, bin, description, keywords
- Build scripts: Use bin/ folder for artifacts instead of root
- .gitignore: Ignore bin/ folder, updated session file patterns
- README.md: Comprehensive rewrite with Agentic IR philosophy
- CLAUDE.md: Updated project overview with Agentic IR context
- install.sh: Use air binary, bin/ folder, AIR-CLI markers
Architecture Changes
- Build artifacts now in bin/ folder (cleaner root)
- Binary path: bin/air (was pw in root)
- Install markers: AIR-CLI (was PLAYWRIGHT-CLI)
- Backward compatibility in install.sh for old markers
What is Agentic IR?
Unlike traditional IR systems that filter content using opaque algorithms
optimized for engagement, Agentic IR gives users control by:
- Direct browser access to platforms (Facebook, Twitter, news)
- LLM-powered content analysis based on user's preferences
- Proactive curation (like Perplexity/NotebookLM for all platforms)
Your AI agent. Your rules. Not Meta's.