Releases: CosmoCreeper/Sine
v2.2.1
👀 Overview
This new release adds a simple patch to fix toasts on Zen and improve performance.
✨ Changes
- Renames Motion to MotionLib to avoid Zen's
delete window.Motion;
that was conflicting with toasts. - Removes pref observers for settings panes on settings page unload to prevent performance drops.
v2.2
👀 Overview
This new update launches with complete restructuring of engine data, independence of third-party tools, provides quality-of-life changes, and does some other stuff.
✨ Engine
- Restructures the engine files, branching out several portions of the code into new files, (e.g., utils.js, manager.js, motion.js)
- Adds a completely new toast system with a color scheme that matches Zen.
- Adds a new updating system that displays the latest version as well as your current version. It also separates the check for updates button from the install updates button and the restart to apply changes button.
- Fixes the requirement of a double-click for toast buttons to work.
- Replaces all instances of
UC_API.Prefs
withServices.prefs
solutions. - Implements a
uc_api.js
system for Sine so that it has its own utils for functions it uses. - Removes the
UC_API.SharedStorage
usage and replaces it with a direct usage of the fetch object from the global window. - Removes the unnecessary "Enable for this mod" option from the
handleJS
function. - Prevents a failure to parse mod JSON from completely crashing Sine, making removal/reinstallation of such mod much easier.
- Fixes attempted installing of
moz-icon://
prefix with CSS url parsing. - Fixes Zen Mods not being able to be removed properly (i.e., the remove mod button would gray out.)
- Allows embedded chrome documents to have styles injected like normal userChrome behavior (e.g., the bookmarks sidebar.)
- Adds the MPL license to JSWindowActors to provide the appropriate licensing and credit for the files.
- Changes window actor name in JSWindowActors to prevent conflict with Zen's built-in actors.
✨ Auto-installer
- Fixes the permissions issue on Linux.
- No longer installs unnecessary fx-autoconfig files.
- Now adds the current and latest version prefs to the corresponding profile.
- Fixes all the warnings when compiling.
- Changes the compiler so that it compiles for multiple targets at once.
- Corrects Floorp installation path for Linux.
⛔ Missing features
If you were expecting one of these features, I'm sorry but due to a lot of thought behind the implementation and a lack of time, they didn't make this update, but they will be given top-priority in v2.3.
- Librewolf support.
- A way to create mods without a github repo via the developer command palette.
- Multi-file JS support and no requirement of restarting the browser to apply JS mods.
If you were promised something that wasn't on this list, please notify me of it in the Discord server. I'm also aiming to get my tasks in order so stuff like this doesn't happen.
v2.2c
👀 Overview
This work-in-progress version implements a new file structure, a new toast system, makes Sine much more independent of fx-autoconfig, makes the updating system much more intuitive, and will implement a new loading system for JavaScript mods.
✨ Engine
- Restructures the engine files, branching out several portions of the code into new files, (e.g., utils.js, manager.js, motion.js)
- Adds a completely new toast system with a color scheme that matches Zen.
- Adds a new updating system that displays the latest version as well as your current version. It also separates the check for updates button from the install updates button and the restart to apply changes button.
- Fixes the requirement of a double-click for toast buttons to work.
- Replaces all instances of
UC_API.Prefs
withServices.prefs
solutions. - Implements a uc_api.js system for Sine so that it has its own utils for functions it uses.
- Removes the
UC_API.SharedStorage
usage and replaces it with a direct usage of the fetch object from the global window. - Removes the unnecessary "Enable for this mod" option from the
handleJS
function.
✨ Auto-installer
- Fixes the permissions issue on Linux.
- No longer installs unnecessary fx-autoconfig files.
- Now adds the current and latest version prefs to the corresponding profile.
- Fixes all the warnings when compiling.
- Changes the compiler so that it compiles for multiple targets at once.
More will be coming in later builds of this version, but for testing purposes, these changes have been pushed to the Cosine branch.
v2.1.5
👀 Overview
Just a little cleanup and an emergency patch.
✨ Changes
- Fixes an engine recursive removal error occurring on Windows.
- Removes obsolete logs.
v2.1.4
👀 Overview
This new version improves stability, adds a consistent pattern for developers to follow in their programs, and removes a small typo.
✨ Changes
- Removes a typo, the letter o, from the end of all the installed mod descriptions.
- Fixes an issue with installing chrome.css files in Sine.
- Removes the auto-restart option from the Sine settings.
- Fixes the
sine.is-cosine
dropdown failure with switching from Cosine to Sine. - Improves formatting.
- Stores the updatedAt and version properties inside of preferences instead of in the code, preventing little openings for continuous update popups.
- Mods are now sorted by id before being injected into a stylesheet, allowing developers to use alphabetical sorting in order to overwrite another mod's styles.
- Makes the auto-installer set the
sine.updated-at
preference to the current date to avoid a second update prompt when installing Sine.
I hope this fixes a lot of the small stability issues floating around regarding Sine, and feel free to create more issues here if you encounter more!
v2.1.3
👀 Overview
Just a little patching and graceful mod removal changes.
✨ Changes
- Adds increased debugging to help diagnose the undefined marketplace issue.
- Fixes the alignment of titles in dialog boxes.
- Removes the asynchronous method for loading marketplace mods (possibly an issue regarding the first bullet point listed.)
- Removes a mod even if the JavaScript for it was not found.
v2.1.2
👀 Overview
This new version improves stability, restructures some of Sine's content, and adds a new way of installing engine updates.
✨ Changes
- Changes the engine update method to remove the previous engine before updating (removing outdated files instead of leaving left-behind garbage.)
- Fixes an issue with styles being unreliably applied when installing mods and themes.
- Fixes the first option being selected instead of the placeholder when there is no default value in a dropdown preference.
- Moves the store data to https://github.com/sineorg/store.
- Adds a github link to the readme of marketplace mods (just a github link if there is no readme.)
- Moves
engine.json
to deployment folder instead of data folder. - Adds the feature of selecting a custom directory for installing Sine even if the directory was supposedly found by the auto-installer.
- Fixes Sine to work with all languages when saving, writing, and deleting files.
- Cleans up the majority of formatting to stay below 120 characters long on each line.
- Adds an XUL option to the appendXUL function to slowly switch to an XUL-optimized and supporting method.
- Moves almost every createElement call to appendXUL.
- Splits CSS into a separate file than the actual script for a much cleaner formatting method (main and settings styles.)
- Updates the Makefile to also list distribute|dist in the log about unknown commands.
- Moves the command palette to a separate file than the main script.
- Yeah...I did more, but I really don't know.
v2.1.1
👀 Overview
This new release improves on a couple of things by temporarily fixing a bug, cleaning up a little bit of formatting, and making the experience more convenient for the user.
✨ Changes
- Makes the update indicator for checking for engine updates not say "Engine updated" even after updating, if the user has not refreshed the settings page.
- Cleans up the global document finding by storing it in a global variable, instead of redefining.
- Cleans up two formatting locations.
- Makes the script no longer show a toast if the same one already exists.
- Temporarily fixes the zen-minimal-exit-menu mod updating issue by gathering theme store data if the previous data is not valid JSON (when updating and installing mods.)
v2.1
👀 Overview
This new release adds functionality for applying styles on multiple windows (e.g., PiP windows were not getting styles before), improves a very small formatting portion, and cleans up logs.
✨ Changes
- Adds functionality to apply styles on multiple windows (e.g., Picture-in-Picture windows.)
- Adds brackets to an if condition instead of a single-line, bracket-less one (for a cleaner formatting pattern.)
- Cleans up the auto-installer logs to clearly specify that the auto-installer could not find the location of the user's browser.
v2.0.2
👀 Overview
This version contains a patch and convenience improvement.
✨ Changes
- Changes the
appendXUL
function to import to the document which contains the element the new element is being appended to. - Runs the
initDev
function when changing the command palette preference, in order to no longer need a restart after changing it. - Removes the restart toast from the command palette preference.
- Fixes the indicator not saying "Engine updated" when the engine was actually updated.
- Fixes a small, but annoying margin issue with the engine update indicator.