press v1.17.0
A public-experience and maintenance pass: accessibility landmarks and
declared metadata on every docs page, community scaffolding and governance,
one contributor verify command, every Action off the deprecated Node 20
runtime, and the code deprecation warnings cleared.
Added
- Public-project scaffolding: structured GitHub issue forms (defect,
proposal, documentation) that ask for the diagnostics a report needs and
route security privately, a pull-request template tied to the project's
actual contracts (#163); a Contributor Covenant Code of Conduct and an
honest single-maintainerGOVERNANCE.mdcovering decision/release/security
authority and bus-factor (#164); andscripts/verify.sh, one fast-to-
complete command that runs the local half of CI's quality gate
(lint/type/selftest/pytest, then the coverage and mutation ratchets and
the site build), documented in CONTRIBUTING (#162). The repository's
discovery metadata (homepage, topics) and auxiliary-surface flags are set
(#165). - The documentation site declares its metadata instead of leaving search
engines and link previews to infer it: every page carries a canonical URL,
a meta description derived from its own first paragraph, and Open
Graph/Twitter-card tags, and the build emits a deterministicsitemap.xml
androbots.txt. The build fails if a page lacks a canonical URL or
description (part of #158; book-page structured data is separate). - Every documentation-site page declares its language (
<html lang="en">),
exposes onemainlandmark, and leads with a skip-to-content link as the
first focusable element; the build fails if a page lacks any of them
(#157). The CSS-only mobile menu shows a focus ring on its toggle so it is
operable and visible by keyboard (#156). (Internal doc links already stay
on the site rather than bouncing to GitHub, #159.)
Changed
- Every pinned GitHub Action moved off the deprecated Node 20 runtime to its
current Node 24 release (checkout, setup-python, upload/download-artifact,
deploy-pages, upload-pages-artifact), each pinned by full commit SHA with
the reviewed version in a comment; the artifact inputs we use are
unchanged across the bump. A posture test fails if any action is ever
left unpinned by SHA (#179).
Fixed
- Deprecation cleanup.
verify_coverwrapreads pixels withImage.tobytes()
instead of the deprecatedImage.getdata()(removed in Pillow 14), with a
press-scoped warning-to-error filter so it cannot creep back (#167); the
async fixture loop scope is pinned tofunctionexplicitly, matching the
suite's isolation law and ending the pytest-asyncio default-drift warning,
proven by a loop-identity and task-leak test (#169). The site's Pandoc
--no-highlightdeprecation is already gone: the redesign turned
highlighting on and colors the tokens in CSS, so no deprecated flag is
passed (#170).