Finally, we made it [1], feel free to share this news with world :)
Big kudos go to all people who sent patches, tested, created bug reports and shared their
ideas with us. Thanks!
Now, I'd like to make the development/release model of DA a bit more structured, so
here's a proposal (it's not very strict right now, we can always make it more
strict if we need):
- From now on, we should also start doing micro (bugfix, e.g. 0.9.0 -> 0.9.1) releases
of DA. This will have some implications in the git repo.
- Development goes on in master branch. Master branch can be broken from time to time (in
the sense that we do new features that bring unexpected regressions), but all the Travis
tests have to keep passing.
- After a new minor version (e.g. 0.9.0) is released, we create a new maintenance branch
for it (e.g. 0.9.x). The maintenance branch doesn't necessarily have to be created
immediately - it's not needed when we're only committing bugfixes and minor
backwards compatible improvements. Only when someone wants to start working on a new major
feature or do something backwards incompatible, the maintenance branch has to be created
beforehand.
- All commits in maintenance branches have to be backwards compatible.
- When a maintenance branch is active, every bugfix to master, which also makes sense for
the maintenance branch, must also be merged to the maintenance branch - and vice versa.
- Initially, I'd say we should support a minor release for at least half a year,
releasing micro releases as needed (no predefined schedule).
Also, I'd like to add a rule "every new feature must have unit tests testing its
basic functionality".
Thoughts/comments?
I'll wait for comments several days and if/when this is agreed, I'll add it to our
documentation.
Thanks
[1]
https://plus.google.com/118340290623649275446/posts/b9NHanJVpcY