Versioning
bulletinbored uses semantic versioning (SemVer): MAJOR.MINOR.PATCH — currently 0.1.0.
The project is released under the BSD Zero Clause (BSD-0). See LICENSE and CLA.md.
What the numbers mean
MAJOR— incremented for incompatible changes that require migration (e.g. config key renames, database schema breaks)MINOR— incremented for new features that are backward-compatible (e.g. new admin panels, new core hooks, new managers)PATCH— incremented for bug fixes and security patches that don’t add features
Since this is 0.x, the API is still considered unstable: minor releases may break things.
How to bump a version
Edit the
VERSIONfile at the project root (single line, e.g.0.1.0)Update the version constant in
config.phpif you keep an inline fallback thereIf you ship updates via the Update Manager, make sure
versions.jsonon your update server exposes the new versionTag the release in git:
git add VERSION git commit -m "Bump version to 0.1.1" git tag 0.1.1 git push --follow-tags
Where the version lives in code
VERSION— single-source-of-truth file at the project rootconfig.php—$config['version']is loaded fromVERSIONat boot timedata/updates.json— stores installed versions for core, plugins, and themes
Version checks
The Update Manager compares installed versions with remote versions:
- Core version comes from
config['version'] - Plugin versions come from the
Version:header in each plugin PHP file - Theme versions come from
manifest.jsonin each theme folder
If an update server URL is configured (config['update_server']), the Update Manager fetches versions.json from it and compares remote versions against installed ones.
Example release checklist
- Update
VERSIONfile - Update changelog / docs
- Run tests or manual QA
- Commit and tag
- Build ZIP packages for core, plugin, and theme updates if distributable packages are needed
- Update remote
versions.jsonpointing to the new packages