Lithium 0.1.0
The first documented Lithium foundation for package-owned addons, component services and explicit runtime contracts.
Features
What's new
Addon lifecycle
Addons can own focused setup and teardown through a small, package-bound lifecycle.
Component services
Shared systems can use the same component model as the s&box scene runtime.
Named events
Packages can communicate through explicit event boundaries without direct coupling.
Reliability
Fixes
Package-bound addon discovery
Addon selection now follows the mounted package identity instead of choosing an unrelated available addon type.
Scene-owned services
Dynamically registered services are created on objects that belong to the active scene.
Compatibility
Breaking changes
Explicit addon identity
Addon declarations must provide the package id, display name, version and required API version expected by the current contract.
Upgrade path
Migration instructions
Before upgrading
Confirm that each addon id exactly matches its mounted package identity. Keep a backup of existing addon configuration files before testing the new version.
Update addon declarations
Update each addon attribute to include the complete compatibility contract:
[Addon(
"thepanicdept.lithium_inventory",
"Lithium Inventory",
"0.1.0",
"0.1.0"
)]
public sealed class InventoryAddon : Addon<InventoryConfig>
{
}Verify the migration
- Build the Lithium game project and each addon project independently.
- Start a scene with the addon package mounted.
- Confirm the expected addon is loaded and its component services belong to the active scene.
- Review persisted configuration under
lithium/addons/.