StopEvent
,RemoveEvent
, and allLifeCycleEvent
s are no longer deferrable, and will raise aRuntimeError
ifdefer()
is called on the event object.- The remote app name (and its databag) is now consistently available in relation-broken events.
- Added
ActionEvent.id
, exposing the JUJU_ACTION_UUID environment variable. - Added support for creating
pebble.Plan
objects by passing in apebble.PlanDict
, the ability to compare twoPlan
objects with==
, and the ability to create an empty Plan withPlan()
.
- Added support for Pebble Notices (
PebbleCustomNoticeEvent
,get_notices
, and so on) - Added
Relation.active
, and excluded inactive relations fromModel.relations
- Added full support for charm metadata v2 (in particular, extended
ContainerMeta
, and various info links inCharmMeta
)
- Added log target support to
ops.pebble
layers and plans - Added
Harness.run_action()
,testing.ActionOutput
, andtesting.ActionFailed
- Added
Unit.reboot()
and `Harness.reboot_count`` - Added
RelationMeta.optional
- The type of a
Handle
'skey
was expanded fromstr
tostr|None
- Narrowed types of
app
andunit
in relation events to excludeNone
where applicable
- Added Unit.set_ports()
- Type checks now allow comparing a
JujuVersion
to astr
- Renamed
OpenPort
toPort
(OpenPort
remains as an alias)