|
| 1 | +# semvertag 0.7.2 — httpware 0.15 compatibility; richer PyPI metadata |
| 2 | + |
| 3 | +**Patch release. Dependency-compatibility fix and packaging/docs polish — no user-facing CLI behavior change.** The provider HTTP clients are updated to httpware 0.15's renamed response-body-cap API, and the PyPI listing gains fuller keywords, classifiers, and project URLs. Existing users upgrade with no action required; CLI inputs, outputs, and exit codes are unchanged. |
| 4 | + |
| 5 | +> Note: these notes were backfilled after the fact (0.7.2 shipped without a `planning/releases/0.7.2.md`); they reconstruct the release from its commit range `0.7.1..0.7.2`. |
| 6 | +
|
| 7 | +## What landed |
| 8 | + |
| 9 | +- **Restore httpware 0.15 compatibility** (`semvertag/ioc.py`, `pyproject.toml`). httpware renamed its error-body cap to a response-body cap; the floor moves `httpware[pydantic]>=0.12.0` → `>=0.15.0`, and both client factories switch `max_error_body_bytes=_MAX_ERROR_BODY_BYTES` → `max_response_body_bytes=_MAX_RESPONSE_BODY_BYTES`. The 1 MiB defensive cap from 0.7.1 is preserved; only the keyword and constant name changed. ([PR #31](https://github.com/modern-python/semvertag/pull/31)) |
| 10 | +- **Richer PyPI metadata** (`pyproject.toml`). Expanded `keywords` (adds `versioning`, `git`, `cli`, `python`) and split the single `repository` URL into `Homepage` (https://semvertag.modern-python.org) + `Repository`, improving discoverability on the PyPI listing. No runtime effect. ([PR #30](https://github.com/modern-python/semvertag/pull/30)) |
| 11 | + |
| 12 | +## Also in this tag (non-package) |
| 13 | + |
| 14 | +These shipped in the same range but do not affect the published package's behavior: |
| 15 | + |
| 16 | +- **Docs site branding** — org logo, favicon, and brand palette. ([PR #27](https://github.com/modern-python/semvertag/pull/27)) |
| 17 | +- **Docs deploy via GitHub Actions Pages**, dropping the `gh-pages` branch. ([PR #28](https://github.com/modern-python/semvertag/pull/28)) |
| 18 | +- **Planning convention** — flattened `planning/changes/` and a generated index; adopted the `planning/decisions/` ADR convention. ([PR #29](https://github.com/modern-python/semvertag/pull/29), [#31](https://github.com/modern-python/semvertag/pull/31)) |
| 19 | + |
| 20 | +## Why |
| 21 | + |
| 22 | +httpware 0.15 renamed the body-cap parameter introduced in 0.11/0.7.1. Pinning the floor and adopting the new keyword keeps the defensive cap working and lets the dependency move forward; the metadata enrichment is opportunistic packaging polish bundled into the same patch. |
| 23 | + |
| 24 | +## Breaking changes |
| 25 | + |
| 26 | +None. The body-cap behavior is byte-for-byte unchanged (same 1 MiB threshold, renamed parameter); the metadata and docs changes are non-functional. CLI, outputs, and exit codes are identical to 0.7.1. |
| 27 | + |
| 28 | +## Release procedure |
| 29 | + |
| 30 | +`tag-major.yml` automatically updates the floating `v0` tag on release-published. |
| 31 | + |
| 32 | +```sh |
| 33 | +gh release create 0.7.2 \ |
| 34 | + --title '0.7.2 — httpware 0.15 compatibility; richer PyPI metadata' \ |
| 35 | + --notes-file planning/releases/0.7.2.md |
| 36 | +``` |
| 37 | + |
| 38 | +`publish.yml` fires on release creation and pushes 0.7.2 to PyPI (`just publish` runs `uv version 0.7.2`, builds, and uploads). `tag-major.yml` fires in parallel and force-updates `v0` to point at the 0.7.2 commit. |
| 39 | + |
| 40 | +## See also |
| 41 | + |
| 42 | +- PRs: [#27](https://github.com/modern-python/semvertag/pull/27), [#28](https://github.com/modern-python/semvertag/pull/28), [#29](https://github.com/modern-python/semvertag/pull/29), [#30](https://github.com/modern-python/semvertag/pull/30), [#31](https://github.com/modern-python/semvertag/pull/31) |
| 43 | +- Predecessor: [semvertag 0.7.1](0.7.1.md) — bound provider error-body reads |
| 44 | +- Successor: [semvertag 0.8.0](0.8.0.md) — default-branch override honored; closed-outcome internals |
0 commit comments