Skip to main content

Versioning

The driver follows semantic versioning with the usual rule for 0.x versions:

  • Minor (0.1.x → 0.2.0): new features, and any change that may break an existing program (a function's signature, a returned field, an error class).
  • Patch (0.1.0 → 0.1.1): fixes and internal changes, with no change to the API.
  • Major (1.0.0): when the API is declared stable; from then on breaking changes bump the major version.

Each release is a vX.Y.Z tag with release notes on GitHub, listing new features, fixes and breaking changes with how to adapt.

What counts as the API​

Everything exported from @falkenslab/moodle-driver, @falkenslab/moodle-driver/internals and @falkenslab/moodle-driver/testing, as described in the API reference: functions, their parameters and options, returned shapes, error classes with their names and codes, DATA_CATEGORIES. Error messages may change wording in any release; match errors by class, name or code, not by message.

Moodle changes​

A new Moodle version can change a page or a service the driver reads. Fixes for that come as patch releases when the API doesn't change.