v0.5.0
feder-cr/AIHawkv0.5.0Sep 4, 2026by feder-cr
AI Summary
This release introduces a `.env` file support for configuration, updates the dependency floor for a Playwright MCP server to ensure tool compatibility, and adds a version check to prevent accidental duplicate publishes.
Key Highlights
- Added support for a `.env` file in the current directory to store `OPENROUTER_API_KEY` and `STEALTHFOX_BINARY`.
- Implemented a configuration priority order: `--flag` > environment variables > `.env` > default.
- Updated dependency floor to `invisible-playwright-mcp>=0.11.0` to support new session management verbs.
- Added a check to verify version availability on the index before publishing.
New Features
- .env file loading and parsing
- Configuration variable priority logic
- Startup logging of variable names instead of values
- Index version availability check
Full Release Notes
The key and the browser path are the two things nobody wants to retype, and a shell profile is a bad home for them: global, invisible from the project, and different on every machine. **Added.** A `.env` in the directory you run from, read at startup: ``` OPENROUTER_API_KEY=sk-or-... STEALTHFOX_BINARY=/path/to/firefox ``` Three decisions carry it. The current directory only, never a walk upwards, so running from a subfolder cannot silently pick up somebody else's key with nothing on screen saying which file was used. It never overrides what is already set, so the order is `--flag` > environment > `.env` > default. And the startup line names the variables it applied and never their values, because terminals get pasted into issues. **Changed.** The floor moves to `invisible-playwright-mcp>=0.11.0`, and that half is not cosmetic. The step list gained verbs for `session_start` and `session_status`, which only exist from 0.11.0; with the floor at 0.10.0 an install could resolve a server offering neither, and a table naming tools the server does not have renders something nobody can reach. **Added.** A check that asks the index whether the version a change proposes is still free. 0.4.0 went to the index and main then gained two more changes while `pyproject` still named it, so a release from there would have published nothing and reported success: the publish workflow treats an already-present version as a deliberate no-op, which is right for a re-pushed tag and indistinguishable from somebody forgetting to bump.