Files
Nicolò Boschi 7b25993f22 docs: changelog and blog post for v0.10.0 (#4245)
* docs: changelog and blog post for v0.10.0

* fix(changelog): batch a release's commits and summarize them in parallel

The 0.10.0 range 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.
2026-09-14 12:30:53 +02:00
..
2025-11-25 19:28:26 +01:00