Releases: Spaghetti-Dojo/konomi
Releases · Spaghetti-Dojo/konomi
Release list
v0.3.0
Konomi 0.3.0
This release replaces Konomi's per-domain storage with a single, swappable storage abstraction backed by a dedicated database table, and adds the plugin lifecycle plumbing to provision it.
✨ Highlights
Storage abstraction & custom-table driver
- New
Storage\Storageinterface as the single persistence contract for all interactions, with a value-object model:Record,StorageKey, and anAxisenum (Entity/User) that tells the driver which column a bare$idaddresses. - Ships one core implementation,
Storage\TableStorage, writing to a custom{prefix}konomi_interactionstable instead of post/user meta. - Registered once as a shared container service and consumed by both the Post and User repositories — a single driver serves both domains.
- Pluggable: swap in an alternative backend (e.g. a meta-based driver) from any consumer plugin via a Modularity
ExtendingModule, without re-registering the repositories. See the newdocs/storage-drivers.mdfor the contract and a full meta-storage reference implementation.
Database & schema management
- New
Databasemodule withInteractionsTableandSchemaManagerto define and manage the custom table.
Plugin activation lifecycle
- New
Activationmodule (Activable,ActivationTasks,ActivationExecute) that provisions the interactions table on plugin activation.
Item registry
- New
Post\ItemRegistryandItemRegistryKeyfor managing registered items.
Block hooks
- New
Blocks\Konomi\HookedContentand block-hooks support for auto-injecting block content.
♻️ Changes & removals
- Removed the old per-domain storage classes (
Post\Storage,Post\StorageKey,User\Storage,User\StorageKey) and theRawDataAssertvalidators, superseded by the shared storage layer. - Removed committed front-end build artifacts (
dist/,build-module/) from version control. - Cleaned up bootstrap/autoloading in
konomi.php; version bumped to0.3.0.
✅ Testing
- Added a functional test suite (
tests/functional/) covering the storage driver, database module, block hooks, and Post/User repositories, plus an in-memory storage helper for tests.
Full changelog: v0.2.0...0.3.0