Skip to content

v2.55.4

Choose a tag to compare

@bigsk1 bigsk1 released this 11 Aug 09:16
· 44 commits to main since this release

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-auth for
    recommendations, watchlists, history, ratings, personal lists, up-next
    progress, and deterministic watched-title filtering. Jarvis does not mutate
    the connected Trakt account.
  • Added /movie_night and /tv_night workflows 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 an XAI_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_ocr integration 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/start

This 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 applicable

Docker 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-recreate

Review 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.example

For 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

  • f090d9f feat: add planning and sports workflows
  • 0d21b4a fix: preserve workflow tool card order
  • b79b9bc feat: add Trakt movie discovery and movie night workflow
  • 1da1c7d feat: add standalone TMDB movie tooling
  • 70f5a8a feat: add TMDB artwork to movie night
  • f655fbd fix: keep Canvas preview at end of tool results
  • 957cddc feat: compose workflow result previews
  • 5650978 style: enlarge structured result cards
  • e64f326 feat: add standalone TV metadata tools
  • 4040f9f feat: integrate TV show discovery workflow
  • c5c4766 workflows: share Amazon value search recipe
  • 8610db8 update offline profile
  • 161a64e fix(reminders): skip stale recurrence backlog safely
  • 765b360 docs(bug-hunt): record recurring reminder lifecycle fix
  • ccb08cd update gitignore
  • 89b6b70 feat(canvas): add PDF export and xAI sharing
  • 6c884ca feat(canvas): add themed PDF exports
  • 45178ff feat(canvas): share retained videos through xAI
  • 1710551 feat(canvas): share audio as xAI waveform videos
  • b1ee812 feat(tools): add SerpApi Travel Explore
  • 2f943cb fix(tests): stabilize monolithic suite
  • d307e0c update tool descriptions
  • b00b710 feat(tools): add optional document OCR integration
  • ba5678c feat(status): expand fallback tool phrase coverage
  • 6ea38c4 feat(web): add status update overrides
  • fd7910f fix(workflows): diversify movie night recommendations
  • d768c59 feat(tools): add read-only Trakt account support
  • 92d3098 fix(web): render repeated tool results in order
  • 747507b feat(workflows): add upcoming movie radar
  • 688a7ff fix(workflows): support recurring genre radars
  • adba1b0 feat(workflows): add upcoming TV radar
  • 585e12c update n8n email template to include image url
  • 0b5f814 Show skipped workflow tool cards
  • d5d47ec Slow web chat auto-scroll pacing
  • 4109e88 v2.55.4

Files Added Or Notable New Paths

  • api/services/__init__.py
  • api/services/xai_audio_share.py
  • api/services/xai_video_share.py
  • bin/trakt-auth
  • data/workflows/amazon_value_search.json
  • data/workflows/movie_night.json
  • data/workflows/night_out.json
  • data/workflows/team_outlook.json
  • data/workflows/trend_reality_check.json
  • data/workflows/tv_night.json
  • data/workflows/upcoming_movie_radar.json
  • data/workflows/upcoming_tv_radar.json
  • docs/CANVAS_AUDIO_SHARING.md
  • docs/CANVAS_PDF_SHARING.md
  • docs/CANVAS_VIDEO_SHARING.md
  • docs/tools/document-ocr-tool/README.md
  • docs/tools/tmdb-movies-tool/README.md
  • docs/tools/tmdb-tv-shows-tool/README.md
  • docs/tools/trakt-account-tool/README.md
  • docs/tools/trakt-movies-tool/README.md
  • docs/tools/trakt-tv-shows-tool/README.md
  • docs/tools/travel-explore-tool/README.md
  • jarvis-canvas/server/routes/audio_actions.py
  • jarvis-canvas/server/routes/pdf_shares.py
  • jarvis-canvas/server/routes/video_shares.py
  • jarvis-canvas/server/services/__init__.py
  • jarvis-canvas/server/services/pdf_export.py
  • jarvis-canvas/server/services/xai_pdf_share.py
  • lib/http_client.py
  • lib/schedule_parser.py
  • lib/self_play.py
  • lib/serpapi_client.py
  • lib/status_phrases.py
  • lib/trakt_oauth.py
  • skills/document_ocr.py
  • skills/document_ocr.tool.json
  • skills/serpapi_travel_explore.py
  • skills/serpapi_travel_explore.tool.json
  • skills/tmdb_movies.py
  • skills/tmdb_movies.tool.json
  • skills/tmdb_tv_shows.py
  • skills/tmdb_tv_shows.tool.json
  • skills/trakt_account.py
  • skills/trakt_account.tool.json
  • skills/trakt_movies.py
  • skills/trakt_movies.tool.json
  • skills/trakt_tv_shows.py
  • skills/trakt_tv_shows.tool.json
  • tests/test_canvas_audio_actions.py
  • tests/test_canvas_pdf_export.py
  • tests/test_canvas_pdf_share_routes.py
  • tests/test_canvas_video_shares.py
  • tests/test_canvas_xai_pdf_shares.py
  • tests/test_document_ocr.py
  • tests/test_generated_audio_shares_route.py
  • tests/test_generated_video_shares_route.py
  • tests/test_movie_night_workflow.py
  • tests/test_serpapi_travel_explore.py
  • tests/test_status_phrases.py
  • tests/test_tmdb_movies.py
  • tests/test_tmdb_tv_shows.py
  • tests/test_trakt_account.py
  • tests/test_trakt_movies.py
  • tests/test_trakt_oauth.py
  • tests/test_trakt_tv_shows.py
  • tests/test_tv_night_workflow.py
  • tests/test_upcoming_movie_radar_workflow.py
  • tests/test_upcoming_tv_radar_workflow.py
  • tests/test_weather.py
  • tests/test_web_conversation_workflow_roundtrip.py
  • tests/test_web_scroll_animation.py
  • tests/test_xai_audio_shares.py
  • tests/test_xai_video_shares.py

Links