リリースノート一覧
- テンプレートエディタのリリースノート
- Resource Frameworkのリリースノート
- hifive開発者ツールのリリースノート
- Pitalium(hifiveリグレッションテストライブラリ)のリリースノート
- Pitalium Explorerのリリースノート
hifive Base Frameworkのリリースノート
- hifive Base Frameworkのリリースノート
- ver.1.3.3 (2018/12/04)
- ver.1.3.2 (2018/05/24)
- ver.1.3.1 (2017/06/01)
- ver.1.3.0 (2016/7/15)
- ver.1.2.3 (2016/06/29)
- ver.1.2.2 (2016/3/1)
- ver.1.2.1 (2016/01/26)
- ver.1.2.0 (2015/12/22)
- ver.1.1.14 (2014/09/02)
- ver.1.1.13 (2014/08/25)
- ver.1.1.12 (2014/07/02)
- ver.1.1.11 (2014/06/10)
- ver.1.1.10 (2014/05/13)
- ver.1.1.9 (2014/03/17)
- ver.1.1.8 (2013/08/09)
- ver.1.1.7 (2013/07/02)
- ver.1.1.6 (2013/06/04)
- ver.1.1.5 (2013/05/21)
- ver.1.1.4 (2013/04/24)
- ver.1.1.3 (2013/03/12)
- ver.1.1.2 (2013/01/29)
- ver.1.1.1 (2012/12/27)
- ver.1.1.0 (2012/11/14)
- ver.1.1.0 ReleasePreview (2012/10/17)
- ver.1.0.6 (2012/10/04)
- ver.1.0.5 (2012/08/30)
- ver.1.0.4 (2012/07/13)
- ver.1.0.3 (2012/06/06)
- ver.1.0.2 (2012/05/25)
- ver.1.0.1 (2012/04/26)
ver.1.3.3 (2018/12/04)
- このバージョンについて
- クラスモジュール(h5.cls)について、クラス定義の「isDynamic」の設定を廃止しました。この変更により、クラスモジュールを用いたインスタンス生成速度が向上します(定義したフィールド数による。フィールドが30個あるクラスの場合、IE11とChromeの場合10倍程度、Firefoxの場合30倍程度高速化)。詳細はIssue #597を参照してください。
- 既存APIの破壊的仕様変更(バグ修正によるものは含みません)
- クラスモジュール(h5.cls)について、クラス定義の「isDynamic」の設定を廃止しました。本バージョン以降、isDynamicの指定は無視され、インスタンスに対するプロパティの初期化とObject.seal()は行われなくなりました。そのため、従来isDynamic=falseを指定していたコードでも、インスタンス生成後に動的に(クラス定義でfieldとして定義していない)プロパティを追加することができます。また、インスタンス生成直後、フィールド名でinstance.hasOwnProperty('fieldName')を呼び出すとfalseが返るようになりました(ver.1.3.2までは、isDynamic=falseの場合、インスタンス生成時にフレームワーク側で全フィールドプロパティの初期代入を行っていたので、trueになっていた)。詳細はIssue #597を参照してください。
- 重要な修正・機能拡張(全ての変更はgithubのIssuesを参照)
- (#597) クラスモジュール(h5.cls)の、インスタンスをsealするオプション(isDynamic)を廃止
- 既知の問題
ver.1.3.2 (2018/05/24)
- このバージョンについて
- FormControllerの機能拡張(バリデーション機能の強化)を行いました。詳細は入力値チェックのリファレンスを参照してください。
- その他バグフィックスを行いました。
- 本バージョンより、h5.jsに対してSource Mapファイルを提供するようにしました。
- 既存APIの破壊的仕様変更(バグ修正によるものは含みません)
- ありません。
- 重要な修正・機能拡張(全ての変更はgithubのIssuesを参照)
- (#596) FormControllerの機能拡張:バリデーション機能強化
- (#565) データモデルクエリ機能を任意の配列をデータソースにして実行できるようにする
- (#591) FormController#setSetting()でbsBalloonプラグインのreplaceElementプロパティを設定するとフォーカスアウトしてもバルーンが非表示にならない
- (#557) h5.ui.FormController 入力値が指定した日付よりも過去または未来かを判定するルールがほしい
- (#536) messageプラグインを有効化してバリデートエラーがおきてもエラーメッセージが表示されない
- (#554) FormControllerのmessageプラグインを使った時にFormController.validate()時にエラーが出る
- 既知の問題
ver.1.3.1 (2017/06/01)
- このバージョンについて
- 「クラスモジュール (h5.cls空間)」と「イベントモジュール (h5.event空間)」を追加した、機能追加リリースです。
- この2つのモジュールは、Internet Explorer 8以下では動作しません。また、Internet Explorer 9,10での動作は保証しません。Internet Explorer 11、およびEdge, Firefox, Chrome, Safari, Operaの各最新版で動作します。
- 「クラスモジュール (h5.cls空間)」と「イベントモジュール (h5.event空間)」を追加した、機能追加リリースです。
- 既存APIの破壊的仕様変更(バグ修正によるものは含みません)
- ありません。
- 重要な修正・機能拡張(全ての変更はgithubのIssuesを参照)
ver.1.3.0 (2016/7/15)
- このバージョンは内部でのみリリースされました。一般には公開されていません。
- 1.3系の最初の一般リリースはver.1.3.1です。
ver.1.2.3 (2016/06/29)
- このバージョンについて
- メンテナンスリリースです。主にバグフィックスを行いました。
- 既存APIの破壊的仕様変更(バグ修正によるものは含みません)
- ありません。
- 重要な修正・機能拡張(全ての変更はgithubのIssuesを参照)
ver.1.2.2 (2016/3/1)
- このバージョンについて
- メンテナンスリリースです。主にバグフィックスを行いました。
- 既存APIの破壊的仕様変更(バグ修正によるものは含みません)
- (#543) Query.onQueryCompleteの削除
- ver.1.2.0, ver.1.2.1で、データモデルのクエリにβ版の仕様に基づくonQueryComplete()メソッドが誤って残っていましたが、これを削除しました。
- (#543) Query.onQueryCompleteの削除
- 重要な修正・機能拡張(全ての変更はgithubのIssuesを参照)
ver.1.2.1 (2016/01/26)
- このバージョンについて
- メンテナンスリリースです。主にバグフィックスを行いました。
- 既存APIの破壊的仕様変更(バグ修正によるものは含みません)
- ありません。
- 重要な修正・機能拡張(全ての変更はgithubのIssuesを参照)
- 既知の問題
ver.1.2.0 (2015/12/22)
- このバージョンについて
- ver.1.2系の正式リリース初版です。
- 主な追加機能
- 画面遷移制御:疑似的な画面遷移を行う機能です。ブラウザのURLヒストリ制御も行います。SPA(Single Page Application)の構築方法を標準化し、容易にします。
- バリデーション:入力値バリデーション機能を提供します。ver.1.2.0では、主に画面フォームの入力値チェック機能を提供します。
- リソース管理:ファイルの動的ロードを含む、依存性解決機能を提供します。
- データクエリ:データモデルに追加した機能で、条件にマッチするオブジェクトを検索・取得することができます。
- なお、旧バージョン(ver.1.1.14)のカスタムビルドはこちらのページで行うことができます。(※本サービスは予告なく終了する場合があります。)
ver.1.1.14 (2014/09/02)
- このバージョンについて
- メンテナンスリリースです。
- 既存APIの破壊的仕様変更(バグ修正によるものは含みません)
- ありません。
- 重要な修正・機能拡張(全ての変更はgithubのIssuesを参照)
- (#402) iOS7.0.xにてmin版のhifiveを使用するとイベントハンドラが実行されない
- 既知の問題
ver.1.1.13 (2014/08/25)
- このバージョンについて
- メンテナンスリリースです。主にバグフィックスを行いました。
- 既存APIの破壊的仕様変更(バグ修正によるものは含みません)
- (#400)ログターゲットに渡されるログオブジェクト内のプロパティ名をrecentからpreviewに変更しました。中身には変更ありません。
- 重要な修正・機能拡張(全ての変更はgithubのIssuesを参照)
- (#388) インジケータのテーマを指定した時にオーバレイの表示がおかしい
- (#394) インジケータを表示・非表示を繰り返すとスロバーが増えていく
- (#395) 要素を小さくリサイズしてもインジケータのオーバーレイが要素の横幅に追従しない
- (#396) $.ajaxSetup({dataType:'json'}) を設定するとテンプレートの読み込みに失敗する
- (#397) IE10、IE11でインジケータのスロバーがアニメーションしていない
- (#398) 要素に対してブロック(オーバーレイ)無しでインジケータを表示するとエラーが発生する
- (#399) throbber.lines、throbber.roundTimeがインジケータに反映されない
- 既知の問題
ver.1.1.12 (2014/07/02)
- このバージョンについて
- コントローラの初期化・破棄のライフサイクル中に例外が発生した場合の動作を整理・改善しました。
ユーザーが出した例外が正しく送出される一方、フレームワーク側の状態の不整合が起こらなくなりました。 - コントローラがプロパティとして持つオブジェクトに対してイベントハンドラをバインドできるようになりました。
「{this.propName} eventName」という構文でバインドできます。 - コントローラの動作中に、on(), off()により動的にイベントハンドラをバインド・アンバインドできるようになりました。
on()でバインドしたイベントハンドラは、コントローラがアンバインドされるタイミングで自動的にアンバインドされます。
これにより、必要なタイミングでハンドラの登録を動的に行いつつ、後処理はコントローラのライフサイクルに任せることができるようになりました。 - ロジックオブジェクトについても、__constructによる初期化処理の実行をサポートしました。
- その他、バグ修正等を行いました。
- コントローラの初期化・破棄のライフサイクル中に例外が発生した場合の動作を整理・改善しました。
- 既存APIの破壊的仕様変更(バグ修正によるものは含みません)
- (#353) v.1.1.11でのMixinによるEventDispatcherインターフェースの提供に伴い、非DOMオブジェクトに対するイベントハンドラのバインドをサポートしました。v1.1.11では、JavaScriptオブジェクトに対してもjQueryを用いてイベントハンドラをバインドしていましたが、そのため、イベントオブジェクトがjQuery Eventオブジェクトでラップされていました。
しかし、jQueryによるイベントオブジェクトのラッピングは本来DOMオブジェクトから発生するイベントの型の違いを吸収するためのものであり、そもそもDOMに基づかないイベントでは、ラップする必要はありませんでした。
そのため、バインド対象オブジェクトが非DOMオブジェクトの場合(ただしwindowは除く)は直接addEventListenerでハンドラをバインドし、イベントオブジェクトのラップも行わないようにしました。 - (#370) v1.1.11までは、__disposeコールバックが返したPromiseがrejectされた場合でもコントローラの破棄(プロパティへのnull代入等)が行われるようになっており、また、dispose()が返すPromiseも常にresolveするようになっていました。
しかし、#367でのライフサイクル中の動作の整理に伴い、ユーザー処理が失敗した場合は統一的に「失敗」扱いにするようにしました。これに伴い、ユーザーが非同期処理をrejectした場合は、他の場合と同様失敗扱いするようにしました。
なお、もともとhifiveでは__unbind, __disposeでの例外の発生、および非同期処理のrejectは非推奨です。コントローラの破棄処理なので、原則としては必ず成功するようにコーディングを行ってください。
- (#353) v.1.1.11でのMixinによるEventDispatcherインターフェースの提供に伴い、非DOMオブジェクトに対するイベントハンドラのバインドをサポートしました。v1.1.11では、JavaScriptオブジェクトに対してもjQueryを用いてイベントハンドラをバインドしていましたが、そのため、イベントオブジェクトがjQuery Eventオブジェクトでラップされていました。
- 重要な修正・機能拡張(全ての変更はgithubのIssuesを参照)
- (#328) __readyで例外が発生する時に、コンソールにその例外が表示されない場合がある
- (#329) __unbind,__disposeで例外が投げられたときに、コントローラのdispose処理が中断されてしまう
- (#334) h5controllerboundイベントが上がる前にコントローラをunbindすると、unbindされたコントローラがコントローラの管理対象に残っている
- (#347) コントローラのイベントハンドラ記述で、'{this.xxx}'のような記述でコントローラの持つものにバインドできるようにする
- (#348) h5.ui.indicator()を、オブジェクトを第1引数に渡せるようにする
- (#349) indicator、viewのターゲット指定ではイベントハンドラ記述と同様のセレクタを使用できるようにする
- (#352) Logic.__constructが実行されるようにする
- (#353) JSオブジェクト(非DOM要素)に対してセットしたハンドラが呼ばれた時のイベントオブジェクトとthisの扱い
- (#354) コントローラで動的なイベントハンドラのバインド・アンバインドを可能にする
- (#362) コントローラをunbindした時に、直接ターゲット指定したイベントハンドラがアンバインドされない場合がある
- (#367) コントローラ初期化処理で異常が起きた時の動作の整理
- (#370) Controller.dispose()を呼んだ時に、__disposeでプロミスを返してそれが失敗する場合は、Controller.dispose()が返すプロミスも失敗させる
- 既知の問題
ver.1.1.11 (2014/06/10)
- このバージョンについて
- コントローラのライフサイクルについて、仕様変更があります。(子コントローラがある場合の__initの呼び出し順序の変更と__postInitの追加)
詳しくは下記をご覧ください。 - パフォーマンスの改善が行われています。特に、同じコントローラを多数利用する場合に、定義オブジェクトの解析結果をキャッシュすることで初期化速度が向上しています。
- この改善に伴い、コントローラやロジックの定義オブジェクトの構造の解析結果をキャッシュする機構を導入しました。
同じ名前(__nameの値)を持つコントローラをインスタンス化する際、解析結果のキャッシュがあればそれを利用します。
通常はキャッシュをクリアする必要はありません(※hifiveでは、同じ名前を持つオブジェクトは同一であるとみなしています)が、特別な事情でクリアしたい場合は、h5.core.definitionCacheManager.clear(name)またはh5.core.definitionCacheManager.clearAll()メソッドを呼び出してください。
(参考:http://www.htmlhifive.com/ja/doc/CacheManager.html)
- この改善に伴い、コントローラやロジックの定義オブジェクトの構造の解析結果をキャッシュする機構を導入しました。
- その他、バグフィックスを行いました。
- コントローラのライフサイクルについて、仕様変更があります。(子コントローラがある場合の__initの呼び出し順序の変更と__postInitの追加)
- 既存APIの破壊的仕様変更(バグ修正によるものを除く)
- (#324) コントローラのライフサイクルについて仕様変更
- 従来、コントローラ初期化イベントコールバックの一つである__initは、子コントローラを持つ場合末端の子孫コントローラから順に(=深さ優先で)発生するようになっていました。__initのタイミングでは、必要に応じてビューの初期生成を行うこととしています。そのため、当該コントローラのバインド先要素が決定し、rootElementにその要素がセットされた状態で__initは呼び出されます。
しかし、子コントローラのバインド先要素を決定・生成するのは親コントローラであり、その親コントローラが外部ファイルに定義されたテンプレートを用いてビューの初期生成を行いたい場合、子孫から先に__initを実行しようとしても、親によるビューの生成が行われていないためrootElementのセットができない、という矛盾が発生していました。
そこで、__initについては親コントローラから順に(=幅優先で)実行するよう仕様を変更しました。
また、従来の__initにあたる「イベントハンドラ実行前に、子孫コントローラから順に行う処理タイミング」として、新たに__postInitイベントを追加しました。
多くの場合、本来__initが想定しているビューの初期生成を行っているだけの場合は、本変更後も対応は不要と考えられますが、従来の挙動に準じた動作が必要な場合は__postInit、または__readyの利用を検討してください。
(__readyについては仕様変更はなく、(今まで通り)子孫から順に実行されます。)
- 従来、コントローラ初期化イベントコールバックの一つである__initは、子コントローラを持つ場合末端の子孫コントローラから順に(=深さ優先で)発生するようになっていました。__initのタイミングでは、必要に応じてビューの初期生成を行うこととしています。そのため、当該コントローラのバインド先要素が決定し、rootElementにその要素がセットされた状態で__initは呼び出されます。
- (#335) preinitPromise→preInitPromiseにリネームする
- (#324) コントローラのライフサイクルについて仕様変更
- 重要な修正・機能拡張(全ての変更はgithubのIssuesを参照)
- (#321) then()をfailハンドラを渡さずに呼んだ場合、then()の戻り値のプロミスのfailハンドラが動作しない
- (#325) コントローラバインド時、イベントハンドラのバインド完了前にunbindするとエラーになる
- (#330) コントローラバインドの高速化
- (#332) コントローラ定義、ロジック定義のキャッシュ機構の追加
- (#338) jQuery1.6.4で、コントローラのイベントハンドラに渡される第2引数がイベントハンドラをバインドした要素にならない場合がある
- (#339) IE8以下で、'{window} click'にバインドした時に、イベントハンドラの第2引数がwindowと===にならない
- (#341) EventDispatcher.addEventListener()で、第3引数以降指定されていた場合はエラーではなく無視するようにする
- (#343) h5.u.obj.getByPathで、第2引数rootObjがwindowまたは指定無しで、第1引数namespaceが'window.'で始まる場合は、最初の'window.'は無視する
- 既知の問題
- (#334) h5controllerboundイベントが上がる前にコントローラをunbindすると、unbindされたコントローラがコントローラの管理対象に残っている
- (#329) __unbind,__disposeで例外が投げられたときに、コントローラのdispose処理が中断されてしまう
- (#328) __readyで例外が発生する時に、コンソールにその例外が表示されない場合がある
- (#267) チェックボックスにアイテムデータをバインドし、attr(checked):checkedを操作してもpropに反映されません
- (#117) IE6でh5.cssを読み込むと、誤ったスタイルが適用される場合がある
- (#124) WP7のIE7モードでインジケータのメッセージが更新できない
- (#148) WP7のIE7モードでスロバーが表示されない
ver.1.1.10 (2014/05/13)
- このバージョンについて
- 既存APIの破壊的仕様変更(バグ修正によるものを除く)
- ありません。
- 重要な修正・機能拡張(全ての変更はgithubのIssuesを参照)
- (#268) EventDispatcher を外部に公開して欲しい
- (#284) '○○Controller'という名前のプロパティにコントローラインスタンスでないものを持つコントローラをdisposeしようとするとエラーになる場合がある
- (#285) 変数"obj"がグローバルに漏れている
- (#289) hifive本体やテストコードで、グローバル領域に漏れている変数をチェックして対応する
- (#290) EventDispatcherでhandleEventを持つオブジェクトをサポートする
- (#294) インジケータのターゲットにwindowを指定するとエラーになる
- (#295) h5.async.loopのコールバックの最後に実行されるコールバック関数がプロミスを返して失敗する時、h5.async.loopの返すプロミスが失敗せずにdoneコールバックが実行される
- (#296) h5.u.str.escapeHtmlでシングルクウォートを'でエスケープしているが、これを'でエスケープする
- (#298) タッチイベントとマウスイベントの両方を拾うマシン、ブラウザについて、マウス操作時にh5trackイベントが発火しない
- (#299) タッチイベント対応のIE10、IE11用で、h5trackするときに画面スクロールしないようにする
- (#300) Mix-in APIの追加(h5.mixin空間)
- (#302) EventDispacherの仕様の互換性・相互運用性向上
- (#303) ポップアプウィンドウ内の要素へのインジケータ対応
- (#306) コントローラのバインド先はノードのみとする。
- (#308) h5trackstartを直接バインド記法で記述した時に、イベントハンドラが動作しない
- 既知の問題
ver.1.1.9 (2014/03/17)
- このバージョンについて
- メンテナンスリリースです。
- データバインド使用時のメモリ使用量を削減しました。
- 別ウィンドウやiframe内のDOM要素へのコントローラのバインド・動作を改善しました。
- 既存APIの破壊的仕様変更(バグ修正によるものを除く)
- 重要な修正・機能拡張(全ての変更はgithubのIssuesを参照)
- (#269) h5.u.obj.getByPath()の第2引数にルートオブジェクトを指定できるようにする
- (#263) ObservableItemに属するObservableArrayのrelatedItemからObservableItemのインスタンスを取得できない
- (#259) inputタグへのデータバインドで、ユーザによるテキスト入力後に、value属性へのバインドが効かなくなる
- (#256) IE11(docmode=Edge)でh5.env.ua.isIEがfalseになり、browserVersionも取得できない。
- (#253) this.own, this.ownWithOrgで作成した関数が戻り値を返さない
- (#247) ObservableItemが使用するメモリ量が多い
- (#245) ビューにバインド後、ObservableArrayにObservableItemの追加と削除を繰り返すとメモリ使用量が増加する
- (#243) transaction()の、doneハンドラ、progressハンドラに引数が渡されない
- (#236) DataModel.schemaがversion1.1.8でDataModel._schemaになっている
- (#232) DataModel.create()に、スキーマ例外の発生するオブジェクトを含む配列を渡した時、例外の発生するオブジェクトよりまえのアイテムは作られるのにイベントが発生しない。
- (#169) h5.ui.jqm.manager JQMのpageshow/pagehide相当のイベントをhifiveでディスパッチする
- 既知の問題
ver.1.1.8 (2013/08/09)
- このバージョンについて
- メンテナンスリリースです。バグフィックスとコードサイズ削減を行いました。
- 既存APIの破壊的仕様変更
- ありません。
- その他、仕様の明確化に伴う動作の変更については下記修正一覧を参照してください。
- 重要な修正・機能拡張
- 既知の問題
ver.1.1.7 (2013/07/02)
- このバージョンについて
- メンテナンスリリースです。主にバグフィックスを行いました。
- 既存APIの破壊的仕様変更
- ありません。
- その他、仕様の明確化に伴う動作の変更については下記修正一覧を参照してください。
- 重要な修正・機能拡張
- 既知の問題
ver.1.1.6 (2013/06/04)
- このバージョンについて
- メンテナンスリリースです。主にDeferred関係の改良・バグフィックスを行いました。
- 既存APIの破壊的仕様変更
- logInterceptorとlapInterceptorの機能を統合し、logInterceptor単体でメソッド呼び出しを記録するとともにその実行時間計測も行うようになりました(#215)。これに伴い、lapInterceptorはDeprecatedになりました。
- その他、仕様の明確化に伴う動作の変更については下記修正一覧を参照してください。
- 重要な修正・機能拡張
- (#206) h5.core.data.createObservableItemでitemを作った時、そのchangeイベントにdependを持つプロパティが含まれない
- (#210) deferred.pipe()を呼ぶとfailコールバックを登録しなくても、commonFailHandlerが呼ばれない
- (#211) Indicatorでパラメータにpromiseを渡した時、そのpromiseについてcommonFailHandlerが動作しなくなる
- (#215) lapInterceptorをDeprecatedにし、処理時間計測機能をlogInterceptorに統合する
- (#216) logInterceptorなどh5.u.createInterceptor()で作成したインターセプタを、戻り値がPromiseである関数にセットすると、CommonFailHandlerが動作しない
- (#218) コントローラの初期化状態を示すpromise(initPromise, readyPromise)が完了するときのコールバックハンドラのthisをコントローラインスタンスにする
- (#219) h5.async.when()に渡したprogressフィルタを、notifyWithで呼び出した時にコンテキストが正しくセットされていない
- 既知の問題
ver.1.1.5 (2013/05/21)
- このバージョンについて
- メンテナンスリリースです。バグフィックスと機能追加を行いました。
- 既存APIの破壊的仕様変更
- Logicにown(), ownWithOrg()メソッドを追加しました。これらの関数を独自に定義していた場合、メソッドがフレームワークによって上書きされます。
- 重要な修正・機能拡張
- (#199) h5.ajax()に自動リトライ機能を追加する
- Ajaxリクエストが失敗した場合に自動的にリトライする機能を追加しました。コネクションを確立できなかった場合など一定の条件を満たした場合に、内部的にAjaxリクエストを再送信します。(リトライする条件・回数等は設定可能です。)
この機能はデフォルトでは無効になっており、使用するには設定が必要です。設定方法についてはこちらを参照してください。
- Ajaxリクエストが失敗した場合に自動的にリトライする機能を追加しました。コネクションを確立できなかった場合など一定の条件を満たした場合に、内部的にAjaxリクエストを再送信します。(リトライする条件・回数等は設定可能です。)
- (#201) Logicにown(), ownWithOrg()を追加
- (#198) DataModel で base を指定すると base に指定した Model の作成に失敗するようになる
- (#202) h5.ajax()の戻り値からpromiseオブジェクトを作ってpromise.fail()でハンドラを登録すると、failハンドラが登録されているのにajaxの通信に失敗時にcommonFailHandlerが動作する
- (#204) h5.async.deferred.thenの挙動がjQuery1.8以降のthenの挙動と異なる
- (#205) failコールバックへnullなど関数でないものを渡した時に、commonFailHandlerが動作しない
- (#199) h5.ajax()に自動リトライ機能を追加する
- 既知の問題
ver.1.1.4 (2013/04/24)
- このバージョンについて
- メンテナンスリリースです。主にバグフィックスを行いました。
- 既存APIの仕様変更
- オブジェクトのシリアライザ(h5.u.obj.serialize/deserialize)、または内部でこれを使用しているWebStorageAPI(h5.api.storage)を使用している場合の留意事項
- オブジェクトのシリアライザの実装を変更しました(#193)。
これに伴い、ver.1.1.4以降のシリアライザで保存したオブジェクトは、ver.1.1.3およびそれ以前のhifiveでは復元できません。
(前バージョンで保存されたオブジェクトをver.1.1.4で復元することは可能です(後方互換)。)
- オブジェクトのシリアライザの実装を変更しました(#193)。
- オブジェクトのシリアライザ(h5.u.obj.serialize/deserialize)、または内部でこれを使用しているWebStorageAPI(h5.api.storage)を使用している場合の留意事項
- 重要な修正・機能拡張
- (#184) イベントハンドラにイベント処理中の要素を操作するためのショートカット引数を追加
- コントローラのイベントリスナーの第2引数に、イベントを現在処理している要素を渡すようにしました。引数は予めjQueryオブジェクト化されています(設定によりネイティブのDOM要素にすることも可能です)。
使用例についてはコントローラのチュートリアルを参照してください。
- コントローラのイベントリスナーの第2引数に、イベントを現在処理している要素を渡すようにしました。引数は予めjQueryオブジェクト化されています(設定によりネイティブのDOM要素にすることも可能です)。
- (#193) 改行またはタブを含む文字列、正規表現及びそれらを含む配列、オブジェクトをシリアライズした時、その結果を正しくデシリアライズできない。
- (#194) インジケータ(h5.ui.indicator)でターゲット要素を指定したとき、ターゲットがスクロールしているとオーバーレイやスロバーの位置が不正
- (#195) ObservableArrayをデータバインドした状態でobsArray.set()を呼ぶとIEでエラーになる
- (#184) イベントハンドラにイベント処理中の要素を操作するためのショートカット引数を追加
- 既知の問題
ver.1.1.3 (2013/03/12)
- このバージョンについて
- 本リリースには重要なAPI仕様変更が含まれています。詳しくは下記をご覧ください。
- 既存APIの仕様変更
- (#170) ObservableArrayの各要素へのアクセスをget()/set()メソッドで行うよう変更しました。添え字によるアクセスはver.1.1.3以降サポートされません。
- obsArray[i] ⇒ obsArray.get( i )、obsArray.splice(i, 1, value) ⇒ obsArray.set(i, value) のようにコードを変更してください。
- obsArray.get( i )はarray[i]、obsArray.set(i, value)はarray[i] = value;というコードに対応します。
- (#178) ObservableArrayで、内部が変更されないメソッドの呼び出しではイベントが発生しないようになりました。
- (#179) ObservableArrayで、内部が変更されるときに発生するイベント名がobserve ⇒ change(observeBefore⇒changeBefore)に変更されました。また、イベントオブジェクト内のisDestructiveフラグが削除されました。#178と合わせ、changeイベントは、内部が変更される場合にのみ発生します。
- (#154) ObservableArrayのネイティブ配列と同名メソッドのうち配列インスタンスを返すメソッド(concat, slice, splice, filter, map, reverse, sort)は、ObservableArrayインスタンスを返すようになりました。
- (#163) h5.core.controller()の第3引数はクローンされなくなりました*。__init, __readyなどのコールバックにおいて、function(context){ context.args } のargsは引数で渡したオブジェクトと同じオブジェクトを参照します。
- (#168) ControllerのtriggerIndicator()メソッドの第2引数を削除しました。triggerIndicator()を呼ぶと、常に「triggerIndicator」という名前のイベントが発生します。
- (#170) ObservableArrayの各要素へのアクセスをget()/set()メソッドで行うよう変更しました。添え字によるアクセスはver.1.1.3以降サポートされません。
- 重要な修正・機能拡張
- 既知の問題
ver.1.1.2 (2013/01/29)
- メンテナンスリリースです。
- 主にバグフィックスを行いました。
- jQuery1.9との組み合わせで、hifiveが動作しない不具合が確認されています。次のバージョンでjQuery1.9系への対応を予定しています。
- 重要な修正・変更
- 既知の問題
- (#117)IE6でh5.cssを読み込むと、誤ったスタイルが適用される場合がある
- (#124)WP7のIE7モードでインジケータのメッセージが更新できない
- (#141)IE7 jQuery1.7.0でテストケース『h5.ui.indicator() テーマを変更して実行』が失敗する
- (#147)isInViewのテストが、スマートフォン、タブレットで失敗することがある
- (#154)ObservableArrayのconcat()が仕様通りに動作しない
- (#155)ObservableArrayとネイティブ配列(Array)の相互運用性の向上
- (#156)jQuery1.9でコントローラのハンドラが動作しない
- (#157)jQuery1.9で、isInViewを実行した時にエラーが発生する
- 変更一覧
- アーカイブダウンロード
ver.1.1.1 (2012/12/27)
- メンテナンスリリースです。
- 主にバグフィックスを行いました。
- 重要な修正・変更
- (#126)データアイテムのset()メソッドで、スキーマでid指定されているプロパティに値をセットするとき、現在のidと同じ値をセットする場合はエラーにしないよう修正されました。
これにより、var values = item.get(); values.prop1 = 'X'; item.set(values); のように「アイテムの値を通常のオブジェクトの型で取得 ⇒ 一部のプロパティを変更 ⇒ もとのアイテムに再セット」する場合にエラーにならなくなりました。
データアイテムはget(),set()メソッドで値にアクセスする仕様ですが、これにより通常のJSオブジェクト操作と同じようにアイテムの値を編集することが可能になりました。 - (#131)ObservableItemにおいてdepend指定した項目でコールバック関数が呼ばれないバグを修正しました。(ver.1.1.0では、DataItemのみdependが正しく動作していました。)
- (#133)ObservableItem, ObservableArray, データバインドモジュールから発生する例外に含まれるエラー番号が変更されました。
- (#126)データアイテムのset()メソッドで、スキーマでid指定されているプロパティに値をセットするとき、現在のidと同じ値をセットする場合はエラーにしないよう修正されました。
- 既知の問題
- 変更一覧
- アーカイブダウンロード
ver.1.1.0 (2012/11/14)
※ver.1.0.6以降、jquery.blockUIプラグインには依存しなくなりました。
hifive用にblockUIプラグインを読み込んでいた場合は、読み込まないようにスクリプトタグを削除してください。
- ver.1.1系の正式リリース版です。
- トピック:データモデル機構、データバインド機構の導入
- ver.1.1.0ReleasePreviewからの変更点
- ver.1.1.0以降、min版(h5.min.js)では例外発生時に(日本語の)エラーメッセージを含まないようになりました。(国際化対応準備)
FWが発生させる例外オブジェクトには必ずcodeプロパティがあり、この値によってエラーの種類を判定できますので
この値を使用してください。 - View.bind()は、戻り値としてBindingインスタンスを返すようになりました。
バインディングを完全に解除したいときは、戻り値のインスタンスのunbind()メソッドを呼び出してください。 - バインディングにおいて、data-h5-context, data-h5-loop-context, data-h5-bindで指定したプロパティに
nullが代入された場合、エラーにせず、決められた動作をするようになりました。
詳細はデータバインドのリファレンスを参照してください。 - ObservableArray, ObservableItemはh5.u.objパッケージからh5.core.dataパッケージに移動されました。
インスタンスを生成したい場合はh5.core.data.createObservableArray(), h5.core.data.createObservableItem() としてください。 - DataItem.set()で、depend指定されているプロパティに代入しようとした場合、
セットしようとしている値が現在の値と同じ(===での比較がtrue)場合は、例外を出さず無視するようにしました。 - DataItemにregardAsNullメソッドを追加しました。
- 詳細はDataItem.regardAsNullのAPIドキュメントを参照してください。
- その他バグ修正
- ver.1.1.0以降、min版(h5.min.js)では例外発生時に(日本語の)エラーメッセージを含まないようになりました。(国際化対応準備)
- バグ修正(新機能以外)
ver.1.1.0 ReleasePreview (2012/10/17)
- データモデル機構を追加しました。
- 明示的な型を持たないJavaScriptにおいて「値代入時の(仮想的な)"型"・(値の範囲などの)"制約"の自動チェック」や「プロパティの変更検知(イベントの送出)」などが可能になります。
- 詳細についてはチュートリアル(データモデル編)およびリファレンスを参照してください。
- データバインド機構を追加しました。
- データモデルをはじめとするJavaScript側のオブジェクトの変更を自動的に画面に反映させるための仕組みです。
- 詳細についてはチュートリアル(データバインド編)およびリファレンスを参照してください。
ver.1.0.6 (2012/10/04)
- メンテナンスリリースです。
- このバージョンから、jquery.blockUI.jsに依存しないようになりました。
このため、CSSでインジケータの見た目を変更している場合は対応が必要です。
詳しくはこちらを参照してください:ver.1.0.6重要な変更点の説明 - 変更一覧
- アーカイブダウンロード
ver.1.0.5 (2012/08/30)
- メンテナンスリリースです。
- 主にバグフィックスを行いました。
- 変更一覧
- アーカイブダウンロード
ver.1.0.4 (2012/07/13)
- メンテナンスリリースです。
- バグフィックス、仕様やエラー時の挙動の明確化を行いました。
- 変更一覧
- アーカイブダウンロード
ver.1.0.3 (2012/06/06)
- メンテナンスリリースです。
- 主にバグフィックスを行いました。
- 変更一覧
- アーカイブダウンロード
ver.1.0.2 (2012/05/25)
- メンテナンスリリースです。
- バグフィックス、仕様やエラー時の挙動の明確化を行いました。
- 変更一覧
- アーカイブダウンロード
ver.1.0.1 (2012/04/26)
- hifiveのOSSとしての最初のリリース
- アーカイブダウンロード