Skip to content

v2.54.2

Latest

Choose a tag to compare

@bigsk1 bigsk1 released this 11 Jul 10:39

Compare: v2.54.1...v2.54.2

Highlights

Autonomous bug hunting

Jarvis now has an isolated autonomous bug-hunt workflow for finding, tracking, and safely triaging repo issues without mixing that state into normal runtime behavior.

  • Added bin/jarvis-bug-hunt and lib/bug_hunt.py.
  • Added finding severity display.
  • Added a human dismissal registry so dismissed findings are not rediscovered as new work.
  • Hardened long-running bug-hunt runs and provider selection, including xAI support.
  • Added regression coverage for bug-hunt behavior.

Router, Tool RAG, and tool-turn control

Routing is more observable and tunable, especially for large tool sets and repeated tool turns.

  • Added versioned router system prompts (v1 through v4) with hash tooling and docs.
  • Added compact router prompt experiments.
  • Tuned Tool RAG final schema caps and surfaced failed Tool RAG syncs in the Web UI.
  • Fixed tool turn budget retry accounting.
  • Improved provider labels in server-side tool logs.
  • Disabled the SerpApi Yelp tool by default until explicitly enabled.

Models, providers, and media catalogs

Provider and media metadata got a broad refresh.

  • Added Grok 4.5 xAI support and prompt overrides.
  • Enabled xAI OAuth vision for Grok 4.5.
  • Added GPT 5.6 model entries.
  • Showed OpenAI vision capability in model dropdowns.
  • Fixed OpenAI tool discovery continuation.
  • Honored OpenAI image model overrides in the image edit UI.
  • Unified and refreshed generated-video catalog metadata.
  • Enforced local-mode opt-in before using Ollama cloud-tagged models.
  • Stripped leaked Ollama/GLM reasoning text at the provider boundary.

Web UI and shared branding

The Web UI and related dashboards received a shared Jarvis visual identity plus several practical UX fixes.

  • Replaced emoji robot branding with a Jarvis HUD logo across Web, Canvas, Memory, Intelligence, and Docs.
  • Added animated HUD and HAL-eye SVG assets, plus an opaque Apple touch icon.
  • Fixed shared UI assets on Windows Docker builds.
  • Added conversation renaming.
  • Added tool-aware personal Web prompts and tool-aware processing phases.
  • Fixed tooltips showing behind menus.
  • Improved Web reconnect behavior after extended outages.
  • Fixed provider-aware model defaults in Web settings.
  • Fixed image edit failure handling so stash-prep failures abort cleanly and failed attachments remain visible.
  • Added direct-script header comments across the question/say entry points.

Canvas and Image Gallery

Canvas gained safer write behavior and the generated Image Gallery became more useful for long-term curation.

  • Hardened Canvas append flows and live tool cards.
  • Prevented same-second Canvas page overwrites.
  • Retained stash assets referenced by pinned Canvas pages.
  • Fixed tool routing and Canvas failure handling.
  • Added Canvas page ID helpers and tests.
  • Added Image Gallery favorites, favorites-only filtering, and favorite-aware generated-image cleanup.
  • Added CDN cached-status sorting in the gallery.
  • Added confirmation before uncached Cloudflare CDN uploads; cached URLs still copy directly from cdn_catalog.json.
  • Added missing gallery button tooltips and a more consistent favorite-button style.

Stash, storage paths, and cleanup

Several cleanup and storage paths now use the same configured roots instead of assuming fixed locations.

  • Honored configured stash/API storage paths in Web, Canvas, API, and stash tooling.
  • Created stash spaces through the upload API path.
  • Preserved versioned stash files and metadata.
  • Clarified configurable stash storage docs.
  • Added conversation-aware retention cleanup for uploads and stash.
  • Added 90-day cleanup for old unpinned Web conversations.
  • Added generated-image cleanup that preserves favorites.
  • Cleaned partial Cloudflare temp files after failed uploads.

