Skip to content

release: 2.28.0 - #834

Merged
Masterplanner25 merged 1 commit into
mainfrom
release/2.28.0
Oct 15, 2026
Merged

Masterplanner25 merged 1 commit into
mainfrom
release/2.28.0

Conversation

@Masterplanner25

Copy link
Copy Markdown
Owner

Release 2.28.0. No schema step: Alembic head 0020, contract 2026-09-20. No new scope, no default changed. @aindy/ui-kit 2.1.1 stays current.

Files:

  • AINDY/_version.py and the Dockerfile pin → 2.28.0.
  • Three changelog fragments folded with scripts/assemble_changelog.py and promoted under operator notes; ## Unreleased reset to "Nothing yet.".
  • docs/upgrades/APP_HANDOFF_v2.28.0.md and its upgrades index row.
  • CLAUDE.md's latest-handoff pointer (39,990 / 40,000 chars).

What ships:

Release notes read for each moved runtime pin (handoff §4):

  • OpenTelemetry 1.45.1: fixes quadratic-time tracestate parsing. This is reachable: FastAPIInstrumentor.instrument_app(app) always runs, so any client's header was parsed before authentication.
  • pydantic 2.14.0: now rejects newlines in NameEmail, which neither repo uses.
  • uvicorn 0.54.0: changes only its experimental HTTP/2 path.
  • jiter 0.17.0: performance only.

App handoff, checked against the app's source on 2026-10-14:

  • Their only sys() script passes its own owner's id.
  • Their scripts/mcp_server.py launcher, which loads plugins and then calls serve_stdio(), was run in exactly that shape on this build. The second load is harmless.
  • Their manifest is profile-format, so the DEC-101 escape applies.
  • Nothing is owed from earlier releases.

Release watcher: the app's handoff watcher (A.I.N.D.Y. #471) follows this publish for the first time. publish.yml's trigger, job names, production gate and the handoff path are unchanged from 2.27.0, as confirmed to the app session.

Checked locally: assemble_changelog.py --check clean; the CI docs validator (142 docs); check_schema_version.py exit 0; ruff; packaging, compatibility, schema-contract, alembic-head, decision-log and debt-registry suites.

🤖 Generated with Claude Code

Version 2.28.0, Dockerfile pin, three changelog fragments folded and
promoted under operator notes, app handoff + upgrades index row, CLAUDE.md
handoff pointer. No schema change (Alembic 0020, contract 2026-09-20), no
new scope, no default changed. Answers the app's FR-53: an outside-written
payload user_id is refused when it names anyone but the caller (MCP, Nodus
sys(), POST /platform/syscall); mcp-server loads plugins and stops on a
failed one; in-process mismatches are counted. Dependency batch #830
(OpenTelemetry 1.45.1's tracestate fix is reachable unauthenticated).

Co-Authored-By: Claude Opus 5.5 <[email protected]>
@Masterplanner25
Masterplanner25 merged commit ba7ee24 into main Oct 15, 2026
12 checks passed
@Masterplanner25
Masterplanner25 deleted the release/2.28.0 branch October 15, 2026 05:09
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