potiuk opened a new pull request, #74939: URL: https://github.com/apache/airflow/pull/74939
Follow-up to #74904. The writing-a-toolset guide says the example's pattern constraints keep a name or version from changing the URL the hook calls, but the `version` pattern (`^[A-Za-z0-9.!+_-]+$`) accepted `.` and `..`, which step the request onto another PyPI path (`pypi/<name>/../json` normalizes to `/pypi/json`). It now has to start with a letter or digit, like the `name` pattern: `^[A-Za-z0-9][A-Za-z0-9.!+_-]*$`. Real versions such as `3.1.0`, `1!2.0` and `2.0.0rc1` still match. --- ##### Was generative AI tooling used to co-author this PR? - [X] Yes — Claude Code (Opus 5) Generated-by: Claude Code (Opus 5) following [the guidelines](https://github.com/apache/airflow/blob/main/contributing-docs/05_pull_requests.rst#gen-ai-assisted-contributions) 🤖 Generated with [Claude Code](https://claude.com/claude-code) -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: [email protected] For queries about this service, please contact Infrastructure at: [email protected]
