Thanks Yingjian for the proposal. I agree schema isolation is a gap for branch-based workflows. I left a few comments on the proposal doc, mainly around compatibility and merge semantics. Looking forward to more feedback from the community.
Best, Huaxin On Thu, Feb 12, 2026 at 8:59 PM Russell Spitzer <[email protected]> wrote: > I think this is an interesting idea, I’m hoping we can get more folks to > check it out. If there isn’t a lot of feedback on the dev list we should > bring it up at the next community meeting > > On Thu, Feb 12, 2026 at 7:37 PM Yingjian Wu <[email protected]> wrote: > >> Hey all, >> >> Following up on the proposal above. >> >> TL;DR: I’m proposing *branch-specific schema evolution* so Iceberg >> branches can evolve schemas independently instead of sharing a single >> global schema. This enables: >> >> - Safe schema experimentation and migration testing on branches >> without impacting production >> - schema changes are isolated and only merged back when semantics are >> unambiguous >> >> To support this, we’d need a spec change: add an optional *schemaId* to >> *SnapshotRef* to record which schema a branch ref points to. >> >> More details can be found in this proposal doc >> <https://docs.google.com/document/d/1yzE3Mm_ZALdWv_5HlMlGL0sk4-G4zU9oqxdo2ufQi3I/edit?tab=t.0#heading=h.g7zu7nim8ekj> >> and >> here is the Draft PR <https://github.com/apache/iceberg/pull/15012> for >> the high level direction I am going. >> >> Looking forward to the feedback, thanks! >> >> Best, >> Yingjian >> >> On Mon, 12 Jan 2026 at 15:23, Yingjian Wu <[email protected]> wrote: >> >>> Hey all, >>> >>> I'd like to start a discussion about supporting schema evolution on >>> Iceberg branches, as there are some interests and some discussions around >>> this feature. >>> >>> Would appreciate feedback on this proposal doc >>> <https://docs.google.com/document/d/1yzE3Mm_ZALdWv_5HlMlGL0sk4-G4zU9oqxdo2ufQi3I/edit?tab=t.0#heading=h.g7zu7nim8ekj> >>> and >>> here is the Draft PR <https://github.com/apache/iceberg/pull/15012> for >>> the high level direction I am going. >>> >>> Best, >>> Yingjian >>> >>
