Skip to content

Create API compatibility and Supported Versions Policy for Feast #687

@mrzzy

Description

@mrzzy

Background

As Feast evolves and matures over time, and new users integrate Feast into their systems, we are faced with two conflicting needs:

For guidance on how to resolve this we can look at Kubernetes does it:

User Facing APIs in Question for context:

Problem

How do we resolve the two conflicting needs of Developers and Users while satisfy the following requirements:

  • Providing a clear way for Developers to introduce breaking changes as Feast evolves.
  • Creating a clear transition path for users integrate these changes into their systems.
  • Prevent code bloat resulting in Developers having to maintain too many API versions.
  • Introduce backward compatibility to buy users time to transition their systems to the new API.

Proposed Solution

Create and API compatibility and Support Versions Policy to document how:

  • What steps should developers take introduce breaking changes to the API? (ie Bump API Version, Deprecation etc.)
  • What & How much API compatibility guarantees can we provide to users? (ie Deprecation happens 1 minor version before removal, Backwards compatibility with older SDKs up to 1 minor release. etc.)
  • How do we provide a clear way for developers to announce breaking changes to users? (ie Slack? Deprecation notices? Issues? etc.)
  • How can we provide a clear transition path for existing users to upgrade to new versions with potentially breaking changes? (ie Highlight with action required in Release note what needs to be changed etc.)

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions