リリースノート

jQuery 1.11.1 と 2.1.1 のベータ版 1 リリースとこれからのブラウザサポート予定のメモ

今は昔、 jQuery 1.11.1 と 2.1.1 のベータ版1が発表 されたのでメモしておきます。ベータ版です。今更の話題です。

いくらかのバグの修正と改良が施されているだけで、 機能の追加は無いようです。

jQuery.isNumeric()に数値が一つだけ入った配列を 渡すとtrueを返してしまう(例: $.isNumeric([1])trueを返す) バグが修正されたり、$.hide()実行後の $.show()がスタイル display の値を正しく 復元しないバグ等が修正されているそうです。

あと、 他の記事 でこれからの予定も書かれていました。 確定ではないが、jQuery 1.12 と 2.2 は今年中に、 1.13 と 2.3 は2015年に出すつもりのようです。

1.13 と 2.3 以降は IE 6,7、Opera 12.1x と Safari 5.1 は サポート対象から外れます(IE 6,7,8 は 2.x 系ではそもそも サポート対象外)。 1.12 と 2.2 ではこれらのブラウザに対して 深刻なリグレッション(デグレード)のみパッチリリース (例:1.12.1)で修正するそうです。

サポートブラウザに関してだけ言えば、1.13 と 2.3 の違いは IE 8 をサポートするか否かだけになるようです。

1.12(2.2)から1.13(2.3)でサポート対象ブラウザが削減され、 サポート対象からはずれたブラウザ用のコードを削除して コードをシンプルにするので、 パッケージマネージャ等で常に最新バージョンを取り込む設定に していて且つ古いブラウザも対象に入れている人等は 1.12 に留まるように設定を変更する必要があるでしょう。

※「サポート」とは、jQuery 側が行っているユニットテストを パスしていることを言うそうです。 たとえサポートしていても、修正できないバグもあります。 サポート対象でないブラウザでも、スクリプトエラーの様な バグは無くすよう努力しているそうです。

jQuery 1.11.0 と 2.1.0 での変更箇所の自分なりのまとめ

jQuery 1.11.0 と 2.1.0 がリリース されたので、自分なりに変更点をまとめました。 誤訳や誤解して間違ってまとめていることもあるかも知れませんので 読まれる際はご注意下さい。 以前の記事( beta1 , beta2 , beta3 , rc1 )の要約みたいなものです。 (※ページをそのまま訳したわけではありません)
箇条書きにすると以下のような感じ:

jQuery 1.11 と 2.1 の rc1 の変更箇所のメモ

1週間ほど前 jQuery 1.11 と 2.1 のRC版1が発表 されましたのでベータ版3との違いをメモしておきます。

API は 1.10 や 2.0 から変更してません。

npm に登録されている ので、 node 等で jQuery を利用したい場合は npm install jquery@2.1.0-rc1などで インストールできます。

ただし CommonJS 環境下(module や module.exports が存在する) では、グローバルに document オブジェクトが存在していても、 require("jquery")を実行しただけでは jQuery 本体がグローバルに自動的に expose されないので、例えば window.jQuery = window.$ = require("jquery") と手動で expose する必要があります。 グローバルに document オブジェクトが存在していない場合は jQuery 本体を作成するファクトリ関数が返ります。 document オブジェクトを持つ window オブジェクトを ファクトリ関数に渡すと jQuery 本体を取得できます。 (この場合は window オブジェクトに jQuery 本体が自動でexpose されます)。

QUnit.reset()が deprecated になり削除予定なので テストでQUnit.reset()の使用箇所を他の表現に 置き換えたそうです。

古い IE の XHR は RFC2616 に無いメソッド(PATCH とか、 あと trace とconnect も)サポートしてないそうで、 それらを行う場合は ActiveXObject を使用するようにしたようです。

jQuery 1.11 と 2.1 のベータ版 3 の変更箇所のメモ

1週間ほど前 jQuery 1.11 と 2.1 のベータ版3が発表 されましたのでメモしておきます。まだベータ版です。

API は 1.10 や 2.0 から変更してません。 ベータ2に引き続き AMD 対応を進めています。

ベータ2からさらに IE 関連のバグが修正されています。 sizzle も新しくなりました。 npm での使用に改良を加えています。

ベータ2に引き続き npm に登録されるので、 node 等で jQuery を利用したい場合は npm install jquery@2.1.0-beta3で インストールできます。

ただし、ベータ3ではまだ適用されていませんが、 将来の npm 版の jQuery では、 require("jquery")したときに jQuery がグローバル(window オブジェクト)に自動的に expose されなくなるそうなので、例えば window.jQuery = window.$ = require("jquery") と手動で expose する必要があります。

カスタムビルドでモジュール exports/global が追加されました。 また、AMD で使用する際の jQuery のモジュール名を 設定することができるようになりました (デフォルトは"jquery")。 使用する機会はほぼ無いと感じます。 (例:grunt custom --amd="custom-name")

package.json に main プロパティを設定して npm 版の jQuery を require('jquery')で使用できるようになったようです。 (これまでは require('jquery/dist/jquery')等とする必要が あったらしい。)

IE でのローカルファイルへのアクセスに関しては 2.x 系ではなく 1.x 系を利用した方が良さそうです ( 参考 )

あと THE NIGHT BEFORE CHRISTMAS のパロディが書いてありました。 英語ネイティブな人ならうまいのか寒いのか分かるのでしょうが、 コメントを見る限り好評な模様です。