Workflows and extraction reliability

Workflow output extraction and validation are more predictable, especially for nested paths and for_each steps.

  • Fixed validated research workflow synthesis.
  • Enforced for_each attempt limits.
  • Aborted for_each cleanly when the item list is empty.
  • Resolved indexed extract paths.
  • Preserved transformed output variables.
  • Surfaced empty validated outputs instead of silently succeeding.
  • Honored recovered search success variables.
  • Corrected workflow authoring examples.
  • Labeled memory-scan reports with the active cloud/local database mode.
  • Disabled native LLM tools for crypto workflow helper steps.
  • Increased crypto market report paragraph length for email output.

Scheduler, reminders, alerts, and TTS

Background scheduling and notification delivery are safer under failure.

  • Recovered locks abandoned by crashed scheduled-task runners.
  • Enforced per-task execution timeouts.
  • Isolated notification delivery failures so one failed channel does not unwind the runner.
  • Allowed run-once execution for cancelled tasks without reviving them.
  • Reactivated rescheduled reminder entries correctly.
  • Counted reminders and alerts as spoken only after playback succeeds.
  • Skipped raw stash space IDs in TTS output.
  • Serialized direct question payloads safely.
  • Added shared TTS shell helper logic.

Memory, intelligence, search, and embeddings

Memory/intel mutation paths and search health checks are tighter.

  • Deleted intel facts by exact source path.
  • Preserved intel fact ownership across files.
  • Matched API intel sources literally.
  • Cleaned up final deleted intel files.
  • Preserved manage-intel follow-up content.
  • Repaired external-content FTS triggers.
  • Applied date_filter to deep memory search intel source results.
  • Defaulted Brave source metadata off.
  • Preserved repeated tool follow-up candidates.
  • Rejected fallback embedding vectors on persistent writes.
  • Reported fallback health probes as unavailable.

MCP, API, security, and docs

The release includes several API/documentation corrections and safer tool behavior.

  • Prevented remote MCP SSE initialization deadlocks.
  • Surfaced MCP tool execution errors.
  • Hardened local tool file access.
  • Corrected API docs for authentication, intelligence evaluation, duplicated quick-start content, and memory tool counts.
  • Clarified Docker local-mode config, configurable host ports, and Windows/macOS behavior.
  • Added Mermaid rendering to the Jarvis Docs viewer.
  • Updated workflow, stash, Tool RAG, Web UI, Canvas, XAI, FTS5, install, and scheduled-task docs.

Upgrade Notes

Native installs

cd ~/jarvis-voice
git fetch --tags
git pull
git checkout v2.54.2   # optional if you want the exact release tag
source ~/jarvis-venv/bin/activate
./bin/start --stop && ./bin/start

Docker installs

This release changes shared UI assets, vendored Web assets, env examples, and entrypoint behavior. Rebuild containers after pulling.

cd ~/jarvis-voice
git fetch --tags
git pull
docker compose down
docker compose build --pull
docker compose --profile extras up -d --force-recreate

Review env examples before copying

Diff your live env files before merging example changes.

git diff v2.54.1..v2.54.2 -- \
  config/cloud.env.example \
  config/local.env.example \
  config/cloud.openai.env.example \
  docker.env.example

Notable config/doc areas to review:

  • Grok 4.5 and xAI OAuth vision behavior.
  • GPT 5.6 and OpenAI vision/model dropdown metadata.
  • Ollama cloud-tagged model opt-in from local mode.
  • Docker host-port and local-mode guidance.
  • External/default-blocked tool examples.

Optional cleanup previews

The new cleanup paths support dry-run mode. Preview before deleting anything.

./bin/cleanup-all --dry-run
./bin/cleanup-web-conversations --days 90 --dry-run
./bin/cleanup-generated-images --days 120 --dry-run

