Skip to content

Releases: loadsec/Terraria-Mod-Menu-PC

v2.0.0

Choose a tag to compare

@louanfontenele louanfontenele released this 07 May 03:12

🎨 Terraria Patcher v2.0.0 — Full UI Redesign + Independent Patching Bridge

This is a major release combining a complete visual overhaul of the entire interface with the migration away from electron-edge-js to a self-contained .NET 10 patching bridge — making the app lighter, more stable, and ready for future growth.


🖥️ UI Redesign (v2.0.0)

Every page has been rebuilt from the ground up with a unified design language inspired by terminal and developer tooling aesthetics.

  • 🎨 New design system — Zinc + Emerald palette, JetBrains Mono typography, zero border-radius throughout
  • 🏠 Redesigned Home page — hero section with live system stats, Quick Access panel, System Status, Build Info, and a step-by-step Recommended Workflow
  • 📊 Contextual stat cards — accent colors reflect state: blue for informational, green for OK, amber for warnings
  • 🌗 Three-mode theme switcher — Light / System / Dark, replacing the old toggle
  • 🌐 Automatic language detection on first launch based on system locale
  • 🧩 Consistent page headers and section layout across all pages (Patcher, Config, Plugins.ini Editor, Changelog, About, Dev Tools)
  • 🔲 Unified badge style — all badges aligned to the active preset with no rounded corners
  • 🔤 Full i18n coverage — all visible strings now go through the translation system in both English and Português Brasileiro
  • 🛠️ Dev Tools page redesigned to match the rest of the app

⚙️ Independent Patching Bridge (v1.2.0 — v1.2.1)

  • 🔌 Removed electron-edge-js — replaced with a standalone .NET 10 C# subprocess communicating via stdin/stdout JSON-RPC, eliminating native module compilation requirements
  • 🧱 Self-contained bridge binarypatcher-win.exe / patcher-linux / patcher-mac bundled directly with the app, no extra runtime install needed beyond .NET 10
  • 🐧 Fixed Linux/Steam Runtime plugin loading — plugin loader now resolves Plugins, Plugins.ini, and helper DLLs from Terraria's base directory, avoiding failures when Linux/Steam starts the game with a different working directory
  • 🔧 FNA loader improvements — skips compilation when no active .cs plugins are present, allowing the game to start cleanly with an empty plugin list
  • 📦 Dependency updates — Electron 39, React 19, Vite 7, Tailwind 4, ESLint with React Hooks

📋 Platform Support

  Windows Linux macOS
App
IL Patching
Plugin System

macOS patching support is still under development. The app runs on macOS but patching requires dedicated testing on real hardware. Contributions are welcome.


Full Changelog: v1.1.13...v2.0.0


v1.1.13

Choose a tag to compare

@louanfontenele louanfontenele released this 01 Mar 06:34

🚀 Terraria Patcher v1.1.13 — Windows + Linux Edge Runtime Compatibility

This release fixes patch startup compatibility across both Windows and Linux by applying a platform-specific electron-edge-js loading strategy.

✨ Highlights

  • 🪟 Windows: keeps the isolated edge runtime path to prevent edge_coreclr assertion crashes after installer updates.
  • 🐧 Linux: restores packaged node_modules edge loading to fix edge.initializeClrFunc is not a function.
  • 🧩 Cross-platform stability: keeps safer runtime fallback behavior and startup guardrails to reduce JS/native mismatch errors.
  • 🏷️ Version bumped to 1.1.13 with changelog updates in both English and Portuguese.

Full Changelog: v1.1.12...v1.1.13

v1.1.12

Choose a tag to compare

@louanfontenele louanfontenele released this 01 Mar 04:29

🛠️ Terraria Patcher v1.1.12 — NSIS Update Stale File Fix

Fixes the edge_coreclr assertion crash on Windows after updating via NSIS installer by cleaning up stale native binaries left by previous versions.

✨ Highlights

  • 🧹 Added startup cleanup that removes stale build/Release/edge_coreclr.node left by NSIS updates from previous versions, preventing edge.js from loading an incompatible old binary.
  • 🔧 Removed the EDGE_NATIVE environment variable pre-setting before loading edge.js to avoid potential double CoreCLR initialization.
  • 🐧 Linux AppImage patching remains unaffected.

Full Changelog: v1.1.11...v1.1.12

v1.1.11

Choose a tag to compare

@louanfontenele louanfontenele released this 27 Feb 18:13

🛠️ Terraria Patcher v1.1.11 — CoreCLR Double Init Fix

Fixes the edge_coreclr assertion crash on Windows by preventing double CoreCLR initialization in packaged builds.

✨ Highlights

  • 🔧 Removed the EDGE_NATIVE environment variable pre-setting before loading edge.js, which could cause the native .node module to be loaded under two different cache keys, triggering a double coreclr::bind() assertion crash.
  • 🧭 Edge.js now handles all native module resolution on its own — it already has built-in platform-aware logic that correctly finds the right binary for each platform.
  • 🐧 Linux AppImage patching remains unaffected (edge.js finds build/Release/ on its own).

