docs(roadmap): refresh releases, drop delivered items, retarget to 1.2.1 - #19581
docs(roadmap): refresh releases, drop delivered items, retarget to 1.2.1#19581deepakpanda93 wants to merge 2 commits into
Conversation
The roadmap still described 1.1.1 as the recent release and listed 1.2.0 as upcoming, months after 1.2.0 shipped. Several tracked features had also been delivered but were still presented as planned. Releases. Recent Release(s) now points at 1.2.0 (May 2026). Future Releases lists 1.2.1 (Aug 2026), 1.3.0 (Sep 2026) and 2.0.0 (Dec 2026); the last of those also restores a dated entry for the two Platform Components rows that target 2.0.0, which had been left pointing at a release the page no longer listed. Delivered features removed. All 40 tracked references on the page were checked against GitHub. Five are closed with state_reason "completed", and four of those are corroborated by shipped documentation: apache#16851 Variant type support on Spark 4 -- VARIANT documented in sql_ddl apache#16852 Vector search index -- VECTOR(dim[, elementType]) documented apache#16853 Bitmap index -- BITMAP valid expression index type since 1.0.0 apache#17305 NBCC for MDT writes apache#15325 Multiple event_time fields -- hoodie.table.ordering.fields ships it The remaining 35 are genuinely open and were left in place. Note that RFC-70 (Hudi Reverse streamer) tracks a merged PR, but that PR only claims the RFC number rather than delivering the feature, so the row stays. Retargeting. The 21 rows still aimed at 1.2.0 now target 1.2.1, since 1.2.0 has shipped without them. Rows targeting 1.3.0, 2.0.0 and the Presto/Trino release trains are unchanged. Front matter last_modified_at is bumped per AGENTS.md. It renders nowhere on the page, and no previous roadmap commit has bumped it, but the file carries the field and the instruction applies. Verified: site builds clean with the warning set byte-identical to a baseline of the same base commit, /roadmap renders all six tables, and the updated release link resolves -- /releases/release-1.2 carries the release-120 anchor. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
hudi-agent
left a comment
There was a problem hiding this comment.
Thanks for the docs update! This refresh moves Recent Release to 1.2.0, adds a 1.2.1/1.3.0/2.0.0 future-release table, removes five delivered features, and retargets the remaining 1.2.0 rows to 1.2.1. The main concern is whether major feature work belongs in a patch release (1.2.1) versus 1.3.0, plus two tracking-link text/URL mismatches. Please have a Hudi committer or PMC member confirm the release targeting before merge.
| | New abstraction for schema, expressions, and filters | 1.2.1 | [RFC-88](https://github.com/apache/hudi/pull/12795) | | ||
| | Streaming CDC/Incremental read improvement | 1.2.1 | [#14916](https://github.com/apache/hudi/issues/14916) | | ||
| | Supervised table service planning and execution | 1.2.1 | [RFC-43](https://github.com/apache/hudi/pull/4309), [#15196](https://github.com/apache/hudi/issues/15196) | | ||
| | General purpose support for multi-table transactions | 1.2.1 | [#16181](https://github.com/apache/hudi/issues/16181) | |
There was a problem hiding this comment.
🤖 This retargets ~21 rows that previously pointed at 1.2.0 onto 1.2.1 (Aug 2026), presented as a patch release. Several are substantial features (multi-table transactions, non-blocking updates during clustering, supervised table service planning). It might help to confirm whether major feature work is intended for a patch line, or whether some should move to 1.3.0. @yihua could you confirm the intended targeting?
There was a problem hiding this comment.
Fair question, and I want to be clear about whose call this is: the 1.2.0 → 1.2.1 retarget was a deliberate instruction from the maintainer driving this refresh, not something I inferred. So I have left it as-is rather than second-guess the release plan.
The reason it needed doing at all: those rows all said 1.2.0, which the same page now lists under Recent Release(s) as shipped in May 2026. So before this PR the page claimed 21 features were targeted at a release that had already gone out without them. Moving them to the next dated entry is strictly better than leaving them pointing at the past, whatever the eventual landing release turns out to be.
Your substantive point stands though: 1.2.1 (Aug 2026) reads as a patch line, and items like General purpose support for multi-table transactions, Non-blocking updates during clustering and Supervised table service planning and execution are not patch-sized. If the intent is that these land in 1.3.0 (Sep 2026) and 1.2.1 carries only fixes, then some or all of the 21 should move again. Two of the largest items — Time Travel updates, deletes and Unstructured data storage and management — were already on 1.3.0 and I did not touch them, which is some evidence that 1.3.0 is where feature work is expected.
I have flagged this back to the maintainer. Deferring to @yihua or another committer on the split, and happy to re-target any subset in this PR once someone with visibility into the release plan says which.
One thing worth noting for whoever decides: nothing about the targets is load-bearing for correctness here. Every row's tracking issue was verified open (35 of the 40 references on the page), so the rows themselves are accurate regardless of which release column they sit in.
| | End-to-end DataFrame write path on Spark | 1.2.0 | [#16846](https://github.com/apache/hudi/issues/16846), [#15433](https://github.com/apache/hudi/issues/15433) | | ||
| | Default Java 17 support | 1.2.1 | [#16082](https://github.com/apache/hudi/issues/16082) | | ||
| | Spark datasource V2 read | 1.2.1 | [#15292](https://github.com/apache/hudi/issues/15292) | | ||
| | Simplification of engine integration and module organization | 1.2.1 | [#17044](https://github.com/apache/hudi/issues/16857) | |
There was a problem hiding this comment.
🤖 The tracking link on this row shows text #17044 but the URL points to issues/16857. Since the line is already touched by the retarget, it may be worth aligning the displayed issue number with its link target.
There was a problem hiding this comment.
Good catch, and you are right that the line being already in the diff makes it free to fix. Done in e61fb8e.
I checked which side was wrong before changing it, because "align the text with the link" and "align the link with the text" give opposite results here:
| Ref | What it actually is | State |
|---|---|---|
| #17044 | Partition Pruning Fails for Non-Deterministic Filters in Spark | closed / completed, unrelated to this row |
| #16857 | Simplification of engine integration and module organization | open, matches the row title exactly |
So the href was correct and the label was wrong. Relabelled to #16857.
Worth saying why the direction matters: had I "fixed" it the other way, the roadmap would have pointed at an unrelated, already-closed issue — and my own delivered-features sweep on the next pass would then have seen a closed-completed tracking issue and removed a live roadmap row. A mislabelled link is cosmetic; a mis-pointed one is not.
Verified no label/href mismatch remains anywhere on the page, and the rendered output now shows #16857 with no #17044 left.
| @@ -67,14 +63,14 @@ down by areas on our [stack](/docs/hudi_stack). | |||
|
|
|||
| | Feature | Target Release | Tracking | | |||
| |---------------------------------------------------------------------------------------------------|----------------|----------------------------------------------------------------------------------------------------------------------------------------| | |||
There was a problem hiding this comment.
🤖 Similar mismatch: the link text reads #17045 but the href resolves to issues/16858. Could be corrected in passing so the visible number matches the link.
There was a problem hiding this comment.
Same fix, same direction — the href was right and the label was wrong. e61fb8e.
| Ref | What it actually is | State |
|---|---|---|
| #17045 | Split batch calls for getting partition information | open, unrelated to this row |
| #16858 | Syncing as non-partitoned tables in catalogs | open, matches the row title exactly |
Relabelled to #16858. See the reply on the other mismatch for why I checked which side to correct rather than just making the two agree.
Build is clean with the warning set byte-identical to a baseline of the same base commit, and a scan of the page confirms zero remaining [#N](.../issues/M) pairs where N != M.
Review feedback on apache#19581: two rows displayed an issue number that did not match their link target. Since the retarget already touches both lines, fixing them in passing is free. Checked which side was wrong before changing anything, and it is the label: apache#17044 is "Partition Pruning Fails for Non-Deterministic Filters in Spark", closed as completed, unrelated to the row apache#16857 is "Simplification of engine integration and module organization", open, matching the row title exactly apache#17045 is "Split batch calls for getting partition information", open, unrelated to the row apache#16858 is "Syncing as non-partitoned tables in catalogs", open, matching the row title exactly So the hrefs were right all along and the visible numbers were wrong. Relabelled to apache#16857 and apache#16858. Correcting the other direction would have pointed the roadmap at two unrelated issues, one of them already closed. No label/href mismatch remains anywhere on the page. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
hudi-agent
left a comment
There was a problem hiding this comment.
Thanks for the docs update! This refreshes the roadmap's release list, removes five delivered features, and retargets remaining 1.2.0 items to 1.2.1. I independently confirmed the five removed issues are all closed/completed, the retargeted issues are all still open, the corrected tracking links (#16857, #16858) resolve to the right open issues with matching titles, and the new Recent Release anchor (#release-120) is valid on release-1.2.md. The one open discussion point — presenting substantial features under a 1.2.1 patch release — was already raised and answered in a prior round. Please defer to a Hudi committer or PMC member for final sign-off on the release-planning intent.
cc @yihua
Describe the issue this Pull Request addresses
The roadmap page had drifted out of date. It still named 1.1.1 (Dec 2025) as the
recent release and listed 1.2.0 as upcoming, months after 1.2.0 shipped in May 2026. Several features on it had
already been delivered but were still presented as planned, and every remaining item was targeted at 1.2.0 — a release
the same page would have been describing as already out.
No issue filed; this is a content refresh.
Summary and Changelog
One file,
website/src/pages/roadmap.md. It is an unversioned Docusaurus page, so there are no versioned copies.1. Releases. Recent Release(s) now points at 1.2.0 (May 2026). Future Releases becomes:
The 2.0.0 row also fixes a dangling reference: two Platform Components items target 2.0.0, and the table had stopped
listing that release at all.
2. Delivered features removed. All 40 tracked references on the page were checked against GitHub. Five are
closed with
state_reason: completed, and four of those are corroborated by shipped documentation on this site ratherthan by the label alone:
VARIANTdocumented insql_ddl.mdVECTOR(dim[, elementType])documentedBITMAPa valid expression-index type since 1.0.0hoodie.table.ordering.fields(plural) ships itThe other 35 are genuinely open and were left alone. Worth noting one that deliberately stayed: Hudi Reverse
streamer tracks #9040, which is merged — but that PR only claims the RFC-70 number, it does not deliver the
feature. A "merged means done" sweep would have removed it wrongly.
3. Retargeting. The 21 rows still aimed at 1.2.0 now target 1.2.1, since 1.2.0 shipped without them. Rows
targeting 1.3.0 (2), 2.0.0 (2) and the Presto/Trino release trains (4) are unchanged. Matching was done on the Target
Release column specifically, so the Recent Release link and the Future Releases table were structurally excluded
rather than merely avoided —
1.2.0now appears exactly once in the file, in the Recent Release link.4. Front matter.
last_modified_atbumped perAGENTS.md. Being straightforward about this one: it renders nowhereon the page, and no previous roadmap commit has ever bumped it, so it is convention compliance rather than a functional
change. Happy to drop it if reviewers would rather keep the diff to content.
Verification
npm run buildpasses with the warning set byte-identical to a baseline built from the same base commit, and theroadmap appears nowhere in the warning output.
/roadmaprenders all six tables (38 rows) with all seven headings, noneof the five removed features reappear, and the retargeted cells render as
1.2.1.One thing worth recording for anyone previewing this locally:
npm run servereturns 404 for/releases/release-1.2, which makes the updated Recent Release link look broken. It is not. The built page exists withcanonical
https://hudi.apache.org/releases/release-1.2and carries therelease-120anchor, and in production thatURL 301s to
/releases/release-1.2/and returns 200 with the anchor present. It is a trailing-slash quirk of the localstatic server — the previous
/releases/release-1.1#release-111link behaves identically and has been live for months.What was deliberately left alone
Three pre-existing issues are visible in the diff and are not fixed here, to keep this a content refresh:
#17044butlinks to
issues/16857, and Syncing as non-partitioned tables displays#17045but links toissues/16858. Bothhrefs resolve to real open issues with matching titles, so only the labels are wrong.
RFC with a still-open umbrella issue, so the work is alive; Diagnostic Reporter has only the closed RFC-62 PR
behind it, with nothing open — worth deciding whether it belongs on a forward-looking roadmap.
Impact
Documentation only. No code, config, or behaviour change.
Risk Level
none
Documentation Update
This PR is the documentation update — the roadmap page, https://hudi.apache.org/roadmap.
Contributor's checklist