Version 4 (modified by 5 years ago) ( diff ) | ,
---|
BluePrint: Releases
Table of Contents
Introduction
Sahana Eden releases:
- ensure stability of core APIs, features and data models as basis for the implementation of custom solutions
- serve as reference points for user documentation
- serve as targets for issue resolution
- provide support tools for database migration
- provide migration pathways for backward-incompatible API changes
Stable-Repository
Releases will be published in a dedicated "stable" repository on GitHub.
Release Numbering
Release numbering will use a three-number schema like:
1.0.0 => Major.Minor.Update
Update
A change in the update number indicates a maintenance update of a release:
- releases critical fixes and enhancements (e.g. security issues, stability/performance issues, bugs)
- can contain minor enhancements, or preview-versions of new features
- can contain visual/UX improvements, but do not generally change behavior
- can add new optional dependencies
- is always API compatible (or backwards-compatible)
- do not require configuration updates
- do not require a database migration (web2py automatic migration sufficient)
- simple pull+automigrate sufficient
- upgrade can be fully automated/scripted
- no changes in custom templates required
Minor
A change in the minor release number indicates a new release in a release series:
- releases regular fixes and improvements, including new feature sets
- is always API compatible (or backwards-compatible)
- can add new mandatory dependencies
- can require configuration updates
- can require scripted database migration
- upgrade can additionally require a configuration update and/or scripted database migration
- upgrade can be performed manually by sysadmins by following step-by-step instructions
- upgrade of custom templates could in rare cases require intervention by template developer
Major
A change in the major release number indicates a new release series:
- releases major framework changes
- can break API backwards-compatibility and require adaption of custom template code and/or concepts
- can change or add dependencies, both optional and mandatory
- can require configuration updates
- can require data migrations both scripted and manual
- upgrade will most likely require a manual database migration
- upgrade of custom templates will require intervention by template developer and/or professional support
Requirements before Release
All Releases
- all critical issues, and issues targeting this release, are closed
- change log is complete
- all unit tests pass
- smoke tests pass for all standard templates for all demo accounts of the respective template (minimum admin@example.com and normaluser@example.com)
- template-specific selenium tests pass
- disputed trunk changes resolved
Minor or Major Number Release
- all API changes documented
- database migration scripts complete
- migration instructions complete
- documentation updates ready for roll-out
Requirements for Release
- Tagged commit in stable-repository (after non-selective pull from trunk)
- Change log published on GitHub releases
- Deployment tools can roll out dependencies
- Announcement on mailing list
Note:
See TracWiki
for help on using the wiki.