Skip to content

Commit ce9902b

Browse files
spearwolfclaude
andcommitted
chore(release): @spearwolf/shadow-objects 0.31.0
Promote previously unreleased entries (KERN-1..7 fixes, autoDestructionOnParentRemoval API, bundle.js fix, dist cleanup, dependency bumps) into the 0.31.0 section. Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
1 parent e1768c1 commit ce9902b

2 files changed

Lines changed: 3 additions & 1 deletion

File tree

packages/shadow-objects/CHANGELOG.md

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,8 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
99
1010
## [Unreleased]
1111

12+
## [0.31.0] - 2026-05-09
13+
1214
- **Bugfix (entity lifecycle, KERN-3):** `kernel.destroyEntity()` now handles its children explicitly instead of leaving them as orphaned entries inside the kernel. Children with `autoDestructionOnParentRemoval` cascade-destroy together with the parent; all other children are promoted to root entities and remain reachable. This fixes a real leak where children without the auto-destruct flag were left in `kernel.#entities` after the parent was destroyed.
1315
- **Bugfix (entity lifecycle, KERN-2):** `autoDestructionOnParentRemoval` now survives re-parenting. The subscription is rebound to the new parent on every parent change (`Entity.parentUuid` setter / `Kernel.setParent()`), so a re-parented child is no longer destroyed when its *original* parent dies, and is correctly destroyed with its *current* parent.
1416
- **Bugfix (change trail, KERN-1):** the `autoDestructionOnParentRemoval` flag is now carried end-to-end through the change-trail pipeline. `ICreateEntitiesChange` exposes a new optional `autoDestructionOnParentRemoval?: boolean` field, `ComponentChanges.create()` accepts it as a 4th parameter, and `Kernel.run()`/`parse()` forwards it to `createEntity()`. Previously the kernel parameter existed but the trail-based path (worker and local env) never set it, so the feature was unreachable in production.

packages/shadow-objects/package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
"name": "@spearwolf/shadow-objects",
33
"description": "a reactive entity-component framework that feels at home in the shadows",
44
"homepage": "https://github.com/spearwolf/shadow-objects/",
5-
"version": "0.31.0-dev",
5+
"version": "0.31.0",
66
"author": {
77
"name": "Wolfger Schramm",
88
"email": "wolfger@spearwolf.de",

0 commit comments

Comments
 (0)