> _Originally released on 2019-09-13 11:01:50+00:00 ([link](https://github.com/zalando-incubator/kopf/releases/tag/0.21))._
New features:
* Expose the functions to make Kopf embeddable into other apps. 156 185
* Docs: https://kopf.readthedocs.io/en/latest/embedding/
* Example: https://github.com/nolar/kopf/tree/master/examples/12-embedded
Improvements:
* `kopf --version` added. 175
* More logs on reasons of exiting/termination. 179
* Wake up immediately on new changes of the object if currently sleeping for delayed handlers. 162
* Speed up the deletion (finalizer removal) of the objects with failed creation/update handlers. 162
* Terminate the operator better, with graceful period for clean shutdown. 156
* K8s-events for cluster-scoped objects are posted to the current namespace, not "default". 165
* Kopf's handler errors renamed to `kopf.PermanentError/kopf.TemporaryError`. 159
* Kopf's permanent/temporary errors (and these only) will not dump strack-traces anymore. 159
Bugfixes:
* Do not add a finalizer to objects excluded by labels/annotations filters. 173
* Fixed failing with 404 if object was removed too fast or within the handler. 160
* Fixed implicitly forced peering mode for embeddable operator. 174
Internal changes:
* CodeCov PR comments disabled (to prevent spamming). 170
* Some modules were moved around and split. 155