Skip to content

Latest commit

 

History

History
129 lines (93 loc) · 3.68 KB

File metadata and controls

129 lines (93 loc) · 3.68 KB

shimkit 0.19.0

Plans tree drained. Two new plans-docs land in docs/plans/. No source-code changes.

For the full machine-readable changelog, see CHANGELOG.md.


TL;DR

docs/plans/future-additions.md     items with concrete patterns, no demand
docs/plans/shipping-audit.md       what shipped vs what's pending

Together they answer the question "is there anything in any plan, design spec, or doc that's silently orphaned?" — and the answer is no.


What got documented

future-additions.md

Items with a clear pattern + LOC estimate but no current user demand. Graduation rule: "someone is asking for it" — not "it would be nice to have."

  • More TLS DNS-01 providers (DigitalOcean, Hurricane Electric, Google Cloud DNS, Linode, OVH).
  • More framework recipes (Rails, Next.js, Flask).
  • More db engines (valkey, elasticsearch, opensearch, kafka, minio, clickhouse).
  • --on-host for stack lemp — explicitly rejected with rationale: stack is intrinsically multi-container; the v0.9.0 db --on-host covers the "local db without Docker" need without inheriting the recipe's coupling complexity.

shipping-audit.md

Comprehensive walk through every plan / design spec / doc in the repo. Ten sections covering:

Section Bucket Count
A Migration W1-W9 9/9 shipped
B feature-gap-analysis defer list 4 shipped + 1 rejected
C validation-report TODOs all closed out
D cleanup-2026-05-14 deferrals 2 shipped (v0.10 / v0.12)
E shipping-checklist all in-code shipped
F Permanent skips 16 documented with rationale
G User-side actions still pending 2
H Future additions cross-ref
I Chronological release list 13 releases this session
J Audit conclusion "the plans tree is drained"

Section G — the only items still genuinely outstanding

These are not deferrals. shimkit's code is ready; the human isn't.

G.1 — PyPI trusted-publisher config (~10 min)

The publish-pypi job has failed on v0.11.0 through v0.18.0 because the user-side trusted-publisher config isn't done yet. The wheel + sdist are live on the GitHub Release page for every version; PyPI is empty.

To fix (see shipping-audit.md G.1 for full step-by-step):

  1. PyPI → https://pypi.org/manage/account/publishing/ → add pending publisher with simtabi / shimkit / release.yml / Environment pypi.

  2. GitHub → Settings → Environments → "New environment" named pypi.

  3. Re-run failed jobs:

    gh run list --workflow=release.yml | grep failure
    # for each failed run id:
    gh run rerun <run-id> --failed

    That backfills PyPI with the 10+ tags' wheels in ~5 minutes.

G.2 — Branch protection on main (~3 min)

Settings → Branches → Add rule for main requiring the named status checks (test (matrix cells), security, build, smoke).


Why ship the docs as their own release

The two plans docs were already pushed to main as chores yesterday. Tagging v0.19.0 today doesn't change the docs themselves — it gives the docs-index release-notes table a clear "this is the version where the plans-tree audit landed" pointer.

The next maintainer (or future me) reading the GitHub Release page can see "v0.19.0 — plans-tree audit" and know exactly where the durable record of what's done / what's pending / what's rejected lives.


Stats

  • Tests: 1130 (unchanged)
  • Source LOC: 0 changed
  • Doc LOC: ~500 added (across the two plans docs)
  • Gates: pytest, ruff, mypy strict — all green

Upgrading

uv tool upgrade shimkit
pipx upgrade shimkit

No behavioural changes.