v2.3 (code-named Dracarys) is finally here, releasing as our biggest update since v2! This update is launching with a new mod installation system, a completely new engine structure, a new script management system built from scratch, a GUI installer, and a more stable shell and batch script updating system.
A documentation repository has also been created and will be populated soon after this release.
✨ New features
- Add a permissions-friendly zip downloading utility.
- Implement a built-from-scratch JS management system, a better metadata storage format, and an instant loading system for JS.
- Implement a new mod installation method that uses repository package zips, makes less requests to GitHub, and performs most operations locally.
- Temporarily store old mod files between updates for reversion if the update fails.
- Implement localization, allowing for translation to other languages (currently only English and Polski are supported).
- Add placeholder text to the mods section when there are no mods and when all are disabled.
- Replace the expanded marketplace with a link to the mod store (WIP website, and it will eventually allow for installing directly from it).
- Add a standardized locale and engine packaging system for easy deployment.
- Implement a
chrome.manifestinitialization method for mods. - Add an indicator (a blue dot) that will appear next to every mod that updates on the current settings page.
- Add an
Open mod folderoption to the command palette. - Implement a stable batch and shell updating system that also allows for requiring updates to be installed before others.
- Rebuild installer in C++ and add a GUI.
- Label mods installed from the marketplace as such in the metadata, allowing to securely install data from verified code on the marketplace.
- Implement a workflow to build the C++ installers.
- Implement support for Sine store mod installation system when the store is complete.
- Implement a live unloading feature for mods that choose to support it.
🔧 Fixes and improvements
- Add support for Linux in engine automation scripts.
- Add a prettier formatter config to standardize formatting.
- Remove auto-installers from the source code and split them into a separate repo.
- Fix settings page styling in Zen.
- Remove reliance on fx-autoconfig for loading Sine and other scripts, replace with a bootloader that only loads Sine, allowing it the freedom to launch scripts.
- Switch some elements to XUL.
- Optimize styling.
- Remove unwanted blue outline from input field in command palette.
- Increase command palette roundness.
- Store mod CSS and JS file paths as relative paths rather than links, cutting down on file size and simplifying developer management.
- Remove reliance on the Motion library and replace it with native CSS.
- Only fetch GitHub API data when only necessary data is missing.
- Only display mod homepage button when it exists.
- Command palette not loading unless settings page has been loaded in the current session.
- Simplify control script and make it a singular background process.
- Refactor codebase to split functionality between files.
- Allow for
github.com/user/repoformat without thehttps://at the beginning. - Fix GitHub link button for marketplace mods.
- Fix separator label background.
- Fix improper error handling with scripts.
- Allow capitalized os/fork/notFork properties in mod metadata.
- Fix word wrapping, button heights, and more with settings page styling.
- Fix disable all mods toggle for JS.
- Initialize the manager object once per process and share it.
- Sanitize mod titles and descriptions.
⚠️ Breaking changes
- Remove
defaultproperty support for preferences in favor ofdefaultValue. - Remove
jsmetadata support in favor of a more stablescripts.