Skip to content

Releases: nolar/kopf

0.23rc2

18 Aug 22:13
ca7cfcb
Compare
Choose a tag to compare
0.23rc2 Pre-release
Pre-release

Originally released on 2019-11-14 11:10:09+00:00 (link).

Improvements:

  • @kopf.on.resume() handlers are not invoked if the object is being deleted. #233
  • @kopf.on.resume() can be explicitly marked as a deletion-safe handler. #233

0.23rc1

18 Aug 22:13
445cfd6
Compare
Choose a tag to compare
0.23rc1 Pre-release
Pre-release

Originally released on 2019-11-13 14:07:04+00:00 (link).

TL;DR: Massive refactoring, renames, code moves. Generally, should be backward-compatible.

RISKY CHANGES (can be BREAKING, should be not):

  • Authentication and API talking are fully reworked: pykube-ng and kubernetes clients are now piggybacked by default to extract the endpoints and credentials, but are not used for the API communication. This can break API connectivity in some cases. #226 #227
  • In-memory containers introduced to carry the technical information/objects/flags for individual resources. This can lead to increased memory usage in huge clusters with thousands of monitored resources. #230
  • @kopf.on.resume() handlers were fixed, and can now execute when previously they were not executed by mistake, but this could be taken as an expected behaviour. This can lead to massive patches of all objects on every operator startup. #230
  • Massive internal renames and code moves; not exposed publicly, unless hacks or monkey-patching were used. #209 #210 #211
  • cause.event is renamed to cause.reason to avoid terminology conflicts. #201

New features:

  • @kopf.on.startup() handlers for operator initialisation. #225
  • @kopf.on.cleanup() handlers for operator shutdown. #225
  • @kopf.on.login() custom authentication handlers. #226
  • @kopf.on.probe() handlers for liveness metrics. #226
  • Pod's liveness probes with kopf run --liveness. #228
  • Explicit owner is not needed in kopf.adopt() and hierarchy methods, current object is used by default. #203
  • retries= limiter for handlers in addition to timeout=. #222
  • errors=TEMPORARY, errors=PERMANENT, errors=IGNORED modes for handlers. #222

Bugfixes:

  • @kopf.on.resume() handlers are not repeated every few minutes for no reason. #229 #230
  • @kopf.on.resume() are executed if they go after the on-create/on-update handlers. #230
  • @kopf.on.resume() can be retried in case of temporary or arbitrary errors. #230
  • @kopf.on.resume() can have sub-handlers. #230
  • There can be 2+ of the@kopf.on.resume() handlers. #230
  • spec, status, metadata fields are not added to the body when absent. #198
  • Ignore asyncio signal handlers on Windows. #220

Internal changes:

  • Fully type-annotated in the code (not in the tests). #195 #196 #197 #200 #201
  • Fully asynchronous internally (asyncio/aiohttp); synchronous pykube-ng client is removed. #217 #227
  • Handler outcomes and persistent state management separated from each other. #221
  • E2E tests are now isolated from each other, preventing false-positives. #205
  • The latest k8s & minikube versions are used in e2e tests. #193

0.22

18 Aug 22:13
Compare
Choose a tag to compare

Originally released on 2019-10-23 17:19:02+00:00 (link).

Bugfixes:

  • Implicit logging events obey the configured level. #192 #188
  • Field-changes detect the sub-fields of change's dict-containers. #191 #190

Internal changes:

  • Diffs are turned from tuples to classes, diff ops — from strings to enums. #191

0.22rc1

18 Aug 22:13
5c11fa1
Compare
Choose a tag to compare
0.22rc1 Pre-release
Pre-release

Originally released on 2019-09-26 10:56:43+00:00 (link).

Bugfixes:

  • Implicit logging events obey the configured level. #192 #188
  • Field-change detects sub-fields of change dict-containers. #191 #190

Internal changes:

  • Diffs are turned from tuples to classes, diff ops — from strings to enums. #191

0.21

18 Aug 22:13
73ef163
Compare
Choose a tag to compare

Originally released on 2019-09-13 11:01:50+00:00 (link).

New features:

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

0.21rc5

18 Aug 22:13
4ad77da
Compare
Choose a tag to compare
0.21rc5 Pre-release
Pre-release

Originally released on 2019-08-14 17:35:01+00:00 (link).

Reverted:

  • Removed "Ensure eventual consistency for all handlers" feature of 0.21rc3. #182 #163

0.21rc4

18 Aug 22:13
49f6e5a
Compare
Choose a tag to compare
0.21rc4 Pre-release
Pre-release

Originally released on 2019-08-12 07:38:22+00:00 (link).

Improvements:

  • More logs on reasons of exiting/termination. #179

0.21rc3

18 Aug 22:13
8b9fbc1
Compare
Choose a tag to compare
0.21rc3 Pre-release
Pre-release

Originally released on 2019-08-08 14:54:13+00:00 (link).

Improvements:

  • kopf --version added. #175

Bugfixes:

  • Do not add a finalizer to objects excluded by labels/annotations filters. #173
  • Ensure eventual consistency for all handlers even with intermediate object changes. #163

0.21rc2

18 Aug 22:13
24041de
Compare
Choose a tag to compare
0.21rc2 Pre-release
Pre-release

Originally released on 2019-08-08 13:23:01+00:00 (link).

Improvements:

  • 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

Bugfixes:

  • Fixed failing with 404 if object was removed too fast or within the handler. #160
  • Fixed implicitly forced peering mode for embeddable operator. #174

0.21rc1

18 Aug 22:14
d057ac9
Compare
Choose a tag to compare
0.21rc1 Pre-release
Pre-release

Originally released on 2019-08-07 17:45:34+00:00 (link).

New features:

Improvements:

  • 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 do not dump strack-traces anymore. #159

Internal changes:

  • CodeCov PR comments disabled (to prevent spamming). #170
  • Some modules were moved around and split. #155