github Pasta-Devs/Marinara-Engine v1.6.0

latest releases: v2.4.3, v2.4.2, v2.4.1...
3 months ago

Important

Android APK notice: The APK is not a standalone Marinara Engine app yet. It is a WebView shell for the local Marinara server, so Termux must be installed and ./start-termux.sh must be running on the same Android device before you open the APK. Follow the Android (Termux) installation guide first; the APK is only an optional home-screen shell.

Added

  • Added optional image generation for the Background agent so Roleplay can create and reuse missing scene backgrounds from an agent-selected image connection.
  • Added count/quantity support to Game Mode inventory tags so [inventory: action="remove" item="Coin" count="10"] updates stacked item quantities directly. (#899)
  • Added {{charSysInfo}} and {{charPostHistory}} prompt macros so presets can place character system prompts and post-history instructions explicitly. (#865)
  • Added checkbox review controls for Continuity Checker findings so users can keep selected continuity fixes instead of dismissing the whole result. (#858)
  • Added schedule-less Conversation autonomous messaging so chatty characters can still reach out based on talkativeness and the user's status when schedules are off or missing. (#840)
  • Added Google Vertex AI as a connection provider for Gemini models, including Vertex model URLs, model listing, service-account JSON, OAuth bearer token, and API-key credential handling. (#826)
  • Added bulk chat transcript export from the sidebar multi-select bar, producing JSONL or text zip archives for selected chats or the full chat library. (#823)
  • Added LOG_PRESET=prompt-connections and LOG_DISABLE_REQUEST_LOGGING so prompt/model/connection troubleshooting can surface debug diagnostics without routine Fastify request-log noise. (#798)
  • Added explicit Illustrator try-again controls when image generation fails, including a toast action and a persistent Roleplay HUD retry button. (#797)
  • Added Local Model sidecar as a first-class embedding source, including an Embedding Connection option, lorebook vectorization support, and a stable /api/sidecar/v1/embeddings endpoint. (#780)
  • Added opt-in Turn Data Access settings for custom post-processing agents so they can receive current-turn pre-generation injections and parallel agent results without exposing that data to existing agents by default. (#778)
  • Added a native Appearance background blur slider for Roleplay and Game mode backgrounds. (#763)
  • Added excluded-tag filtering for the character browser, including -tag:"tag name" search syntax and exclude toggles in the character tag picker. (#702)
  • Added a server-side autonomous conversation scheduler so enabled characters can generate restrained scheduled messages while the browser poller is absent, with client-presence checks to avoid duplicate client/server generations. (#698)
  • Reworked the avatar crop tool into a square-region selector with corner handles + interior pan, so users can pick the exact part of the source image that becomes the circle avatar. Replaces the prior zoom + pan slider on Character avatars and adds the same widget to Personas (previously had no crop UI). The original avatar file is never overwritten — the Roleplay glued side panel still shows the full portrait.
  • Added in-game access to Game Assets from the top-right game controls, including per-game asset selection.
  • Added %reference_image_name% placeholder for ComfyUI custom workflows. When the workflow contains this placeholder, Marinara uploads the reference image to ComfyUI's input/ folder via /upload/image and substitutes the returned filename, so vanilla LoadImage nodes can use the reference without needing a base64 decode node. The existing %reference_image% placeholder still works for workflows that decode base64 themselves (e.g. via ETN_LoadImageBase64).
  • Added automated Windows installer builds for tagged GitHub Releases, and hardened release-asset workflows so the .exe installer and Android WebView shell APK attach from v* tag pushes even when the release itself is created by automation.
  • Added a full-screen Game Assets browser with search, previews, editing, multi-select, and bulk operations.
  • Added TTS playback controls, guided-action Quick Replies, direct swipe-number jumping, and clearer visible agent failure details.
  • Added Game Mode inventory amount controls, drag-swap inventory interactions, tracker card color customization, and visible unread state for background autonomous messages.
  • Added connection folders, per-connection prompt preset overrides, profile import progress feedback, and JSONL chat import into existing chats as new branches.
  • Added tag import controls, bulk tag removal, Grok image generation support, NovelAI prompt controls for selfies and Illustrator, and Conversation-mode function calls.
  • Added Lorebook keyword testing, vectorization exclusions, budget-skip visibility, and stronger regex safety protections.

Changed

  • Guided /guided requests and guided manual character replies now use Chat reply lorebook triggers instead of Continue/Autonomous triggers. Move lorebook entries from Continue/Autonomous to Chat reply if they should fire for guided replies.
  • Simplified /emote syntax so /emote joy, /emote "Character" joy, and /emote "all" joy work alongside the original named arguments. (#764)
  • Increased ComfyUI image generation polling to 5 minutes by default, matching the shared image request timeout used by Game Mode assets and documenting the image timeout env settings. (#786)
  • Increased the default image generation canvases to 1280x720 for backgrounds, 1024x1024 for portraits, and 896x1152 for selfies so newly generated assets look sharper out of the box. Existing saved image size settings are preserved. (#913)
  • Expanded Android APK disclaimers across GitHub Release notes, release asset naming, install docs, FAQ/troubleshooting, in-app update metadata, APK build output, and the Android shell's connection screen so users know the APK is a WebView shell and still requires the Termux launcher to be running.
  • Improved Game Mode Spotify and narration handling, scene prompts, startup recovery, and asset generation/regeneration flows.
  • Improved Docker runtime config, Docker Lite behavior, sharp handling, Linux sidecar fallback, Termux startup reliability, and the Docker Compose HOME default.
  • Added a Termux --skip-update startup option and improved startup port-collision handling.

Fixed

  • Fixed launcher and in-app updater updates for installer-created shallow release checkouts by fetching main into origin/main explicitly and moving detached release installs to the fetched main commit.
  • Compressed oversized chat image attachments before generation and capped provider-bound image payloads so large uploads no longer deadlock OpenAI replies with 413 errors. (#912)
  • Pruned stale prompt preset multi-select values from chat preset selections so edited option values no longer leave old strings in assembled prompts. (#909)
  • Made CSRF rejections visible in the UI so saves can no longer silently fail when Marinara is reached through an untrusted origin (e.g. a public IP, reverse-proxy domain, or Tailscale MagicDNS hostname). Three layers cover the issue: a sticky red banner appears at the top of the app on page load when the current browser origin would be rejected, with the exact .env line and a one-click copy button; the existing toast still fires on any in-session mutation that hits CSRF; and the 403 response now carries a stable code (CSRF_ORIGIN_NOT_TRUSTED, CSRF_REFERER_NOT_TRUSTED, CSRF_CROSS_SITE, or CSRF_MISSING_HEADER). The server logs the active CSRF auto-trust scope (loopback, HOST, private-IP literals, configured origins) on startup, and a new read-only GET /api/csrf/origin-status endpoint reports the current origin's trust verdict. Tailscale, Docker bridge, RFC 1918, and link-local IP-literal origins remain auto-trusted; only public IPs and DNS names need to be listed in CSRF_TRUSTED_ORIGINS. (#722)
  • Restored message number display in Conversation chats when the setting is enabled.
  • Fixed Docker images missing the optional background remover installer script, and added the Python venv runtime needed by the regular image installer.
  • Fixed fresh Docker installs so runtime .env creation and file-native storage stay inside the persistent /app/data volume.
  • Fixed Game mode image prompt review so prompt review modals can appear during first-start asset generation instead of suppressing the review flow.
  • Fixed Linux NVIDIA local-runtime setup in Docker by falling back to the official Vulkan/CPU llama.cpp builds when Linux CUDA release assets are unavailable.
  • Fixed GLM 5.1 via NanoGPT returning thinking-only text in Professor Mari chats by explicitly disabling thinking when reasoning is off and refusing to expose GLM thinking as visible chat output.
  • Fixed app settings reverting after reload when stale server-synced settings overwrote newer browser-local preferences.
  • Game mode now keeps the selected Appearance background when Scene Analysis is off instead of falling back to black.
  • Fixed Game Mode stuck starts, duplicated setup modals, HUD widget setup recovery, provider recovery, thinking-only or empty model replies, and scene intro recovery paths.
  • Fixed Game Mode asset generation prompt review, NPC portrait matching, sprite recovery, Professor-name avatar matching, and command-prompt regeneration replay.
  • Fixed Game Session Log flicker, deletion offsets, manual deletion persistence, and dice-roll dismissal when advancing dialogue.
  • Fixed Game Mode weather, storm ambience, sun overlay behavior, CYOA live updates, skill checks, inventory notifications, combat voice audio, mobile party access, tracker refreshes, and tracker edit persistence.
  • Fixed Conversation disconnection aborts on Docker, markdown block preservation, hidden-message regeneration crashes, Up Arrow recall behavior, role editing, DM schedule inheritance, random connection schedule generation, and connected-chat placeholder branch names.
  • Fixed character avatar uploads preserving unsaved drafts, chat folder click targets, drag reorder behavior, text selection while dragging, folder storage atomicity, and Professor Mari continuation after tool/fetch work.
  • Fixed OpenAI ChatGPT request shape and SSE parsing, compressed provider JSON decoding (gzip, raw gzip, and Brotli), Gemini gzip decoding, provider identity handling, NovelAI V4 prompt/model handling, ComfyUI numeric workflow placeholders, Horde image endpoints, and Pygmalion avatar content-type fallback.
  • Fixed macro resolution in lorebooks and regex scripts, Lorebook Keeper overwrite/update behavior, depth-zero lorebook injections, Knowledge Retrieval and built-in agent prompt sections, roleplay leakage from Knowledge Retrieval prompts, preset identity sections, and regex lorebook matching ReDoS hardening.
  • Fixed Docker proxy auth behavior and clarified its network scope, and improved file-native backup/self-heal behavior.

Don't miss a new Marinara-Engine release

NewReleases is sending notifications on new releases.