Kopf

Latest version: v1.37.4

Safety actively analyzes 714736 Python packages for vulnerabilities to keep your Python projects secure.

Scan your dependencies

Page 6 of 18

1.30.2

Documentation only (to rebuild ReadTheDocs):

* Grammar and style fixes in the documentation. 717

1.30.1

Bugfixes:

* Hotfix an "unexpected kwarg" error for indexing when peering is enabled. 712

Contribution workflow:

* The `master` branch is renamed to `main`. 711
* Kubernetes 1.13 is disabled (not supported by Minikube, broke the CI). 709
* Kubernetes 1.20 is enabled, others are upgraded on micro-versions. 709

1.30.0

New features:

* [In-memory indexing & caching](https://kopf.readthedocs.io/en/stable/indexing/) 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 default `kopf.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 got `forced` & `strict` options (in addition to `nested`).
* 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:

* Missing kwargs added to protocols (seems, they have no effect). 666
* Code moves and name changes with no behaviour affected. 679 680 681 695

1.30.0rc1

New features:

* [In-memory indexing & caching](https://kopf.readthedocs.io/en/stable/indexing/) 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 default `kopf.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 got `forced` & `strict` options (in addition to `nested`).
* 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:

* Missing kwargs added to protocols (seems, they have no effect). 666
* Code moves and name changes with no behaviour affected. 679 680 681 695

1.29.2

**Slightly BREAKING** in cases assumed to be extremely rare (see 674 for details):

* When 2+ decorators are used for the same function **BUT** with different ids explicitly overridden via `id=`.
* When field filters (`field=`) are used on resume/create/update/delete handlers **AND** the resource is in the handling cycle at the moment of the upgrade, these handlers will be re-executed;
* Upgrades from older Kopf versions (`<1.29`) are not affected.
* Other handlers/daemons/timers are not affected.
* Idle resources are not affected.

Bugfixes:

* Invoke handlers with the same function but different fields separately for every field. 674

1.29.1

New features:

* Handlers parametrization with the `param` option & `param` kwarg. 659

Bugfixes:

* `resource` kwarg is added to replace `cause.resource` (forgotten by mistake). 658

Page 6 of 18

© 2025 Safety CLI Cybersecurity Inc. All Rights Reserved.