A patch release: config files keep what the user added, YAML custom tags survive a write, and setupPrimaryUrl gains options.
Highlights
- Hand-added config keys survive a config action. A file model built on an
InputSpec'spartialValidatorkeeps keys the spec does not declare, and a discriminated union in a hidden field keeps its variant. - YAML custom tags survive a write. Tags that parse to class instances, such as Home Assistant's
!includeand!secret, are written back as tags. setupPrimaryUrloptions.filterandsslnarrow the addresses offered;fallback: falseleaves the choice empty until the user makes one, andbestUsablenulluntil then. An empty stored URL counts as unset.i18n()parameters are inserted verbatim, at every occurrence of their placeholder.
Full changelog for v3.0.3 — every change in this release.
Important
setupPrimaryUrlprefers a public domain. Where the user has not chosen a URL, or their choice is gone, a service now gets a public domain ahead of its.localaddress.setupPrimaryUrl's task exists exactly while the URL is unresolved, including when the interface offers no address at all. Acriticalone keeps the service stopped until an address is offered and chosen, and updating a running service to a release that adds one leaves it running when its stored URL still resolves.- Drop
z.deepLoose()aroundpartialValidator. It is no longer needed, and it turns a discriminated union into a plain one.