Repository navigation
Releases
Releases · nolar/kopf
1.45.2
What's Changed
- Iterate over copies of the running daemons in the daemon killer by @ab2525 in #1338
- Fix types and tests for the kubernetes client v37 by @ab2525 in #1339
- Disable pypy 3.12 + kubernetes client testing (fails to install) by @nolar in #1340
New Contributors
Full Changelog: 1.45.1...1.45.2
1.45.1
What's Changed
- Prevent RuntimeWarnings in daemons/timers rapid cancellations by @akashchamp in #1336
New Contributors
- @akashchamp made their first contribution in #1336
Full Changelog: 1.45.0...1.45.1
1.45.0
What's Changed
- Drop aiohttp's deprecated basic auth approach by @nolar in #1322
- Retry k8s-event posting with a configurable backoff budget by @arun2dot0 in #1312
- Escalate watcher-task failures from the orchestrator loop by @mvanhorn in #1313
Operator Optimizations
- Filter the watch-stream by server-side selectors by @desertaxle in #1311
- Split the watch-stream by server-side shards by @nolar in #1328
- Split the initial resource listing into chunks to save memory by @nolar in #1324
- Utilize the server-side initial streaming to save memory by @nolar in #1326
Python Support
- Drop Python 3.10 support by @nolar in #1333
- Enable Python 3.15 support by @nolar in #1325
- Enable PyPy 3.12 in CI by @nolar in #1323
- Enable and declare the support for free-threaded CPython by @nolar in #1329
CI and DX
8000- Upgrade CI tools (including the OS) by @nolar in #1321
- Upgrade k8s versions in CI to 1.37; drop k8s up to 1.34 by @nolar in #1330
- Unpin PyPy in CI and let it run in PyPy 8.0.0 by @nolar in #1332
- Switch to pure uv, no setup-python in CI by @nolar in #1334
- Move the gc disabling to looptime's chronometers by @nolar in #1335
New Contributors
- @desertaxle made their first contribution in #1311
- @arun2dot0 made their first contribution in #1312
- @mvanhorn made their first contribution in #1313
Full Changelog: 1.44.6...1.45.0
1.44.6
What's Changed
- Upgrade CI tools and actions (mypy, pre-commit, docker, etc) by @nolar in #1300
- Fix documentation for default event logging behaviour by @markafarrell in #1302
- Improve thread safety in debug mode of event loops by @nolar in #1303
- Configure the default backoff for unexpected errors as an operator-wide setting by @nolar in #1304
- Fix a test failure specifically in PyPy 3.11.15+ by @nolar in #1310
- Fix python kubernetes login for >= v36.0.1 by @markafarrell in #1308
New Contributors
- @markafarrell made their first contribution in #1302
Full Changelog: 1.44.5...1.44.6
1.44.5
What's Changed
- Fix the transformation functions in timers/daemons patching by @nolar in #1296
- Speed up KopfRunner by skipping the 1-second sleep on aiohttp 3.12.4+ by @nolar in #1291 #1293
- Narrow down the name & uid types in kwargs to strict strings by @nolar in #1298
Improvements
- Stop installing the dev group by default in CI by @nolar in #1290
- Reduce supply chain attacks in CI by using 7-day old dependencies by @nolar in #1297
- Annotate types in all code examples in the documentation by @nolar in #1299
Full Changelog: 1.44.4...1.44.5
1.44.4
What's Changed
- fix: avoid TypeError when kubernetes_asyncio is unavailable by @saschabuehrle in #1289
New Contributors
- @saschabuehrle made their first contribution in #1289
Full Changelog: 1.44.3...1.44.4
1.44.3
YANKED: broken types for Python 3.10-3.13 without kubernetes_asyncio (3.14 works). Use 1.44.4.
What's Changed
- Use Protocol for function typing instead of MyPy extensions by @nolar in #1281
- Support
kubernetes_asyncioas the first-class 3rd-party library by @nolar in #1283 - Postpone the cancellation of authenticator to the very last moment by @nolar in #1286
Refactoring
- Type-check the examples in strict mode, add type annotations by @nolar in #1280
- Convert to Python 3.9: convert most internal mappings to dicts by @nolar in #1166
- Test the piggybacking authentication routines by @nolar in #1284
- Test the operator's top-level routines by @nolar in #1287
Full Changelog: 1.44.2...1.44.3
1.44.2
1.44.1
1.44.0
TL;DR: Improvements in overall stability and consistency, in cooperation with other operators, and in reducing the load on clusters.
What's Changed
- Detect silent connection loss behind the cloud load balancers by @nolar in #1267 #1268
- Apply arbitrary resource transformations via json-patches by @nolar in #1253
- Patch finalizers atomically using json-patch relative to the freshest body state by @nolar in #1252
- Suppress patching logs in peering keepalives to reduce noise by @nolar in #1274
- Reduce the API PATCHes by ceasing to write the handler progress to the status stanza by @nolar in #1259
- Cease posting the logs as k8s events out-of-the-box by @nolar in #1258
Documentation
- Document the critiques of Kopf with counter-arguments and examples by @nolar in #1256
- Fix grammar, punctuation, and style across all documentation and docstrings by @nolar in #1271
- Claim the Context7 project ownership by @nolar #1273
Refactoring
- Refactor test mocks to use named args/kwargs instead of indexed ones by @nolar in #1255
- Migrate all API tests from aresponses to KMock by @nolar in #1211
- Upgrade to kmock 0.4 (replace
clusterwide()withnamespace(None)). by @nolar in #1257 - Stabilise e2e tests in a slow local k8s cluster in CI by @nolar in #1260
- Disable the metrics.k8s.io extension in CI K8s clusters by @nolar in #1265 #1269
- Disable CodeQL in CI (no benefit) by @nolar in #1270
Full Changelog: 1.43.0...1.44.0