Halfway to 3.6.0 (and a brief explanation of the release process)

We are just about to hit the halfway mark, (tomorrow NZ time) for the release of the 3.6.0 feature release. 3.4.3 is due out in a few days. I just had a thought, that perhaps there are some people who aren’t sure how releases for Koha work. So ill do a brief summary.

We work on a time based release cycle. All code is developed in the open, from multiple developers all around the world. This code is separated into adding new features, and fixing bugs. New features are released ever six months, these are the x.x.0 releases, (3.2.0, 3.4.0, 3.6.0 etc). But every month we release a bugfix release also, these are the 3.4.1, 3.4.2 etc releases.

So 3.4.0 was release April 22, 3.6.0 will be release October 22. 3.4.3 will be released July 22. So the 22nd of each month is an important date in the Koha world.

So how does code get into Koha? Well it’s pretty simple, and all contributors follow the same rules which makes it easy. Here’s a quick run down.

  1. A bug/enhancement is submitted by the ‘bug reporter’.
  2. A patch is submitted by the ‘patch writer’.
  3. (optional) RM pushed it as a QA branch.
  4. The patch is tested and signed off by the ‘patch signer’.
  5. The patch is tested by the QA manager, patch status is set to Passed QA
  6. The patch is tested and signed off by RM
  7. If the patch passes, it is pushed into master by the RM, status is set to Patch Pushed.
  8. The bug is marked resolved by the ‘bug closer’.
  9. The bug is closed when a release is made containing that patch.

Pretty simple eh, the main difference between this and closed source projects, is this is all done in the open, at any time anyone can see the code and the status of a feature/bug. Recently we have introduced Global Bug Squashing days, which are working really well at keeping the queues moving along. I track the bugs/features I have pushed up into the repository here http://koha-releasemanagement.branchable.com/ (as an aside, branchable.com is awesome, check it out).

Now as anyone who reads my blog knows, I enjoy useless statistics. So here’s the statistics at the halfway(ish) mark.

  • Processed 703 csets from 64 developers  (64 different people in 3 months, how cool is that?!!)
  • 23 new features added
  • 131 bugs fixed

Major new features close to addition, Total accounts system rewrite, allowing much better handling of partial payments, refunds etc. This is the first module to be shifted to the new Koha:: namespace from the old C4:: namespace.  Hourly (and in fact minutely) loans reworked in a more robust fashion. Holds system totally overhauled, to allow for even crazier schemes of placing holds, and much more.

Now is also a good time for people to start thinking about positions for the 3.8.0 release. Ever fancied being a release manager and trying to wrangle 70 odd people in 20 different countries into moving in mostly the same direction? Well this is the job for you (I say job, I mean labour of love :))


2 thoughts on “Halfway to 3.6.0 (and a brief explanation of the release process)”

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

%d bloggers like this: