Skip to content

chore(release): 0.90.1 - #680

Merged
padak merged 1 commit into
mainfrom
claude/release-0-90-1-a307ad
Aug 23, 2026
Merged

chore(release): 0.90.1#680
padak merged 1 commit into
mainfrom
claude/release-0-90-1-a307ad

Conversation

@padak

@padak padak commented Aug 23, 2026

Copy link
Copy Markdown
Member

Release PR for 0.90.1 — the only PR that touches pyproject.toml's version and changelog.py, per CONTRIBUTING.md > "Releasing a new version".

Scope — nine PRs merged since v0.90.0 (320ac07)

PR Title
#670 feat(ci): enforce vNEXT placeholder resolution in release PRs
#671 docs(serve): generate the endpoint reference from the app, gate it in CI (#656)
#672 feat(ui): render the Changelog page as a typed release timeline
#673 chore(ci): bump artifact + release actions off the Node 20 runtime
#674 feat(ui): redesign the Search page
#675 feat(ui,serve): cross-project All Jobs and All Tokens views
#676 ci: parallelise the test suite and stop paying for superseded runs
#677 serve: expose auth register-projects over REST (POST /auth/register-projects)
#678 fix(ci): stop the live vNEXT gate turning main and every PR red

All nine are covered by the changelog entry's 11 bullets; nothing else is in scope.

On the version number

0.90.1 is a patch number carrying feature work (new REST endpoints, new UI views). Chosen deliberately — this is a same-day catch-up on the 0.90.0 cycle, and 0.x semver leaves the call open. Flagging it so it is a decision on the record rather than an oversight.

Checklist walked

  • 1. Raw materialgit log v0.90.0..origin/main --first-parent, nine merges, each read for its user-visible surface
  • 2. pyproject.toml0.90.00.90.1
  • 3. Changelog entry — 11 bullets, one logical change each, every PR referenced. Every headline verified against CHANGELOG_HEADLINE_MAX_CHARS (longest is 121 of 160)
  • 4. vNEXT resolved — five live gates → (since v0.90.1); make vnext-check reports all 474 gates across 74 versions resolve to a release
  • 5. make version-syncplugin.json, marketplace.json, uv.lock
  • 6. make skill-gen — no diff (no command surface changed this release)
  • 7. whatsnew.ts — curated 4-item reel for feat(ui): render the Changelog page as a typed release timeline #672/feat(ui): redesign the Search page #674/feat(ui,serve): cross-project All Jobs and All Tokens views #675
  • 8. keboola-expert.md — reviewed, deliberately unchanged (see below)
  • 9. gotchas.md — two entries rewritten from the placeholder; both already authored by their feature PRs
  • 10. CLAUDE.md ## All CLI Commands — gap found and fixed (see below)
  • 11. commands-reference.md — same gap, same fix
  • 12. make check — green: 6117 passed, 12 skipped in 27 s, all gates clean
  • 13. make test-e2e — not run; see below

Drift this release had to fix

#675 changed CLI behaviour but only documented it in gotchas.md. A multi-project job list now merges globally by --sort-by/--sort-order instead of grouping alias-then-id — that is a kbagent job list behaviour change, not just a serve one, and it was missing from both authoritative agent-facing catalogues. Added here to:

  • CLAUDE.md ## All CLI Commands (job list (0.90.1+, #675) note)
  • commands/context.py AGENT_CONTEXT (the reference agents load at session start)
  • commands-reference.md

make command-sync-check cannot catch this — it verifies that every command is present, not that a behaviour change to an existing command was written down.

A version tag was sitting in a markdown heading. docs/web-server.md's ### /auth/* — three read/audit endpoints, three deliberate gaps *(since vNEXT)* would have changed its anchor slug on every release, which is exactly the failure CONTRIBUTING.md step 4 warns about after it bit 0.90.0. The tag moved to the section's first body line. No inbound anchors existed yet, so nothing broke — this is prophylactic. gotchas.md keeps its version tags in headings: that is a 101-entry file-wide convention, and changing it belongs in its own PR.

