github email rss
imag 0.6.1
Feb 11, 2018
2 minutes read

imag 0.6.1 is a bugfix release which fixes two severe bugs in imag-init:

  • imag-init created the git repository inside the imag directory. But it really should be created in {imag directory}/.git. This was fixed.
  • imag-init was buggy as it did not include the imagrc.toml file in the release, thus building it from crates.io failed.

Only imag-init was published, all other crates remain in 0.6.0 (rationale read below).

On publishing patch releases

I thought that I won’t release patch-releases before 1.0.0 of imag, but this is too severe to not be fixed as soon as possible.

Hence I created the “v0.6.x” branch where the most critical bugfixes will be backported. I will not, though, republish all crates for each patchlevel release (like I do with each 0.y.0 release). I will only publish the fixed crate or all affected crates. So if there happens to be a critical bug in libimagstore and I want to publish a fixed release for this, I will publish all crates with a new patchrelease, but if there is a bug in imag-store, I will only republish imag-store with the fix.

What I will not do, though, is increment the patchlevel for all crates independently. The fixed crates will be increased to the new number. Thus, I am releasing imag-init in 0.6.1 now. If there is a bug in imag-entry I need to fix, I will release it as 0.6.2 then. This is mainly because of the git tags but also because everything else is ugly. I don’t want to create a 0.6.1-init or 0.6.1-imag-init tag for the bugfix release and later a 0.6.1-entry or 0.6.1-imag-entry tag. I simply increase the number with each bugfix release.

One policy I learned from the kernel community which I want to apply in imag as well: A bugfix is backported to the v0.6.x branch only if it is already included in master. With this, we ensure that bugs are the two branches do not diverge too much.

Changelog updates will be merged back to master by cherry-picking them.

Lets hope 0.6.1 is the first and the last bugfix release for the 0.6.x series! :-)


Back to posts