-
Notifications
You must be signed in to change notification settings - Fork 248
Semantic Version numbers
Tom Taylor edited this page Mar 1, 2017
·
7 revisions
We have opted to use semantic version for release numbers of Adapt products. This page goes some way to explain how they work.
Semantic Versioning uses a three-part version number, represented by: MAJOR.MINOR.PATCH
A major release signifies changes to the API which are not backward-compatible (we call these breaking changes).
- Usually introduces backwards-incompatible, breaking changes.
- Introduces the APIs we intend to support for the foreseeable future.
A minor release add new (but crucially, backward-compatible) API features.
- Includes additions and/or refinements of APIs and subsystems.
- Do not generally change APIs nor introduce backwards-incompatible breaking changes, except where unavoidable.
- Are mostly additive releases.
A patch release represents minor changes and bug fixes which do not change the software's public API/interface.
- Includes bug, performance, and security fixes.
- Do not add nor change public interfaces.
- Do not alter the expected behaviour of a given interface.
- Can correct behaviour if it is out-of-sync with the documentation.
- A plugin's first stable release should have a version number of:
1.0.0
- A subsequent bug-fix should bump the patch version number, resulting in
1.0.1
- A new backward-compatible feature is added, so the minor version is incremented:
1.1.0
(note that the patch number is reset to0
) - Another bug-fix is added, changing the version to:
1.1.1
- Some breaking changes are introduced, so the major version is incremented, and the minor and patch numbers are reset:
2.0.0
If you want to know more about semantic versioning, check out this page written by @mojombo.
The Node.js community have straightforward guidelines for their release process (upon which we have modelled our own process).
- Framework in Five Minutes
- Setting up Your Development Environment
- Manual Installation of the Adapt Framework
- Adapt Command Line Interface
- Common Issues
- Reporting Bugs
- Requesting Features
- Creating Your First Course
- Styling Your Course
- Configuring Your Project with config.json
- Content starts with course.json
- Course Localisation
- Compiling, testing and deploying your Adapt course
- Core Plugins in the Adapt Learning Framework
- Converting a Course from Framework Version 1 to Version 2
- Contributing to the Adapt Project
- Git Flow
- Adapt API
- Adapt Command Line Interface
- Core Events
- Core Model Attributes
- Core Modules
- Web Security Audit
- Peer Code Review
- Plugins
- Developing Plugins
- Developer's Guide: Components
- Developer's Guide: Theme
- Making a theme editable
- Developer's Guide: Menu
- Registering a Plugin
- Semantic Version Numbers
- Core Model Attributes
- Adapt Command Line Interface
- Accessibility v3
- Adapt Framework Right to Left (RTL) Support