Bump version to v0.5.4, update changelog and roadmap
All checks were successful
CI/CD / detect-changes (pull_request) Successful in 4s
CI/CD / test-frontend (pull_request) Successful in 5s
CI/CD / test-go-pg (pull_request) Successful in 2m43s
CI/CD / test-sqlite (pull_request) Successful in 2m52s
CI/CD / build-and-deploy (pull_request) Successful in 1m6s

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
2026-03-30 19:10:04 +00:00
parent 91fb07b7e5
commit 3626104abc
2 changed files with 36 additions and 1 deletions

View File

@@ -2,6 +2,41 @@
All notable changes to Switchboard Core are documented here. All notable changes to Switchboard Core are documented here.
## v0.5.4 — Package Updates
### Added
- **Package update API**: `POST /api/v1/admin/packages/:id/update` accepts a
`.pkg` archive, validates semver version bump (rejects same/older), applies
additive schema migration, merges settings, replaces assets, and re-syncs
permissions/triggers/dependencies.
- **Package export API**: `GET /api/v1/admin/packages/:id/export` streams the
installed package as a downloadable `.pkg` ZIP archive. Completes the manual
rollback story: export before update, re-install old `.pkg` if needed.
- **Semver parsing**: `ParseSemver` / `Compare` in `handlers/semver.go` with
prerelease support. Used by the update handler to enforce version bumps.
- **Additive schema migration**: `MigrateExtTables` diffs declared `db_tables`
against existing ext_data schema. Adds new columns (`ALTER TABLE ADD COLUMN`)
and new tables. No destructive changes — columns in DB but absent from
manifest are preserved. `ListExtColumns` introspects via `PRAGMA table_info`
(SQLite) or `information_schema` (Postgres).
- **Settings merge on update**: New manifest setting keys get their declared
default value; existing admin-configured values are preserved.
- **Admin UI Update button**: Non-core package cards now show an Update button
with a confirm dialog before upload.
- **14 new Go tests**: Version bump, 5 rejection cases (same/older/core/type/id
mismatch), schema add column with data preservation, schema add table,
settings merge, export with valid zip, default allowlist, wildcard allowlist.
### Changed
- **Curated default bundle**: Default bundled packages reduced from 23 to 8
core packages (notes, chat-core, workflow-chat, dashboard, 4 demo workflows).
`BUNDLED_PACKAGES=*` installs all; explicit comma-separated list for custom.
Existing deployments are unaffected (install-once, skip-if-present).
- **`BUNDLED_PACKAGES` env var**: Empty value now installs curated defaults
instead of all packages. Use `"*"` for previous install-all behavior.
## v0.5.3 — Chat Polish + Integration Testing ## v0.5.3 — Chat Polish + Integration Testing
### Added ### Added

View File

@@ -1 +1 @@
0.5.3 0.5.4