Blue Marble Release 0.90.0
Article

Blue Marble Release 0.90.0

swingthevine
TheTippingHat

swingthevine

The Tipping Hat

March 17, 2026
7 min read
Blue Marble Release 0.90.0

Blue Marble versions 0.89.0 and 0.90.0 have been released! You can do a lot of cool stuff now. The color filter has been redesigned to cause less lag. Windows can now be minimized, and so many more changes have been made!

Check it out!
https://github.com/SwingTheVine/Wplace-BlueMarble/releases/tag/pre


Change Log

User-Specific

Blue Marble Outage

* Tiles will now load properly.

Color Filter

* Color filter now approximates color matches within a range. This means users no longer need to turn off anti-fingerprinting measures in order to use the color filter.

* Color filter settings no longer persist between site refreshes.

* Color filter now appears in its own window.

* Color filter now requires you to load all template tiles (per browser session) in order to accurately calculate the amount of correctly placed pixels.

* Fixed bug where total pixels, correct pixels, and completion percentage were incorrect in certain circumstances.

* Color filter can now be sorted "ascending" or "descending" according to:

* Color ID

* Color name

* Premium colors

* Completion percentage per color

* Correctly placed pixels per color

* Incorrectly placed pixels per color

* Total pixels

* Color filter now supports enabling/disabling all colors at once.

* Color filter now supports hiding unused colors from view inside the color filter list of colors.

* Color filter buttons to enable/disable all colors only apply to the colors in the list of colors the user can see.

* Color filter window now contains statistics about all templates (e.g. total amount of correctly placed pixels).

* Color filter window now displays the date and time the user will complete all templates loaded.

* When all templates are completed, and all pixels are correct, the color filter window will display confetti.

* Color filter now supports filtering Erased #deface) colors.

* Color filter now supports "Other" as an actual color. Previously, it was a "shadow" color that did not exist.

Non-specific Windows

* All windows now have an exclusive minimization button.

* All windows, excluding the main window, now have a "Close Window" button.

* All windows, excluding the main window, now appear in the top left corner by default.

* All windows now attempt to bring themselves into view when you click on them.

Main Window

* Coordinate input fields no longer persist input between site refreshes.

* Developed "smarter" pasting logic when pasting coordinates from clipboard into coordinate input fields located in the main window.

* Merged "Enable" and "Disable" buttons (located in the main window) into a single, unified, button.

* Removed the color filter from main window.

* Added to the main window, a button to open the Template Wizard.

* Added to the main window, a button to open Color Filter window.

* Username display field has been removed from the main window.

* The "globe" icon in the main window no longer handles window minimization.

* The "globe" icon will now display a party hat on the "birthday" of Blue Marble.

* When the main window is loaded on the "birthday" of Blue Marble, confetti will appear.

* The default main window location has been moved slightly.

* In the main window, you can now see how long it will take to fill up your charges.

Telemetry Window

* The entire telemetry window UI is brand new, and now matches the overall window theme of Blue Marble.

* Telemetry window now contains a "non-legal" summary of what user information is stored on external servers.

Template Wizard

* Added a "Template Wizard" window.

The template wizard window now gives the user the option to download all templates in storage*.

* The template wizard window now displays the template storage schema health to the user.

* The template wizard window now gives the user the option to update template schemas without having to upload new templates manually.

Developer-Specific

GitHub

* Branch protection has been disabled.

* Git(Hub) Branches are now properly used.

Documentation

* Contribution documentation has been updated to reflect Git(Hub) branch changes.

* Contributing License has been added to the project.

* Updated documentation to better comply with OpenSFF best practices.

* Added hits.sh badge to count repository views.

* Wplace.live status badge has been removed.

* tokei.rs badges have been replaced.

* "Visitors" badge is now enabled to allow referrals noreferrer was removed).

* Duplicated questions in README.md FAQ have been removed.

* Fixed incorrect JSDoc parameter types in Overlay.js functions.

Build Pipeline

* Added tokei to build pipeline to calculate "Total Lines of X" badges in README.md.

