DUE TO SPAM, SIGN-UP IS DISABLED. Goto Selfserve wiki signup and request an account.
Please keep the discussion on the mailing list rather than commenting on the wiki (wiki discussions get unwieldy fast).
Motivation
Flink currently only provides source-compatibility across releases, including patch versions.
Patch releases not having binary compatibility is problematic for everyone:
- users (including service offerings) can't just redeploy Flink but have to rebuild their jobs, usually not actually requiring changes
- connector/library authors need to create a new release for every Flink patch release, usually not actually requiring changes
- with the externalization of connectors we'd turn even a small patch release into a 10+ vote ordeal
- that one could only avoid by technicalities ("this release does not have breaking changes so we don't need to create a new release") which would weaken the general messaging around compatibility, as it would eventually in turn into "just use your old jars; you'll be fine...probably.".
Public Interfaces
No public interfaces are affected by the change
Proposed Changes
Enable Japicmp in all modules ( FLINK-25868 - Getting issue details... STATUS ) and do not add exclusions in the release branches after 1.X.0.
This will require the use of a slightly custom japicmp version created by Chesnay Schepler until we support Maven 3.3+( FLINK-28016 - Getting issue details... STATUS ).
The version is functionally identical with Japicmp 1.16.0; it just downgrades the Maven dependency to 3.2.5.
Takes effect for: 1.15.3 / 1.16.0
Compatibility, Deprecation, and Migration Plan
not applicable
Test Plan
Japicmp + checks by the Release Manager that no exclusions were added.
Rejected Alternatives
no rejected alternatives considered