Versioning
March 25, 2026 ยท View on GitHub
This document covers Vector's versioning and what it means as a user of Vector.
Please note, Vector is currently in its pre-1.0 phase and quickly approaching 1.0. Minor version increments can introduce breaking changes during this phase. Please see the FAQ section for more info.
Convention
Vector adheres to the [Semantic Versioning 2.0] convention. In summary:
- Versions follow the
MAJOR.MINOR.PATCHformat (i.e.,2.5.1) PATCHincrements only when backward compatible bug fixes are introduced.MINORincrements only when new, backward compatible functionality is introduced.MAJORincrements if any backwards incompatible changes are introduced.- Pre
1.0(major version0) is for initial development andMINORversion bumps can introduce breaking changes.
Public API
Semantic Versioning hinges on Vector's definition of "public API". By the nature of Vector -- a tool that collects, processes, and routes data from disparate systems -- it has a very large public surface area. It's not immediately obvious which parts are covered under our versioning contract and how they're covered. This section aims to remove all ambiguity in this area.
Areas that are covered
The following Vector areas are covered in Vector's definition of public API.
Intended for public consumption
The follow Vector areas are intended for public consumption (consumption by anything other than Vector itself). Backward incompatible changes will trigger a major version increment.
- CLI
- Flags
- Exit codes
- Data model
- As output in all sinks except the
vectorsink - As exposed in the source of the
luatransform
- As output in all sinks except the
- GraphQL API
- Telemetry
- Vector's internal metrics as provided by the
internal_metricssource
- Vector's internal metrics as provided by the
- VRL
Intended for private consumption
The following Vector areas are intended for private consumption (consumption by Vector only). Backward incompatible changes will trigger a major version increment only if Vector itself is not compatible with previous versions.
- Configuration schema
- Data directory and its contents
- Data model
- As output in the
vectorsink
- As output in the
Areas that are NOT covered
The following Vector areas are not covered in Vector's definition of Public API. Breaking changes in these areas will not trigger a major version increment.
- CLI
- The standard output (
STDOUTandSTDERR).
- The standard output (
- Installation workflows
- Telemetry
- Vector's internal logs as provided through
STDOUT,STDERR, and the [internal_logssource]
- Vector's internal logs as provided through
FAQ
How often is Vector released?
Please see the release policy.
How does Vector treat patch and minor versions?
As defined by Semantic Versioning, you can expect no breaking changes. Users will be able to seamlessly upgrade without any action.
How does Vector treat major versions (breaking changes)?
Major versions break backward compatibility. Vector takes breaking changes very seriously. We understand that Vector is a critical part of your infrastructure and breaking changes introduce downtime. We will make every effort necessary to avoid them. If we introduce them we will make the upgrade process as painless as possible. Every major release will come with a single, step-by-step upgrade guide in the release notes.
How does Vector treat pre-1.0 versions?
As defined by Semantic Versioning:
major version zero (0.y.z) is for initial development. Anything MAY change at any time.
And while this is true to the spec, Vector takes breaking changes very seriously during this phase. What's outlined in the major versions section still holds true here. Each minor release bump will include an upgrade guide in the release notes if necessary.