遅ればせですが、Google App Engine Java SDK Release Notesの1.2.2部分を翻訳してみました。(追記:こっちのがまとまってるわい)
基本的にバグフィックスですね。私の知る範囲では、web.xmlの
Version 1.2.2 - 2009年7月13日
- memcacheスタブを0以下にデクリメントできないようにした。
- cronタスクがadmin-onlyサーブレットに送られるようにした。
- イメージAPIで、特定のイメージを解析する際に無限ループにならないようにした。
- DevAppServerにおける静的ファイルのレプリケーションのハンドリングをより正確にした。
- プリフィックスに_ahがついたすべてのビルトインサーブレットが、ユーザ提供サーブレットと相互作用しないことを確かにした。
- すべてのAPIにOverQuotaExceptionとRequestTooLargeExceptionを追加した。
- 同じプロパティを複数回使用するクエリーのインデックス生成を修正した。
- 降順のソートを行うkindクエリーのインデックス生成を修正した。
- セッションのクリーンナップを行うservletを提供
- Java 1.5で実行中ならば、AppCfg中でSwingを使用してパスワードプロンプトの表示を試みる。
- DevAppServerで、datastoreのトランザクションをより良くエミュレーション。
- AppCfgでHTTP Proxyを通じてApp Engineに接続するためのポートを指定する新しい-pオプション。
- file数制限を1000ファイルから3000ファイルに増やし、それを事前にチェックするようにした。
- トランザクション中で祖先に対するクエリ(ancestor queries)を可能とした。
- AppCfgで、認証エラーが起きた場合に再度promptを表示する。
- Entityオブジェクトのクローンとプロパティリセットを可能にした。
- DevAppServerのローカルデータビューワを実装した。
- datastoreクエリ性能の多少の向上。
- 大量のFileをstat操作するアプリケーションの性能が向上。
- detastoreの容量オーバー時や、datastoreがread-onlyモードになったというイベントを開発者がキャッチできる、com.google.apphosting.api.ApiProxy.CapabilityDisabledExceptionを追加。
JDO/JPA Changes
- 複数値を持つプロパティーを取得する際に、dirtyと誤ってマークされてしまう
- one-to-manyのアップデート時にUnsupportedOperationException
- StartsWithが動かない
- トランザクションが利用可能なときに、祖先に対するクエリ(Ancestor queries)を実行する
- gae.exclude-query-from-txnの拡張クエリサポートを追加。
- 空白を含むパスからpersistence.xmlをロードするのが失敗するDataNucleusのバグ対処。
- DataNucleus 1.1.4へアップグレード。
- JPQLで短縮Entity名が使えない
- クエリにsetFirstResultやsetMaxResultsを追加する際のNullPointerException
- 親要素がdetachedしているときに、単方向one-to-manyに子要素を追加できない。
- クエリの際の子要素のlongとintでの置き換えサポート。
- Collection型のフィールドのサポート
- シングルクォートで括った単一文字リテラルのJPQLクエリが適切に処理されない
- 埋め込みクラスがJPAで機能しない
- 親にaddされていない双方向の子供をセーブする際のNPE
- 子供に明示的に親を設定したときのClassCastException
- JPQLにおける"MEMBER OF"のサポート
- SCOフィールドを持ったdetachedオブジェクト
- 親がさらに親を持っていたら親でフィルターできない
- datanucleusメタデータ初期化のレースコンディション
- キーだけのクエリの利点を得る
- インデックスされていないプロパティのサポート
- results.size()は、'NucleusUserException: Object Manager has been closed'を避けるためにJPAエンティティマネージャのクローズの前に呼ばれるべき。