Skip to content

Latest commit

 

History

History
50 lines (38 loc) · 2.14 KB

versioning.md

File metadata and controls

50 lines (38 loc) · 2.14 KB

Versioning

From version 1.0.0, Solid Objects follows Semantic Versioning.

The promise

The public API is the set of exports, commands, and configuration options that README.md and the files in docs/ describe. Public API lists each export.

Release What it can change
Patch, for example 1.0.1 Corrections of defects. No new behavior
Minor, for example 1.1.0 New behavior. Code that uses the public API continues to work
Major, for example 2.0.0 A change that breaks code that uses the public API

Supported versions

A minor release can raise the minimum version of Node.js, TypeScript, SQLite, PostgreSQL, MySQL, or Redis. It does this only for a version that its own project no longer supports, and CHANGELOG.md names the change. A patch release does not raise a minimum version. Supported versions lists the current minimum versions.

Outside the promise

  • The Cloudflare backend, solid-objects/cloudflare. It is experimental, and a minor release can change it.
  • Exports that the documentation does not describe.
  • The database schema. A minor release can add tables, columns, and indexes. runtime.install() applies each change.
  • The text of error messages and log lines. The error classes are part of the public API.
  • The timing of background work, where no configuration option sets it.
  • A correction of behavior that is different from the correctness contract. A patch release can make such a correction.

What version 1.0 does not claim

Version 1.0 is a promise about the API. It is not a claim of measured scale. The benchmarks are development measurements and do not guarantee capacity. Longer soak tests are open work. The project has one maintainer, and no production use by other people is known.

Releases before 1.0

The 0.x releases changed the API between minor versions. CHANGELOG.md lists each change.