Changeset 0.28.7 (#193)
This commit is contained in:
60
CHANGELOG.md
60
CHANGELOG.md
@@ -1,5 +1,65 @@
|
||||
# Changelog
|
||||
|
||||
## [0.28.7] — 2026-03-15
|
||||
|
||||
### Summary
|
||||
|
||||
Unified packaging. The `surface_registry` and `extensions` tables are
|
||||
replaced by a single `packages` table. Surfaces, extensions, and combined
|
||||
"full" packages install through one endpoint (`POST /admin/packages/install`)
|
||||
with one archive format (`.pkg`). Task RBAC pre-positions the `task.starlark`
|
||||
permission gate for v0.29.0.
|
||||
|
||||
**DB rebuild required.** Migrations 012 and 016 are rewritten in-place.
|
||||
Extension surfaces must be re-installed after upgrade. Builtin extensions
|
||||
and core surfaces re-seed automatically.
|
||||
|
||||
### New
|
||||
|
||||
- **Unified `.pkg` archive format** — zip containing `manifest.json` +
|
||||
static assets (js/, css/, assets/). Manifest `type` field determines
|
||||
behavior: `surface` (routable page), `extension` (hooks/tools/pipes),
|
||||
`full` (both). Missing `type` defaults to `surface` for backward
|
||||
compatibility with `.surface` archives.
|
||||
- **`packages` table** — replaces `surface_registry` + `extensions`.
|
||||
Text slug PKs, unified schema with type/version/tier/scope columns.
|
||||
`package_user_settings` replaces `extension_user_settings`.
|
||||
- **`POST /admin/packages/install`** — unified install endpoint.
|
||||
Validates type-specific requirements (extensions need tools/pipes/hooks,
|
||||
full packages need both route and extension behavior). Accepts `.pkg`,
|
||||
`.surface`, `.zip`.
|
||||
- **Admin packages section** — replaces separate Surfaces + Extensions
|
||||
sections. Type badges, filter by type, install upload area.
|
||||
- **`/admin/surfaces/*` aliases** — all surface admin endpoints retained
|
||||
as aliases pointing to the packages handlers. No URL-breaking change.
|
||||
- **`task.starlark` permission** — pre-positioned in `AllPermissions`.
|
||||
Handler rejects `task_type: "starlark"` with 400 referencing v0.29.0.
|
||||
Not granted to any group, not exposed in admin UI until v0.29.0.
|
||||
|
||||
### Changed
|
||||
|
||||
- **`SeedBuiltinExtensions` → `SeedBuiltinPackages`** — writes to
|
||||
`packages` table with `source='builtin'`, `type='extension'`,
|
||||
`is_system=true`. Same idempotent version-aware logic.
|
||||
- **`Stores.Surfaces` + `Stores.Extensions` → `Stores.Packages`** —
|
||||
single `PackageStore` interface (15 methods). Compiler-enforced
|
||||
migration across all handlers, pages, and completion pipeline.
|
||||
- **Static asset disk path** — `/data/surfaces/` → `/data/packages/`.
|
||||
URL path `/surfaces/:id/*path` retained for stability.
|
||||
- **Extension runtime** — `ListForUser`, `GetUserSettings`,
|
||||
`SetUserSettings`, `ServeExtensionAsset`, `ListBrowserToolSchemas`
|
||||
all read from `packages` table. Same API contract, new backing store.
|
||||
|
||||
### Removed
|
||||
|
||||
- **`extensions` table** (migration 012) — replaced by `packages`.
|
||||
- **`surface_registry` table** (migration 016) — replaced by `packages`.
|
||||
- **`extension_user_settings` table** — replaced by `package_user_settings`.
|
||||
- **`ExtensionStore` interface** — subsumed by `PackageStore`.
|
||||
- **`SurfaceRegistryStore` interface** — subsumed by `PackageStore`.
|
||||
- **`surfaces/` repo directory** — renamed to `packages/`.
|
||||
- **`admin-surfaces.js`** — replaced by `admin-packages.js`.
|
||||
|
||||
## [0.28.6] — 2026-03-15
|
||||
|
||||
### Summary
|
||||
|
||||
Reference in New Issue
Block a user