docs/project/versioning-policy.md
Feast uses semantic versioning.
Contributors are encouraged to understand our branch workflow described below, for choosing where to branch when making a change (and thus the merge base for a pull request).
master branch.v0.3-branch. This is called a "release branch".v0.3.0-rc.1v0.3.0.A release branch should be substantially feature complete with respect to the intended release. Code that is committed to master may be merged or cherry-picked on to a release branch, but code that is directly committed to a release branch should be solely applicable to that release (and should not be committed back to master).
In general, unless you're committing code that only applies to a particular release stream (for example, temporary hot-fixes, back-ported security fixes, or image hashes), you should base changes from master and then merge or cherry-pick to the release branch.
The following table shows the status (stable, beta, or alpha) of Feast components.
Component status indicators for Feast:
| Component | Status | Notes |
|---|---|---|
| Feast Python SDK | Stable | |
| Feast Go Feature Server | Beta | |
| Feast Java Feature Server | Alpha | |
Criteria for reaching stable status:
Criteria for reaching beta status
Feast components have various levels of support based on the component status.
| Application status | Level of support |
|---|---|
| Stable | The Feast community offers best-effort support for stable applications. Stable components will be offered long term support |
| Beta | The Feast community offers best-effort support for beta applications. Beta applications will be supported for at least 2 more minor releases. |
| Alpha | The response differs per application in alpha status, depending on the size of the community for that application and the current level of active development of the application. |
Feast has an active and helpful community of users and contributors.
The Feast community offers support on a best-effort basis for stable and beta applications. Best-effort support means that there’s no formal agreement or commitment to solve a problem but the community appreciates the importance of addressing the problem as soon as possible. The community commits to helping you diagnose and address the problem if all the following are true:
Please see the Community page for channels through which support can be requested.