[MAINTAINER SOP] This document contains the Standard Operating Procedure for Core Maintainers to cut and publish a new release. If you are an end-user looking for new features, please see the CHANGELOG.
| Field | Value |
|---|---|
| Version | v0.30.0 |
| Codename | Magnetite |
| Date | 2026-08-15 |
| Status | Stable |
This release concludes Epic 2: Semantic Linting Supremacy, the second major quality pillar of the Zenzic engine, and delivers a complete performance, design-system, and accessibility overhaul of the documentation site.
| Feature | Finding Codes | Description |
|---|---|---|
| Semantic Linting & A11y | Z513–Z517 |
Duplicate headings, excessive sentence length, empty sections, generic alt text, bare URLs |
| Editorial Style & Policy-as-Code | Z518–Z519, Z617–Z619 |
Passive voice detection, weasel words (opt-in), forbidden content patterns, required heading patterns, max document complexity |
| Semantic List Heuristics | Z520 |
Malformed list detection with deterministic AST heuristics |
- O(1) Navigation Memoization: Navigation graph is computed once and cached; subsequent topology queries are
O(1)dictionary lookups. - Batched IPC: Inter-process communication between LSP server and Core engine is batched to eliminate per-finding round-trips.
- Fused Lexer: Token scanning and rule matching fused into a single O(n) pass, eliminating redundant AST walks.
- Engineered Frame Image System (
extra.css): Standard images receiveborder-radius, multi-layerbox-shadow, and hover lift with brand glow. Cover images use.hero-coverwith elevated glow treatment. - WCAG 2.1 AA Contrast Fixes: Tailwind classes
text-zinc-400/500,text-rose-400,text-amber-400/500overridden viaextra.cssusing calibrated--zz-*semantic tokens. All contrast ratios now ≥ 4.5:1 (AA). - PageSpeed Optimization (
V030_FRONTEND_PERFORMANCE_OPTIMIZATION): KaTeX loaded on-demand only on pages containing.arithmatexelements, with SHA-384 Subresource Integrity (SRI) hashes andcrossorigin="anonymous". Homepage transfers 0 bytes of KaTeX. - Technical SEO & Sitemap Hygiene (
V0.30-14-SEO-REDIRECT-HYGIENE): Removed obsoletescoring-design.md, excludedincludes/*from sitemap, corrected broken 301 redirect.
Before tagging, every item must be green:
-
just verify— exits 0 (pre-commit hooks → pytest →zenzic score --stamp→ badge freshness →zenzic check all --strict) -
zenzic lab all— all 20 scenarios exit with expected code -
zenzic score --stampcommitted — badge in README.md reflects current score -
zenzic check all .— zero findings in the repo root -
pyproject.tomlversion matches the tag (0.30.0) -
CITATION.cffversion and date updated -
CHANGELOG.md—[Unreleased]section moved to the new version heading - Update SECURITY.md support table (Add new release, demote previous to Critical/EOL).
-
zenzic-docandzenzic-actionRELEASE.md updated to match this version - Verification of
zenzic initatomic protection (EXIT 1on existing config) - Verification of
zenzic inittemplate didactic comments and Z601 empty baseline
# Bump version
uv run bump-my-version bump patch
# Build wheel + sdist
python -m build
# Publish to PyPI
uv publishDistribution target: PyPI — pip install zenzic / uvx zenzic.
# 1. Merge the release branch into main via PR first!
# 2. Switch to main and pull latest
git checkout main
git pull origin main
# 3. Tag the main branch and push
git tag -s -m "Release v0.30.0" v0.30.0
git push origin main --tags
- Create GitHub Release from the tag, using the
## [0.30.0]CHANGELOG section as the release body.
For a detailed list of changes, see CHANGELOG.md. For full history, see Historical Archives.