Deliberate skips

  • keboola-expert.md unchanged. No new write/destructive command group (auth already has its row; serve: expose auth register-projects over REST (POST /auth/register-projects) #677 added no CLI leaf command). The job list ordering change is a presentation detail an agent cannot act wrongly on, and the prompt is a high-signal decision matrix — the detail belongs in AGENT_CONTEXT, where it now is. File is 50 988 B of the 70 000 B budget.
  • make test-e2e not run. No CLI command was added, removed, or had its wire behaviour changed this release — the changes are serve routes, the React SPA, and CI. The nightly e2e.yml run covers the standing surface. Say the word if you want it run against a live project before the tag.

Plugin files touched

  • plugins/kbagent/.claude-plugin/plugin.json (auto-synced)
  • plugins/kbagent/skills/kbagent/references/gotchas.md (placeholder resolution)
  • plugins/kbagent/skills/kbagent/references/commands-reference.md (job list ordering)
  • .claude-plugin/marketplace.json (auto-synced)

SKILL.md correctly has no diff.

Verification

  • make check — 6117 passed, 12 skipped, 27 s; lint, format, ty, skill, version, command-sync, endpoints, error-codes, sentinel-guards, loc-check all clean
  • make vnext-check — green (474 gates, 74 versions)
  • Frontend — tsc --noEmit clean, vite build clean, vitest 118 passed (7 files)
  • scripts/gen_release_notes.py --version 0.90.1 renders all 11 bullets with correct prefixes and PR links
  • kbagent changelog shows the 0.90.1 headline uncut

After merge

Tag the merge commit — the tag push is the release:

git fetch origin && git tag v0.90.1 <merge-sha> && git push origin v0.90.1

Open in Devin Review

Batches the nine PRs merged since v0.90.0 (#670, #671, #672, #673, #674,
#675, #676, #677, #678) into one version bump and one changelog entry.

- pyproject 0.90.0 -> 0.90.1, propagated by make version-sync
- changelog.py: 11 bullets covering every merged PR
- resolved all five (since vNEXT) placeholders to 0.90.1; moved the tag
  out of the docs/web-server.md heading so its anchor slug stays stable
- whatsnew.ts: curated reel for the UI work (#672, #674, #675)
- documented the multi-project job list ordering change (#675) in
  CLAUDE.md, AGENT_CONTEXT and commands-reference.md -- the feature PR
  only added the gotchas.md entry

@devin-ai-integration devin-ai-integration Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Devin Review found 1 potential issue.

Open in Devin Review

Comment thread CLAUDE.md
- `plugins/kbagent/skills/kbagent/SKILL.md` -- description triggers and workflow links (the auto-generated table is CI-checked, the rest is not)
- `plugins/kbagent/skills/kbagent/references/commands-reference.md`
- `plugins/kbagent/skills/kbagent/references/gotchas.md` (every new gotcha **MUST** be tagged with a version -- `(since vNEXT)` in a feature PR, replaced with the real `(since vX.Y.Z)` by the release PR; the *replacement* is now CI-enforced on any version-raising PR, the *tagging* still is not)
- `plugins/kbagent/skills/kbagent/references/gotchas.md` (every new gotcha **MUST** be tagged with a version -- `(since v0.90.1)` in a feature PR, replaced with the real `(since vX.Y.Z)` by the release PR; the *replacement* is now CI-enforced on any version-raising PR, the *tagging* still is not)

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🟡 Gotcha-tagging instruction now hardcodes a version

The vNEXT placeholder inside the inline-code span (since vNEXT) was rewritten to (since v0.90.1), so the instruction now tells feature-PR authors to tag gotchas with (since v0.90.1) "replaced with the real (since vX.Y.Z) by the release PR" -- self-contradictory, and contrary to line 170 and to CONTRIBUTING.md's "Never guess a numeric version". This span is a prose mention that the release pass must leave as vNEXT.

Suggested change
- `plugins/kbagent/skills/kbagent/references/gotchas.md` (every new gotcha **MUST** be tagged with a version -- `(since v0.90.1)` in a feature PR, replaced with the real `(since vX.Y.Z)` by the release PR; the *replacement* is now CI-enforced on any version-raising PR, the *tagging* still is not)
- `plugins/kbagent/skills/kbagent/references/gotchas.md` (every new gotcha **MUST** be tagged with a version -- `(since vNEXT)` in a feature PR, replaced with the real `(since vX.Y.Z)` by the release PR; the *replacement* is now CI-enforced on any version-raising PR, the *tagging* still is not)
Open in Devin Review

Was this helpful? React with 👍 or 👎 to provide feedback.

@padak
padak merged commit 1172465 into main Aug 23, 2026
5 checks passed
@padak
padak deleted the claude/release-0-90-1-a307ad branch August 23, 2026 23:43
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant