New features:
- Rudimentary authentication from kubeconfig/serviceaccount with no pykube-ng/kubernetes libraries. #771
Bugfixes:
- Restore specific groups for peering selectors to prevent whole-cluster API group scanning. #741
- Fix an issue with Click 8.0.0 for custom type double-conversion. #769
Improvements:
- Better typing for memos in strictly typed operators (no
Union
is needed). #747 #753 - Better typing for daemon stopping flags in strictly typed operators. #757 #760
- Actionable suggestions on 401 "Unauthenticated" API errors. #770
- Expose Kopf's version in user-agent & in logs. #777
Contributor experience:
- Remove leading zeros from IPv4 in tests (broken CI for Python >= 3.9.5). #750
- Document the layered code architecture (with a picture). #766
- Proper badge URL for README. #749
- Lint the source code with pre-commit. #776 #778
Internal refactoring:
- Rebalance the classes & modules massively — for cohesion and decoupling. #765 #766 #752 #761 #759 #763 #764 #751
- Hide all internal modules & packages from users (via underscore-naming). #765
- Rename internal entities to not mention "resource(s)" explicitly. #756
- Fix the documentation cross-linking. #773
- Correct some code-formatting and linting issues. #775
- Parse E2E flags/configs with AST instead of RegExps. #733
- Use only pure f-strings for logs, avoid %s/%r formatting. #772