Cleanup behavior:

  • Pinned Web UI conversations are preserved.
  • Generated Image Gallery favorites are preserved.
  • Referenced Web uploads and protected stash assets are preserved by the retention helper.

Change Summary

  • Commits: 106
  • Files changed: 313
  • Insertions: 20,959
  • Deletions: 3,099

Full Commit List

  • 25b616b Harden local tool file access
  • 93d9945 update intellegence sync docs
  • 9529552 Fix validated research workflow synthesis
  • ead38b0 Skip stash space IDs in TTS
  • 57fc2cd Harden Canvas append flows and live tool cards
  • c55c68a Replace emoji robot branding with Jarvis HUD logo across web UIs.
  • 4ef42b8 Honor OpenAI image model overrides in edit UI
  • 7be1d58 Add animated HUD and HAL eye SVG branding across web and canvas.
  • 8f55323 update openai docker env example
  • 05ec081 Persist Docker Web status TTS cache
  • 5a89173 Fix shared UI assets on Windows Docker builds
  • 85a42a1 Add opaque Apple touch icon
  • 5e4e52e feat: add isolated autonomous bug hunter
  • c574b25 fix: harden long-running bug hunts
  • 92ca252 fix(canvas): prevent same-second page overwrites
  • b5b5826 feat: show finding severity during bug hunts
  • a1ca6a6 fix(scheduler): recover locks abandoned by crashed runners
  • 969e2e3 fix(mcp): prevent remote SSE initialization deadlock
  • b87a887 fix(stash): preserve versioned files and metadata
  • 0a5c8de fix(intel): delete facts by exact source path
  • d49e65e fix(scheduler): enforce per-task execution timeouts
  • 691f859 fix(workflows): enforce for-each attempt limits
  • debe6f4 docs(docker): mark local mode config optional in cmd
  • ccd30f1 docs(api): remove duplicated stale quick start
  • c60dbf0 docs(docker): clarify configurable host ports
  • efae619 docs(api): correct intelligence evaluation endpoint
  • 670008e docs(api): use built-in Bearer authentication
  • ad8c5a2 docs(memory): correct memory tool count
  • 4d78ac0 docs(install): correct n8n host configuration
  • 06314a6 Fix StashSpace.touch() crash when reopening existing stash spaces.
  • 20a8ae1 Apply date_filter to deep_memory_search intel source results.
  • 72c46db Route Completion Guard repair emits through conversation room.
  • 179014f feat(bug-hunt): honor human dismissal registry
  • 32fe8ee fix(workflows): abort for_each when items list is empty
  • 2834491 fix(scheduled-tasks): run once on cancelled tasks without revival
  • 857a348 fix(routing): avoid rate-limit false positives in provider errors
  • a1080cd feat(docs): render mermaid diagrams in the Jarvis Docs viewer.
  • 7783b0a Add tool-aware personal Web prompts
  • c5ea211 Show tool-aware Web processing phases
  • 9b31739 fix(scheduler): isolate notification delivery failures
  • ec84b38 fix(stash): honor configured API storage path
  • 7847bac fix(stash): create spaces through upload API
  • a2d87e4 fix(embeddings): reject fallback vectors on persistent writes
  • e4d9874 fix(embeddings): report fallback health probes as unavailable
  • bfd7f22 fix(web): surface failed Tool RAG syncs
  • 92cd0d2 fix(web): reconnect after extended outages
  • 296ca93 fix(memory): repair external-content FTS triggers
  • e937bdd fix(intel): clean up final deleted file
  • bb79277 fix(ollama): enforce local cloud-model opt-in
  • a855483 fix(intel): preserve fact ownership across files
  • f30b3cd fix(mcp): surface tool execution errors
  • 2036b09 fix(intel): match API sources literally
  • d121415 fix(reminders): reactivate rescheduled entries
  • 9de7bda fix(canvas): retain stash assets on pinned pages
  • 0cf21fe fix(video): unify and refresh shared catalog metadata
  • 1c630ef Add conversation-aware retention cleanup for uploads and stash.
  • 5759dc5 fix(stash): mark unused cleanup loop variables as intentional.
  • d380672 Add shared placeholder fallbacks for missing chat and gallery media.
  • 9115636 Revert "Add shared placeholder fallbacks for missing chat and gallery media."
  • 3db85a2 Fix Samantha OpenClaw model ID and default-block external tools in env examples.
  • fba5384 feat(web): add conversation renaming
  • 82638d0 fix(web): suppress chat tooltips behind menus
  • 587e2ba feat(router): add versioned system prompts
  • a915365 feat(router): add compact prompt experiments
  • 00dd10f remeber importance bump
  • cbfd34c fix(ollama): strip leaked reasoning from responses
  • f088e16 Add Grok 4.5 xAI support
  • 968bcef Tune Tool RAG final schema limits
  • 4901449 update docs
  • 8f2f1c2 Enable xAI OAuth vision for Grok 4.5
  • 2a392f9 Add xAI provider option to bug hunt
  • 3f63fd1 Fix tool turn budget retry accounting
  • 9e8755d Show OpenAI vision capability in model dropdowns
  • ad758b4 Label server-side tool logs by provider
  • f9a4859 Fix OpenAI tool discovery continuation
  • 0920770 Fix tool routing and canvas failure handling
  • e44868d disable serpapi_yelp tool by default
  • 6d918c1 update cloud env example to new baseline
  • 0e0eb04 update user profile
  • a454127 add gpt 5.6 models
  • 10c5e3e fix(web): abort image edits when stash preparation fails
  • efb414d fix(voice): serialize direct question payloads safely
  • 1f5644f fix(web): retain failed image edit attachment
  • fd63d2d header comments on all direct scripts
  • acdc39b fix(pdf): honor string page ranges for image actions
  • cb3b6dc fix(web): show provider-aware model defaults
  • d7a84cd update readme image
  • 6fcc7ed fix: preserve manage intel follow-up content
  • 7694ec0 update ignore files
  • 8e1393a fix: preserve repeated tool follow-up candidates
  • b50b2b1 fix: default brave source metadata off
  • af0cd0c Disable native LLM tools for crypto workflow helpers
  • 294bc02 fix(stash): honor configured storage in web and canvas
  • 1a57b72 docs(stash): clarify configurable storage root
  • 4d1b8e9 fix(workflows): honor recovered search success variables
  • c760a06 fix(tts): count reminders and alerts only after playback
  • c76632b fix(upload): clean partial Cloudflare temp files
  • fe151c5 fix(workflows): resolve indexed extract paths
  • 1cc5f12 fix(workflows): surface empty validated outputs
  • e6d86b9 fix(workflows): preserve transformed output variables
  • 8695e36 docs(workflows): corrected workflow authoring examples
  • c608ea3 increase market report paragraph length email
  • 1b8b18b fix(workflows): label memory scan database mode
  • 5fac4e0 feat(cleanup): prune old unpinned web conversations
  • b4c4d58 feat(canvas): add gallery favorites and cleanup safeguards
  • f9d9bdb v2.54.2

Files Added Or Notable New Paths

  • bin/jarvis-bug-hunt
  • lib/bug_hunt.py
  • bin/router-prompt-hash
  • orchestrator/router_prompts/
  • bin/cleanup-retention
  • bin/cleanup-web-conversations
  • bin/cleanup-generated-images
  • lib/retention_cleanup.py
  • lib/generated_image_cleanup.py
  • lib/tool_sync_status.py
  • lib/video_catalog.py
  • lib/canvas_content.py
  • lib/canvas_page_ids.py
  • bin/tts-common.sh
  • jarvis-web/client/vendor/mermaid.min.js
  • Shared Jarvis UI assets under Web, Canvas, Memory, Intelligence, and Docs.

Links