---
title: "Changelog — ModelPiper"
description: "Versioned release notes for ModelPiper, ToolPiper, VisionPiper, AudioPiper, and MediaPiper. Newest first."
canonical: "https://modelpiper.com/changelog/"
---

# Changelog — ModelPiper

> Versioned release notes for ModelPiper, ToolPiper, VisionPiper, AudioPiper, and MediaPiper. Newest first.

![ModelPiper](model-piper-logo-sm.svg)ModelPiper

[Back to Home](/)

# Changelog

Versioned release notes for ModelPiper, ToolPiper, VisionPiper, AudioPiper, and MediaPiper.

## 1.4.2

2026-04-26

WebMCP content pipeline lights up

ModelPiper.com is now legible to AI crawlers and in-browser agents. Every prerendered route ships a Markdown twin, llms-full.txt regenerates from the same source, and the blog has a deterministic RSS 2.0 feed.

### Added

-   Markdown twin URLs for every prerendered route (\`/blog/foo\` ↔ \`/blog/foo.md\`).
-   \`content-index.json\` build artifact powering future client-side BM25 search.
-   RSS 2.0 feed at \`/blog/feed.xml\` discoverable via \`<link rel="alternate">\`.
-   Public changelog at \`/changelog\` (HTML + Markdown twin) with \`Article\`-typed JSON-LD per release.

### Changed

-   \`llms-full.txt\` is now regenerated from the per-route Markdown twins instead of being hand-maintained — no more drift.
-   Build pipeline orders generators deterministically: sitemap → md-routes → ng build → extract-content (strict) → regenerate-llms-full → generate-feed → build-changelog.

## 1.4.1

2026-04-20

PiperMatch tool retrieval (Phase 3)

ToolPiper now uses the trained PiperMatch CoreML model for tool retrieval. Heuristics are stripped; cosine similarity plus a budget fill drive recommendations across 63 indexed entries.

### Added

-   PiperMatch service backing \`POST /v1/tools/recommend\` with on-device gte-small embeddings (FP16, ANE-native).
-   Tool-bundle index covering 26 bundles + 37 standalone tools.

### Changed

-   Removed legacy heuristic retrieval. Service renamed to \`PiperMatchService.swift\`.
-   Catalog metadata now drives ToolGate's per-context budget fill instead of static priority lists.

## 1.4.0

2026-04-09

ActionPiper merges into ToolPiper

System Actions are now built into ToolPiper. No more separate ActionPiper app, no HTTP proxy — every action dispatches in-process via ActionRouter.

### Added

-   26 action domains and 142 actions exposed via in-process MCP dispatch.
-   Push-to-talk command mode: right ⌘ → STT → LLM tool call → ActionRouter → notification.
-   Phase 1 MCP additions: \`screenshot\`, \`audio\_record\`, \`timer\`, \`clipboard\`, \`search\_code\`, \`web\_search\`, \`http\_request\`, \`translate\`, \`image\_transform\`, \`pdf\_extract\`, \`archive\`, \`color\_pick\`, \`qr\_generate\`, plus a \`launch\_app\` sub-action on \`action\_process\`.

### Changed

-   MCP-callable endpoints moved from \`routeStreaming()\` to \`route()\` so \`MCPInProcessClient\` can dispatch directly.
-   All MCP tools now ship structured JSON Schema (\`properties\`/\`required\`/\`enum\`) for safer agent calls.

### Removed

-   Standalone ActionPiper app and its HTTP proxy. \`/actionpiper\` now redirects to \`/toolpiper\`.

© 2026 ModelPiper. All rights reserved.

[Terms](/terms)[Privacy](/privacy)[Home](/)
