<div dir="ltr">A new version of charms.reactive (0.4.0) has been <a href="https://pypi.python.org/pypi/charms.reactive">released</a>.  As it is backwards compatible, it will automatically be updated whenever you rebuild a layered charm.<div><br></div><div>It includes the following changes:</div><div><br></div><div>  * New <a href="https://pythonhosted.org/charms.reactive/charms.reactive.decorators.html#charms.reactive.decorators.when_any">@when_any</a> and <a href="https://pythonhosted.org/charms.reactive/charms.reactive.decorators.html#charms.reactive.decorators.when_not_all">@when_not_all</a> decorators</div><div>  * Fix for some files in interface layers being mistakenly treated as reactive handlers</div><div><br></div><div>The @when_any decorator works particularly well with the <a href="https://github.com/juju-solutions/layer-basic#reactive-states">config.changed.{varname}</a> and <a href="https://git.launchpad.net/layer-leadership/tree/README.md#n30">leadership.changed.{varname}</a> states provided by the base and leadership layers, respectively.  Note that, like @when_none, it never passes in an argument.</div></div>