Habitat 0.18.0 Released

We are delighted to announce the release of Habitat 0.18.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!

Features & Enhancements

  • [RFC] Reconfigure without restart #1801
  • Added support for dynamically provisioned ephemeral acceptance env #1878 (eeyun)
  • Commit Cargo.lock with pinned toml dep #1828 (bodymindarts)
  • [sup] No write lock is required to lookup suitability #1826 (bodymindarts)
  • Validate that a ServiceConfig can be rendered as a string. #1824 (smurawski)
  • changing the reference of Mac platform from MacOS to Darwin for uname… #1817 (smurawski)
  • documentation for eachAlive helper #1814 (smurawski)
  • eachAlive Handlebars Helper #1813 (smurawski)
  • Upgrade crates, primarily serde 0.9 and toml 0.3 APIs #1811 (fnichol)
  • [sup] Refactor Service to install itself & load from a ServiceSpec. #1791 (fnichol)
  • “Fix” deserialization of ServiceConfig inside Handlebars Helper #1788 (smurawski)
  • Add closing {{~/if}} in example #1770 (smacfarlane)

Bug fixes

  • Rendering config is failing #1818
  • Service tries to copy run hook before initialization #1797
  • Unable to use pkgPathFor helper #1773
  • Service should be set to “uninitialized” after an update occurs #1641
  • [sup] Correct hook output location and line breaks #1834 (bodymindarts)
  • [sup] Begin a new service lifecycle after pkg update #1833 (bodymindarts)
  • [sup] Initialization should fail on non 0 exit code #1827 (bodymindarts)
  • A few fixes for the supervisor #1822 (smurawski)
  • [sup] Fix a Serialize trait impl for serde 0.9. #1815 (fnichol)
  • [sup] Regression: fix when specifying multiple service opts. #1796 (fnichol)
  • Skip auto-update on start for rolling update strategy #1792 (reset)
  • “Fix” deserialization of ServiceConfig inside Handlebars Helper #1788 (smurawski)
  • [hab] Refactor install.sh for Habitat ‘hab’ program. #1777 (fnichol)
  • Refresh and reinitialize service after package update #1776 (mwrock)
  • [hab/mac] Update Mac builds with 0.17.0 updates. #1771 (fnichol)
  • fix missing lib build errors in sup/butterfly #1769 (mwrock)

Closed issues:

  • supervisor does not install powershell plan on windows if missing #1874
  • Package updates restart old package and not the updated one #1873
  • Fix zmq crate compile in hab-sup windows plan on system w/o vs 2015 installed #1872
  • Multi-tier .net Core sample on windows #1871
  • Dummy Issue #1836
  • Slow hash generation for lots of files #1800
  • Elect ‘healthiest’ follower when leader goes down #1767

Merged pull requests:

If you are using the Mac or Windows CLI to enter a Docker based studio (hab studio enter), you may see

error pulling image configuration: received unexpected HTTP status: 500 Internal Server Error
✗✗✗ The Docker image habitat-docker-registry.bintray.io/studio:0.18.0 is unreachable due to a network error.
✗✗✗ The image must be reachable to ensure the versions of hab inside and outside the studio match.
✗✗✗ You can specify your own Docker image using the HAB_DOCKER_STUDIO_IMAGE environment variable.

This can be cleared up by manually removing previous habitat studio images from your local cache of Docker images.


docker rmi .habitat-docker-registry.bintray.io/studio:latest --force