Support Policy

Which releases of LLM4S get fixes, which platforms they run on, and how you find out when that changes. This page states what the project does today and marks what is still to be decided. It does not make a commitment that the maintainers have not made. The compatibility promise (what an upgrade may break) is in the Compatibility and Deprecation Policy; this page covers the support lifecycle.

LLM4S is maintained by volunteers (MAINTAINERS.md), so everything here is best effort and there is no service-level agreement. Commercial support is not offered; questions about sponsoring or partnering go to the contact on the Foundation page. For where to ask for help, see SUPPORT.md.


Current lines

Version Released Status Notes
0.5.1 2026-10-15 latest Pre-baseline: the only line that gets fixes.
0.5.0 2026-10-15 superseded Pre-baseline: not patched; upgrade to the latest release.

Every published llm4s-* module has the same version, so a line means the same version for every module. The list of published releases is on GitHub.


Supported lines

Today (pre-baseline, 0.5.x): only the latest published release gets fixes, bug fixes and security fixes alike. Older releases are not patched. Any release may break compatibility, each break listed in the CHANGELOG with a migration note. This is also stated in SECURITY.md.

After 1.0 (planned): the project intends to patch more than the latest release once a binary-compatibility baseline exists (#1281). The number of supported lines, any long-term-support line and its window are to be decided by the maintainers before 1.0. Until they are published here, assume “latest release only”.


Release cadence

Releases are cut from a tag by CI (Release Process). There is no fixed schedule: releases happen when the maintainers have a set of changes ready, and the date of each is in the table above and on the GitHub Releases page. A target rhythm for minor and patch releases is to be decided before 1.0.


Platform support

What is built and tested today is stated once, in Scala and JDK support, and generated into the Compatibility Matrix. In short:

  • Scala: Scala 3 only (3.7.1). Scala 2.13 support is deferred to after 1.0.
  • JDK: the minimum is JDK 21 for every artifact, and CI runs JDK 21.

The Scala 3 minor series and the minimum JDK are raised only in a minor release, never in a patch release, and each raise is announced in the CHANGELOG under Changed with a migration note (rule). How long an older Scala or JDK line stays supported after a newer one is adopted is to be decided before 1.0.


When a provider changes its API

Provider endpoints and models are outside the project’s control. When a vendor deprecates or changes one, the fix is made in the provider’s module and shipped in the next release, as a patch where it does not change the module’s API. A change that does is listed under Breaking changes in the CHANGELOG with a migration note. A fix to a Beta or Experimental module may change its API in a minor release (1.0 Scope).


End of support

Today a release stops getting fixes when a newer one is published, and nothing more is announced: the table above shows it as superseded. How an end of support will be announced once longer-lived lines exist (the table above, the CHANGELOG, the GitHub Release, Discord), and how far ahead, is to be decided before 1.0.


Keeping this page current

The table comes from docs/_data/support.yml, which a release updates by hand (Release Process). A mechanical check that a release tag appears in the table is not in place yet.