What's Changed
- RGD on Graph — unifying the composition engine (Implementation of KREP-024) by @jakobmoellerdev in #1355
- fix(graphengine): type dynamic-GVK collections as list(dyn), not any by @cheeseandcereal in #1414
- fix(graphengine): fail closed on malformed external-collection selectors by @cheeseandcereal in #1405
- fix(graphengine): report patch field conflicts as FieldManagerConflict; reject readyWhen on patch nodes by @cheeseandcereal in #1415
- feat: add plural form next to shortnames and categories as override option by @Skarlso in #1417
- Let new resource kinds work without restarting kro by @cheeseandcereal in #1424
- Retry collection member updates after transient API rejections by @cheeseandcereal in #1425
- Preserve CEL timestamp typing when publishing RGD schema values by @cheeseandcereal in #1427
- chore(fix): encode long instance-names and refactor node-id hashing by @Skarlso in #1392
- Keep conditional RGD children while their inputs are unready by @cheeseandcereal in #1426
- Keep inventory projection from suppressing wanted children by @cheeseandcereal in #1431
- docs: document the Graph API and restructure concepts for v0.10.0 by @cheeseandcereal in #1402
- Reject schema-only RGD duplicate identities before adopting objects by @cheeseandcereal in #1428
- chore: remove always true boolean value check by @Skarlso in #1438
- fix(graphengine): restore progressive object and array status by @cheeseandcereal in #1441
- fix(crd): Fail closed on schema changes by @tomasaschan in #1430
- docs: cut v0.10.0-rc.0 without promoting latest by @cheeseandcereal in #1443
Full Changelog: v0.9.4...v0.10.0-rc.0