Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

docs: document backwards compatibility #140

Merged
merged 4 commits into from
Apr 8, 2024
Merged
Changes from 1 commit
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
39 changes: 39 additions & 0 deletions docs/sources/backwards-compatability.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,39 @@
---
canonical: https://grafana.com/docs/alloy/latest/backwards-compatability/
rfratto marked this conversation as resolved.
Show resolved Hide resolved
description: Grafana Alloy backwards compatibility
rfratto marked this conversation as resolved.
Show resolved Hide resolved
menuTitle: Backwards compatibility
title: Grafana Alloy backwards compatibility
rfratto marked this conversation as resolved.
Show resolved Hide resolved
weight: 950
---

# {{% param "FULL_PRODUCT_NAME" %}} backwards compatibility
rfratto marked this conversation as resolved.
Show resolved Hide resolved

{{< param "FULL_PRODUCT_NAME" >}} follows [semantic versioning][].
This means that {{< param "PRODUCT_NAME" >}} is stable, and that we strive to maintain backwards compatibility between minor and patch versions.
rfratto marked this conversation as resolved.
Show resolved Hide resolved

Functionality which is documented and released as _Generally available_ is covered by backwards compatibility, including:
rfratto marked this conversation as resolved.
Show resolved Hide resolved

* **User configuration**, including the {{< param "PRODUCT_NAME" >}} configuration syntax, semantics of the configuration file, and the command-line interface.
rfratto marked this conversation as resolved.
Show resolved Hide resolved

* **APIs**, for any network or code API released as v1.0.0 or later.

* **Observability data used in official dashboards**, where the official set of dashboards are found in [the `alloy-mixin/` directory][alloy-mixin].

## Exceptions

We strive to maintain backwards compatibility, but there are situations which may arise that require a breaking change without a new major version:
rfratto marked this conversation as resolved.
Show resolved Hide resolved

* **Security**: A security issue may arise that requires breaking compatibility.

* **Legal requirements**: If we learn that exposed behavior violates a licensing or legal requirement, a breaking change may be required.

* **Specification errors**: If a specification for a feature is foudn to be incomplete or inconsistent, fixing the specification may require a breaking change.
rfratto marked this conversation as resolved.
Show resolved Hide resolved

* **Bugs**: If a bug is found that goes against the documented specification of that functionality, fixing the bug may require breaing compatibility for users who are relying on the incorrect behavior.
rfratto marked this conversation as resolved.
Show resolved Hide resolved

* **Upstream changes**: Much of the functionality of {{< param "PRODUCT_NAME" >}} is built on top of other software, such as OpenTelemetry Collector and Prometheus. If upstream software makes a breaks compatibility, we may need to reflect in {{< param "PRODUCT_NAME" >}}.
rfratto marked this conversation as resolved.
Show resolved Hide resolved

We try whenever possible to resolve these issues without breaking compatibility.
rfratto marked this conversation as resolved.
Show resolved Hide resolved

[semantic versioning]: https://semver.org/
[alloy-mixin]: https://github.com/grafana/alloy/tree/main/operations/alloy-mixin
Loading