Difference between revisions of "Category:RoadMap"
m |
|||
Line 29: | Line 29: | ||
</pre> | </pre> | ||
− | All new features have to been push into develop branch. | + | = Branch and Source control management = |
+ | All new features have to been push into '''develop''' branch. | ||
+ | To follow the release calandar, some other branches with name of major version '''x.y''' can be created. According to when we are in the release cycle, thoose branches ca nbe '''frozen''' branches or '''maintenance''' branches. See here what this means: | ||
− | = Freeze definition = | + | == Freeze definition == |
When we make a freeze of code, it means we start the beta period. It does not means that we must not change the code. It means that we can do some thing, and we can't for some other. This is generic definition of a Freeze. | When we make a freeze of code, it means we start the beta period. It does not means that we must not change the code. It means that we can do some thing, and we can't for some other. This is generic definition of a Freeze. | ||
* A freeze is done with a goal of a stable version in mind. | * A freeze is done with a goal of a stable version in mind. | ||
Line 48: | Line 50: | ||
** Adding new features. However, adding a component whose code is isolated from rest of the code like a "box file" or "emailing target selector file" or a "script" file into /scripts may be accepted by project leader. | ** Adding new features. However, adding a component whose code is isolated from rest of the code like a "box file" or "emailing target selector file" or a "script" file into /scripts may be accepted by project leader. | ||
− | = Maintenance definition = | + | == Maintenance definition == |
When a stable version is released, the branch become a maintenance branch. This means, a lot of things can not be done into this branch anymore. This is generic definition of a maintenance branch. | When a stable version is released, the branch become a maintenance branch. This means, a lot of things can not be done into this branch anymore. This is generic definition of a maintenance branch. | ||
* A maintenance branch is called x.y.* (* start to 1 and is increased for each new maintenance version). | * A maintenance branch is called x.y.* (* start to 1 and is increased for each new maintenance version). |
Revision as of 09:28, 27 July 2013
This page describe what is the Dolibarr release policy/rule. It also includes at end list of all past and future releases.
Roadmap calendar
Number of releases per year:
- Major releases: 2
- Minor maintenance releases: N (depends on bug reports and importance)
Dates are (YYYY is current year, YYYY+1 is next year):
* January YYYY - Major Release (version A.B.0) * March YYYY - Start Major beta (version A.B+1.0): Freeze. Creation of branch A.B+1. See definition of freeze later. * June YYYY - Major Release (version A.B+1) * October YYYY - Start Major beta (version A.B+2.0): Freeze. Creation of branch A.B+2. See definition of freeze later. * January YYYY+1 - Major Release (version A.B+2.0) * At any time during year YYYY, maintenance fix releases (version A.*.N) of stable branch (A.*).
Let's take an example :
* January 2013 - Major Release (version 3.3.0) * 1st of March 2013 - Start Major beta (version 3.4.0): Freeze. Creation of branch 3.4.0. See definition of freeze later. * In march 2013 - Mainteance release 3.3.1 was released. See definition of maintenance version later. * June - Major Release (version 3.4) * 1st of October 2013 - Start Major beta (version 3.5.0): Freeze. Creation of branch 3.5.0. See definition of freeze later. * January 2014 - Major Release (version 3.5.0)
Branch and Source control management
All new features have to been push into develop branch. To follow the release calandar, some other branches with name of major version x.y can be created. According to when we are in the release cycle, thoose branches ca nbe frozen branches or maintenance branches. See here what this means:
Freeze definition
When we make a freeze of code, it means we start the beta period. It does not means that we must not change the code. It means that we can do some thing, and we can't for some other. This is generic definition of a Freeze.
- A freeze is done with a goal of a stable version in mind.
- When a freeze has started, all following things are still allowed:
- Any change of code to fix bugs
- Any change into translation (language files or adding translation key implementation)
- Any change into data reference (stored into table llx_c_*. For example, update of vat rates, adding countries, ...)
- Any change to finish works that was started BEFORE the freeze.
- Any change into theme or looks (change into HTML to match W3C, or CSS changes).
- Adding call to dol_syslog().
- Adding a column into a table (+ upgrade script) or index or constraint, but only if it is required to fix a bug.
- The following things are not allowed:
- Any change into architecture.
- Adding/removing new external libraries.
- Adding/removing a table, removing a column.
- Adding new features. However, adding a component whose code is isolated from rest of the code like a "box file" or "emailing target selector file" or a "script" file into /scripts may be accepted by project leader.
Maintenance definition
When a stable version is released, the branch become a maintenance branch. This means, a lot of things can not be done into this branch anymore. This is generic definition of a maintenance branch.
- A maintenance branch is called x.y.* (* start to 1 and is increased for each new maintenance version).
Only changes to fix "blocking", "annoying" or "security" bugs can be done. Bugs making a new feature not available (when feature was never available) must not necessarly be fixed. It 's just a feature not yet ready into this branch, it will be available with next branch.
- The following things are allowed:
- Change code to fix "blocking", "annoying" or "security".
- Increasing size of a field
- Adding a performance index
- The following changes are not allowed:
- Adding or removing fields or tables is not allowed
- Adding a foreign key or unique key.
- There is an exception: We can add backported code of version x.y+1 into a maintenance branch to prepare transition for modules developper, but only if code added is a complete new method or new fonction, with no other change.
List of past versions
This Roadmap page is an index of all dedicated pages to RoadMap of each version (past and future).
Cette page Roadmap est un index de toutes les pages RoadMap de chaque version (passée et future).
Esta página Roadmap es un índice de todas las páginas dedicadas al RoadMap de cada versión (pasadas y futuras).
Pages in category "RoadMap"
The following 49 pages are in this category, out of 49 total.
R
- Roadmap and Release 1.0.0 ("Initial" version)
- Roadmap and Release 2.0.0 ("Community" version)
- Roadmap and Release 2.1.0
- Roadmap and Release 2.2.0 ("Purged version")
- Roadmap and Release 2.4.0 ("Popularity" version)
- Roadmap and Release 2.4.1
- Roadmap and Release 2.5.0 ("International" version)
- Roadmap and Release 2.6.0 ("Stabilization" version)
- Roadmap and Release 2.6.1
- Roadmap and Release 2.7.0 ("Exploitation and security" version)
- Roadmap and Release 2.7.1
- Roadmap and Release 2.8.0
- Roadmap and Release 2.8.1
- Roadmap and Release 2.9.0
- Roadmap and Release 3.0.0
- Roadmap and Release 3.1.0 ("War against clicks" version)
- Roadmap and Release 3.2.0
- Roadmap and Release 3.3.0 ("gpl v3+" version)
- Roadmap and Release 3.4.0
- Roadmap and Release 3.4.2
- Roadmap and Release 3.5.0
- Roadmap and Release 3.6.0
- Roadmap and Release 3.7.0
- Roadmap and Release 3.8.0
- Roadmap and Release 3.9.0
- Roadmap and Release 4.0.0
- Roadmap and Release 5.0.0
- Roadmap and Release 6.0.0
- Roadmap and Release 7.0.0
- Roadmap and Release 8.0.0
- Roadmap and Release 9.0.0
- Roadmap and Release 10.0.0
- Roadmap and Release 11.0.0
- Roadmap and Release 12.0.0
- Roadmap and Release 13.0.0
- Roadmap and Release 14.0.0
- Roadmap and Release 15.0.0
- Roadmap and Release 16.0.0
- Roadmap and Release 17.0.0
- Roadmap and Release 18.0.0
- Roadmap and Release 19.0.0
- Roadmap and Release 20.0.0
- Roadmap and Release 21.0.0