* CodeQL will now run in release branches.

* Compression badge calculations now blacklist all flavors of Blue Marble except the main flavor.

* Entry point for bundling CSS files is now an auto-generated src/main.css file.

* Build pipeline will now automatically generate all flavors of Blue Marble.

Application Logic

* Templates no longer store Erased #deface) pixels as "x" grids inside template storage. Erased pixels are now rendered on-the-go.

* All previous Color Filter pixel calculations are no longer stored.

* Color filter pixel calculations now store only total pixels per color. Everything else is calculated on-the-go.

* Window minimization logic has been redone. All minimization logic is brand new.

* Color filter logic has been redone. All color filter logic is brand new.

* Window dragbar logic has been modified to allow child elements to be interactive.

* CSS selectors have been migrated from mostly ID selectors (old) to mostly class selectors (new).

* All SVGs have been modified.

* ./utils.js now contains localization functions for displaying most basic units of measurement.

* Timers can now be created. Timers are located at Overlay.addTimer().

* All windows are now their own file and class. They are no longer located in main.js.

* Template schema version has been bumped from 1.0.0 to 2.0.0.

* Logic handling the application of developer-specified attributes to elements has been modified to allow some attributes names which coincide with reserved words in JavaScript. E.g., a developer had to specify className instead of class because class is a reserved JavaScript word. Developers can now specify that the class attribute be applied to elements.

* Added support to Overlay.js for the following HTML elements:

* <span>

* <details>

* <summary>

* <form>

* <fieldset>

* <legend>

* <select>

* <option>

* <ol> (ordered list)

* <ul> (unordered/bullet list)

* <menu>

* <li> (list item)

* <table>

* <caption>

* <thead> (table header container)

* <tbody> (table body)

* <tfoot> (table footer)

* <tr> (table row)

* <th> (table header data/cell)

* <td> (table data/cell)

* addDragbar() and addTimer() are now functions of Overlay.js instead of main.js.

* Window minimization is now a function of Overlay.js instead of being hard-coded.

* Code for filtering colors, calculating correct pixels, and modifying Erased pixels is now a function of templateManager.js.

* Code for filtering colors, calculating correct pixels, and modifying Erased pixels now use only 1 OffscreenCanvas (in addition to the main OffscreenCanvas). In other words, filtering colors, calculating correct pixels, and modifying Erased pixels now only requires 1 iteration over every pixel, instead of multiple iterations.

* ApiManager.getBrowserFromUA() and ApiManager.getOS() functions are no longer private.

* Tiles with no templates are no longer drawn to a canvas before returning the unmodified tile.

* Logic to load templates based on template storage is now dependent on schema version matching.

* Added sleep() function to ./utils.js.

* Added a function to ./utils.js that allows a canvas to be viewed in a new tab.

* Added a function to ./utils.js to decode numbers that were encoded in base-n.

* Added a function to ./utils.js to retrieve data from the clipboard. This was previously hard-coded.

* Added a function to ./utils.js to calculate the relative luminance of a color.

Project Design

* CSS for each object (e.g. WindowMain) is now stored in its own .css file.

* Added "Standalone" flavor of Blue Marble, which contains all external URI dependencies.

* Added "GreasyFork" flavor of Blue Marble, which complies with GreasyFork rules.

* Added donation link to userscript header.

* Removed unused, non-specific code throughout the project.

Wiki

* Patched security vulnerability ([CVE-2025-13465](https://github.com/advisories/GHSA-xxjr-mmjv-4gpg))

Was this article helpful? 2 found this helpful
Share this article:

Discussion

0 comments

Join Grivio's Newsletter

Grivio

Grivio connects you with vibrant communities of Grivians who share your unique interests, no matter how niche. Whether you're a tech enthusiast, a budding artist, or a fan of obscure hobbies, you'll find your fellow Grivians here. Dive into a space where your interests are celebrated and meet others who understand your passion.

Quick Links

Contact Information

Connect With Us

Stay updated on social media for the latest Grivio news, trends, giveaways, and highlights

©2026 Grivio All Rights Reserved