v4.3.0 - Plugin System v2, Requesty, Prompt Cache & Release Hardening
v4.3.0 - Plugin System v2, Requesty, Prompt Cache & Release Hardening
This release builds on v4.2.0 with a broad extension, provider, workflow, and
release-readiness pass. It completes Plugin System v2, adds plugin-owned
channels and marketplace tooling, introduces Requesty as a first-class
provider, makes prompt context and Anthropic prompt-cache behavior explicit,
moves workflows to profile-first agent execution, adds Developer Studio
worktrees, replaces the macOS tray fallback with a native tray host, removes
the old Thoth rebrand migration from startup, and hardens CI, dependency, and
installer validation before the 4.3.0 release.
Plugin System v2 & Marketplace
- Manifest v2 contract - defines
schema_version: 2plugin manifests with
supported extension surfaces for native tools, plugin-packaged MCP servers,
bundled skills, and channels. - Declarative plugin metadata - adds validation for plugin IDs, versions,
minimum Row-Bot versions, permissions, settings, secrets, auth declarations,
health checks, and supportedprovidesentries. - Plugin API expansion - extends
plugins.apiwith public tool, channel,
attachment, outbound callback, result, settings, secret, webhook, pairing,
allowlist, and health-check helpers so plugins can integrate without
importing Row-Bot internals. - Native Plugin Center - expands the in-app plugin UI to render metadata,
permissions, settings, secrets, auth status, health checks, tools, channels,
bundled skills, logs, marketplace updates, enablement, reload, and uninstall
controls from Row-Bot-owned UI. - Marketplace install/update flow - adds cached marketplace indexes,
checksum-aware local or remote installs, stale-cache fallback, installed
version/update metadata, disabled-by-default installation, and immediate
runtime refresh after plugin changes. - Plugin developer tools - adds plugin linking, reload, doctor, validation,
local marketplace index generation, devtool helpers, and examples for native
tools, settings/secrets, MCP-backed tools, and fake channels. - Plugin templates - adds native-tool, MCP-tool, and channel templates under
src/row_bot/plugins/templates/for repeatable plugin authoring. - Plugin safety sandbox - tightens loader validation around dangerous
constructs, unsupported extension surfaces, UI framework imports, Row-Bot
internal imports, old Thoth manifests, stale code, plugin dependencies, and
runtime refresh behavior. - Plugin skill scoping - keeps plugin-provided skills tied to plugin
enablement and Agent Profile tool boundaries, so selected-tool profiles do
not receive unrelated plugin instructions. - Plugin MCP bridge - lets plugin-packaged MCP server declarations follow
plugin enablement and appear or disappear with the owning plugin's runtime
inventory.
Plugin Channels, Messaging & Bot Auth
- Public plugin channel runtime - adds a core bridge that lets plugin-owned
channels route inbound messages through Row-Bot's normal channel, agent,
Goal Mode, approval, media, and generated-file delivery paths. - Plugin channel attachment handling - reuses the shared channel media
pipeline for plugin-channel audio transcription, image analysis, document
extraction, inbox persistence, workspace copy, size limits, and generated
image/video/file delivery. - Plugin webhooks - adds namespaced plugin webhook registration under
/plugin-webhooks/{plugin_id}/{name}, with webhook handlers disabled when
the owning plugin is disabled, unloaded, uninstalled, or fails load. - Bot Framework auth helpers - adds plugin-facing helpers for Bot Framework
JWT validation, OpenID/JWKS discovery, issuer/audience checks, and
display-safe failure reporting. - Channel registry integration - teaches the channel registry and tool
factory how to include plugin-owned channels while preserving native channel
capability checks and generated send/photo/document tools. - Thread-scoped channel commands - fixes Telegram model switching and
related channel commands so model changes stay scoped to the active channel
thread instead of leaking across conversations. - Channel output assembly - centralizes channel answer/tool-report assembly
so plugin and native channel responses have the same readable final shape. - Channel UI polish - refreshes channel monitor and sidebar status surfaces
so running native and plugin channels stay visible without crowding the
conversation list.
Providers, Prompt Context & Workflow Agents
- Requesty provider - adds Requesty as a first-class OpenAI-compatible
provider with provider definition, setup/settings support, auth mapping,
catalog URL handling, provider-qualified refs, and routing through the shared
OpenAI-compatible transport. - Requesty catalog normalization - maps Requesty's
context_window,
supports_tool_calling,supports_reasoning,supports_vision,
modality, task, and metadata fields into Row-Bot capability snapshots. - Requesty surface filtering - filters embedding, audio, image, video,
moderation, realtime, and other non-chat Requesty rows out of Brain/agent
surfaces while preserving vision and tool-capable chat models. - Provider credential dialogs - moves provider credential collection into
row-specific dialogs so Settings can avoid exposing or confusing unrelated
provider secret fields. - Provider selection hardening - improves provider resolution, catalog
cache behavior, readiness checks, and Quick Choice compatibility for
provider-qualified refs, Requesty, xAI OAuth, and existing providers. - Explicit prompt context contract - splits prompt assembly into named
stable and ephemeral sections so identity, profile, platform, self-knowledge,
tools, skills, plugins, background overrides, memory recall, date/time,
Developer, Designer, channel, and history context have deterministic cache
behavior. - Anthropic prompt-cache markers - applies Anthropic
cache_control
markers only to eligible stable system content for the direct Anthropic API,
while keeping conversation history and ephemeral turn data unmarked. - Prompt cache metrics - normalizes provider prompt-cache read/write token
counts across common metadata shapes for diagnostics and status reporting. - Profile-first workflow agents - migrates workflows toward Agent Profile
execution, maps compatible legacy workflow policies to built-in or generated
profiles, preserves review/blocked status when policy cannot be mapped, and
surfaces migration notes in workflow editing. - Workflow profile defaults - adds a default workflow Agent Profile path so
new workflows start from explicit profile policy rather than implicit legacy
skill/tool snapshots.
Developer Studio, UI & Desktop Polish
- Developer worktrees - adds durable per-thread, child-agent, and workflow
worktree allocation with owner records, branch naming, base branch/commit
tracking, cleanup state, metadata, and failure preservation. - Worktree seeding - can seed a Developer worktree from current staged,
unstaged, and untracked changes or from the last commit, while requiring a
real Git repository root and safe path handling. - Developer workspace UI refresh - reorganizes Developer Studio around
workspace identity, thread selection, profile/run controls, branch controls,
inspector panels, responsive layout, and safer overflow behavior. - Recent workspace visibility - fixes Developer Studio so all recent
workspaces can be shown instead of being hidden by an overly narrow recent
list. - Sidebar pinning and thread actions - adds thread pinning, places the pin
toggle before other row actions, and updates thread action helpers so pinned
chat and Developer threads sort predictably. - Natural progress updates - improves long-running interactive status text
so agent runs can report progress in a more human, less repetitive way while
preserving durable run state. - Monochrome sidebar cleanup - refreshes sidebar iconography, status
badges, action placement, and monitor styling for a cleaner desktop shell. - Streaming/render reliability - hardens streaming reattach, grouped tool
trace rendering, final content persistence, generated media handling, and
disconnected-client timer behavior across chat, Developer, workflows, and
channels. - Native macOS tray host - adds a native Objective-C macOS tray helper and
launcher integration so packaged macOS tray content stays visible and uses
platform-native status item behavior. - Startup speed and legacy cleanup - removes the old automatic
Thoth-to-Row-Bot rebrand migration and post-migration notice from the hot
startup path, keeping current startup focused on Row-Bot data only.
Docs, CI, Packaging & Supply Chain
- Public docs completion pass - completes the user-guide pass across
Docusaurus docs, generated reference pages, settings/home/chat/integration
pages, real UI screenshot metadata, Pagefind integration, and docs validation. - Plugin documentation - adds the Plugin System v2 technical reference,
authoring workflow, validation commands, marketplace fixture layout, and
plugin test guidance. - Prompt cache documentation - adds the prompt context/cache contract with
stable/ephemeral section inventory, provider gating rules, and verification
expectations. - Installer verification plan - adds the installer and CI verification plan
covering local pre-push checks, PR gates, manual Installer Verify workflow,
release artifact builds, and deferred clean-machine smoke coverage. - Test matrix source of truth - adds
scripts/run_test_matrix.pywith fast,
contracts, subsystem, coverage, deterministic, installer, app-smoke, PR, and
release lanes aligned with repository ownership rules. - Dependency discipline - moves dependency truth to
pyproject.tomland
uv.lock, adds lockedrequirements.txtexport/check tooling, uses uv for
Dependabot updates, and verifies runtime extras before release builds. - Supply-chain CI - adds UV lockfile, OSV scanner, lint advisory/blocking,
live e2e, and installer verification workflows, with vulnerable-package
baselines tracked inosv-scanner.toml. - Release workflow hardening - updates release CI to run the release matrix,
verify version consistency, build/smoke Windows, Linux, and macOS artifacts,
upload SHA256 manifests, and keep Windows signing local-only. - Installer payload coverage - updates Windows, macOS, and Linux builders,
installer docs, dependency setup, source payload comments, macOS tray
bundling, Linux smoke paths, and packaged runtime dependency checks. - Agent instructions - adds canonical
AGENTS.md, a Claude companion file,
updated contribution guidance, and clearer PR-template release/test prompts.
Tests & Release Validation
- Plugin coverage - adds contract and subsystem tests for manifest v2,
plugin API, registry/loader, state, installer, marketplace, UI contracts,
devtools, webhooks, bot auth, plugin channels, plugin MCP tools, and plugin
skill scoping. - Channel coverage - adds channel contracts, registry tests, approval
tests, plugin-channel runtime tests, channel model routing tests, and
streaming/tool-output coverage. - Provider coverage - adds Requesty tests plus broader provider catalog,
runtime, selection, prompt-cache metric, prompt-cache payload, API-key dialog,
readiness, and optional dependency coverage. - Workflow coverage - adds profile-first workflow runtime, migration,
approvals, graph, delegate-agent step, and profile override coverage. - Developer coverage - adds Developer import gate, runtime command/process,
sandbox, inspector snapshot, worktree manager, workspace thread, and UI
contract coverage. - Installer/release coverage - adds installer metadata, CLI smoke,
release workflow contract, coverage summary, test matrix runner, dependency
metadata, optional import, Linux support, and app port/startup coverage. - Migrated subsystem coverage - adds contracts, fixtures, helper packages,
source-test maps, legacy inventory, coverage inventory, deterministic
subsystem lanes, and many focused tests while keeping retired monolith shim
files out of new substantive coverage. - Regression coverage - adds focused tests for memory graph regressions,
condition operators, workflow audit fixes, thread pinning, tool config
isolation, UI home contracts, sidebar grouping, and startup hardening.
Breaking Changes And Caveats
- Plugin System v2 intentionally supports only native tools, plugin-packaged
MCP servers, bundled skills, and channels. Plugins cannot add arbitrary app
panels, custom NiceGUI, JavaScript, provider runtimes, memory providers,
workflow triggers, general hooks, or custom settings tabs. - Plugin manifests must use
schema_version: 2andprovides.native_tools;
old Thoth plugin manifests or plugin code that imports Row-Bot internals are
rejected or quarantined instead of loaded. - Plugins install disabled by default. Users must review permissions, configure
required settings/secrets, run health checks where relevant, and enable the
plugin before it contributes tools, skills, MCP servers, or channels. - Plugin channel adapters route through Row-Bot core for execution, approvals,
media, Goal Mode, pairing, and webhook lifecycle. URL-only attachments are
not fetched by core through the public plugin API. - Requesty uses provider id
requestyand provider-qualified refs such as
model:requesty:provider/model. Its catalog is filtered so non-chat media,
audio, embedding, moderation, and realtime rows do not appear as Brain/agent
choices. - Direct Anthropic is the only provider receiving Anthropic prompt-cache
markers in this rollout. Anthropic-compatible providers such as MiniMax,
OpenCode Anthropic Messages, and Claude Subscription do not receive
cache_controlmarkers until explicitly proven compatible. - Current Row-Bot startup no longer runs the old automatic Thoth-to-Row-Bot
rebrand migration. Users still on Thoth or very early Row-Bot builds should
first install and launch a previous migration-capable Row-Bot release, then
upgrade to 4.3.0. - Windows signing remains local-only, and macOS notarization plus final
clean-machine Windows/macOS/Linux smoke tests are still manual release gates
after release artifacts are built.
Files Changed
| File | Change |
|---|---|
src/row_bot/plugins/manifest.py, api.py, loader.py, registry.py, state.py |
Implements Plugin System v2 manifest validation, public plugin API, loader sandboxing, runtime registration, enablement state, and reload behavior. |
src/row_bot/plugins/marketplace.py, installer.py, ui_marketplace.py, ui_plugin_dialog.py, ui_settings.py |
Adds marketplace caching/install/update flows and expands Plugin Center UI for settings, secrets, auth, health, logs, tools, skills, channels, and enablement. |
src/row_bot/plugins/channel_runtime.py, webhooks.py, bot_framework_auth.py, mcp.py, devtools.py |
Adds public plugin channel execution, namespaced plugin webhooks, Bot Framework auth validation, plugin MCP integration, and local plugin developer commands. |
src/row_bot/plugins/templates/*, examples/plugins/*, scripts/validate_plugin.py, scripts/build_plugin_index.py |
Adds plugin templates, example plugins, standalone plugin validation, and local marketplace index generation. |
src/row_bot/channels/*, src/row_bot/slash_commands.py, src/row_bot/tools/__init__.py |
Integrates plugin-owned channels, shared channel output assembly, generated channel tools, thread-scoped model commands, and channel runtime/tool registration updates. |
src/row_bot/providers/requesty.py, providers/catalog.py, providers/selection.py, providers/runtime.py, providers/readiness.py |
Adds Requesty provider support and hardens provider catalog normalization, model selection, runtime routing, and readiness behavior. |
src/row_bot/prompt_context.py, prompt_cache.py, agent.py, agent_context.py, models.py |
Adds explicit prompt section stability, direct-Anthropic cache marker gating, prompt-cache metrics, and model/provider context handling. |
src/row_bot/tasks.py, src/row_bot/ui/task_dialog.py, tests/subsystem/workflows/* |
Moves workflows toward profile-first agent execution with profile migration, defaults, review notes, and focused workflow coverage. |
src/row_bot/developer/worktrees.py, developer/ui.py, developer/runtime.py, developer/storage.py, developer/git.py |
Adds durable Developer worktrees, worktree seeding, recent workspace fixes, and refreshed Developer Studio UI/runtime behavior. |
src/row_bot/ui/sidebar.py, thread_actions.py, iconography.py, streaming.py, render.py, chat.py, command_center.py |
Adds thread pinning and UI polish while hardening streaming, transcript rendering, activity surfaces, and generated media handling. |
src/row_bot/launcher.py, installer/macos/RowBotTrayHost.m, installer/build_mac_app.sh, installer/build_mac_release.sh |
Adds native macOS tray hosting and launcher/build integration for visible packaged tray behavior. |
src/row_bot/migration/row_bot_legacy_rebrand.py, src/row_bot/ui/post_migration.py, tests/test_row_bot_legacy_rebrand.py, tests/test_post_migration_notice.py |
Removes the old automatic Thoth rebrand migration and post-migration notice from current startup. |
.github/workflows/*, scripts/run_test_matrix.py, scripts/export_locked_requirements.py, scripts/verify_runtime_dependencies.py, osv-scanner.toml |
Adds release/test matrix automation, lockfile/export checks, runtime dependency verification, OSV scanning, live e2e, installer verify, and release workflow hardening. |
pyproject.toml, uv.lock, requirements.txt, .github/dependabot.yml |
Moves dependency ownership to pyproject/uv lockfiles and keeps generated installer requirements in sync. |
installer/row_bot_setup.iss, installer/README.md, installer/build_installer.ps1, installer/build_linux_app.sh, installer/install_deps.bat |
Updates versioned installer metadata, payload validation, installer docs, Linux smoke paths, and Windows dependency setup. |
docs/PLUGIN_SYSTEM_V2.md, docs/PROMPT_CONTEXT_AND_CACHE.md, docs/INSTALLER_CI_VERIFICATION_PLAN.md, docs/RELEASING.md, docs/SOURCE_LAYOUT.md |
Adds plugin, prompt-cache, installer/CI verification, release, and source-layout documentation. |
docs-site/*, docs-content/*, scripts/docs/* |
Completes the public docs/user-guide pass, generated reference content, metadata, screenshots, search, and validation tooling. |
AGENTS.md, CLAUDE.md, CONTRIBUTING.md, .github/PULL_REQUEST_TEMPLATE.md |
Adds and updates contributor/agent guidance, release-sensitive testing prompts, and project instructions. |
tests/contracts/*, tests/subsystem/*, tests/fixtures/*, tests/helpers/*, tests/integration/wiki_vault/* |
Adds deterministic contract, subsystem, fixture, inventory, source-test-map, wiki-vault, installer, provider, plugin, channel, workflow, Developer, MCP, memory, and regression coverage. |
tests/test_suite.py, tests/integration_tests.py, tests/test_memory_e2e.py |
Retires legacy monolith tests into compatibility shims while moved coverage lives in focused deterministic lanes. |
schema: 1
files:
Row-Bot-4.3.0-Linux-x86_64.tar.gz: sha256=73ded19db99d2d03fbcede0ca5e0df94802ffd2537e74a013e30ba55a4d6b06e
Row-Bot-4.3.0-Windows-x64.exe: sha256=ca0f47299b6f1e655529332ee48ed697b241e163f79722cbcea6b2e969fd627c
Row-Bot-4.3.0-macOS-arm64.dmg: sha256=7ed37342fc9da6165118147dc2e46ba15d7474524af84fe38993a9723e0a3151