Опубликован релиз web-браузера Pale Moon 31.0, ответвившегося от кодовой базы Firefox для обеспечения более высокой эффективности работы, cохранения классического интерфейса, минимизации потребления памяти и предоставления дополнительных возможностей по настройке. Сборки Pale Moon формируются для Windows и Linux (x86 и x86_64). Код проекта распространяется под лицензией MPLv2 (Mozilla Public License).
Проект придерживается классической организации интерфейса, без перехода к интегрированному в Firefox 29 интерфейсу Australis, и с предоставлением широких возможностей кастомизации. Из удалённых компонентов можно отметить DRM, Social API, WebRTC, PDF-просмотрщик, Сrash Reporter, код для сбора статистики, средства для родительского контроля и людей с ограниченными возможностями. По сравнению с Firefox в браузере оставлена поддержка технологии XUL и сохранена возможность применения как полноценных, так и легковесных тем оформления.
В новой версии:
- После выявления ряда проблем со стабильностью и протеста одного из ключевых разработчиков отменены ранее сформированные выпуски Pale Moon 30.0.0 и 30.0.1. Возвращено использование платформы UXP (Unified XUL Platform), развивающей ответвление компонентов Firefox из репозитория Mozilla Central, избавленных от привязок к коду на языке Rust и не включающих наработки проекта Quantum. В качестве браузерного движка задействован Goanna 5.1, вариант движка Gecko, очищенный от кода неподдерживаемых компонентов и платформ. Пользователям ветки Pale Moon 29.x предложен прямой переход на выпуск 31.0.
- Обеспечена поддержка как старых немодифицированных дополнений к Firefox, так и новых дополнений, специально подготовленных для Pale Moon. Стабильность работы старых дополнений не гарантируется, поэтому они будут помечаться в менеджере дополнений специальной оранжевой меткой.
- Добавлена поддержка единовременной проверки всей цепочки свойств или вызовов в JavaScript при помощи оператора “?.”. Например, через “db?.user?.name?.length” можно обратиться к значению “db.user.name.length” без предварительных проверок.
- Для улучшения совместимости с сайтами добавлены методы Selection.setBaseAndExtent() и queueMicroTask().
- В конструкторе IntersectionObserver() при передаче пустой строки обеспечено выставление по умолчанию свойства rootMargin вместо генерации исключения.
- Улучшена отрисовка конструкций, заданных при помощи CSS grid и flexbox.
- Повышена производительность параллельного выполнения web worker-ов в JavaScript.
- Улучшено отображение шрифтов курсивом.
- Обновлены версии библиотек, включённых в базовую поставку.
- Добавлена поддержка расширенных идентификаторов видеокодеков VPx.
- Решена давняя проблема с отображением полей, заданных напрямую в тегах body и iframe без применения CSS.
- Удалён код, связанный с использованием сервисов Google SafeBrowsing и URLClassifier.
- Восстановлен код для сборки на платформе macOS.
- Удалён нестандартный API ArchiveReader.
- Проведена чистка кода от компонентов Mozilla для сбора телеметрии.
- Удалён код, связанный с поддержкой платформы Android.
- Удалён фреймворк автоматизированного тестирования Marionette.
- Перенесены исправления, связанные с устранением уязвимостей.