Repository navigation
Releases
piu v0.1.45
New Features
- MCP Hook Management — Create, list, update, and delete response hooks via MCP tools (
create_hook,list_hooks,get_hook,update_hook,delete_hook). Skills can now set up complete auth token flows programmatically: create a login request, configure a hook to extract the token, execute login, and the token is captured into variables automatically. update_variableMCP tool — Update a single environment variable by key directly via MCP.set_env_variablesreturns full records — Now returns stable variable IDs and full metadata after upsert, enabling downstream hook targeting without a separate lookup.get_requestincludeshooks_associated— Requests now surface any variable-linked hooks in their detail response.
Bug Fixes
- Hook execution in MCP —
execute_requestnow fires response hooks viaprocess_hooks_headless(), so hooks trigger when requests are sent via MCP tools (not just the desktop UI). - Variable upsert preserves IDs —
set_env_variablesuses upsert-by-key semantics, preserving variable IDs and hook target foreign keys across updates (no more orphaned hook targets on re-sync). - Transactional hook writes —
create_hookandupdate_hookare now wrapped in transactions to prevent partial state on failure. - Direct hook lookup — Added
get_hook_by_idquery for reliable single-hook retrieval.
Maintenance
- Updated dependencies (
bun.lock,Cargo.lock) - Updated
piu-mcpskill to document all 57 tools including new Hooks and Variables sections - Updated
piu-hyperf-syncskill with hook setup step in Phase 4 andmatch_pathson variables
piu v0.1.44
What's Changed
Bug Fixes
- Fix serde
camelCaserename onSyncConnectInputandSyncCloneInputstructs — sync clone operations now correctly deserialize camelCase JSON payloads from the frontend
Maintenance
- Bump version to 0.1.44
Full Changelog: v0.1.43...v0.1.44
piu v0.1.43
What's Changed
New Features
- Sync Clone — The Connect tab now has a "Clone from Host" button when no local project is selected. One click performs handshake → duplicate detection → project creation → full sync in a single step. No pre-existing local project required. Duplicate clone detection prevents importing the same remote project twice.
Bug Fixes
- Fixed a pre-existing bug where
upsert_requestdid not remapproject_idto the local project on sync (collections, environments, and data models already did this correctly).
Maintenance
- Updated README: documented Sync Clone, added
piu-hyperf-syncskill to project structure and installation instructions.
Full Changelog: v0.1.42...v0.1.43
piu v0.1.42
What's Changed
New Features
- Monaco JSON editor — JSON body editing now uses Monaco (VS Code's editor engine) in Raw mode with syntax highlighting and
vs-darktheme; switch to Form mode for a structured field-by-field editor driven by the linked Data Model, with recursive object/array support and color-coded type badges - Form-based body editor — New
BodyFormEditorrenders model fields as typed rows (string, number, boolean, null, object, array) with inline recursive editing; custom keys not in the model appear below model fields - MCP server auto-start — The MCP bridge server starts automatically on port 3333 at app launch so Claude and other MCP clients connect without manual invocation
- Hyperf backend sync skill — New 7-phase Claude Code skill for syncing Hyperf PHP framework routes into PIU, including a dedicated
describe:routesCLI output parser
Bug Fixes
- OpenAPI spec generation — Query params are now skipped for POST/PUT/PATCH requests when a Data Model is linked (model fields produce the
requestBodyinstead); linked models now always generate arequestBodyeven when body type isnone - TryItPanel —
requestModelIdis now wired into the body editor in the API Docs Try It panel; auto-switches to the Body tab for POST/PUT/PATCH when a model is linked - Autocorrect on API inputs — Disabled
autoCapitalize,autoCorrect, andspellCheckon all header, param, and auth credential fields to prevent macOS/iOS from mangling API values - Project deletion crash — Fixed a Turso stack overflow on project deletion by disabling FK cascades that caused recursive triggers
Maintenance
- Bump
tauri-plugin-connectorto 0.7 and addconnector:defaultcapability - Bump
actions/checkoutto v6 andactions/upload-artifactto v7 - Apply cargo fmt
Full Changelog: v0.1.41...v0.1.42
piu v0.1.41
What's Changed
New Features
- Targeted Variables — Environment variables now carry
match_paths(glob patterns),target_location(header, URL param, URL path, body, auth bearer/basic/API key),priority, andexpires_atTTL. Variables are injected only when the request path matches, with priority-based conflict resolution replacing the legacy simple interpolation pass - Response Hooks — Define hooks that automatically extract values from API responses (body via JSONPath, or response headers) and write them into environment variables. Supports a configurable value template, TTL (sets
expires_aton the captured variable), and array extraction strategies (first, last, pick) - Array Picker — When a hook's JSONPath selector returns an array, a modal picker lets you choose which element to capture
- Hook Refresh button — Each hook in the Hooks editor has a Refresh button that executes the source request on demand and shows a toast with the captured value and number of variables updated
- Execution feedback events —
hook-capturedandvariable-expiredbackend events now surface as toasts in the UI. Avariable-expiredwarning fires when a stale (TTL-expired) variable is used in a request - TryItPanel editor tabs — The API Docs Try It panel now loads the linked request config and exposes Body, Params, Headers, and Auth editor tabs. Saves config changes before executing. Adds a color-coded method badge next to the URL
Bug Fixes
- api_path glob matching — Fixed incorrect
api_pathcomputation that prepended the host to the path, causing allmatch_pathspatterns to fail. The path is now stripped of its leading slash only, not the host prefix - ProjectSettingsModal variable editor — Added Match Paths, Target, Priority, and Expires columns; added Hooks tab; wired
onVariablesRefreshedcallback so the variable editor syncs after a hook fires - TypeScript compilation — Excluded
skills/and.agents/directories from thetsconfig.jsoncompilation scope
Improvements
- Rebuilt Claude Code skills with Bun runtime; added
piu-mcptoolkit skill - Added
serde_json_pathandglobsetRust dependencies for JSONPath extraction and glob path matching - Smart DB migration for new
env_variablescolumns and newenv_hooks/env_hook_targetstables - Single-flight refresh gate prevents concurrent auto-refresh executions for the same hook
Full Changelog: v0.1.40...v0.1.41
piu v0.1.40
v0.1.40
Bug Fixes
- Fix Homebrew cask SHA256 hash
Maintenance
- Add auto-push release pipeline
Full Changelog: v0.1.39...v0.1.40
piu v0.1.39
What's Changed
New: Sigma.js v3 Graph Engine
Complete rendering engine swap from React Three Fiber to Sigma.js v3 — the graph is now faster, cleaner, and built on a proven WebGL graph library.
- Sigma.js v3 WebGL rendering with node/edge reducer architecture (replaces Three.js InstancedMesh + custom GLSL shaders)
- Curved Bezier edges via
@sigma/edge-curvefor visual clarity - Community coloring — clusters identified by Louvain detection are color-coded (replaces metaball SDF blobs)
- Overview/focus cluster navigation — click a cluster to zoom in, Escape to zoom out
- Animation system — pulse (search), ripple (blast radius), glow (query highlights) with sine-wave oscillation
- Selection highlighting — click a node to highlight it + neighbors, dim the rest
- Path tracing — Shift+click two nodes to find and highlight the shortest path
- ForceAtlas2 layout with position caching to SQLite (same algorithm, now with proper random seeding)
- All keyboard shortcuts preserved — Cmd+F search, 1/2/3 type filters, T theme toggle, Alt+arrows history
Bug Fixes
- Graceful FTS5 fallback — search now falls back to LIKE queries when the FTS5 module is unavailable in bundled libSQL
- Async runtime fix — use
tauri::async_runtime::spawninstead oftokio::spawnfor startup tasks
Removed
- Bloom post-processing (Sigma has no built-in post-processing)
- Canvas 2D minimap (will rebuild on Sigma if needed)
- Metaball SDF cluster blobs (replaced by community coloring)
Full Changelog: v0.1.38...v0.1.39
piu v0.1.38
What's Changed
New Features
- Graph animation system — ported from GitNexus: three animation types (pulse, ripple, glow) with per-frame sine-wave oscillation on node size and color. Animations run in the R3F render loop via
useFramewithout triggering React re-renders. - 3-layer highlight priority — blast radius (red, 1.8x) > query highlight (cyan, 1.6x) > selection + neighbors (bright, 1.3x) > dimmed (0.5x, faded toward background). Non-active nodes dim automatically when any highlight is engaged.
- Selection-aware edges — connected edges brighten and thicken (4x width), unconnected edges fade to near-invisible. Blast/highlight edges colored red/cyan respectively.
- Per-node coloring — graph nodes now render with their individual stored color instead of a uniform theme color, enabling richer visual differentiation.
Bug Fixes
- Fix Homebrew cask template to use
caveatsinstead ofsudopostflight script
Maintenance
- Add
graphColorUtils.tswithdimColor/brightenColorhelpers (theme-aware background mixing)
Full Changelog: v0.1.37...v0.1.38
piu v0.1.36
What's Changed
New Features
-
LLM-friendly search & knowledge graph API — PIU now has a full-text search engine (FTS5) that indexes all entity types (projects, collections, requests, models, environments) with BM25 ranking. Every entity gets an auto-generated natural-language description, making the entire API surface self-describing for both humans and LLMs.
New MCP tools:
search_entities— unified keyword search across all entity types (replacessearch_requests)find_related_entities— bidirectional graph traversal to discover related entities (Obsidian-style backlinks)get_entity_detail— full entity detail with backlinks and auto-generated descriptionget_api_surface— structured API endpoint summary grouped by collectionget_project_summary— natural-language project overview with stats and method distribution
New Tauri commands for frontend:
search_entities,find_related_entities
Bug Fixes
- Fixed
sync.rsto persistparent_model_idandmixin_model_idswhen syncing models from remote sources - Fixed Ubuntu CI builds by upgrading to Ubuntu 24.04 and adding
libpipewire-0.3-dev+libgbm-devdependencies
Improvements
- Refactored graph relationship extraction into shared
entity_graphmodule (DRY with visualization pipeline) - Added debounced rebuild of search indexes (500ms coalesce) triggered by
data-changedevents - Search indexes rebuilt automatically on app startup for data integrity
Full Changelog: v0.1.32...v0.1.36
piu v0.1.33
What's Changed
New Features
-
LLM-friendly search & knowledge graph API — PIU now has a full-text search engine (FTS5) that indexes all entity types (projects, collections, requests, models, environments) with BM25 ranking. Every entity gets an auto-generated natural-language description, making the entire API surface self-describing for both humans and LLMs.
New MCP tools:
search_entities— unified keyword search across all entity types (replacessearch_requests)find_related_entities— bidirectional graph traversal to discover related entities (Obsidian-style backlinks)get_entity_detail— full entity detail with backlinks and auto-generated descriptionget_api_surface— structured API endpoint summary grouped by collectionget_project_summary— natural-language project overview with stats and method distribution
New Tauri commands for frontend:
search_entities,find_related_entities
Bug Fixes
- Fixed
sync.rsto persistparent_model_idandmixin_model_idswhen syncing models from remote sources
Improvements
- Refactored graph relationship extraction into shared
entity_graphmodule (DRY with visualization pipeline) - Added debounced rebuild of search indexes (500ms coalesce) triggered by
data-changedevents - Search indexes rebuilt automatically on app startup for data integrity
Full Changelog: v0.1.32...v0.1.33