All notable changes to this project will be documented in this file.
- Use visibility of container definition or module for generated CRD enum (#923).
- Add support to apply the
#[versioned()]
macro to modules to version all contained items at once (#891). - Add support for passing a
status
,crates
, andshortname
arguments through to the#[kube]
derive attribute (#914). - Add support for overriding
kube::core
andk8s_openapi
in generated code (#914).
- BREAKING: Remove {write,print}_merged_crd functions (#924).
- BREAKING: Remove the
CustomResource
derive (#914).
- Simplify crate override handling and generation (#919).
- Bump Rust to 1.82.0 (#891).
- Refactor the Override type (#922).
- Emit correct enum ident based on kube/k8s kind argument (#920).
- Generate Kubernetes code independent of container order (#913).
- Correctly emit Kubernetes code when macro is used on modules (#912).
- Use
.into()
on all field conversions (#925). - Remove invalid type comparison on field conversion because the semantics are unknown (#925).
- Check whether to skip all from impls when versioning a module (#926).
- Add basic handling for enum variants with data (#892).
- Accept a wider variety of formatting styles in the macro testing regex (#892).
- Add YAML serialization for merged CRD schema. The schema can now be printed to stdout or written to file (#884).
- Add snapshot tests to verify generated code matches expected output (#881).
- Add forwarding of
singular
,plural
, andnamespaced
arguments ink8s()
(#873). - Generate a
Version
enum containing all declared versions as variants (#872).
- BREAKING: The
merged_crd
function now acceptsSelf
instead of a dedicatedVersion
enum (#875). - The
merged_crd
associated function now takesVersion
instead of&str
as input (#872).
- Add
from_name
parameter validation (#865). - Add new
from_type
parameter tochanged()
action (#844). - Pass through container and item attributes (including doc-comments). Add attribute for version specific docs (#847).
- Forward container visibility to generated modules (#850).
- Add support for Kubernetes-specific features (#857).
- Add
use super::*
to version modules to be able to use imported types (#859).
- BREAKING: Rename
renamed()
action tochanged()
and renamedfrom
parameter tofrom_name
(#844). - Bump syn to 2.0.77 (#857).
- Report variant rename validation error at the correct span and trim underscores from variants not using PascalCase (#842).
- Emit correct struct field types for fields with no changes (NoChange) (#860).
- Add support for versioned enums (#813).
- Add collision check for renamed fields (#804).
- Add auto-generated
From<OLD> for NEW
implementations (#790).
- Remove duplicated code and unified struct/enum and field/variant code (#820).
- Change from derive macro to attribute macro to be able to generate code in place instead of appending new code (#793).
- Improve action chain generation (#784).
- Bump rust-toolchain to 1.79.0 (#822).
- Bump Rust dependencies and GitHub Actions (#782).