diff --git a/CHANGELOG.md b/CHANGELOG.md index 3bce743..d318298 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -7,9 +7,13 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ## [Unreleased] +## [0.3.3] - 2026-05-17 + ### Added - Local app (`packages/web/src/App.tsx`): "Share" button in the header that copies a self-contained share URL of the currently-loaded flow to the clipboard. The URL points at the public Pages playground (`https://naorsabag.github.io/openhop/#`), reusing the same v1 fragment format the playground already decodes — so a link copied from `npm run dev` opens cleanly for anyone offsite without needing a local server. New `buildPagesShareUrl` helper in `lib/share-url.ts` centralizes the destination so future renames stay in one place. +- Claude Code plugin bundle (`.claude-plugin/` + `commands/`): OpenHop now ships as a single-plugin marketplace from `naorsabag/openhop` directly. Install with `/plugin marketplace add naorsabag/openhop` then `/plugin install openhop@openhop`. Three slash commands ship inside: `/openhop:openhop-flow `, `/openhop:openhop-list`, and `/openhop:openhop-preview [--push]`. The skill itself stays at `skills/openhop/SKILL.md` and is auto-discovered — these files are repository-level only and are not bundled into the npm tarballs. +- Pages playground SEO (`packages/web/`): crawler- and AI-search-friendly head/body for the GitHub Pages deploy. `index.html` now ships a descriptive ``, meta description, Open Graph + Twitter Card tags, `<link rel="canonical">`, schema.org JSON-LD, and static landing content for the initial crawl pass. New `public/robots.txt` and `public/sitemap.xml`. `public/social-preview.png` is copied from `.github/` so Vite emits it under the Pages base path and the OG/Twitter cards resolve. ## [0.3.2] - 2026-05-15 diff --git a/package-lock.json b/package-lock.json index 5da1635..a494a56 100644 --- a/package-lock.json +++ b/package-lock.json @@ -7716,13 +7716,13 @@ }, "packages/cli": { "name": "openhop", - "version": "0.3.2", + "version": "0.3.3", "license": "MIT", "dependencies": { "@fastify/http-proxy": "^11.4.4", "@fastify/static": "^9.1.3", - "@openhop/server": "0.3.2", - "@openhop/web": "0.3.2", + "@openhop/server": "0.3.3", + "@openhop/web": "0.3.3", "commander": "^12.0.0", "fastify": "^5.0.0", "yaml": "^2.8.4", @@ -8202,7 +8202,7 @@ }, "packages/server": { "name": "@openhop/server", - "version": "0.3.2", + "version": "0.3.3", "license": "MIT", "dependencies": { "@fastify/cors": "^10.0.0", @@ -8721,7 +8721,7 @@ }, "packages/web": { "name": "@openhop/web", - "version": "0.3.2", + "version": "0.3.3", "license": "MIT", "dependencies": { "fflate": "^0.8.2" diff --git a/packages/cli/package.json b/packages/cli/package.json index c517429..4c659de 100644 --- a/packages/cli/package.json +++ b/packages/cli/package.json @@ -1,6 +1,6 @@ { "name": "openhop", - "version": "0.3.2", + "version": "0.3.3", "description": "Animated data-flow diagrams your AI agent can write. CLI.", "repository": { "type": "git", @@ -46,8 +46,8 @@ "dependencies": { "@fastify/http-proxy": "^11.4.4", "@fastify/static": "^9.1.3", - "@openhop/server": "0.3.2", - "@openhop/web": "0.3.2", + "@openhop/server": "0.3.3", + "@openhop/web": "0.3.3", "commander": "^12.0.0", "fastify": "^5.0.0", "yaml": "^2.8.4", diff --git a/packages/server/package.json b/packages/server/package.json index ddd8108..d0872e2 100644 --- a/packages/server/package.json +++ b/packages/server/package.json @@ -1,6 +1,6 @@ { "name": "@openhop/server", - "version": "0.3.2", + "version": "0.3.3", "description": "OpenHop API server. Fastify app for storing and serving data-flow definitions.", "repository": { "type": "git", diff --git a/packages/web/package.json b/packages/web/package.json index d2a1fdf..0e72c0b 100644 --- a/packages/web/package.json +++ b/packages/web/package.json @@ -1,6 +1,6 @@ { "name": "@openhop/web", - "version": "0.3.2", + "version": "0.3.3", "description": "OpenHop web UI. Prebuilt static assets — animated data-flow renderer.", "repository": { "type": "git",