Проект Mozilla официально представил релиз web-браузера Firefox 10.0. В ближайшие часы на стадию бета-тестирования перейдёт ветка Firefox 11 и будет отделена aurora-ветка Firefox 12. Релиз Firefox 11 ожидается через 6 недель, в середине марта, а Firefox 12 выйдет в начале мая. Кроме того, на сегодняшний день намечены релизы Firefox 3.6.26, Firefox 10 for Android, Seamonkey 2.7 и Thunderbird 10.0.
Версии Firefox 10 присвоен статус релиза с длительным сроком поддержки (ESR), что подразумевает выпуск обновлений с исправлением проблем безопасности в течение года. Следующим релизом с длительным сроком поддержки станет Firefox 17. Поддержка ветки Firefox 3.6 будет прекращена 24 апреля. Обновления ESR-версий будут выпускаться каждые 6 недель и будут включать только исправления опасных уязвимостей, а в отдельных случаях и решения серьёзных проблем со стабильностью. Формирование ESR-выпуска является ответом на пожелание корпоративных пользователей, которых не устраивает излишне короткий срок поддержки обычных версий, так как требуется много времени на согласование перехода на новую версию, тестирование совместимости с корпоративными сайтами и дополнениями, обновление документации и обучение персонала.
Основные новшества Firefox 10:
- Дополнения по умолчанию будут помечаться как совместимые с текущей версией браузера, что упростит и сгладит процесс обновления браузера. Новая схема подразумевает автоматическое отключение только дополнений, которые явно помечены в базе Mozilla как несовместимые c текущим выпуском Firefox. Все остальные дополнения будут активны по умолчанию, даже если в поле максимальной поддерживаемой версии указан более старый выпуск браузера, чем тот на который произведено обновление.
Для блокирования несовместимых дополнений будет создан специальный чёрный список, куда будут помещены дополнения, которые не прошли автоматическое тестирование или в которых подтверждено наличие проблем. Список будет формироваться на этапе 18-недельного тестирования веток Nightly, Aurora и Beta, т.е. чёрный список будет сформирован ещё до релиза. Данное новшество не отразится на совместимости с дополнениями, содержащими бинарные вставки. Как и раньше, все бинарные дополнения будут считаться несовместимыми с новыми версиями и потребуют перекомпиляции.
- По умолчанию скрыта кнопка перехода на следующую страницу ("вперёд"), которая теперь появляется только после возврата на ранее открытые страницы, а в иных ситуациях автоматически скрывается. Кнопка "вперёд" востребована только после того, как осуществлён переход на предыдущие страницы, поэтому логично показывать данную кнопку только при возможности её использования, а не держать её постоянно в неактивном состоянии. Ранее кнопки "вперёд" и "назад" составляли неделимый блок, поэтому через штатный интерфейс пользователя невозможно было удалить кнопку "вперёд", не удалив кнопки "назад";
- Интеграция Page Inspector, нового инструмента для инспектирования страниц, упрощающего труд разработчиков по анализу и тестированию дизайна, стилей, шрифтов, цветов и позиционирования элементов на страницах. Для выбранного элемента страницы можно просмотреть связанные с ним HTML и CSS блоки или осуществить навигацию по HTML-коду присутствующих на странице элементов в режиме просмотра структуры страницы;
- Интеграция Style Inspector, дополняющего Page Inspector инструментами для анализа свойств CSS: можно посмотреть свойства для выбранного элемента страницы или наоборот, посмотреть на какие элементы страницы влияют те или иные свойства. Более того, любое свойство CSS можно на лету поменять и сразу посмотреть как такое изменение отразиться на внешнем виде;
- Scratchpad, встроенный редактор для быстрого выполнения и тестирования небольших кусков кода на языке JavaScript, будет по умолчанию заменён на Orion Code Editor, построенный на базе развиваемого проектом Eclipse приложения для редактирования CSS и JavaScript-кода. В отличие от Scratchpad, Orion поддерживает ряд расширенных возможностей, таких как подсветка синтаксиса, выделение парных скобок и другие возможности, упрощающие написание кода на языке JavaScript;
- Расширение возможностей механизма синхронизации настроек между разными машинами (Firefox Sync): упрощён процесс настройки, связывание Android-телефонов и любых других устройств с браузером Firefox теперь может быть выполнено без настольного браузера;
- Реализация поддержки антиалиасинга для WebGL, что позволит обеспечить сглаживание линий и углов при выводе 3D-контента через WebGL, что особенно актуально в играх и при создании анимации;
- Для упрощения разработки web-приложений, работающих в полноэкранном режиме, представлен Full Screen API (данный API был реализован в Firefox 9, но был отключен по умолчанию). API позволяет выполнять такие функции, как инициирование перехода в полноэкранный режим, проверка нахождения в полноэкранном режиме и перехват событий по открытию страниц в полноэкранном режиме;
- Поддержка свойств CSS3 для организации 3D-трансформации элементов страниц. При помощи новых свойств разработчик может использовать 3D-преобразования для присутствующих на странице двухмерных элементов (картинка, форма, таблца и т.п.) при помощи HTML5 без использования внешних плагинов. Видеоролики с демонстрацией можно посмотреть здесь;
- Новый тэг "bdi" для изоляции двунаправленного текста (когда на странице одновременно размещен текст на языках с начертанием слева-направо и справа-налево) и набор CSS-свойств для управления отображением такого текста;
- Добавлен обновлённый IndexedDB API, более точно соответствующий требованиям спецификации W3C;
- Устранена проблема, приводившая к краху браузера при перемещении закладок.
Отдельно стоит отметить, что кроме новшеств и исправления ошибок в Firefox 10.0 устранена очередная порция уязвимостей, несколько из которых имеют критический характер и могут привести к выполнению кода злоумышленника при открытии специально оформленных страниц. Подробности об устранённых уязвимостях пока недоступны, публикация отчета об их исправлении ожидается в ближайшие часы.
В мобильной версии браузера Firefox 10, доступной для платформы Android, не отмечено значительных улучшений, кроме тех, что уже отмечены в Firefox 10. Причиной подобной стагнации является появление кардинальных изменений в следующей версии Firefox для платформы Android. Начиная с Firefox 11 for Android браузер откажется от использования XUL и будет переведён на стандартные механизмы построения интерфейса, предоставляемые платформой Android. Интерфейс будет предельно упрощён, список открытых вкладок будет отображаться через выпадающий список, вызываемый через нажатие на кнопку в левой верхней части заголовка. При клике на самом заголовке станет появляться поле ввода URL. Все дополнительные действия, включая кнопку перезагрузки страницы и вызов закладок, будут перемещены в стандартное меню платформы Android. Уход от XUL позволит значительно уменьшить время запуска. В новой версии также будет обеспечена поддержка Flash-плагина, поставляемого для платформы Android.