-
-
Notifications
You must be signed in to change notification settings - Fork 937
Description
API versions like v3 or v4 imply some degree of stability of the APIs.
Ideally, any changes to endpoints in a versioned API should be backwards compatible to earlier Lemmy versions with the same API version.
For new APIs, like #5669, I propose the option of having an "unstable" API path like /api/unstable/vote_analytics/given_by_person, which does not have any stability promises beyond being compatible with the corresponding Lemmy-UI version. This allows implementing new features without committing to API stability yet, as often it is needed for APIs to see real world usage before shortcomings are identified. Once the API has seen some real world usage and is determined to be viable for promotion to a stable version, it can be moved from unstable to v3/v4.
This shouldn't be a requirement for all new API implementations, it should be up to the implementer to determine whether the endpoint is considered stable enough.
This may also allow shipping new experimental functionality faster before being ready to commit to a stable API spec, possibly including multiple implementations that can be compared in production environments.