Tuesday, February 02, 2021

Pale Moon Version 29.0 Released


Pale Moon

Pale Moon has been updated to version 29.0.   This release continues to build on further improvements and enhancements in the platform and additions to the browser, as well as a large number of bug fixes.

Linux versions (now also including GTK3 builds) will follow shortly.

New additions:

  • Implemented Intl.PluralRules API for JavaScript.
  • Added a frequently-requested preference (browser.tabs.allowTabDetach) to disable "tearing off" of tabs (meaning dragging them outside of the tab bar resulting in them being made into their own window).
  • Added FLAC as a recognized filetype-by-extension.
  • Implemented basic support for the scrollbar-width CSS keyword. See implementation notes.
  • Added preliminary support for modern FreeBSD builds.
  • Selectively enabled core features of the DOM Animations API.
  • Enabled AV1 video support by default (previously built but not enabled in releases).
  • Added support for pointer events.
  • Added support for the SVG transform-box property.
  • Added support for the inputmode property for forms to enable context-sensitive display of soft keyboards.
  • Enabled shutting down of the file I/O worker when idle for a while (resource optimization).
  • Enabled blocking of auto-play of media in the background by default.
  • We now offer official GTK3 builds for Linux alongside the GTK2 builds.
  • Partial (and as of yet, not acceptably functional) implementation of Google WebComponents. See implementation notes.
Changes/fixes:
  • Updated NSPR to 4.29.
  • Updated NSS to 3.59.
  • Disabled legacy database format for storage of certificates and passwords. See implementation notes.
  • Updated several site-specific user-agent overrides for web compatibility.
  • Improved styling of the "find in page" bar to avoid unreadable text on some system themes.
  • Removed a large chunk of Android-specific code.
  • Split gkmedias.dll back out from xul.dll.
  • Cleaned up a number of redundant and obsolete code paths.
  • Fixed a regression with the Performance API.
  • Fixed an initialization issue in the browser when users would force-disable certain types of caching.
  • Fixed a crash when attempting to save a file from FTP that could be displayed in the browser.
  • Fixed the root cause of an issue with JavaScript module loading causing crashes. See implementation notes.
  • Fixed a rare initialization issue for the print preview window causing it to not display.
  • Fixed a crash on Mac when text input was not secure.
  • Disabled the Storage Manager API by default.
  • Disabled the <menuitem> html tag by default. If you still need this, you can re-enable it with the preference dom.menuitem.enabled in about:config.
  • Fixed a memory safety issue related to XUL trees (CVE-2021-23962).
  • Implemented several defense-in-depth measures to improve stability and future security.
  • Unified XUL Platform Mozilla Security Patch Summary: 1 fixed, 6 DiD, 1 already implemented, 1 deferred to the next release, 24 not applicable.
Implementation notes:
  • We've implemented basic support for the scrollbar-width CSS keyword. The most important setting used with increasing frequency on the web is scrollbar-width: none effectively disabling scrollbars while not affecting overflow behavior when content would overflow its designated space (normally that would result in scrollbars being added to access the hidden content). This support for none is complete. A different setting for this keyword is thin. While this is implemented, it is currently reliant on the underlying system theme for widgets on various operating systems and (especially on Linux) may have little or no effect depending on the widget theme you are using, resulting in standard-sized scrollbars (the same as auto, the default for this keyword).
  • The legacy database format for storing security certificates and passwords (dbm, a Berkeley-derived format) is no longer built and as a result the browser will no longer be able to convert the old format (cert8.db and key3.db) to the current format which is SQL-based. Please see our document on profile migration for pointers on upgrading very old profiles that have not had this migration occur yet.
  • We tracked down (thanks, jarman!) the issue that had us forced to disable the inlining of code optimization in our JIT compiler for JavaScript (IonMonkey) in our previous version by default, to prevent crashes with module scripts (see release notes of 28.17.0). As a result we've been able to reclaim our temporary loss in performance of the browser while solving the crashes caused by this optimization.
  • We've implemented a good chunk of Google WebComponents (CustomElements and Shadow DOM). The incomplete code is behind a preference (dom.webcomponents.enabled) and it is strongly suggested you do not touch it unless you plan on helping us implement the remainder of this fundamentally-web-altering spec. Please do not expect that this preference is a magic wand to make Google and it's puppy sites suddenly work in "modern" (mind the quotes) ways or without help (e.g. polyfills). While we've ticked a lot of the boxes already for a working implementation, this specification is kind of special in that it is all-or-nothing because it is not an extension or evolution of existing technology, but rather an attempt at redefining how websites work and are structured (with plenty of critical feedback because of that) at the most fundamental level.

  Pale Moon includes both 32- and 64-bit versions for Windows:

Update

To get the update now, select "Help" from the Pale Moon menu at the upper left of the browser window.  Select About Pale Moon > Check for Updates.

Release Notes




Remember - "A day without laughter is a day wasted."
May the wind sing to you and the sun rise in your heart...


No comments: