Доступен Firefox 40.
Основные изменения:
- Защита от загрузки нежелательного ПО (скрытно устанавливающего другие программы, трудноудаляемого, вводящего в заблуждение, маскирующегося под другие программы)
- С локалью en-US рекомендуемые (не рекламные) миниатюры в пустых ячейках на странице новой вкладки теперь подбираются исходя из интересов пользователя (загружается весь массив миниатюр, локально анализируется история браузера и выбираются подходящие). История браузера не передаётся на сервер. Пользователи по-прежнему имеют возможность закрепить на странице собственные сайты из истории и избежать показа чего-либо нового
- Добавление ссылки на контекст обсуждения в чате Hello
- Новый стиль менеджера дополнений, схожий с интерфейсом настроек браузера
- На платформе Linux ускорены прокрутка, отрисовка изображений и воспроизведение видео
- При обнаружении известных несовместимых версий видеодрайверов аппаратное ускорение будет отключено лишь для сочетаний «несовместимый драйвер+версия Firefox, которая некорректно с ним работает» (раньше, при обнаружении такого драйвера, ускорение отключалось независимо от версии браузера)
- При установке дополнений, не получившие цифровую подпись у Mozilla, выдаётся предупреждение. После перехода в следующем выпуске к блокировке не подписанных дополнений, будут выпущены специальные англоязычные версии без брэндирования и имени Firefox, в которых разрешено устанавливать любые дополнения
- Масштабирование JPEG потребляет меньше памяти, а отрисовка происходит быстрее
- Элементы типа <iframe>, <img>, <script>, XMLHttpRequest и background-image больше не могут запрашивать авторизацию, если они не располагаются на том же домене, что и основная страница. Это позволяло злоумышленнику встроить такой элемент со своего сайта на взломанный сайт и создать у пользователя иллюзию того, что авторизацию запрашивает текущий сайт (647010)
- Асинхронная инициализация плагинов NPAPI
- Прекращена поддержка бинарных компонентов в дополнениях
- Разработчики заметили, что у некоторых пользователей изменены файлы поисковых движков, поставляемых по умолчанию. Отныне эти файлы перенесены в ресурсы браузера и не могут быть изменены. Пользователи по-прежнему могут скрыть их из интерфейса браузера и добавлять собственные поисковые движки (1162569)
- Исправлено некорректное отображение в просмотрщике PDF текста на индийском языке Каннада
- Более плавные скроллинг и анимация на платформе Windows за счёт аппаратной вертикальной синхронизации
- Улучшенная тема для Windows 10
Инструменты разработчика:
- Новые инструменты для анализа производительности
- В Инспекторе можно осуществлять поиск по всем фреймам страницы, добавлен редактор CSS-фильтров, возможность фильтровать CSS-правила и быстро получать сведения о выбранном CSS-свойстве из базы знаний Mozilla, всплывающие подсказки при настройке значений CSS-фильтров, более удобный просмотр анимации
- Отображение горизонтальных и вертикальных линеек на странице
- Сообщения от worker-ов в консоли
- Фильтр сетевых запросов по URL, множество новых опций в контекстном меню мониторинга сетевой активности, индикатор загрузки ресурса из кэша
CSS:
- Убран префикс -moz- у text-decoration-color, text-decoration-line и text-decoration-style (1097922)
- Поддержка значения match-parent свойством text-align (645642)
- В режиме совместимости, значением по умолчанию свойства empty-cells является show (1020400)
- Нестандартное свойство -moz-orient, используемое для элементов <meter> и <progress>, адаптировано для режимов с вертикальным письмом: удалено значение auto, добавлены значения inline (значение по умолчанию) и block (1028716)
JavaScript:
- Код, недоступный после операции возврата (включая код, недоступный после автоматической подстановки ; в операцию возврата), выдаёт предупреждение в консоль (1005110, 1151931)
- Добавлена функция Symbol.match. При передаче в String.prototype.startsWith, String.prototype.endsWith и String.prototype.contains объекта, свойство Symbol.match которого имеет истинное значение, будет выброшен TypeError (1054755)
- Удалена поддержка нестандартного деструктурирующего for-in (1083498)
- Инициализаторы выражений в циклах for...in отныне игнорируются и выводят предупреждение в консоль (748550, 1164741)
- Поддержка кодов символов Unicode \u{xxxxxx} (320500)
- String.prototype.contains теперь является псевдонимом для String.prototype.includes (1102219)
- Если конструктор DataView вызван, как функция, но без оператора new, будет выброшен TypeError
- Исправлена регрессия, из-за которой проксифицированные массивы без установленной ловушки get не работали должным образом (895223)
- WeakMap.prototype и WeakSet.prototype стали обычными объектами (1055473)
API/DOM:
- Поддержка Push API (позволяет веб-приложениям регистрировать идентификатор на сервере Mozilla, чтобы сайт приложения оставлял там уведомления, которые пользователь получит, когда будет онлайн) (1038811)
- Web Animations:
- Возможность задать свойство AnimationPlayer.currentTime (1072037)
- Animatable.getAnimationPlayers() переименовано в Element.getAnimations() (1145246)
- Animation и AnimationEffect объединены в KeyframeEffectReadOnly (1153734)
- AnimationPlayer переименован в Animation (1154615)
- AnimationTimeline теперь абстрактный класс (1152171)
- Удалён интерфейс CSSCharsetRule (1148694)
- WebRTC: событие negotiationneeded отсылается не только при повторных, но и при начальных соединениях (1149838)
- Метод HTMLImageElement.currentSrc возвращает пустую строку вместо null, если не может распарсить srcset (1139560)
- Window.requestAnimationFrame() пропускается для невидимых <iframe> (1145439)
- Web worker-ам больше не доступен метод Navigator.taintEnabled (1154878)
- Новые свойства MouseEvent.offsetX и MouseEvent.offsetY (69787)
- Web Audio:
- Новые свойства AudioContext.state, AudioContext.onstatechange и методы AudioContext.suspend(), AudioContext.resume(), AudioContext.close() (1094764)
- Новое свойство AudioBufferSourceNode.detune для модулирования скорости воспроизведения (1153783)
- Web Workers:
- Метод update() перемещён из ServiceWorkerGlobalScope в ServiceWorkerRegistration (1131350)
- Интерфейсы ServiceWorkerRegistration и DataStore доступны Web worker-ам
- Транзакции IndexedDB теперь по умолчанию non-durable (без сохранения состояния на диск) (1112702)
Безопасность:
- Символ * в CSP больше не распространяется на data:, blob: или :filesystem. Пострадают CNN, Facebook, FastMail и WhatsApp, которые указывают img-src: * и используют data: для показа изображений (1086999)
За прошедший период разработчики решили отказаться от XUL, перевели ночные сборки для Linux на GTK3 и решили признать 64-разрядные сборки для Windows стабильными, начиная с выпуска 41. Кроме того, началась подготовка к закрытию FTP-сервера (ftp://ftp.mozilla.org) и переносу его содержимого на мощности Amazon AWS (https://ftp.mozilla.org).
>>> Подробности