v0.70.0
feder-cr/invisible_dotsv0.70.0Sep 23, 2026by github-actions[bot]
Upgrading?
AI Summary
This release finalizes the migration of the package from the old name 'aihawk' to 'invisible-playwright-mcp', updating infrastructure and logic to support the new distribution while correcting previous assumptions about package deletion.
Key Highlights
- Old package names (aihawk) were deleted to allow registration of the new name (invisible-playwright-mcp).
- Release checking logic updated to distinguish between a deleted project (404) and an index error.
- Single-version guard changed to 'skip' to allow the initial release under the new name without triggering CI failures.
- Documentation and docstrings updated to clarify that deleted names can be re-registered on PyPI.
Breaking Changes
- The package is no longer available under the name 'aihawk'; users must update their references to use 'invisible-playwright-mcp'.
- Endpoints previously serving the old names now return 404 instead of 200.
New Features
- Added logic to handle the case where a project is declared deleted but still serves versions.
- Implemented a 'skip' mechanism for the single-version guard during the first release of the new name.
- Updated docstrings to accurately describe the deletion and propagation of the old distribution names.
Full Release Notes
Both old names were deleted from the index on 2026-09-23 to free the new one: aihawk and the shim that held invisible-playwright-mcp. Four endpoints answer 404 for both (JSON, simple, RSS, the file host) while invisible-playwright answers 200 at the same moment, and PyPI accepted a pending publisher for the new name, which it does only for a name that does not exist. So today `uvx invisible-playwright-mcp` resolves to nothing, and this version is what the README's instructions need to reach. It also takes back a correction that was itself wrong. #1389 called the 404 a transient, on the premise that PyPI does not let a deleted name be registered again. It does, which is what made the rename possible; the deletion was real and propagated unevenly. Three docstrings now say so. The releases check learns the case it was missing. A deleted project answers 404 and so does an index having a bad minute, and nothing the index says can tell them apart, so each distribution carries the day it was deleted, declared like the boundary. Deleted ranges are not asked, and their tags are not evidence that something should be served. The declaration is checked in the one direction the index can answer: a project declared deleted that serves versions fails. The single-version guard is now a skip: the first release under the new name is the only version on the index, and failing on that would be red on every pull request until a second release, for nothing wrong. Proven by three mutations, each red and naming its cause: aihawk declared live, the boundary moved to 0.68.0, and a served project declared deleted.
Related Repositories
openclaw/openclaw★ 392,696
The AI that really does things. Any OS. Any Platform. The lobster way. 🦞
nilbuild/developer-roadmap★ 370,068
Interactive roadmaps, guides and other educational content to help developers grow in their careers.
morluto/rea★ 357,772
Reverse engineer anything with agents, from app behavior down to native binaries.
anomalyco/opencode★ 219,680
The open source coding agent.
n8n-io/n8n★ 208,252
Fair-code workflow automation platform with native AI capabilities. Combine visual building with custom code, self-host or cloud, 400+ integrations.