После обновления браузера Firefox до седьмой версии разработчики заметили, что в нем пропадают дополнения.
Если до обновления Firefox 6 до Firefox 7 в обозревателе были в наличии дополнения, обновление для которых было уже загружено, но еще не активировано перезапуском, то в Firefox 7 эти дополнения деактивируются и вообще пропадают из менеджера дополнений.
Причем данные, связанные с дополнениями, а также сам код этих дополнений остается на месте. В связи с этим было принято решение приостановить распространение автоматического обновления с Firefox 7.0 до того момента, пока не будут устранены проблемы (кстати, уже появился корректирующий выпуск Firefox 7.0.1, в котором все это исправлено).
Для тех пользователей, которые столкнулись с данной проблемой, был подготовлен специальный инструмент, помогающий восстановить исчезнувшие дополнения. Помимо этого, как уже упоминалось в отчете о подверженности различных веб-браузеров атаке против SSL/TLS, команда разработчиков Firefox рассматривает вопрос о необходимости временно блокировать работу Java-плагина, как минимум до того времени, когда компания Oracle создаст обновление с исправлениями, не допускающее подобные атаки.
Не секрет, что основным аргументом для критики сокращенного цикла подготовки новых релизов Firefox (которые теперь выходят каждые 6 недель) стал: «проблемы с совместимостью дополнений, которые возникают после обновления до следующего значительного выпуска».
Еще до выхода Firefox 5, в апреле, разработчики в распространяемые ресурсом addons.mozilla.org дополнения ввели систему автоматической проверки на совместимость с последующими выпусками.
Во время работы система проводит автоматическую коррекцию минимального номера поддерживаемой версии, после чего, в случае обнаружения потенциальных проблем, отправляет разработчикам дополнений соответствующие уведомления. Такой подход помогает к моменту релиза Firefox 6 обеспечить 97 %-ую совместимость со всеми доступными в каталоге addons.mozilla.org дополнениями, а до появления Firefox 7 этот показатель довести до 99%. Это значит, что с релизом Firefox 7, 99% всех дополнений, которые работают в Firefox 6, будут совместимы.
Отсюда возникает вопрос: если 99% дополнений совместимы со свежим выпуском до момента его официального релиза, почему же тогда не стихает волна сообщений о неработоспособности дополнений после каждого очередного релиза?
Чтобы определить причины, разработчики задействовали функцию анонимного сбора статистики об используемых дополнениях, которая появилась еще в Firefox 4.
С тех пор была собрана информация о 600 миллионах дополнениях, которыми пользуются Интернет-пользователи. Но проанализировав дополнения, разработчики обнаружили, что 75% (а это 450 млн) дополнений вообще отсутствуют в каталоге addons.mozilla.org.
Проведя детальное разбирательство, разработчики определили, что все эти дополнения навязываются пользователям в комплекте с разнообразными программными продуктами.
К примеру, такие дополнения без ведома пользователей устанавливаются в Firefox во время установки продуктов Java, Skype, Microsoft, а также разных медиа-плееров. Поскольку такие дополнения не адаптируются к новым версиям веб-обозревателя Firefox, во время каждого обновления пользователи сталкиваются с предупреждениями о том, что нарушена совместимость.
Чтобы решить эту проблему, начиная с Firefox 8, разработчики добавят в обозреватель специальное средство, позволяющее бороться с установкой подобных дополнений. Оно просто будет их по умолчанию блокировать. А для активации будет выводиться специальная форма для одобрения пользователями.
Затем будет изменен процесс определения пригодности дополнений. Так, начиная с Firefox 10, Mozilla планирует упразднить проверку пригодности дополнений по номерам версий и признавать все дополнения совместимыми по умолчанию. С целью блокировки несовместимых дополнений будет создан т.н. черный список, куда будут помещаться дополнения, не прошедшие автоматическое тестирование, а также те, в которых обнаружено наличие проблем.
Этот список будет формироваться в течение 18-ти недельного тестирования веток Aurora, Nightly и Beta. То есть черный список сформируется еще до момента релиза. Это нововведение никак не отразится на совместимости с теми дополнениями, которые содержат бинарные вставки. Все бинарные дополнения, как и прежде, будут считаться несовместимыми с новыми версиями, и требовать перекомпиляции.
Иным решением проблемы, также активно пропагандируемым, является агитация пользователей переходить на использование Add-on SDK, позволяющего вообще не обращать внимания на совместимость с версиями Firefox. Сервис Add-on SDK дает разработчикам возможность создавать новые дополнения с применением технологии Jetpack, которая, в отличие от XUL, не требует изучения внутреннего устройства веб-браузера и базируется на стандартных веб-технологиях javascript, CSS и HTML.
Наряду с простотой разработки, важными достоинствами Jetpack-расширений являются: возможность мгновенно активировать дополнения, не перегружая веб-браузер, а также отсутствие требований к обеспечению совместимости с грядущими версиями обозревателя.