Hello all, we’re thrilled to announce release of ops==2.18.0 and ops-scenario==7.1.0:
The Ops documentation has been dramatically revamped, with tutorials and how-to guides moved from Juju documentation to Ops where they belong, among with a myriad of other improvements.
The deferred event queue is now deduplicated, which should make charms feel more responsive.
Unit testing has been made faster by using an in-memory state database and a few other tricks.
And another follow-up: ops 2.18.1, and ops-scenario 7.1.2, fixing a few bugs, particularly:
If an event handler deferred and another handler of the same event subsequently did not defer, and there was already a queued deferred case for the first defer, ops would crash.
Getting the Juju version when testing with Scenario would return 0.0.0 rather than the version set in the context.
Apologies for these; we hope no more issues will be found with 2.18 and 7.1.
And another follow-up, ops-scenario 7.1.3: we concluded that we didn’t go far enough with 7.1.2, which put JUJU_VERSION back into the environment.
ops-scenario now has the previous behaviour where all of the mocked Juju environment variables are put into os.environ again.
We do strongly recommend that you get your Juju context from ops, though, and please let us know if you find yourself needing os.environ (other than for bits ops doesn’t model, like the PROXY variables).