Skip to content

Commit 38e5dd5

Browse files
committed
feat: release v1.2.0 with new Studio DX, REST extraction, and Dispatcher plugin
1 parent 6aff1d5 commit 38e5dd5

28 files changed

Lines changed: 285 additions & 26 deletions

File tree

.changeset/config.json

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,8 @@
1313
"@objectstack/metadata",
1414
"@objectstack/objectql",
1515
"@objectstack/runtime",
16+
"@objectstack/rest",
17+
"@objectstack/studio",
1618
"@objectstack/driver-memory",
1719
"@objectstack/plugin-hono-server",
1820
"@objectstack/plugin-msw",

.changeset/studio-dev-mode.md

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
---
2+
"@objectstack/spec": minor
3+
---
4+
5+
feat: Studio DX, REST extraction, Dispatcher plugin

.changeset/test-minor.md

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
---
2+
"@objectstack/spec": minor
3+
---
4+
5+
test minor bump

RELEASE_NOTES.md

Lines changed: 70 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,75 @@
11
# Release Notes
22

3+
## v1.2.0 - Studio DX, REST Extraction, Dispatcher Plugin (2026-02-09)
4+
5+
### 📦 Released Packages
6+
7+
All packages updated to **1.2.0**:
8+
9+
- **@objectstack/spec** — Core protocol definitions
10+
- **@objectstack/cli** — CLI toolchain
11+
- **@objectstack/core** — Kernel runtime
12+
- **@objectstack/runtime** — High-level Runtime
13+
- **@objectstack/rest** — REST API plugin (new)
14+
- **@objectstack/client** / **@objectstack/client-react** — Client libraries
15+
- **@objectstack/plugin-hono-server** — Hono HTTP server plugin
16+
- **@objectstack/hono** — Hono adapter
17+
- **@objectstack/objectql** — ObjectQL query engine
18+
- **@objectstack/metadata** — Metadata services
19+
- **@objectstack/driver-memory** — In-memory driver
20+
21+
### ✨ New Features
22+
23+
- **`@objectstack/rest`** — New dedicated package for REST API server, route management, `createRestApiPlugin()`.
24+
- **Dispatcher Plugin** (`@objectstack/runtime`) — Structured route management for auth, GraphQL, analytics, packages, hub, storage, automation via `createDispatcherPlugin()`.
25+
- **Dev Mode Studio UI** (`@objectstack/cli`) — `objectstack serve --dev` auto-enables Studio UI at `/_studio/`. Root `/` redirects to Studio in dev mode. Use `--no-ui` to disable.
26+
- **Interactive API Console** (`@objectstack/studio`) — Live request builder in Object Explorer: select endpoint → edit URL/body → Send → view formatted response with status, timing, and history.
27+
- **Studio Plugin System** (`@objectstack/spec`) — `Studio.PluginManifest` schema for extensible Studio UI plugins.
28+
- **MCP Protocol** (`@objectstack/spec`) — Model Context Protocol schemas for AI tools, resources, prompts, transport.
29+
- **API Versioning** (`@objectstack/spec`) — Schema for multiple versioning strategies (URL path, header, query).
30+
- **Kernel Hot Reload** (`@objectstack/core`) — Production hot reload with full plugin isolation and dynamic loading.
31+
- **Schema Annotations** (`@objectstack/spec`) — `.describe()` on all Zod fields for JSON Schema / IDE docs.
32+
33+
### ⚠️ Migration Guide (from 1.1.0)
34+
35+
#### RuntimeConfig.api removed
36+
37+
```ts
38+
// Before (1.1.0) — implicit
39+
const runtime = new Runtime({ api: { basePath: '/api/v1' } });
40+
41+
// After (1.2.0) — explicit
42+
import { createRestApiPlugin } from '@objectstack/rest';
43+
const runtime = new Runtime();
44+
runtime.use(createRestApiPlugin({ basePath: '/api/v1' }));
45+
```
46+
47+
#### z.any() → z.unknown() (~30 fields)
48+
49+
Fields like `metadata`, `defaultValue`, `filters`, `config`, `data` now use `z.unknown()`. Add type narrowing:
50+
51+
```ts
52+
const meta = record.metadata as Record<string, string>;
53+
```
54+
55+
#### Hub schemas relocated
56+
57+
- `hub/composer.zod.ts`, `hub/marketplace.zod.ts`, `hub/space.zod.ts`, `hub/hub-federation.zod.ts` — removed
58+
- `hub/plugin-registry``kernel/plugin-registry`, `hub/license``system/license`, `hub/tenant``system/tenant`
59+
- Barrel imports via `Hub.*` still work. Direct path imports need updating.
60+
61+
#### MetricType renamed
62+
63+
- `MetricType` (analytics) → `AggregationMetricType`
64+
- `MetricType` (licensing) → `LicenseMetricType`
65+
66+
#### Deprecations
67+
68+
- `HttpDispatcher``createDispatcherPlugin()`
69+
- `createHonoApp``HonoServerPlugin`
70+
71+
---
72+
373
## v0.4.1 - Version Synchronization (2026-01-27)
474

575
### 📦 Released Packages

apps/docs/package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "@objectstack/docs",
3-
"version": "1.1.0",
3+
"version": "1.2.0",
44
"private": true,
55
"description": "ObjectStack Protocol Documentation Site",
66
"scripts": {

apps/studio/package.json

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,11 @@
11
{
22
"name": "@objectstack/studio",
3-
"version": "1.1.0",
3+
"version": "1.2.0",
44
"description": "ObjectStack Studio - A metadata-driven admin interface for managing data and configuration",
5-
"private": true,
65
"type": "module",
6+
"files": [
7+
"dist"
8+
],
79
"scripts": {
810
"msw:init": "msw init -y public",
911
"dev": "pnpm msw:init && vite",

examples/app-crm/package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "@example/app-crm",
3-
"version": "1.1.0",
3+
"version": "1.2.0",
44
"description": "Example CRM implementation using ObjectStack Protocol",
55
"private": true,
66
"main": "./objectstack.config.ts",

examples/app-host/package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "@example/app-host",
3-
"version": "1.1.0",
3+
"version": "1.2.0",
44
"private": true,
55
"scripts": {
66
"dev": "objectstack serve --dev",

examples/app-todo/package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "@example/app-todo",
3-
"version": "1.1.0",
3+
"version": "1.2.0",
44
"description": "Example Todo App using ObjectStack Protocol",
55
"private": true,
66
"main": "./objectstack.config.ts",

examples/plugin-bi/package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "@example/plugin-bi",
3-
"version": "1.1.0",
3+
"version": "1.2.0",
44
"private": true,
55
"main": "objectstack.config.ts",
66
"dependencies": {

0 commit comments

Comments
 (0)