Releases: glide-browser/glide
0.1.53a
Addons API
You can now install addons directly from the Glide config:
glide.addons.install(
"https://addons.mozilla.org/firefox/downloads/file/4598854/ublock_origin-1.67.0.xpi",
);This will install the uBlock Origin addon, if it isn't already installed. If you want to install the addon even if it's installed already, use glide.addons.install('...', { force: true }).
glide.addons.install() expects a URL for an XPI file, you can obtain the XPI URL from an addons.mozilla.org page by right clicking on "Add to Firefox", and selecting "Copy link".
Styles API
You can now easily inject custom CSS into the browser UI directly from the Glide config:
glide.styles.add(css`
#TabsToolbar {
visibility: collapse !important;
}
`);This particular example hides the horizontal native tabs toolbar, but you can customise essentialy anything in the browser UI with this method.
Note that prior to this release you could inject custom CSS yourself but it was slower and would be persisted between config reloads.
Old API
glide.autocmds.create("WindowLoaded", () => {
document.head!.appendChild(DOM.create_element("style", {
textContent: css`
#TabsToolbar {
visibility: collapse !important;
}
`,
}));
});Changes
- Bumped Firefox from 144.0b9 to 145.0b6
- Enabled WebAuthn on macOS
- Added
glide.addons.install() - Added
glide.addons.list() - Added
glide.styles.add() - Added
glide.o.hint_chars - Fixed the source tarball, it now includes hidden files
- Fixed hint label generation so that keymaps defined in
hintmode do not conflict with labels- Thank you to @jacobzim-stl for the contribution!
- Fixed missing hints for elements across shadow roots
- Fixed
glide.ctx.urlso that it is constructed in the correct JS realm - Fixed the commandline stealing focus even after it was closed
0.1.52a
- Bumped Firefox from 144.0b8 to 144.0b9.
- Fixed synthesizing special keys, e.g.
glide.keys.send("<down>"). - Fixed the font family for hints, it now falls back to monospace instead of serif.
- Fixed locale fetching, you can now download locales other than en-US in the settings page.
- Fixed incorrect "new update" notification under certain conditions.
- Fixed passing arguments to custom excmds from the commandline.
- Fixed some web extension method return types to indicate a
Promiseis returned. - Fixed tab commandline not always focusing the first tab.
- Enabled loading unsigned extensions when the
xpinstall.signatures.requiredpref is set. - Enabled WebAuthn on Linux.
- Enabled access to missing Web Extension APIs,
tabGroups,activityLog,geckoProfiler, andnetworkStatus.- N.B. these APIs haven't all been tested fully yet, so they may not work as expected. Prior to this release, you could not use them at all.
- Added
glide.tabs.query()as an alias tobrowser.tabs.query()for better discoverability.- Thank you @roceb for the contribution!
- Added keymaps to the commandline UI, so you can easily identify what commands are mapped to.
- Thank you @jacobzim-stl for the contribution!
- Disabled the AI chat button in the context menu.
0.1.51a
Breaking changes
On Linux, the <C-l> and <C-h> mappings, to go backwards and forwards in history, have been changed to <A-l> and <A-h> respectively.
This change was made to prevent a conflict with the default <C-l> keymap in Firefox that focuses the address bar.
Changes
- Bumped Firefox from 144.0b5 to 144.0b8.
- Fixed keymap autocompletion for
glide.keymaps.del(). - Fixed bad handling of invalid
focusinevents. - Added
<C-[>ininsert,visual, andop-pendingmode to switch back tonormalmode.
0.1.50a
- Added
glide.fs.stat(). - Added
glide.env.get(),glide.env.set(), andglide.env.delete(). This is particularly useful for configuring yourPATHon macOS. - Added some missing types to the API docs.
- Bumped Firefox from 144.0b5 to 144.0b6.
- Fixed mappings with shift and multiiple modifiers, e.g.
cmd+shift+cnow works. - Fixed the native messaging runtime path, previously the paths were the Firefox defaults now:
- macOS system:
/Library/Application Support/Glide Browser - macOS user:
~/Library/Application Support/Glide Browser - Linux system:
/usr/lib64/glide-browser(or/usr/lib/glide-browser) - Linux user:
~/.glide-browser
- macOS system:
- Removed support for the
browserAPI inside the hints content callbacks, e.g.glide.hints.show({ pick: () => ... }).
This was the only place it was accessible and allowing access to thebrowserAPI from the content frame has security implications that need to be investigated further.
0.1.49a
- Fixed a case where dev tools autocomplete could stop working
- Changed
glide.ctx.urlfrom astringto aURL - Bumped Firefox from 144.0b3 to 144.0b5
0.1.48a
- Updated the recommended tsconfig to more accurately reflect reality
- Added support for setting attributes using
DOM.create_element() - Added
glide.fs.write(path, contents) - Added
windowto the config sandbox - Cleaned up the
documentmirror in the config sandbox<browser>and<scripts>elements are no longer included- Fixed race conditions when mutating the
document - Added many missing elements
0.1.47a
- Fixed a case where the browser toolbox devtools could crash
- Fixed issues with certain functions not being callable in the config, e.g.
setTimeout() - Prevented timers from being throttled, namely
setTimeout(),setInterval()andrequestIdleCallback() - Fixed
requestAnimationFrame()never firing - Added
glide.fs.exists(path) - Upated Firefox from
144.0b1to144.0b3
0.1.46a
chore: bump version
0.1.45a
This release fixes a regression with the document mirror causing a crash when multiple windows are opened.
0.1.44a
This release restructures how the config sandbox is evaluated. Previously, it was possible to access the internal Document and ChromeWindow that Firefox uses to render the browser UI itself.
This is useful for accessing DOM APIs, e.g. URL, and allowing you to modify the UI in any way you want, however it introduces security concerns as all of the Glide and Firefox internals can be accessed directly, effectively nullifying the sandbox.
Now, we create a hidden Window and a Document that is a bi-directional mirror of the internal browser UI Document. This lets you modify the Document however you'd like using standard DOM APIs while maintaining isolation from the internals.
Firefox has been bumped from 143.0b9 to 144.0b1, the Firefox release notes can be found here.