Skip to content

Promote staging to main for Marinara Engine v2.5.0 - #7160

Merged
SpicyMarinara merged 1974 commits into
mainfrom
staging
Oct 6, 2026
Merged

SpicyMarinara merged 1974 commits into
mainfrom
staging

Conversation

@SpicyMarinara

Copy link
Copy Markdown
Collaborator

Linked issue

Closes #7146

Why this change

Publish the tested staging work as Marinara Engine v2.5.0, with the matching stable Agents catalog and downloadable installers. SpicyMarinara explicitly authorized the staging-to-main promotion, the release tag and release publication.

What changed

  • Promote staging 3b016b80c9602b7a799564a0926b8a6ef2a57aaf into main 12a0acd5b7823abeaf3e05ad39a3a07d957e9ffc (main has no commits staging lacks).
  • Release readiness, the audit fixes (security, multiplayer, data safety, Termux build memory) and the repaired full browser suite are in Prepare v2.5.0 staging release readiness #7147; Professor Mari's v2.5.0 What's New, the release-notes length guard and the CHANGELOG cut to ## [2.5.0] are in Add Professor Mari's v2.5.0 What's New #7153.
  • v2.5.0 across application, Home, PWA, README, Windows installer and Android bootstrap (version code 48); Credits current.
  • After this promotion, tag the exact main merge commit v2.5.0 so the existing workflows publish the release page (from CHANGELOG ## [2.5.0], trimmed under GitHub's 125,000-character limit with a link to the full list), source ZIP, Windows installer, signed Termux-bootstrap APK and alias, and full/Lite multi-architecture container images.
  • Stable package delivery is coordinated with Promote tested Agents catalog for Engine v2.5.0 Marinara-Agents#1241 (Quartermaster and Relationship Tracker join the stable catalog).

Validation

  • Full browser matrix on the final staging code: desktop-chromium and mobile-chromium green; mobile-webkit had two timing races on slow runners, one fixed in Prepare v2.5.0 staging release readiness #7147 and one (prompt-controls typed illustration) passing 4/4 locally; this PR's own full matrix is the final gate.
  • Platform matrix on Prepare v2.5.0 staging release readiness #7147: native install/build on macOS arm64/Intel, Ubuntu and Windows; full and Lite containers on amd64 and arm64; Windows installer compile; Android debug APK and signing guard: all passed.
  • Signed APK built from the release branch uses the same certificate as the published v2.4.6 APK, com.marinara.engine, versionCode 48.
  • Docker upgrade from the published 2.4.6 image to staging keeps all seeded data; v2.4.6 safely refuses the migrated format.
  • pnpm audit clean; zero open Dependabot, code-scanning and secret-scanning alerts on staging.

CodeRabbit reviewed each staging PR individually (#7147, #7153 and the rest); a combined promotion this size exceeds its file limit.

  • pnpm check passes locally
  • Container (Docker / Podman) built and ran without issue
  • Ran the app, clicked through the changes manually
  • Checked edge cases (light + dark mode, mobile viewport, empty states, error paths)
  • Above manual verification completed (describe below)
  • Read and followed CONTRIBUTING.md

🤖 Generated with Claude Code

SpicyMarinara and others added 30 commits October 5, 2026 02:27
- Convert the level in the Codex request itself, so fallbacks and agent
  packages cannot send one the model lacks (max becomes xhigh on GPT-5.5).
- A Codex fallback with no saved level keeps Codex's default instead of
  the main connection's level.
- Parameter editors and setup wizards start Codex at Default, and Default
  is not a level, so turning on custom parameters or a scene does not
  change Codex's level by itself.
- Dry-run shows no level for Codex on Default, like generation.
- GPT-5.5 stays first in the Codex model list, so new connections keep it.
- The e2e waits for the save to finish before the next edit.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
fix(bot-browser): harden the Pygmalion token login (#7074)
* fix(ltm): limit recall input to conversation history (#7044)

* style(test): format prompt regression fixture (#7044)

* test(ltm): streamline recall handoff regression coverage (#7044)

* test(ltm): remove LTM-specific route regression from Engine (#7044)
#7084)

A TypeSafe address outside this computer or local network must use
https, since the hosted TypeSafe key is sent to it; Custom servers keep
their current rules. The e2e mock server now always closes, and the
CHANGELOG and decision guide note that Android allows local provider
URLs by default.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
…ers (#7093)

With "Show characters in Persona pickers" on, opening a folder under
"Play as a character" let a cropped character portrait cover the whole
persona picker. getAvatarCropStyle() places current-format crops with
position:absolute and percentage sizes, so it needs a relative,
overflow-hidden slot. The new-chat setup PersonaPicker rendered the
<img> straight inside the row button, and Chat Settings wrapped it in an
overflow-hidden div that was not positioned. The image was then sized
against the setup dialog or the Chat Settings window.

- Setup wizard: reuse the file's CroppedAvatarImage slot in PersonaPicker,
  which serves the Roleplay and Conversation setup steps and the Use a
  Profile page.
- Chat Settings: add `relative` to the picker row and chosen-identity
  avatar slots, as the drawer's other character avatars already do.
- Chat Settings: give the persona picker's rows `w-full`, like the
  drawer's other pickers, so long names truncate instead of scrolling
  the list sideways on phones.

Adds a Playwright proof for both pickers on desktop and mobile.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
#7084)

A local-looking name such as jev.local or box.internal is resolved by
DNS, which could point it at a public server, so the TypeSafe key now
goes over plain http only to localhost or a loopback or private-network
IP literal. Docs and CHANGELOG say so.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
fix(decision): let a TypeSafe connection use another address (#7084)
SpicyMarinara and others added 17 commits October 6, 2026 15:12
WebKit and Firefox send no focusout when the focused element is removed,
for example when an edit closes, so the remembered message focus could
keep the action bar visible after focus moved elsewhere. Clear it when
focus arrives outside the message, and re-check real focus after each
render.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
… fixes (#7146)

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
/api/health now decides whether to include local model and GPU details,
so CodeQL reads it as an authorization route. It was already limited by
the global 600-per-minute rule; declare that allowance on the route and
give the probe its own bucket, so launchers, Docker, the Android bootstrap
and the open app keep the same headroom.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
…est (#7146)

The Conversation background test never marked Help as seen, so on slower
CI runners the first-visit Help overlay (600 ms after opening a chat) could
cover the phone More menu before the test clicked it. Seed Help as seen,
as the other specs do.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
- Keep a chat's retained Expression scene when a refetch briefly returns
  no messages.
- Removing a character from a hosted multiplayer room also clears its
  sprite placements and inactive flag, like the ordinary roster path.
- The Text to Speech voice search declares list autocomplete.
- Professor Mari's sensitive-file checks use the same folded names as the
  secret checks, so trailing-dot or alternate-stream variants of manifests,
  launchers and workflows are still staged for review.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Prepare v2.5.0 staging release readiness
Move every entry collected since v2.4.6 under ## [2.5.0] and start a fresh
## [Unreleased] section, so the v2.5.0 tag publishes these release notes.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
…/whats-new-v2.5.0

# Conflicts:
#	CHANGELOG.md
GitHub rejects a release body over 125,000 characters, and v2.5.0's 501
changelog entries render to about 158,000, so the tag's publish step would
fail. The renderer now cuts at the last whole entry that fits under
120,000 characters and ends with a link to the full CHANGELOG.md at the
tag. Shorter notes, such as v2.4.6's, are unchanged.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
…back (#7146)

The real-changelog check now accepts every heading style the renderer
reads and fails if none is found. A first entry too large for GitHub is
left out like the rest, so the body keeps the notice and the link to the
full list; the renderer only throws if the notice alone were too long.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Add Professor Mari's v2.5.0 What's New
@coderabbitai

coderabbitai Bot commented Oct 6, 2026

Copy link
Copy Markdown
Contributor

Walkthrough

Warning

Review details and warnings were omitted to fit the comment limit.

Comment thread scripts/regressions/atlas-cloud-video-schema.regression.ts Dismissed
Comment thread scripts/regressions/chat-variable-history.regression.ts Dismissed
Comment thread scripts/regressions/chat-variable-history.regression.ts Dismissed
Comment thread scripts/regressions/chat-variable-history.regression.ts Dismissed
Comment thread scripts/regressions/chat-variable-history.regression.ts Dismissed
Comment thread scripts/regressions/chat-variables-persistence.regression.ts Dismissed
Comment thread scripts/regressions/chat-variables-persistence.regression.ts Dismissed
@SpicyMarinara SpicyMarinara self-assigned this Oct 6, 2026
@SpicyMarinara
SpicyMarinara merged commit 7e28236 into main Oct 6, 2026
114 of 118 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Prepare v2.5.0 staging builds, platform validation, and security/quality readiness

4 participants