Releases: CosmoCreeper/Sine
v2.3.3
This is a small update, patching an issue with Firefox's redesigned settings page.
To show how hard we've been working to make Sine more secure, we have also listed some codebase changes in this changelog.
🔧 Fixes and improvements
- Fixes the broken "Sine Mods" settings tab when running a Firefox version with the redesigned settings page.
- Improves toast behavior, making it smooth and more robust.
- Fixes a broken toast description.
- Speed up preference loading.
</> Codebase changes
- Use the Mozilla ESLint plugins for ensuring greater code safety and ability.
- Create browsercfg and add a config for it here, simplifying the process of importing and running Sine, allowing developers to ensure that custom configs aren't the reason for a feature working.
- Begin linting pull requests and commits, ensuring that merged code is done properly and as secure as it can be.
- Split preference support into a separate file and optimize code to run as efficiently as possible.
- Fully automate the release asset publishing system, and ensure that tag names are configured properly, preventing broken releases from breaking production code.
- Switch to a much faster formatter and begin to switch to a faster linter, Oxfmt and Oxlint.
- Use full-length SHAs for GitHub Actions tool calls, ensuring that malicious code can't be injected by tampered with releases.
- Attest build artifacts and release assets so the end user can confirm they are receiving the official and safe code.
- Use Zizmor to ensure GitHub Actions are at the highest possible security.
- Configure Dependabot to ensure packages are up-to-date.
- Configure immutable releases so the end user can ensure release assets were never and can never be tampered with.
v2.3.3c
This is a small update, patching an issue with Firefox's redesigned settings page.
To show how hard we've been working to make Sine more secure, we have also listed some codebase changes in this changelog.
🔧 Fixes and improvements
- Fixes the broken "Sine Mods" settings tab when running a Firefox version with the redesigned settings page.
- Improves toast behavior, making it smooth and more robust.
- Fixes a broken toast description.
- Speed up preference loading.
</> Codebase changes
- Use the Mozilla ESLint plugins for ensuring greater code safety and ability.
- Create browsercfg and add a config for it here, simplifying the process of importing and running Sine, allowing developers to ensure that custom configs aren't the reason for a feature working.
- Begin linting pull requests and commits, ensuring that merged code is done properly and as secure as it can be.
- Split preference support into a separate file and optimize code to run as efficiently as possible.
- Fully automate the release asset publishing system, and ensure that tag names are configured properly, preventing broken releases from breaking production code.
- Switch to a much faster formatter and begin to switch to a faster linter, Oxfmt and Oxlint.
- Use full-length SHAs for GitHub Actions tool calls, ensuring that malicious code can't be injected by tampered with releases.
- Attest build artifacts and release assets so the end user can confirm they are receiving the official and safe code.
- Use Zizmor to ensure GitHub Actions are at the highest possible security.
- Configure Dependabot to ensure packages are up-to-date.
- Configure immutable releases so the end user can ensure release assets were never and can never be tampered with.
v2.3.1
To celebrate Sine's first anniversary, we're pushing a minor update to stabilize some of the Sine processes, one of which being updating. We know this is very small for how long ago v2.3 released, but hopefully this update will calm some of our concerns regarding unstable update processes and lead us to push more updates more frequently.
🔧 Fixes and improvements
- Although mod install links should never include queries, they will be removed if there are found, rather than erroring out.
- Null mod versions and descriptions will be handled rather than erroring out.
- Support for the upcoming Sine store has been added in the background. The only problem with this is an inconsistency with fetching install buttons from the site, which will be handled soon.
- Sine will now auto-update via zip downloads when possible, and when necessary, open the terminal. This is better than pure terminal updating cause it won't scare the user as frequently.
- The
locales.zippackage has now been merged withengine.zipfor ease. - The typical engine structure has been replaced with a src folder that contains the entry point script and all other files.
</> Codebase changes
The following changes will not be included in any production code, but rather help improve codebase management.
- Packages and tools are now used and managed via Bun.
- Commits will be linted and checked by eslint and prettier (respectively), to prevent junk from entering the codebase.
- Documentation for code specs are now included on this repository (although only one file is present as of right now).
- Several repository management files such as
SECURITY.md,CODEOWNERS, andCODE_OF_CONDUCT.mdhave been added.
v2.3.1c
To celebrate Sine's first anniversary, we're pushing a minor update to stabilize some of the Sine processes, one of which being updating. We know this is very small for how long ago v2.3 released, but hopefully this update will calm some of our concerns regarding unstable update processes and lead us to push more updates more frequently.
🔧 Fixes and improvements
- Although mod install links should never include queries, they will be removed if there are found, rather than erroring out.
- Null mod versions and descriptions will be handled rather than erroring out.
- Support for the upcoming Sine store has been added in the background. The only problem with this is an inconsistency with fetching install buttons from the site, which will be handled soon.
- Sine will now auto-update via zip downloads when possible, and when necessary, open the terminal. This is better than pure terminal updating cause it won't scare the user as frequently.
- The
locales.zippackage has now been merged withengine.zipfor ease. - The typical engine structure has been replaced with a src folder that contains the entry point script and all other files.
</> Codebase changes
The following changes will not be included in any production code, but rather help improve codebase management.
- Packages and tools are now used and managed via Bun.
- Commits will be linted and checked by eslint and prettier (respectively), to prevent junk from entering the codebase.
- Documentation for code specs are now included on this repository (although only one file is present as of right now).
- Several repository management files such as
SECURITY.md,CODEOWNERS, andCODE_OF_CONDUCT.mdhave been added.
2.3.0
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.
v2.3c
👀 Overview
Happy (very late) New Years! This is the Cosine pre-release of v2.3, launching with many features. Unfortunately we do not have a complete changelog yet, but that will be added in the stable release.
✨ Changes
(Will be made upon full release)
v2.3b
👀 Overview
Happy holidays! Thank you for your patience with v2.3, and I hope this proves to be a promising update to you all. Many more mods should work with this new update and I encourage you to try it out and let us know of any bugs you find.
✨ Changes
- Complete, new method of installing mods that is reliable and requires less API requests.
- Locale support, allowing for multi-lingual support in the future (not all, but most text has been ported to locales).
- Placeholder text for the mods section.
- Replace the expand button for the marketplace with a link to the marketplace website (will support installing from the site in the future).
- Switch some elements to XUL and optimize the styling.
A guide to install this pre-release is available in the docs (automatic installation does not work).
v2.3a
👀 Overview
This is an early alpha release for v2.3 that is nowhere near stable and shouldn't be used on primary profiles.
Not all mods or themes are guaranteed to work, and this is specifically designed to test Natsumi support with Sine on Floorp.
✨ Changes
- Many under-the-hood changes (more detail will be added in the full release notes).
- JS execution and support by Sine without restarting the browser.
- A new method of installing mods (incomplete, causing some mods and themes to not work).
- ...and a lot more.
A guide to install this pre-release is available in the docs (automatic installation does not work).
v2.2.3
👀 Overview
This new update prepares Sine for v2.3 coming soon and it also temporarily fixes an ongoing bug for Windows 10 installations of Sine.
✨ Changes
- Deletes the main script of Sine before updating, allowing for the main script name to change between versions (to happen in v2.3).
- Adds a try...catch block around the section where it removes the temporary engine zip during updates (prevents errors with it from completely breaking Sine, like in Windows 10).
v2.2.2
👀 Overview
This is the first update to Sine in a long time, so I want to first apologize for my inactivity, but here I am again!
This is a simple hotfix for the marketplace items overflowing in height.
✨ Changes
- Fix marketplace items from overflowing in height.