Skip to content

Release 0.93.0 - #507

Merged
SwingTheVine merged 29 commits into
mainfrom
release/v0.93.0
Sep 7, 2026
Merged

Release 0.93.0#507
SwingTheVine merged 29 commits into
mainfrom
release/v0.93.0

Conversation

@SwingTheVine

@SwingTheVine SwingTheVine commented Sep 4, 2026

Copy link
Copy Markdown
Owner

Change Log

User-Specific

  • Userscripts that use the GM3 API are now supported.
  • Userscripts that use the GM4 API are now supported.
  • Fixed a bug where a pixel, which is incorrect & also a color the user has filtered, caused highlighting to appear when the user wanted to hide that pixel.
  • Your changes to the main Blue Marble window now persist across page refresh/close.
  • Your changes to which template colors are shown/hidden now persist across page refresh/close.
  • Added a new button to the main Blue Marble window that lets you reset the window position to default, which includes anchoring the window to the top right corner. Otherwise, the window would permanently be anchored to the top left corner after you move the window once.
  • Added functionality that makes it impossible to permanently lose a window off-screen (refresh the page to get the window back).
  • Decreased the amount of time it takes to save settings.
  • Fixed a bug where user information was not displayed on page load.
  • Fixed a bug where Wplace "Paint Menu" changes sometimes caused Blue Marble to crash.
  • Fixed a bug where recent Wplace "Paint Menu" changes caused the "Move" button to disappear.
  • Fixed a bug where users could input Px X or Px Y values that were greater than 999.
  • Fixed malformed checkboxes in the Settings Window.
  • The name of the template section in the settings is now "Template" (was incorrectly named "Pixel Highlight").
  • Fixed bugs in telemetry.
  • Added more supporters to the credits.

Developer-Specific

  • Blue Marble now runs at document-start, but the spy code injected into the DOM tree (now) waits for the DOM to exist first. The sandboxed Blue Marble code will not crash if the spy code has not been injected. Instead, it will endlessly wait for a message on the Window.
  • All GreaseMonkey API calls are now asynchronous, and return a Promise.
  • GM3 API calls are now supported using GreaseMonkey's GM4 Polyfill script.
  • All windows, except the telemetry window, now have access to (by default) a minimum of 13 persistent Boolean values for each window.
  • The SettingsManager can now save the state of any window (but currently only does for the main window).
  • The SettingsManager can now load the state of any window (but currently only does for the main window).
  • Window classes (i.e. WindowFilter.js) can now retrieve their (or any) window state (read-only). This also includes retrieving the last saved state before page refresh/close.
  • Added new window functionality called "Draw Depth", which controls the draw order of Blue Marble windows. Currently, only the main window uses this (and thus has no affect, as there is only one compatible window). This is seperate from z-index, because calling Draw Depth will allow the window to be drawn on that z-index, or if needed, shift other windows' z-index in order to claim it. Draw Depth currently supports up to 92 open Blue Marble windows.
  • Blue Marble will now crash if the main window already exists during pre-initialization. This means there should only ever be one instance of Blue Marble running at a time now.
  • Fixed a bug where checkbox descriptions were inappropriately added to the checkbox itself, instead of the label.
  • Fixed a bug where checkbox descriptions behaved unpredictably when the <label> is a flexbox, and the description contained HTML text styling (thus causing #text to be multiple flexbox children). The #text description is now wrapped in a <span> element.
  • The "Move" button now uses two document.querySelector() instead of manually crawling the DOM tree and hoping the DOM tree structure remains the same across updates to Wplace.
  • Added functionality to independently flip any of the 32 bits in an unsigned number type variable.
  • Added functionality to convert an unsigned number into an Array of 32 Booleans.
  • Added a wrapper function for console.info(), so that aggressively compressed versions of Blue Marble still have a way to call console.info().

Issues

Closes #36
Closes #102
Closes #167
Closes #317
Closes #352
Closes #469
Closes #492
Closes #495
Closes #504
Closes #511

@SwingTheVine
SwingTheVine marked this pull request as draft September 4, 2026 19:36
@SwingTheVine SwingTheVine self-assigned this Sep 4, 2026
@SwingTheVine SwingTheVine added bug Something isn't working as it was intended enhancement New feature or request in-progress Nothing appears to be wrong with this PR labels Sep 4, 2026
@SwingTheVine SwingTheVine moved this to In Progress in Blue Marble Sep 4, 2026
@SwingTheVine SwingTheVine added this to the Version 1.0.0 milestone Sep 4, 2026
@SwingTheVine
SwingTheVine marked this pull request as ready for review September 7, 2026 08:57
@SwingTheVine
SwingTheVine merged commit b0a77df into main Sep 7, 2026
5 checks passed
@github-project-automation github-project-automation Bot moved this from In Progress to Done in Blue Marble Sep 7, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment