Release policy

This document outlines the release policy for StreamX, detailing how versioning, module releases, and documentation are managed for both public and internal releases. This policy is designed to ensure a consistent and organized release cycle that aligns with the needs of development, client deployment, and public transparency.

Release semantics

The StreamX projects follow a modified Semantic Versioning system with LTS.feature.development.

Release types

  • LTS releases (e.g., 1.0.0, 2.0.0): These are long-term support versions. An increase in the LTS version number signals a new long-term support release rather than indicating major feature changes or breaking updates.

  • Feature releases (e.g., X.1.0, X.2.0): New features are introduced with an increment in the feature version number.

  • Development releases (e.g., X.X.1, X.X.2): These releases are part of the standard development cycle and are used by the StreamX development team for ongoing updates and improvements.

On-demand changes

Urgent patches for clients will be delivered with suffixes to the standard version. For example, if an urgent fix is required for version 1.2.0, the release version might be 1.2.0-patch001.

Examples

To clarify the release structure further, here are some examples:

  • 1.0.0 – An LTS release. This is a stable, long-term support version.

  • 1.1.0 – A feature release after the 1.0.0 LTS.

  • 1.1.2 – A development release after 1.1.0 for ongoing updates and improvements, before the next feature release.

  • 1.2.0 – Another feature release introducing additional functionality.

  • 1.2.3 – A development release after 1.2.0 for ongoing updates and improvements, before the next feature release.

  • 1.1.0-patch001 – An on-demand change for version 1.1.0, released to address a specific client issue urgently.

  • 2.0.0 – The next LTS release, marking a stable version for long-term support.

Public and development releases

Public releases

These versions include all core modules required to set up StreamX, accompanied by documentation updates for all released repositories and artifacts. Public releases are intended for client and production use.

Development releases

These versions provide a snapshot of current development progress and are accessible from the CLI for early testing.

Documentation versioning

Documentation versions are maintained to provide clarity on available releases:

  • Latest version,

  • Snapshot version: Preview or development versions,

  • Previous versions.