Skip to content

v2.0.9

Choose a tag to compare

@github-actions github-actions released this 02 Jul 18:24
992a9ea

Important

Android APK notice: The APK is a Termux bootstrap + WebView shell, not a native Android server build. It opens an already-running local Marinara server, and on first launch it can download Termux from F-Droid, hand it to Android's installer, and start Marinara through Termux after Android permission prompts. Follow the Android wrapper guide if Android blocks the bootstrap handoff.

Added

  • Added Chess as a Conversation-mode table game, including setup UI, move validation, board state, and model/bot play support.
  • Added Image Captioning in Advanced Parameters so chats can describe image attachments through a chosen vision-capable connection before sending them to non-vision models.
  • Added an Anthropic connection toggle for extended 1-hour prompt-cache TTLs when users want cached context to survive longer between turns.

Changed

  • Converted Immersive HTML from static main-prompt injection into a Roleplay post-processing rewrite agent that works alongside Prose Guardian and Continuity Checker, preserving story meaning while adding diegetic HTML/CSS/JS visuals (#3094).
  • Increased default image-generation and ComfyUI polling timeouts so slower image editing and local/remote workflows have more room to finish.

Fixed

  • Fixed continue generation with rewrite agents so continued assistant messages are rewritten from the full merged message instead of being overwritten by only the new continuation text.
  • Added backoff for failed conversation summaries and server-side autonomous generations so permanent 4xx/model errors no longer retry every poll forever, while keeping stored failure metadata sanitized and bounded.
  • Fixed staging updates so Settings can target the current checkout branch, staging applies create/update a real local staging branch, and Windows/macOS/Linux/Termux launchers no longer drag staging installs back to stable main.
  • Expanded Professor Mari data commands with paginated chat message offsets, full lorebook entry lookup by entry id, entry descriptions in lorebook entry lists, and entry tag support for add/update flows.
  • Polished mobile input controls by using a paperclip attachment icon in Conversation mode, placing Game mode attachments before the address selector, hiding Roleplay's mobile emoji button, and tightening Game/Roleplay composer spacing.
  • Fixed migrated default agent prompts causing roleplay lag by keeping compatible agents batched with a raw JSON result map instead of wrapping JSON-only prompts in <result> tags, and made the default-prompt migration stop rewriting already-current named prompt options on every startup.
  • Fixed agent UI flicker by scoping agent processing and failure badges to the chat that owns the run, and stopped ChatArea from repeatedly auto-switching Game chats to the newest session during chat-list refreshes.
  • Reduced background request churn by stopping synced themes/extensions from polling every 15 seconds and slowing Professor Mari workspace status refreshes outside explicit workspace actions.
  • Fixed rewrite-agent notification timing so held assistant messages keep their post-processing marker until the final rewritten text lands.
  • Fixed failed send/generation recovery so timeout-style failures restore the submitted draft, completions, and attachments for retry.
  • Hardened prompt regex scripts against polynomial ReDoS by rejecting chained broad unbounded patterns and guarding long server-side replacement runs with a VM timeout.
  • Improved profile/backup ZIP import diagnostics when the selected archive does not contain marinara-profile.json.
  • Tightened Android Firefox chat input sizing so the mobile composer grows less rigidly and leaves more room for typed text.
  • Shortened mobile Roleplay and Conversation composer placeholders so command hints do not wrap and pull the input caret upward.
  • Fixed XML prompt wrapping so user-authored > characters, including Markdown blockquotes, reach the model as typed while < and & remain escaped for prompt-boundary safety (#3108).
  • Fixed legacy Immersive HTML built-in configs so stock saved prompts, descriptions, phases, and result settings migrate to the new post-processing defaults instead of showing the old static prompt.
  • Added hold-until-rewrite support for Immersive HTML, pinned it to JSON text-rewrite parsing, counted it as a real post-processing call in agent load estimates, and bundled Prose Guardian, Continuity Checker, and Immersive HTML into one rewrite pass when multiple built-in rewrite agents are active.
  • Added mobile chat composer minimization while scrolling through older messages, with automatic restore near the bottom, on downward scroll, or when the minimized input is tapped (#3091).
  • Fixed branch switching so a valid selected branch is not cleared just because the flat chat list briefly does not include it while detail/group caches are resolving (#3087).
  • Fixed provider requests so blank custom model parameters cannot erase the configured model, and corrected missing-model error guidance for MiMo/OpenAI-compatible endpoints (#3110).
  • Reduced tracker-panel freezes on chats with world-state/character-tracker agents by scoping tracker character/persona lookups to the active chat and containing off-screen tracker card rendering (#3104).
  • Reduced ChatArea render stalls by scoping chat character/persona, creator-notes CSS, and Conversation emoji/sticker lookups to the active chat instead of full libraries.
  • Lowered the mounted transcript render window in Conversation and Roleplay modes so long loaded chats keep fewer message components mounted at once.
  • Fixed giant imported libraries by paging character, persona, lorebook, full-library, and chat sidebar lists in 100-item batches with Load More controls, while keeping search routed across the full matching data set (#3153).
  • Fixed Debug Mode and Peek Prompt previews for /guided so the generated narrator instruction resolves macros like {{user}} the same way the real generation request does (#2906).

Platform Notes

  • Android versionName is 2.0.9 with versionCode 28.
  • Windows, macOS/Linux, Termux, Docker, APK, and PWA users can update through the usual v2 updater paths once release assets are published.