v2.55.4
v2.55.4
Compare: v2.55.3...v2.55.4
Highlights
Movie, TV, And Release Discovery
- Added public Trakt movie and TV discovery tools plus standalone TMDB movie and
TV metadata tools with posters, backdrops, cast/crew, genre filters, and
recommendation signals. - Added optional, read-only Trakt account access through
bin/trakt-authfor
recommendations, watchlists, history, ratings, personal lists, up-next
progress, and deterministic watched-title filtering. Jarvis does not mutate
the connected Trakt account. - Added
/movie_nightand/tv_nightworkflows that combine preference and
related-title signals with optional watched filtering, TMDB artwork, trailers,
current streaming context, and a dated Canvas shortlist. Movie recommendation
diversity and repeated-result rendering were tightened during live testing. - Added scheduled or on-demand upcoming movie and TV radars with included and
excluded genre handling, separate rolling Canvas pages per primary genre,
cross-genre sent-item deduplication, optional Brave enrichment, and poster
fields for email delivery.
Workflows, Planning, And Web Results
- Added
/night_out,/team_outlook, and/trend_reality_check, shared the
Amazon value-search recipe, and introduced reusable location/date extraction
with bounded weather-window behavior for planning workflows. - Workflow results now compose supported tool adapters into one dedicated
surface while preserving actual execution order across repeated calls,
failures, and conditional branches. Skipped steps use a distinct neutral
status instead of appearing as successful empty results. - Improved result presentation with larger structured cards, stable Canvas
preview placement after tool results, and slower distance-aware chat scrolling
for both new answers and loaded conversations. - Added Web AI-config overrides for status-LLM enablement and static phrase mode,
expanded normal/unhinged fallback phrases across more tools, and clarified the
effective status configuration shown in Settings.
Canvas Export And Optional Public Sharing
- Added themed Canvas PDF exports with controlled rendering of Markdown,
artwork, links, and layout-sensitive content. - Added opt-in xAI Files sharing for generated PDFs and retained videos, plus
public waveform-video sharing for retained audio. These features are disabled
by default, require anXAI_API_KEY, and keep original retained media local. - Updated the example n8n email workflow to accept public image and link fields,
enabling richer radar emails without relying on private Stash URLs.
OCR, Search, And Tool Coverage
- Added optional
document_ocrintegration for a self-hosted OVIS FastAPI
service. It supports scanned PDFs and text-heavy images, readiness preflight,
page-attributed Markdown, structured extraction through the OVIS host, archive
output, long-running inference timeouts, and full-result Stash handoff. - Added SerpApi Travel Explore for destination discovery with suggested dates,
flight/hotel planning signals, airport handoffs, and Google Travel links. - Updated tool descriptions, availability/profile coverage, follow-up extraction,
status phrases, documentation, and Tool RAG-facing schemas for the new tools.
Scheduler And Engineering Reliability
- Recurring reminders now skip stale backlog occurrences safely instead of
replaying obsolete notifications after downtime; the lifecycle behavior is
documented in the live-usage bug ledger. - Stabilized the monolithic test suite, added focused regression coverage across
workflows, media sharing, OAuth, OCR, scheduling, and Web rendering, and added
a correctness-focused Ruff configuration.
Upgrade Notes
Native installs
cd ~/jarvis-voice
git fetch --tags
git pull
git checkout v2.55.4 # optional if you want the exact release tag
source ~/jarvis-venv/bin/activate
export JARVIS_VENV="$HOME/jarvis-venv"
export UV_PROJECT_ENVIRONMENT="$JARVIS_VENV"
uv sync --active --no-install-project
./bin/start --stop && ./bin/startThis release updates pyproject.toml, requirements.txt, and uv.lock, adding
runtime support for image/PDF rendering, Brotli content, and Markdown linkify.
If the installation uses pip instead of uv, run pip install -r requirements.txt
inside the Jarvis environment before restarting.
New tool schemas were added. After the environment is refreshed, sync Tool RAG
for each active mode using the operator environment:
source "$HOME/jarvis-venv/bin/activate"
./bin/sync-tools.py cloud # repeat with local when applicableDocker installs
Rebuild containers when shared UI assets, dependencies, env examples, or entrypoint behavior changed.
cd ~/jarvis-voice
git fetch --tags
git pull
docker compose down
docker compose build --pull
docker compose --profile extras up -d --force-recreateReview env examples before copying
Merge only the settings you need into the active environment files; do not
overwrite working configuration. New optional settings cover OVIS OCR, public
Trakt/TMDB metadata, read-only Trakt OAuth, and disabled-by-default xAI Canvas
sharing.
git diff v2.55.3..v2.55.4 -- \
config/cloud.env.example \
config/local.env.example \
config/cloud.openai.env.exampleFor read-only Trakt account features, configure the Client ID, Client Secret,
and exact redirect URI, then run ./bin/trakt-auth --mode cloud or --mode local.
Public Trakt/TMDB tools do not require account OAuth. OVIS OCR remains unavailable
until OVIS_OCR_URL is configured, and xAI Canvas sharing remains off until its
individual feature flags are enabled.
Change Summary
- Commits: 35
- Files changed: 187
- Insertions: 28,194
- Deletions: 412
Full Commit List
f090d9ffeat: add planning and sports workflows0d21b4afix: preserve workflow tool card orderb79b9bcfeat: add Trakt movie discovery and movie night workflow1da1c7dfeat: add standalone TMDB movie tooling70f5a8afeat: add TMDB artwork to movie nightf655fbdfix: keep Canvas preview at end of tool results957cddcfeat: compose workflow result previews5650978style: enlarge structured result cardse64f326feat: add standalone TV metadata tools4040f9ffeat: integrate TV show discovery workflowc5c4766workflows: share Amazon value search recipe8610db8update offline profile161a64efix(reminders): skip stale recurrence backlog safely765b360docs(bug-hunt): record recurring reminder lifecycle fixccb08cdupdate gitignore89b6b70feat(canvas): add PDF export and xAI sharing6c884cafeat(canvas): add themed PDF exports45178fffeat(canvas): share retained videos through xAI1710551feat(canvas): share audio as xAI waveform videosb1ee812feat(tools): add SerpApi Travel Explore2f943cbfix(tests): stabilize monolithic suited307e0cupdate tool descriptionsb00b710feat(tools): add optional document OCR integrationba5678cfeat(status): expand fallback tool phrase coverage6ea38c4feat(web): add status update overridesfd7910ffix(workflows): diversify movie night recommendationsd768c59feat(tools): add read-only Trakt account support92d3098fix(web): render repeated tool results in order747507bfeat(workflows): add upcoming movie radar688a7fffix(workflows): support recurring genre radarsadba1b0feat(workflows): add upcoming TV radar585e12cupdate n8n email template to include image url0b5f814Show skipped workflow tool cardsd5d47ecSlow web chat auto-scroll pacing4109e88v2.55.4
Files Added Or Notable New Paths
api/services/__init__.pyapi/services/xai_audio_share.pyapi/services/xai_video_share.pybin/trakt-authdata/workflows/amazon_value_search.jsondata/workflows/movie_night.jsondata/workflows/night_out.jsondata/workflows/team_outlook.jsondata/workflows/trend_reality_check.jsondata/workflows/tv_night.jsondata/workflows/upcoming_movie_radar.jsondata/workflows/upcoming_tv_radar.jsondocs/CANVAS_AUDIO_SHARING.mddocs/CANVAS_PDF_SHARING.mddocs/CANVAS_VIDEO_SHARING.mddocs/tools/document-ocr-tool/README.mddocs/tools/tmdb-movies-tool/README.mddocs/tools/tmdb-tv-shows-tool/README.mddocs/tools/trakt-account-tool/README.mddocs/tools/trakt-movies-tool/README.mddocs/tools/trakt-tv-shows-tool/README.mddocs/tools/travel-explore-tool/README.mdjarvis-canvas/server/routes/audio_actions.pyjarvis-canvas/server/routes/pdf_shares.pyjarvis-canvas/server/routes/video_shares.pyjarvis-canvas/server/services/__init__.pyjarvis-canvas/server/services/pdf_export.pyjarvis-canvas/server/services/xai_pdf_share.pylib/http_client.pylib/schedule_parser.pylib/self_play.pylib/serpapi_client.pylib/status_phrases.pylib/trakt_oauth.pyskills/document_ocr.pyskills/document_ocr.tool.jsonskills/serpapi_travel_explore.pyskills/serpapi_travel_explore.tool.jsonskills/tmdb_movies.pyskills/tmdb_movies.tool.jsonskills/tmdb_tv_shows.pyskills/tmdb_tv_shows.tool.jsonskills/trakt_account.pyskills/trakt_account.tool.jsonskills/trakt_movies.pyskills/trakt_movies.tool.jsonskills/trakt_tv_shows.pyskills/trakt_tv_shows.tool.jsontests/test_canvas_audio_actions.pytests/test_canvas_pdf_export.pytests/test_canvas_pdf_share_routes.pytests/test_canvas_video_shares.pytests/test_canvas_xai_pdf_shares.pytests/test_document_ocr.pytests/test_generated_audio_shares_route.pytests/test_generated_video_shares_route.pytests/test_movie_night_workflow.pytests/test_serpapi_travel_explore.pytests/test_status_phrases.pytests/test_tmdb_movies.pytests/test_tmdb_tv_shows.pytests/test_trakt_account.pytests/test_trakt_movies.pytests/test_trakt_oauth.pytests/test_trakt_tv_shows.pytests/test_tv_night_workflow.pytests/test_upcoming_movie_radar_workflow.pytests/test_upcoming_tv_radar_workflow.pytests/test_weather.pytests/test_web_conversation_workflow_roundtrip.pytests/test_web_scroll_animation.pytests/test_xai_audio_shares.pytests/test_xai_video_shares.py
Links
- Previous release: https://github.com/bigsk1/jarvis-voice/releases/tag/v2.55.3
- Compare: v2.55.3...v2.55.4
- Full changelog file: https://github.com/bigsk1/jarvis-voice/blob/main/docs/README.md