Full Changelog: v1.1.10...v1.1.11

v1.1.10

Choose a tag to compare

@louanfontenele louanfontenele released this 27 Feb 17:37

🛠️ Terraria Patcher v1.1.10 — Prebuilt Edge Native Fix

Fixes the Windows edge_coreclr assertion crash in release/update builds by using the correct prebuilt native module instead of the CI-compiled one.

✨ Highlights

  • 🔧 Windows packaged builds now use the prebuilt edge_coreclr.node from lib/native/ instead of the CI-compiled build/Release/ binary, fixing the g_coreclr == nullptr assertion crash.
  • 🏗️ CI release workflow now removes the CI-compiled edge native on Windows to prevent it from being packaged over the correct prebuilt.
  • 📦 Updated asarUnpack to include both build/Release/ and lib/native/ paths, ensuring Linux (CI-compiled) and Windows (prebuilt) both work.
  • 🧭 Made edge native path resolution platform-aware: Windows/macOS use prebuilt from lib/native/, Linux uses CI-compiled from build/Release/.

Full Changelog: v1.1.9...v1.1.10

v1.1.9

Choose a tag to compare

@louanfontenele louanfontenele released this 27 Feb 14:17

🛠️ Terraria Patcher v1.1.9 — Packaged Edge Path Fix

Fixes Windows patching by loading electron-edge-js from the correct app.asar.unpacked path and tightening the native runtime check.

✨ Highlights

  • 🔄 Updated packaged edge entry/native paths to use app.asar.unpacked/node_modules/electron-edge-js, preventing edge_coreclr assertions in release builds.
  • 🧭 Improved error messaging to point to the exact native path expected in packaged Windows builds.

Notes: Target Terraria 1.4.5.x. Requires .NET 10 runtime (Mono only needed for plugin support on Linux/macOS).


Full Changelog: v1.1.8...v1.1.9

v1.1.8

Choose a tag to compare

@louanfontenele louanfontenele released this 27 Feb 13:58

🚑 Terraria Patcher v1.1.8 — Windows Patch Assert Fix

Fixes the edge_coreclr assertion seen when patching from release builds on Windows.

✨ Highlights

  • 🛠️ Removed the duplicate packaged copy of electron-edge-js that made edge_coreclr load from the wrong path in release builds.
  • ✅ Workflow validation now checks the correct unpacked edge path in Windows bundles.
  • 🔒 Windows patching now uses a single edge runtime copy, preventing the assertion failure.

Full Changelog: v1.1.7...v1.1.8

v1.1.7

Choose a tag to compare

@louanfontenele louanfontenele released this 27 Feb 13:39

🚀 Terraria Patcher v1.1.7 — UI Overflow + Release Artifact Guardrails

This release fixes long backup path overflow in the patch modal and strengthens Windows release artifact validation.

✨ Highlights

  • Fixed patch modal layout overflow when backup paths are very long (paths now wrap correctly instead of breaking the dialog).
  • Added release pipeline checks to ensure tag/version consistency before packaging.
  • Added Windows packaged artifact validation to guarantee patcher-edge-js runtime files are present before publishing.

✅ Result

  • Cleaner patch workflow UI with long file paths.
  • Safer release artifacts from GitHub Releases.
  • Lower risk of broken Windows builds being published.

Full Changelog: v1.1.6...v1.1.7

v1.1.6

Choose a tag to compare

@louanfontenele louanfontenele released this 27 Feb 13:07

🚀 Terraria Patcher v1.1.6 — Windows Edge Runtime Hardening

This release focuses on preventing Windows packaged builds from crashing due to electron-edge-js runtime/module mismatches after updates.

✨ Highlights

  • Packaged builds now force-load electron-edge-js from resources/patcher-edge-js.
  • Added defensive validation to ensure the loaded edge module exports edge.func before patch initialization.
  • Removed packaged fallback to bundled node_modules edge path to avoid JS/native mismatch crashes.
  • Improved error clarity when packaged edge resources are missing.

✅ Why this matters

  • Reduces startup/assert crashes like g_coreclr == nullptr on Windows.
  • Makes patch initialization behavior more deterministic across upgrades.
  • Improves reliability for users updating from previous versions.

Full Changelog: v1.1.5...v1.1.6

v1.1.5

Choose a tag to compare

@louanfontenele louanfontenele released this 27 Feb 12:43

🚀 Terraria Patcher v1.1.5 — Runtime Sync Guardrails

This release improves update reliability on both Windows and Linux by preventing stale runtime/plugin files from being reused after upgrades.

✨ Highlights

  • Added version-aware runtime sync so managed patch files are refreshed after app updates.
  • Added startup runtime maintenance for configured installs with plugin support enabled.
  • Serialized runtime sync operations to avoid copy/cleanup race conditions during patch and sync actions.
  • Added a dedicated runtime repair path for safe forced re-sync flows.

✅ Result

  • More consistent behavior after updates.
  • Fewer issues caused by old hidden/cached runtime files.
  • Better stability across Steam/GOG patch flows on Windows and Linux.

Full Changelog: v1.1.4...v1.1.5