You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 3 Next »

Status

Current state: Under discussion

Discussion thread:

JIRA:

Released: 

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 ( Unable to render Jira issues macro, execution error. ) 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+( Unable to render Jira issues macro, execution error. ).

The version is functionally identical with Japicmp 1.16.0; it just downgrades the Maven dependency to 3.2.5.

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

  • No labels