docs: changelog and blog post for v0.10.0 - #4245
Draft
nicoloboschi wants to merge 2 commits into
Draft
Conversation
nicoloboschi
force-pushed
the
docs-changelog-0.10.0
branch
4 times, most recently
from
September 9, 2026 09:10
d5815df to
bfd96ab
Compare
nicoloboschi
force-pushed
the
docs-changelog-0.10.0
branch
from
September 9, 2026 09:36
bfd96ab to
149d64d
Compare
The 0.10.0 range (221 core commits) summarized to 37 entries, against 65 for the 145-commit release before it: whole user-facing fixes were unlisted. Measured on that range, holding model and prompt fixed, one call over the whole release produces 120 entries against 152 for five batches — 40 commits get an entry only when batched, against 8 only when not. The input was never the constraint: a 245-commit release is ~8500 tokens of commit subjects in total, so every arrangement fits the context window many times over. What batching bounds is how many commits the model weighs at once before it starts summarizing them away. * Commits are batched by token count and the batches summarized concurrently, followed by a dedup pass that merges the same change described twice across a batch boundary. The dedup result is re-ordered by the release's own commit order and filtered to commit_ids that were in the input, so a dropped or invented id cannot reorder the changelog or point a reader at a commit that isn't there. * max_completion_tokens=16000 was a *shared* budget on a reasoning model — reasoning bills against it, so a long commit list spends most of it before the first entry is emitted. Worth 8 entries on its own (37 -> 45). Raised to 100000. * The grouping rule read as licence to merge unrelated fixes that touch the same area, and "focus on user-facing changes" as licence to drop anything whose commit title sounds internal. Both are now scoped; this was the largest single effect (45 -> 126). Default model is now gpt-5.6-terra.
nicoloboschi
force-pushed
the
docs-changelog-0.10.0
branch
from
September 9, 2026 10:40
149d64d to
2020550
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Changelog entry and release blog post for v0.10.0, prepared ahead of the release — the tag does not exist yet and no release was triggered.
generate-changelogrefuses to run without the tag, sov0.10.0was created locally onorigin/main, used to generate the entry, and deleted immediately. It was never pushed, sorelease.shcan still create it normally.Contents
hindsight-docs/src/pages/changelog/index.md— generated 0.10.0 entry: 1 breaking change, 12 features, 7 improvements, 19 fixes, and one migration (e2f4a6c8b0d1,attachments+document_attachments— both new and empty, so it is quick on any deployment size).hindsight-docs/blog/2026-09-09-version-0-10-0.md— hand-written release notes.skills/hindsight-docs/references/— changelog mirror, plus a pre-existingdeveloper/extensions.mddrift the skill regen picked up (the StaticKeys extension docs from feat(extensions): add StaticKeysTenantExtension — env-configured per-user API keys with per-schema isolation #3675 had not been mirrored).What the blog post covers
multi-textentity labels (feat(entity-labels): add an open-vocabulary multi-valued label type (multi-text) #4027)StaticKeysTenantExtension(feat(extensions): add StaticKeysTenantExtension — env-configured per-user API keys with per-schema isolation #3675), including theModuleNotFoundErrorupgrade step for anyone on the built-in Supabase path410 Gone(feat(api)!: retire the bank profile and background endpoints #4127)Rebased onto
origin/mainafter #4234 reverted free-threaded CPython 3.14 (#4037, #4067) — both are out of the changelog and the blog post.The per-bank text-search switch and the webhook signature work are in the changelog but not the blog post.
Second commit: a generator fix
The first pass produced 37 entries for 221 core commits, against 65 for the 145-commit release before it — whole user-facing fixes went unlisted. Three causes, measured separately on that range:
max_completion_tokens16000 → 100000max_completion_tokenswas a shared budget on a reasoning model — reasoning bills against it, so a long commit list spends most of it before the first entry.The input was never the constraint. A 245-commit release is ~8500 tokens of commit subjects in total, so every arrangement fits the context window many times over — a batch budget near the context window would be a single batch that changes nothing. The budget is 2000 tokens; what it bounds is how many commits the model weighs at once before it starts summarizing them away.
Default model is now
gpt-5.6-terra.tests/test_generate_changelog_batching.pycovers the batching arithmetic and the dedup guarantees with the LLM stubbed.Before merging
mainhas moved on (fix(api): expose the bank template import request body #4247 landed after this branch was cut). The changelog is generated against the tag, so it will need a regenerate at release time whatever else happens — treat this entry as a draft of the shape, not the final list.No hero image. Recent release posts carry
/img/blog/version-X-Y-Z-release.png; this one still needs one.openapi.jsonin the skill still reads 0.9.2 — correct today, but it needs a re-sync oncerelease.shbumps the version.