My apologies for the lack of precision in my wording. As Julian mentioned, we 
don't have an  UPGRADE.md . Instead, we document every JIRA ticket in  
history.md  and categorize them. What I intended to do was use the 'Breaking 
Change' category there to explain the current issue. 



Best regards,

Zhen

---- Replied Message ----
| From | Julian Hyde<[email protected]> |
| Date | 05/15/2026 08:10 |
| To | [email protected] |
| Cc | |
| Subject | Re: [DISCUSS] Backwards-incompatible API changes in minor releases 
(re: CALCITE-7511) |
I don’t think an UPGRADING.md would be more prominent. I’ve never noticed an 
UPGRADING.md file in any project, and I’ve never looked for one. Just read the 
release notes.

I think CALCITE-7511 is a bug-fix, not a new feature — the current behavior is 
clearly not what anyone intended — so we should fix it. Every bug-fix 
theoretically is “breaking” if people had been relying on the broken behavior 
but it’s foolish to try to preserve or even apologize for the previous behavior.

A simple line like “RelShuttle now dispatches a LogicalTableScan to 
visit(TableScan) rather than visit(RelNode)” is sufficient.


> On May 14, 2026, at 1:25 PM, Venkatakrishnan Sowrirajan <[email protected]> 
> wrote:
>
> Hi Calcite devs,
>
> CALCITE-7511 / PR #4928 fixes a `RelShuttle` dispatch gap by adding
> `accept(RelShuttle)` overrides and new `visit(X)` overloads on the
> interface. This is source-incompatible for direct `RelShuttle` implementors
> and behavior-incompatible for `RelShuttleImpl` subclasses that worked
> around the gap with `instanceof` checks.
>
> In the review thread, @mihaibudiu <https://github.com/mihaibudiu> noted
> Calcite's nominal semver would prohibit this in a minor release but that
> postponing until a 2.0 isn't realistic; @xiedeyantu
> <https://github.com/xiedeyantu> agreed and suggested documenting clearly in
> the upgrade notes. CALCITE-7288 / PR #4620 raised similar concerns
> previously.
>
> Is the `#### Breaking Changes` section in `history.md` the right place to
> surface this for library users, or do we want something more prominent
> (e.g., a dedicated UPGRADING.md, per-release migration guide)?
>
> Pointers
> --------
>
> - JIRA: https://issues.apache.org/jira/browse/CALCITE-7511
> - PR:   https://github.com/apache/calcite/pull/4928
> - Prior related discussion: CALCITE-7288 / PR #4620
>
> Thanks,
> Venkat

Reply via email to