New features:
- In-memory indexing & caching for faster lookup/listing of resources from all handlers. #661
- Global
memo
with keys available throughout all operator- & resource-level handlers. #667 - Embedded operators accept
memo=
with arbitrary values to be used as a context. #667 - Custom
memo
classes for embedded operators instead of the defaultkopf.Memo
. #667
Improvements:
- Better documentation on the hierarchies toolkit, with detailed examples. #671 #672
- 3rd-party (
pykube-ng
&kubernetes
) objects/models are now supported for hierarchies. #672 - Other tiny improvements for the hierarchies toolkit:
- Relabelling of the target resources with labels of the current owner.
forced=
flag in all functions, incl. names/namespaces.nested=
now accepts a single string too:nested="spec.jobTemplate"
.adopt()
has gotforced
&strict
options (in addition tonested
).- And others: see #671
Bugfixes:
- Stop daemons & timers while the operator is on peering freeze. #675
- Use
0.0.0.0
for liveness probes in docs. #665 by @brennerm
Contributors experience:
- DCO is now mandatory for all contributions. #660
- Log spill is removed for pytest. #670
- Kopf's compatibility with 3rd-party clients is now tested. #669
- Better error highlighting in tests when happened under throttled code. #696
- Newer mypy. #677
Refactorings: