Habitat 0.15.0 released

We are delighted to announce the release of Habitat 0.15.0. As usual, we have a number of new features as well as bug fixes, so please read on for all the details. If you just want the binaries, head on over to our downloads page: https://www.habitat.sh/docs/get-habitat/. Thanks again for using Habitat!

New: Rolling update strategy

Habitat 0.15.0 contains a new rolling update strategy via the --strategy rolling flag. The rolling update strategy behaves as follows:

  • An update leader is elected. If service group was started with the leader topology the leader will not be elected as the update leader.
  • The update leader will wait to check for new versions until all services within the service group agree on their version.
  • Members of the service group will look at their “previous peer” to determine if it is their turn to update.
  • Services are updated one at a time.
  • Updates are eventually consistent. If a service joins the service group late it may update out of order, but it will be on the right version.

This update strategy is considered an MVP for rolling, with more ways to configure it to be added over time, based on user need. Read all about it on our docs site: https://www.habitat.sh/docs/run-packages-update-strategy/.

New: Initial prototype of a PowerShell-based Windows build system.

This initial work is designed to show what a PowerShell-based build program and PowerShell-based Plans would look like. It is not completely functional and has several issues, however it demonstrates the user experience of such a fully developed system. Read more about this prototype here: https://github.com/habitat-sh/habitat/pull/1588.

Docs added and updated: Setup instructions for Native Mac, updates for Linux users

These instructions allow a Mac user to compile all the Rust software components directly on a Mac without any virtualization. Note that these instructions are close but not identical to the build strategy for a production hab binary (the official releases are largely statically compiled). Theses docs were also updated for Linux users to be accurate for our latest working instructions. Check them out here: https://github.com/habitat-sh/habitat/blob/master/BUILDING.md.

Improvements

The Homebrew Cask for OSX has been updated as well.

$ brew cask update
$ brew cask reinstall hab # if already installed; otherwise `install`
$ hab --version
hab 0.15.0/20161222215311
$ hab studio enter
0.15.0: Pulling from studio
...
Digest: sha256:cdbdf8e0167308931a4b81626b886c1eab186c5fbfb66df231c39d049712036b
Status: Downloaded newer image for habitat-docker-registry.bintray.io/studio:0.15.0
[1][default:/src:0]# hab --version
hab 0.15.0/20161222203215

Enjoy!