Был выпущен релиз-кандидат JQuery 3.0 с изменениями для очистки API и исправлениями ошибок, которые могут оказаться критическими изменениями для некоторого кода.
Процесс очистки включает в себя удаление ранее устаревших общедоступных API-интерфейсов, изменение или удаление недокументированных API-интерфейсов, а также изменения документированного или недокументированного поведения существующих API-интерфейсов для определенных входных данных.
Библиотека JQuery JavaScript установлена на большинстве веб-сайтов с высокой посещаемостью. Он был разработан, чтобы упростить создание сценариев HTML на стороне клиента, и является самой популярной библиотекой JavaScript. После выпуска jQuery 3.0 станет единственной версией jQuery. Ветви 1.12 и 2.2 будут по-прежнему поддерживаться критически важными исправлениями поддержки, но для них не будет новых функций или серьезных изменений.
Большая часть работы в этом выпуске была направлена на очистку API-интерфейсов, и соответственно меньше улучшений функций. Разработчики говорят, что, хотя изменения требуют изменения номера версии, они ожидают, что эти выпуски не должны доставить особых проблем, когда дело доходит до обновления существующего кода, добавляя:
«Да, есть несколько« критических изменений », которые оправдывают резкий скачок в основной версии, но мы надеемся, что поломка на самом деле не коснется такого количества людей».
Также существует плагин jQuery Migrate 3.0-rc, который помогает выявить проблемы совместимости в вашем коде.
Среди новых функций объекты jQuery.Deferred были обновлены для совместимости с Promises / A + и ES2015 Promises. Это включало внесение некоторых серьезных изменений в метод .then (), поэтому исключение, созданное в обратном вызове .then (), становится значением отклонения, а обратные вызовы всегда вызываются асинхронно.
Еще одно изменение означает, что случаи ошибки не исчезают автоматически. Разработчики объясняют, что это попытка избежать ситуации, когда вы случайно делаете сумасшедший запрос и не знаете, почему ничего не произошло. Вместо этого jQuery 3.0 будет выдавать ошибки, чтобы вы могли понять, почему ваш запрос не удался.
Анимация была улучшена на платформах, поддерживающих requestAnimationFrame API (практически все, кроме старых Android до 4.4 и IE9). Если ваша платформа поддерживает этот API, jQuery теперь будет использовать его, давая вам более плавную анимацию, которая использует меньше процессорного времени. Некоторое время назад разработчики пытались использовать этот API, но отказались от него из-за проблем совместимости с существующим кодом. Эти проблемы были преодолены, и поддержка вернулась.