v1.0.0
alpic-ai/skybridgev1.0.0May 18, 2026by harijoe
AI Summary
The major v1.0 release featuring API simplification, a comprehensive devtools overhaul with tunneling and auditing, and production readiness support.
Key Highlights
- API simplification: `registerWidget` merged into `registerTool`
- Devtools revamp with HTTP tunneling, LLM playground, and automated Audit
- Production readiness: Cloudflare Workers support and Dockerfile added
- Import path renamed from `skybridge/web` to `skybridge/vite`
- Project layout changed from `server/` + `web/` to flat `src/` structure
Breaking Changes
- `registerWidget` removed and merged into `registerTool`
- `mountWidget` removed from public API
- `skybridge/web` import path renamed to `skybridge/vite`
- Project layout changed from `server/` + `web/` to flat `src/`
- All widget terminology renamed to `view`
- `result` removed from `CallToolResponse`
New Features
- Unified tool registration
- HTTP tunneling for local environment connection
- LLM playground integration
- Automated server compliance auditing
- Cloudflare Workers support
- Docker containerization support
- Auto-mounting of views via Vite plugin
Full Release Notes
šØāš³ We cooked! Skybridge v1 is finally on the table:
**API simplification**: We ditched `registerWidget` for a unified `registerTool` entry point. In your tool config, simply set the type-safe `view.component` field, and Skybridge takes care of the rest. We also exposed the underlying Express instance so you can add non-MCP endpoints to your server.
**Devtools revamp**: Our beloved MCP inspector gets a radical makeover plus a bunch of new features:
- Plug your local env to ChatGPT and Claude with one-click **HTTP tunneling**
- Chat with your app on the **LLM playground**
- Run automated **Audit** to make sure your server is compliant with OpenAI and Anthropic store guidelines
**Production readiness**: We now support Cloudflare Workers, and we added a Dockerfile to make container deployment easy as can be.
## How to migrate?
1. Install [the latest version of the skill](https://docs.skybridge.tech/devtools/skills)
2. Run the prompt inside your favorite coding agent: `Migrate my app based on https://github.com/alpic-ai/skybridge/releases/tag/v1.0.0`
Having issues? Join [our Discord](https://discord.gg/2jc92tZQdn) to get help from the maintainers.
## Changelog
### registerWidget removed ā merged into registerTool (PR #701)
The separate registerWidget call is gone. Widget/view config moves into registerTool as an optional view field:
```tsx
// before
server.registerTool("my-tool", schema, handler)
server.registerWidget({ component: "my-view", ... })
```
```tsx
// after
server.registerTool(
{ name: "my-tool", ...schema, view: { component: "my-view" } },
handler
);
```
### mountWidget removed from public API (PR #701)
The Vite plugin now auto-mounts views found in the views directory. Any manual mountWidget call should be removed.
```tsx
// before
import { mountWidget } from "skybridge/web";
export default function SearchFlights() { ... }
mountWidget(<SearchFlights />)
```
```tsx
// after
export default function SearchFlights() { ... }
```
### skybridge/web import path renamed to skybridge/vite (PR #720)
The Vite plugin subpath export changed:
```tsx
// before
import { skybridge } from "skybridge/web";
```
```tsx
// after
import { skybridge } from "skybridge/vite";
```
### server/ + web/ project layout dropped (PR #701)
The old two-directory layout (src/server/, src/web/) is no longer supported. Skybridge now uses a flat src/ tree with src/views/ for view files. The views directory is configurable in the provided skybridge plugin.
```
// before
āāā server/
ā āāā src/
ā āāā index.ts
āāā web/
āāā src/
āāā widgets/
āāā my-widget.tsx
```
```
// after
āāā src/
āāā server.ts
āāā views/
āāā my-view.tsx
```
### All widget terminology renamed to view (PR #720)
#### useWidgetState renamed to useViewState
```tsx
// before
import { useWidgetState } from "skybridge/web";
```
```tsx
// after
import { useViewState } from "skybridge/vite";
```
#### widgetsDevServer renamed to viewsDevServer
```tsx
// before
import { devtoolsStaticServer, widgetsDevServer } from "skybridge/server";
app.use(await widgetsDevServer());
```
```tsx
// after
import { devtoolsStaticServer, viewsDevServer } from "skybridge/server";
app.use(await viewsDevServer());
```
### Removed `result` from CallToolResponse (PR #749)
As it does not exist in either mcp apps or apps sdk.
## Contributors
Thanks to everyone who contributed to Skybridge:
@harijoe, @paulleseute, @fredericbarthelet, @qchuchu, @valentinbeggi, @thleonard, @rodincave, @Rodriguespn, @csonigo, @khandrew1, @neil-ac, @brunobuddy, @jlgrimes, @mikeborozdin, @Sambego, @yannj-fr, @TheCodingAyush, @appledr1nker, @utkarshrana35, @udaykakade25, @asim48-ctrl, @thisisharsh7, @Jean-crack, @slackerzz.[v0.36.4](https://github.com/alpic-ai/skybridge/releases/tag/untagged-40d21d5e80278f0f7a90)