Repository navigation
Release cadence: a train every 30 to 40 days through the end of 2026 #585
AndreaBozzo
started this conversation in
General
Replies: 1 comment
|
FYI @aryansk @floze-the-genius @KingJing1 Thanks everyone <3 |
0 replies
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Uh oh!
There was an error while loading. Please reload this page.
Follow-up to Where dataprof is going over the next few months. That post covered what we are building. This one covers when
it ships.
The rule
One minor release every 30 to 40 days. Dates are fixed in advance. The release
goes out on its date with whatever is merged by then, and anything unmerged
moves to the next one.
This mostly writes down what already happens. Gaps between minors this year:
0.5.0 to 0.6.0 was 58 days, then 22, then 46, then 46, then 15 from 0.9.0 to
0.10.0. The average is 37. The point of publishing dates is to make the next one
predictable, not to make releases faster.
Dates
Two of these sit outside the 30 to 40 day band on purpose. 0.11.0 is 41 days
after 0.10.0 because the rule starts mid-cycle. 0.14.0 is 28 days after 0.13.0
so the last release of the year is not cut days before the holidays. After
0.14.0 the next train is mid-January 2027.
The week between merge-by and ship is for release notes, schema regeneration,
and a dogfooding pass over the built wheels. No feature merges in that week.
What is not on the train
Patch releases. A bug worth fixing now, or a dependency bump that closes a
vulnerability, ships as 0.x.y whenever it is ready, with no announcement and no
relation to these dates. The cadence governs minors only.
What the milestones mean
Milestones are backlogs, not promises. 0.12.0 currently holds 23 issues,
including the MCP server (#330), the benchmark harness (#401), locale-aware
value parsing (#433), and database type decoding (#365). That is more than one
35-day train carries. Issues that do not make it move forward a milestone when
the train leaves. If you want to know what is actually landing, read what is
merged rather than what is labelled.
What this means if you are contributing
If your PR misses a train, the next one is about five weeks away rather than
unknown. That is the main thing the dates are for.
Reviews get batched in the two weeks before each merge-by date, so that window
is the best time to open something you want in the current release. Review
throughput is the bottleneck here, not the rate of incoming PRs. Small PRs with
one behavior change each move fastest, and issues tagged
good first issue,difficulty: beginner, ormentor availableare scoped to fit inside a singletrain.
1.0
There is no date for 1.0 and there will not be one in 2026. Realistically it is
a 2027 conversation, and I would rather say that than invent a quarter.
What matters more day to day is what the leading zero means in the meantime. We
are still pre-1.0, so a minor release can change behavior or break an API. Every
one that does gets an upgrade checklist in the release notes, the way 0.10.0
did. Open questions like #547 (which surface the identical-numbers contract
governs) and #509 (the end state of the deprecated flat quality accessors) are
the kind of thing that has to settle before a stability promise means anything.
If you need a pinned version for something you depend on, pin the minor.
Feedback
Two things worth hearing:
ship date fine?
All reactions