Mayaa 1.1.28 リリースノート： 2010年12月12日

 このリリース ノートには、Mayaa0.1〜1.1に関するシステム動作環境、インストールの手順、
およびこれまでに判明している問題が記載されています。 これらの内容は、みなさまからの
フィードバックによって更新されますので、随時、最新情報を確認するようにしてください。
 Mayaa 0.1〜 1.1 に関するフィードバックを送信する方法については、下記を参照ください。



システム動作仕様環境：

    JavaVM： Java2 バージョン1.4.x以降
    コンテナ： Servlet API 2.3以降



システム動作確認環境：

 システムの動作は、以下の環境で確認されています。その他の環境については、適宜
フィードバックをお願いいたします。

    JavaVM： J2SDK 1.4.2_18, 1.5.0_18, 1.6.0_20 (Windows)
    コンテナ： Tomcat5.5.27, Tomcat6.0.26



インストール手順：

 バイナリディストリビューションはWarファイルにて配布されています。WEBコンテナの
 WEB-APPフォルダに直接配置してからWEBコンテナを起動してください。
WEBコンテナの起動後、WEBブラウザより以下のURL（参考）にアクセスください。
サンプルアプリケーションおよびJavaDocを参照することができます。

    サンプルアプリケーション： http://localhost:8080/mayaa-*.*/index.html

 ソースディストリビューションは、EclipseプロジェクトをまるごとZIPアーカイブしてい
 ます。 お使いのEclipseワークスペースにインポートして利用ください。




MayaaのWEBサイト：

    http://mayaa.seasar.org/


サポート & フィードバック方法：

  Mayaaのサポート & フィードバックは、Mayaa-User ML（日本語）によって行います。
 MLへの参加は下記URLページより購読登録してください。 MLへの投稿は、
 SPAM防止のためML購読者に限定しています。MLの購読は制限しておりませんので、
 どなたでも参加できます。

    ML購読登録： https://www.seasar.org/mailman/listinfo/mayaa-user


-------------------------------------------------------------------
変更点 1.1.27 -> 1.1.28 (2010/12/12)

- (rev.3491) JIRA[MAYAA-75] 動作中にdefault.mayaaのbeforeRenderを書き換えても
 反映されない問題を修正しました。
- (rev.3494) JIRA[MAYAA-76] テンプレートに対する.mayaaファイル、および
 親mayaaファイルを探す処理を拡張可能にしました。
 org.seasar.mayaa.provider.ServiceProviderファイルのparentSpecificationResolverを
 差し替えることで独自の処理に入れ換えられます。
- (rev.3496) XML/XHTMLの出力時のxml宣言で?の前の空白をtrimして出力するようにしました。
- (rev.3500) JIRA[MAYAA-77] ボディを処理する必要のあるタグの場合に、
 子のプロセッサでflushすると親よりも先に子が出力されてしまう問題を
 修正しました。


-------------------------------------------------------------------
変更点 1.1.26 -> 1.1.27 (2009/10/30)

- (rev.3458) MayaaApplicationFilterで例外ページの処理をできるようにしました。
 Strutsなどのフレームワークで発生した例外を対象とし、Mayaaのエラーページ処理に
 回せるようにします。web.xmlでMayaaApplicationFilterを設定し、パラメータ
 "handleException"に"true"を設定すると有効になります。
- (rev.3459) MayaaServletにdebugオプションを追加し、debugがtrueの場合のみ、
 デフォルトのエラーページjava.lang.Throwable.htmlでデバッグ情報を出力する
 ようにしました。また、MayaaServletのパラメータにセットしない場合、システム
 プロパティ"org.seasar.mayaa.debug"で同様の設定ができます。
- (rev.3460) MayaaServletのdebugオプションが有効なときをデバッグモードとし、
 スクリプトで${isDebugMode()}とすることで参照できるようにしました。
- (rev.3469) テンプレートのデフォルト名前空間をmime-typeから判断するようにしました。
 ("xhtml"を含むならXHTML、それ以外ならHTML。明示すればそちらを利用)
- (rev.3471) JIRA[MAYAA-72] テンプレートファイル置き換え時に解放されない
 オブジェクトが発生する問題を修正しました。
- (rev.3474) JIRA[MAYAA-73] m:noCache="true"のときにレスポンスのCache-Control
 ヘッダの値をServiceProviderファイルで設定できるようにしました。互換性のため、
 デフォルト値はこれまでどおり"no-cache"ですが、firefoxで戻るボタンのときに
 キャッシュを使わせないようにするには"no-cache, no-store"にする必要があります。
 キャッシュしないという動作になるため、挙動がすこし変わる場合があります。
- (rev.3476) MayaaApplicationFilterで例外をキャッチしてエラーページへ遷移する際、
 レンダリング中と同様にClientAbortExceptionであれば無視するようにしました。

-------------------------------------------------------------------
変更点 1.1.25 -> 1.1.26 (2009/06/09)

- (rev.3454) JIRA[MAYAA-70] メインページとレイアウトページの階層が異なる場合に
 insertプロセッサの動的相対パス解決で失敗する問題を修正しました。(1.1.25で発生)

-------------------------------------------------------------------
変更点 1.1.24 -> 1.1.25 (2009/06/07)

- (rev.3423) 同梱するRhinoのバージョンを1.7-r2にアップデートしました。
- (rev.3431) JIRA[MAYAA-58] AutoBuildでコンテキストパスが"/"以外の場合に
  相対パスの絶対パス化処理が正しく動作しない問題を修正しました。
- (rev.3432) JIRA[MAYAA-64] SSI Includeの記述をm:insertに置き換える処理を
  実装しました。
- (rev.3433) JIRA[MAYAA-62] deserializeした際、.mayaaの無いページの場合に
  テンプレートを再ビルドしてしまう問題を修正しました。
- (rev.3437) SSI Includeをm:insertに置き換える処理が有効なとき、拡張子".inc"
  のファイルは自動的に全体をm:doRender(name="")で囲むようにしました。
  ただしmime-mappingで".inc"をHTMLかXHTMLとして設定する必要があります。
- (rev.3440) JIRA[MAYAA-67] スクリプトでoriginalNodeのtoString()を実行したときに
  無限ループが発生する問題を修正しました。
- (rev.3445) JIRA[MAYAA-68] attributeプロセッサに、&をエスケープするか
  どうかを決めるescapeAmp属性を追加しました。デフォルトはtrueです。
- (rev.3447) JIRA[MAYAA-69] カスタムタグからコンポーネントを使う側の方に
  親を探しに行くよう修正しました。


-------------------------------------------------------------------
変更点 1.1.23 -> 1.1.24 (2009/03/23)

- (rev.3392) JIRA[MAYAA-60] Servlet 2.5, JSP 2.1 の xsd を利用するファイルを
  パースできるようにしました。JSP 2.1 の tld をパースできなかった問題が解決します。

-------------------------------------------------------------------
変更点 1.1.22 -> 1.1.23 (2008/12/25)

- (rev.3387) JIRA[MAYAA-59] デフォルトのエラーページ (java.lang.Throwable.html)
  のエラーメッセージ部分でタグをエスケープするよう修正しました。
- (rev.3387) 標準のエラーページを変更し、通常はアプリケーションサーバの
  エラーページになるようにしました。application スコープの debug 属性を
  null 以外に設定すると、これまでどおりのエラーページを表示します。
  (application スコープは ServletContext の属性と同じ)

-------------------------------------------------------------------
変更点 1.1.21 -> 1.1.22 (2008/11/22)

- (rev.3383) JIRA[MAYAA-56] ServiceProviderのtemplateBuilder設定に、パラメータとして
  テンプレートをパースするときのデフォルト文字セットを指定できるようにしました。
  デフォルト値はこれまで通りUTF-8です。

-------------------------------------------------------------------
変更点 1.1.20 -> 1.1.21 (2008/11/08)

- (rev.3380) JIRA[MAYAA-55] スクリプトにおいて、requestスコープやsessionスコープの
  属性に対して「foo = 1」のようにスコープを明示せずに値をセットしようとした場合に
  例外が発生する問題を修正しました。

-------------------------------------------------------------------
変更点 1.1.19 -> 1.1.20 (2008/10/29)

- (rev.3377) JIRA[MAYAA-54] .mayaaファイルのルート直下にHTMLを直接記述した場合
  ビルド結果キャッシュが正常に作成されない問題を修正しました。

-------------------------------------------------------------------
変更点 1.1.18 -> 1.1.19 (2008/09/28)

- (rev.3361) JIRA[MAYAA-50] SimpleTagのgetJspBody()が動作するよう実装しました。
- (rev.3363) JIRA[MAYAA-51] tldのbody-contentでemptyが指定されている場合、
  SKIP_BODYと同じ処理になるようにしました。(これまではdoStartTagの戻り値次第)
- (rev.3370) JIRA[MAYAA-52] replace="false"としたプロセッサにm:attributeが
  書けていた問題を修正しました。

-------------------------------------------------------------------
変更点 1.1.17 -> 1.1.18 (2008/06/18)

- (rev.3342) JIRA[MAYAA-48] SimpleTagの場合に親タグの情報を取得できない
  問題を修正しました。

-------------------------------------------------------------------
変更点 1.1.16 -> 1.1.17 (2008/03/02)

- (rev.3269) JIRA[MAYAA-46] TagExtraInfoのgetVariableInfoがnullを返した
  ときにNullPointerExceptionが発生する問題を修正しました。

-------------------------------------------------------------------
変更点 1.1.15 -> 1.1.16 (2007/12/01)

- (rev.3244) JIRA[MAYAA-42] テンプレートがXMLの場合でもHTMLの閉じタグ調整が
  有効になってしまう問題を修正しました。

-------------------------------------------------------------------
変更点 1.1.14 -> 1.1.15 (2007/09/30)

- (rev.3232) JIRA[MAYAA-40] テンプレートにコメントがあるとき、xpath="//*" で
  バインディングしようとするとNullPointerExceptionが発生する問題を修正しました。

- (rev.3233) JIRA[MAYAA-41] SimpleTagにDynamicAttributeを使えない問題を修正しました。


-------------------------------------------------------------------
変更点 1.1.13 -> 1.1.14 (2007/09/06)

- (rev.3191) JIRA[MAYAA-38] DynaBeanのプロパティもJavaScriptから通常のJavaBeans
  と同じようにアクセスできるよう対応しました。

- (rev.3204) JIRA[MAYAA-39] Pageスコープにあるjava.lang.Numberのオブジェクトに
  スクリプトで加算をおこなうと文字列加算になってしまう問題を修正しました。


-------------------------------------------------------------------
変更点 1.1.12 -> 1.1.13 (2007/08/19)

- (rev.3161) JIRA[MAYAA-32] m:mayaaタグにcacheControl属性を追加しました。
  cacheControl属性には静的な文字列のみ記述でき、記述した文字列がそのまま
  Cache-Controlレスポンスヘッダの値としてセットされます。
  noCache="true"とcacheControl属性とを両方セットした場合、noCacheの場合の
  レスポンスヘッダのうちCache-Controlヘッダの値のみcacheControl属性の値が
  優先されます。

- (rev.3163) JIRA[MAYAA-33] MayaaServlet 以外からの呼び出しで request 情報が
  誤っている場合、ページ名が内部で扱うものと一致しないことがある問題に
  対応しました。

- (rev.3185) JIRA[MAYAA-36] XHTMLのemptyタグの閉じ記述で、"/>"の前に空白を
  含めるように変更しました。
  (HTML互換性ガイドライン http://www.w3.org/TR/2000/REC-xhtml1-20000126/#guidelines)

- (rev.3188) JIRA[MAYAA-37] パスの自動調整で、"./"で始まっているパス以外も
  対象とするオプションを追加しました。エンジン設定でPathAdjusterImplの"force"
  パラメータをtrueにすることで有効になります。


-------------------------------------------------------------------
変更点 1.1.11 -> 1.1.12 (2007/08/05)

- (rev.3155) テンプレートのmetaタグでcontent-typeを指定し、かつcharsetを
  指定しない場合、レスポンスヘッダにはcharset=UTF-8付きで返すよう変更しました。

- (rev.3158) JIRA[MAYAA-31]エンジン設定のengineのパラメータに"convertCharset"を
  追加しました。デフォルトはfalseです。この値をtrueにすることで、テンプレートの
  metaタグでcharset=Windows-31とした場合でもcharset=Shift_JISにして出力します。
  また同様にHTTPレスポンスヘッダもcharset=Shift_JISになります。


-------------------------------------------------------------------
変更点 1.1.10 -> 1.1.11 (2007/07/15)

- (rev.3108) テンプレートでcharsetを指定していない場合、レスポンスには
  charsetをUTF-8とするよう変更しました。

- (rev.3115) /WEB-INF/を含むパスへのforwardを許すように修正しました。


-------------------------------------------------------------------
変更点 1.1.9 -> 1.1.10 (2007/05/23)

- (rev.3017) デフォルトでレイアウトを適用できる機能を追加しました。

- (rev.3027) execプロセッサのsrc属性を使って読み込んだスクリプトを実行する際の
  スコープがタグのスコープと同一になるよう変更しました。これによりexecで
  宣言した変数は、execのボディ限定ではなexecと同じ階層にあるプロセッサや
  スクリプトで参照できるようになります。
  なお、script属性でスクリプトを実行する場合は、1.1.0-beta6よりこの状態になっており、
  ドキュメントが誤っていました。

- (rev.3032) JIRA[MAYAA-9] pageスコープにNumber型オブジェクトをセットすると
  型情報が失われてしまう問題を修正しました。

- (rev.3036) JIRA[MAYAA-27] m:id属性やm:xpath属性は、m:mayaaノード直下のノードで
  のみ有効となるよう変更しました。m:mayaaノード直下でない場合は警告ログが出ます。
  ネストしている場合の誤解が多いことへの対策です。


-------------------------------------------------------------------
変更点 1.1.8 -> 1.1.9 (2007/04/30)

- (rev.2946) JIRA[MAYAA-25] Deserialize時にresolvePrefixで mayaa.seasar.orgの
  namespaceの親参照でNullPointerExceptionが発生する問題に対応しました。

- (rev.2983) InformalPropertyAcceptableに型指定メソッド名を変更しました。
  古いメソッド名はdeprecatedとしました。

- (rev.2984) VirtualPropertyAcceptable#addVirtualProperty()の第2引数を
  java.lang.Objectからjava.io.Serializableに変更しました。
  また、VirtualPropertyに型定義が必須となるよう変更しました。

- (rev.2984) InsertProcessorでVirtualPropertyを使えるよう変更しました。
  これにより、コンポーネントをMLDに定義する際にrequired指定などができるように
  なりました。
  ただし、VirtualPropertyもInformalPropertyとして扱います。

- (rev.2989) JIRA[MAYAA-26] Mayaaファイル内のCDATAはノードと見なさないよう
  変更しました。ボディとして直接 ${} を書いた場合、その内側に CDATA 宣言を
  できるようになりました。(例: ${ <![CDATA[ '<...>' ]]> } → '<...>')

- (rev.3001) var 無指定で宣言される変数のスコープをJavaScript Nativeルートではなく、
  最も外側のpageスコープとしました。
  これまでのように、JavaScript Nativeルートを指定したい場合（共通的なもの）は、
  __global__ という予約語のスコープを使うことができます。

- (rev.3006) var 無指定対応で、委譲オブジェクトに存在するが自身に存在しないものを
  取得しようとして連鎖しStackOverFlowになる不具合を修正しました。

-------------------------------------------------------------------
変更点 1.1.7 -> 1.1.8 (2007/04/08)

- (rev.2928) エラーページでArrayIndexOutOfBoundsExceptionが発生する問題を
  修正しました。

- (rev.2934) プロセッサの必須属性を空文字として定義していた場合は、属性の定義が
  ない場合と同じ扱いのエラーとしました。

- (rev.2938) attributeプロセッサのvalueを指定しないことで属性値なしの出力を
  可能にしました。旧仕様のHTMLの CHECKED SELECTED や、SGML用途に使用できます。
  ただし非推奨機能としていますのでデフォルトで有効になりません。
  この機能を有効にするには、標準プロセッサ定義である mayaa.mld を直接編集して、
  attributeのvalue属性のrequired="true"を除外する必要があります。

- (rev.2939) 論理値の属性に対して、論理値とならない設定がされている場合に
  ビルドエラーとしました。

- (rev.2940) writeプロセッサを機能拡張しました。
  ・value属性以外に、ボディで書き表すことができるようにしました。
    両方指定した場合は valueが優先されます。
  ・value属性内から、bodyTextというwriteプロセッサ専用の値が利用できます。
    bodyTextを参照すると、writeプロセッサのボディ内容が得られます。
    writeプロセッサがボディを持たない場合は、対象のHTMLテンプレート内容と
    なります。

- (rev.2941) insertプロセッサのpathの指定にスクリプトが使えるようになりました。
  これにより実行時に動的にコンポーネントを差し替えることが可能になります。

- (rev.2946) JIRA[MAYAA-23] echoでの属性参照、JSP カスタムタグでの自動属性セットで
  テンプレートの特殊文字エスケープが解決されない問題を修正しました。

- (rev.2952) 未定義の識別子を参照すると例外になる問題を解消しました。
  これまでは、if (識別子 == undefined) といった式が例外が起きないようにするには、
  beforeRenderなどで、var 識別子; のように予め定義する必要がありました。
  クライアントJavaScriptと同様の扱いとなるように、NativeJavaScriptエンジンの層でも
  見つからない識別子に対しては、var 識別子 = undefined としたものと同等の扱いと
  しました。

- (rev.2957) 識別子が予約語とぶつかってしまう場合にその識別子を参照するための
  スコープを用意しました。スコープ名は "_" で、_['class'] のように利用します。
  参照順は 現在位置からpageまで、request、session、applicationです。
  StandardScopeを変更している場合はそれに準じます。

- (rev.2966) XPathMatchesInjectionResolverがあるだけでビルドにかかる時間を
  軽減しました。

-------------------------------------------------------------------
変更点 1.1.6 -> 1.1.7 (2007/03/08)

- (rev.2878) JIRA[MAYAA-17] echoをバインディングしたタグでパスの自動調整が
  効かない問題を修正しました。

- (rev.2889) JIRA[MAYAA-19] xpathのfunctionが使用できない問題を修正しました。

- (rev.2896) XHTMLの場合かつreplace="false"かm:attributeのいずれかを
  使っていた場合に、EMPTY なタグでも閉じタグを出力していた問題を修正
  しました。

- (rev.2898) JIRA[MAYAA-18] echo, elementを複数使う場合のcomponent再帰
  呼び出しで上手くレンダリングされない問題を修正しました。

- (rev.2900) htmlタグやbodyタグのないテンプレートの場合、出力にhtmlタグ
  などが自動的に追加されてしまう問題を修正しました。

- (rev.2903) JIRA[MAYAA-21] Specification#kill()が呼ばれるタイミングで
  deadlockが発生する問題を修正しました。

- (rev.2903) JIRA[MAYAA-22] GCが頻繁に発生する状況でIllegalStateException
  が発生する問題を修正しました。

- (rev.2903) APIのTemplateProcessor#kill(), NodeTreeWalker#kill() を
  deprecatedにしました。同様の処理をおこないたい場合はObject#finalize()
  で実装してください。

- (rev.2903) ビルド結果キャッシュのファイル名規則を変更しました。
  ディレクトリ名の区切りを.(ピリオド)にして単一のファイル名にしていた
  ところを、`(バッククォート)で区切るようにしました。

- (rev.2911) /default.mayaaを利用するリクエスト(/default.htmlへのアクセス)
  があった場合、内部エラーではなくPageNotFoundExceptionが発生するように
  しました。この際、リクエストがあったことをdebugレベルでログ出力します。
  (/default.mayaaの名前は設定に準じます)


-------------------------------------------------------------------
変更点 1.1.5 -> 1.1.6 (2007/01/14)

- (rev.2804) warを展開しない状態でもweb.xmlのtaglib-locationが有効になる
  ようにしました。(/WEB-INF/foo.tldの形式)

- (rev.2807) commons-loggingを1.1から1.0.4に戻しました。1.1はLog4Jと一緒に使うと
  undeploy時にNullPointerExceptionが発生することがあります。

- (rev.2810) InsertProcessorでpathに"/"始まりでも"./"始まりでもないパスを
  指定した場合にページキャッシュが効かない問題を修正しました。

- (rev.2811) escapeXmlの処理でシングルクォーテーションをエスケープしない
  よう変更しました。

- (rev.2819) 自動ビルド時にコンテキストパスが必要となる場合があるため、
  設定で指定できるようにしました。ServiceProviderファイルのEngine設定の
  "autoBuild.contextPath"パラメータです。デフォルトは"/"。

- (rev.2827) 同梱するJaxenのバージョンを1.1にアップデートしました。

- (rev.2831) AutoPageBuilderのファイル名フィルタで、正規表現の場合に
  ファイル名のみとマッチングしていたところをフルパスとマッチングするよう変更しました。

- (rev.2837) Engineを明示的に破棄するメソッド"destroy()"を追加しました。
  destroy()が呼ばれた後のEngineの動作は保証しません。

- (rev.2838) コマンドラインから実行してレンダリング結果ファイルを生成する
  FileGeneratorを追加しました。

- (rev.2852) グローバル関数"throwJava"を追加しました。レンダリング中に
  スクリプトからJavaの例外を投げたい場合に使用します。
  (ServiceCycle#throwJava(Throwable)を追加)

- (rev.2869) m:replace="false"としたテンプレート側タグのid属性にスクリプトを指定
  していた場合に属性が出力されない問題を修正しました。


-------------------------------------------------------------------
変更点 1.1.4 -> 1.1.5 (2006/12/07)

- (rev.2789) 同梱するRhinoのバージョンを1.6-r5にアップデートしました。

- (rev.2790) MayaaServletのdestroyで例外が発生する問題を修正しました。


-------------------------------------------------------------------
変更点 1.1.3 -> 1.1.4 (2006/12/05)

- (rev.2767) 1.1.3での変更、"Mayaaのjarを複数Webアプリで共有した場合でも正常に
  動作するよう修正" の内容を削除しました。WAS6.1 で正常に動作しない場合があるため
  です。また、mayaa-webwork2 が動作しない問題も解決します。

- (rev.2769) 書き込み可能なSourceDescriptorを定義できるようにしました。

- (rev.2771) 同梱するJaxenのバージョンを1.1-beta-11にアップデートしました。

- (rev.2772) ClassLoader#getResourceAsStream()をURLConnectionに変更しました。

- (rev.2772) URLConnectionのキャッシュを使うかどうかをシステムプロパティで
  設定できるようにしました。デフォルトはfalse(キャッシュを使わない)です。
  プロパティ名は"org.seasar.mayaa.useURLCache"、IOUtilでのみ使用しています。
  設定方法は変更する可能性があります。

- (rev.2775) JIRA[MAYAA-8] WebSphereでundeploy時にMayaaのjarファイルが削除されない
  問題を修正しました。

- (rev.2776) 標準のエラー画面に表示する情報を増やしました。

- (rev.2781) 標準のエラー画面をMETA-INF/java.lang.Throwable.htmlのみにしました。


-------------------------------------------------------------------
変更点 1.1.2 -> 1.1.3 (2006/11/23)

- (rev.2726) Mayaaのjarを複数Webアプリで共有した場合でも正常に動作するよう
  修正しました。

- (rev.2731) テンプレートに文字セット指定がされていない場合、UTF-8と見なすように
  変更しました。

- (rev.2739) PathAdjusterが適用されない場合があるのを修正しました。

- (rev.2741)JIRA[MAYAA-7] Jarの内容を参照するとき、URLConnectionのキャッシュを
  使わないよう修正しました。Mayaaを含むwarをdeploy解除した場合などに、Mayaaが
  参照するリソース(tldなど)を含むjarファイルが削除されない問題の対処となります。

- (rev.2754)JavaScriptからJavaに数値を渡すとき、型情報があるならそれを維持するようにしました。

- (rev.2758)JIRA[MAYAA-13] レイアウト共有機能で、レイアウト側のhtml, mayaaを更新
  しても反映されない問題を修正しました。


-------------------------------------------------------------------
変更点 1.1.1 -> 1.1.2 (2006/09/27)

- (rev.2710) ソースコードの文字セットをUTF-8に変更しました。

- (rev.2715)JIRA[MAYAA-6] elementプロセッサ、echoプロセッサ、およびテンプレート上
  の属性において、「属性がnullの場合に出力しない」という処理で空文字列も出力
  しないようになっていた問題を修正しました。([mayaa-user:281])

- (rev.2719) jaxenを1.1-beta-10にしました。

- (rev.2720) エンジン設定にrequestedSuffixEnabledを追加しました。
  デフォルトはfalseで、trueにするとsuffix指定のアクセス(例:index$ja.html)が
  有効になります。suffix指定アクセスはm:templateSuffixの指定よりも優先されます。
  1.1.1まではデフォルトで有効な状態でした。アップグレードの際はご注意ください。


-------------------------------------------------------------------
変更点 1.1.0 -> 1.1.1 (2006/09/02)

- (rev.2659) ページのビルド結果をserializeする途中でWebアプリケーションを
  終了させたときに例外が出る問題を修正しました。

- (rev.2683)JIRA[MAYAA-4] m:injectでインジェクションしたもののnamespaceを持つ
  属性を出力しないよう修正しました。

- (rev.2685) セッションが既に無効化されている場合に例外が発生する問題を修正しました。

- (rev.2693) SpecificationCacheのGCログをINFOレベルからDEBUGレベルに変更しました。


-------------------------------------------------------------------
変更点 1.1.0-beta6 -> 1.1.0 (2006/08/13)

-１回のリクエスト中で同じページに一定回数以上forwardした場合に例外を投げる
 ようにしました。この例外はエラーハンドラで扱えません。
 ServiceProvider設定でEngineのパラメータに"forwardLimit"を追加し、
 値に上限回数を指定してください。デフォルトは"10"です。

-パスの自動調整機能でinputタグのsrc属性が対象になっていなかったのを修正しました。
 その他いくつかの属性も対象に追加しました。

-JIRA[MAYAA-1] ビルドした結果をログに出力する機能を追加しました。デフォルトは無効です。
 ServiceProvider設定でEngineのパラメータに"dumpEnabled"を追加し、
 値に"true"または"false"を指定してください。
 現状ではテンプレート機能、コンポーネント機能には対応していません。

-JSP2.0のDynamic Attributeをサポートしました。

-XMLをテンプレートにした場合にデフォルト名前空間指定で例外が出る問題を修正しました。

-Maven2 から利用できるようになりました。
   groupId   : org.seasar.mayaa
   artifactId: mayaa
 詳しくは Wiki をご覧ください。(http://www.seasar.org/wiki/index.php?Maven2RepoRemote)


-------------------------------------------------------------------
変更点 1.1.0-beta5 -> 1.1.0-beta6 (2006/07/30)

-echoプロセッサにname属性を追加し、タグ名を変更できるようにしました。

-例外ハンドラページからforwardやredirectができない問題を修正しました。

-SessionScope#getUnderlyingContext()を呼び出したときにSessionオブジェクトを
 生成しないよう修正しました。Sessionオブジェクトがない場合はnullを返します。

-定義されていないprefixが見つかった場合に例外を出さないようにしました。

-直接出力となるスクリプトの処理で、処理結果がnullの場合に空文字列を出力する
 ようにしました。

-標準ではPageNotFoundExceptionのスタックトレースを出力しないよう変更しました。
 INFOレベルで"Page not found: /foo.html"の形(getMessage())のログを出力します。

-コンポーネントを再帰的に使用するとき、forEachが正常に動作しないのを修正しました。

-beforeRenderおよびafterRenderでbindingを使えるようにしました。

-コンポーネントから更にコンポーネントを呼び出すとき、同じbinding変数名を
 再定義できるように修正しました。

-m:attributeのvalueにがnullの場合、属性を削除するようにしました。

-ページを再読込したときに古いページが解放されない問題を修正しました。

-VariableInfo の NESTED が正常に動作しない問題を修正しました。

-メモリ使用量を削減しました。

-描画速度を向上させました。

-ページのビルド結果をserialize/deserializeできるようにしました。
 WEB-INF/.mayaaSpecCacheフォルダ以下にserファイルが作成されます。
 デフォルトは無効です。
 ServiceProvider設定でEngineのパラメータに"pageSerialize"を追加し、
 値に"true"または"false"を指定してください。

-ページのビルド結果をgcの回収対象にするまでの回数を指定できるようにしました。
 デフォルトでは5回目の解放要求で回収対象になります。
 ServiceProvider設定でEngineのパラメータに"surviveLimit"を追加し、
 値に解放要求を無視する回数を整数で指定してください。

-アプリケーション起動時にすべてのページを自動的にビルドする機能を追加しました。
 デフォルトは無効です。
 ServiceProvider設定でEngineのパラメータに"autoBuild"を追加し、
 値に"true"または"false"を指定してください。


-------------------------------------------------------------------
変更点 1.1.0-beta4 -> 1.1.0-beta5 (2006/05/28)

-グローバル関数redirect,error後も描画処理が実行されてしまうのを修正しました。

-PrefixMapping, PrefixAwareNameをsingletonにすることで省メモリ化しました。

-HTMLの場合にxmlnsが正しく出力されないのを修正しました。

-echoプロセッサとattributeプロセッサを組み合わせたとき、テンプレート上に存在する
 属性を上書きできていなかったのを修正しました。

-スクリプトで"page"を直接した場合、ページスコープのルートを指すよう変更しました。
 ※"page"がカレントスコープを指すことを想定して使われている場合、意図したものと
   動作が変わる可能性があります。
   現在スコープを明示したい場合は page.__current__ を使用してください。
 ※現時点では VariableInfo の NESTED が正常に動作しないという問題があります。

-formatDateプロセッサとformatNumberプロセッサにdefault属性を追加しました。
 writeプロセッサ同様の仕様で、文字列あるいはStringを戻すスクリプトを書けます。


-------------------------------------------------------------------
変更点 1.1.0-beta3 -> 1.1.0-beta4 (2006/05/07)

-org.seasar.mayaa.impl.MayaaApplicationFilterを追加しました。
 StrutsServletなどからMayaaへforwardする場合、このFilterを通すことで
 初期化できます。

-初期化時に発生する例外が他の例外を引き起こすのを修正しました。

-空要素でないタグまで空要素出力していたのを修正しました。

-ディレクトリへのアクセスが"/"で終わっていない場合に、"/"を付けたパスへ
 リダイレクトするようにしました。

-SimpleTagをサポートしました。

-------------------------------------------------------------------
変更点 1.1.0-beta2 -> 1.1.0-beta3 (2006/04/23)

-スクリプトのブレースの数の整合性チェックをするとき、文字列内かどうかの判定を
 していなかったバグを修正しました。

-.mayaaファイル上に同一のm:idを複数定義した場合、Warningログを出すよう変更
 しました。ServiceProviderファイルでEqualsIDInjectionResolverのパラメータ
 reportDuplicatedIDにfalseを設定すればログを出さないようにできます。

-jaxenを1.1-beta-8から1.1-beta-9にバージョンアップしました。

-パスの自動調整で"/"で終わるパスの場合に例外が出るのを修正しました。

-Mayaaファイルのタグボディとして&lt;などのエンティティ参照を書いた場合に
 エンティティ解決していなかったのを修正しました。
 このバグを前提に作られているものがある場合には正常に動作しなくなるかもしれません
 のでご注意ください。

-何かのタグのボディ部に直接${}でスクリプトを書いた場合、そのスクリプト内の
 スコープがタグのスコープと同一になるよう変更しました。

-PageSourceFactoryのパラメータ folder と absolutePath を追加型に変更
 しました。複数書くことで複数のパスを有効にできます。上書きを前提として
 使用している場合には意図しない動作をする可能性がありますので、ご注意ください。

-------------------------------------------------------------------
変更点 1.1.0-beta1 -> 1.1.0-beta2 (2006/04/08)

-スコープ名修飾なしの場合に走査するスコープを追加できるよう、CycleFactoryImplのパラメータに
 addedStandardScopeを追加しました。org.seasar.mayaa.cycle.CycleFactoryファイルに
 <parameter name="addedStandardScope" value="スコープ名" />とすることで追加できます。

-EngineのdoServiceにMapを渡せるよう変更しました。
 渡したMapはpageスコープの初期値として格納されます。

-templatePathPattern, notTemplatePathPatternのいずれにもマッチしない場合の判定を
 以前の通りmime-typeで判定するように戻しました。

-ServiceCycle#load (m:exec src) のスクリプトをキャッシュするよう変更しました。

-QNameをSingletonにしてメモリを節約するよう変更しました。

-テンプレートを探す位置をカスタマイズ(WEB-INF/pageなど)した場合に、テンプレートとして
 扱わないリソース(cssなど)を探せない問題を修正しました。

-JSPカスタムタグで例外が出たときに正しく行番号を表示するよう修正しました。

-------------------------------------------------------------------
変更点 1.0.3 -> 1.1.0-beta1 (2006/03/23)

-静的な出力しかしないプロセッサを最適化し、パフォーマンスを向上する機能を追加
 しました。

-------------------------------------------------------------------
変更点 1.0.2 -> 1.0.3 (2006/03/19)

-JSPカスタムタグにテンプレートの属性値を渡す機能のうち、属性名のエイリアスを
 定義するときに、テンプレート側属性名としてQNameの形式でセットできるよう
 にしました。

-m:injectに記述したものがhtml,xhtml,xmlの名前空間に属する場合には
 エラーログを出力するよう変更しました。

-HttpSessionオブジェクトを生成するタイミングを、setAttributeするときのみに
 変更しました。

-JavaScriptの戻り値がvoid (Voidではなく) の場合に例外が発生するのを修正しました。

-多段階のコンポーネントに同名で引数を渡すと無限ループするのを修正しました。

-テンプレート側にxmlns:m="http://mayaa.seasar.org"を記述する場合に、この宣言が
 そのまま出力されてしまうのを修正しました。"http://mayaa.seasar.org"で始まる
 名前空間宣言はすべて出力されません。

-------------------------------------------------------------------
変更点 1.0.1 -> 1.0.2 (2006/02/26)

-ログメッセージのシングルクォーテーション (') のエスケープをしていなかったのを
 修正しました。

-Java5.0で実行する場合にXMLパーサーに関連するログが大量に出力されるため、
 それらのログレベルをDEBUGに変更しました。

-JSPカスタムタグでdoStartTagの戻り値がEVAL_BODY_BUFFEREDの場合に、
 doAfterBodyでHTMLへ書き込めないバグを修正しました。

-JSPカスタムタグにテンプレートの属性値を渡す機能を追加しました。
 この機能はデフォルトでは無効です。

-writeプロセッサのdefault属性値をエスケープ (escapeXml, escapeEol, escapeWhitespace)
 の対象外にしました。

-------------------------------------------------------------------
変更点 1.0.0 -> 1.0.1 (2006/01/30)

-予約名前空間"xml"を使った場合、名前空間"xml"を定義していない場合に例外が
 発生する問題を修正しました。

-forEachプロセッサに単純なオブジェクト以外を使うと例外が出る問題を修正しました。

-forEachプロセッサでスレッド再利用時にNullPointerExceptionが出る問題を修正しました。

-JspFactoryを受け取れなかった場合のJSPバージョンを2.0としました。

-ライブラリのprefixマッピングで"/"開始のときはディレクトリ存在チェックをし、
 存在しなければInsertに変換しないようにしました。

-------------------------------------------------------------------
変更点 1.0.0-rc1 -> 1.0.0 (2006/01/23)

-ServiceCycleにHTTPエラーを返すためのerror(int)とerror(int, String)を追加しました。
 HttpServletResponse#sendErrorに準じます。

-------------------------------------------------------------------
変更点 1.0.0-beta3 -> 1.0.0-rc1 (2006/01/16)

-writeプロセッサのescapeEolで、改行文字をテンプレートがHTMLの場合は<br>に、
 XHTMLの場合は<br />に置き換えるよう修正しました。
 また、テンプレートがXMLの場合はescapeEolで何も処理しないよう変更しました。

-forward、redirectに現在ページからの相対パスを使えるよう変更しました。
 (相対パス解決をするのは"./"で始まる先頭から連続している部分のみです)

-MLDの定義において、タグ属性名とプロセッサ実装のプロパティ名が異なる定義を
 できるよう変更しました。

-forEachプロセッサを追加しました。

-formatNumberプロセッサを追加しました。

-formatDateプロセッサを追加しました。

-TemplateBuilderImplの設定のoutputWhitespaceを廃止し、代わりに
 outputTemplateWhitespaceとoutputMayaaWhitespaceの2つを追加しました。
 outputTemplateWhitespaceのデフォルト値はtrue、outputMayaaWhitespaceの
 デフォルト値はfalseです。これにより、デフォルト設定ではMayaaファイル
 にあるキャラクターノードの空白やタブ文字が出力されなくなります。

-EqualsIDInjectionResolverでMayaaファイルのidと一致するものを探す
 テンプレート上の属性を設定できるように変更しました。
 "{http://mayaa.seasar.org}id"は最優先かつ固定で、その次以降を指定できます。

-TLDなどのライブラリをすべて読み込む処理のタイミングを、初回アクセス時から
 MayaaServlet初期化時に変更しました。

-------------------------------------------------------------------
変更点 1.0.0-beta2 -> 1.0.0-beta3 (2006/01/07)

-ServletAPI 2.4用のweb.xmlをパース出来ない問題を修正しました。

-プロセッサのProcessorProperty型プロパティにdefaultを設定できなかったのを
 修正しました。

-writeプロセッサのescapeXmlのデフォルト値をtrueに変更しました。

-writeプロセッサに改行文字を<br />に置換するプロパティescapeEolを追加しました。
 値はbooleanで、デフォルトはtrueです。

-レイアウトのm:extends、insertプロセッサのpathにページからの相対パスを
 使えるよう変更しました。
 (相対パス解決をするのは"./"で始まる先頭から連続している部分のみです)

-スクリプトのload()メソッドとexecプロセッサのsrcにページからの相対パスを
 使えるよう変更しました。
 (相対パス解決をするのは"./"で始まる先頭から連続している部分のみです)

-HTML、XHTMLのタグのパスを指定する属性のうち、"./"で始まる相対パスを
 サーバルートからの絶対パスに変換するよう変更しました。

-------------------------------------------------------------------
変更点 1.0.0-beta1 -> 1.0.0-beta2 (2005/12/09)

-Mayaaエンジン設定に「templatePathPattern」を追加しました。値として正規表現を
 取ります。Mayaaがテンプレートとして扱うかどうかは、この正規表現にマッチするか
 どうかで判定します。(requestedPathと完全マッチ)
 デフォルトでは「.*」です。

-Mayaaエンジン設定に「notTemplatePathPattern」を追加しました。値として正規表現を
 取ります。Mayaaがテンプレートとして扱うかどうかは、この正規表現にマッチしないか
 どうかで判定します。(requestedPathと完全マッチ)
 デフォルトではパターンなしです。

-web.xmlのtaglib-locationにjarファイル名を書いた場合、jar内のMETA-INF/taglib.tld
 にtaglib-uriをマッピングするよう修正しました。(WEB-INF/libにあるjarのみです)

-ファイルのタイムスタンプをチェックする回数を減らし、パフォーマンスを向上
 させました。

-------------------------------------------------------------------
変更点 0.9.20a -> 1.0.0-beta1 (2005/11/28)

-HTMLのid, XHTMLのidをバインディングに使わない設定を可能にしました。

-スクリプトのコメント内に閉じブレース (}) を書くと整合性エラーになっていた
 のを修正しました。

-beforeRender, afterRenderのブレース整合性チェックを強化しました。

-テンプレートを探すパスの設定が正常に動作しないのを修正しました。

-テンプレートを全ファイルシステム上の指定パスから探せる設定を追加しました。
 org.seasar.mayaa.source.PageSourceFactoryに「absolutePath」というパラメータを
 設定した場合、その値をファイルシステムのパスとして扱います。

-Mayaaエンジン設定ファイルのパラメータに${ }で囲んだシステムプロパティを
 扱えるようにしました。

-mayaaファイルでredirectした場合、responseを一度flushしないと例外が発生していた
 のを修正しました。

-------------------------------------------------------------------
変更点 0.9.20 -> 0.9.20a

-プロセッサプロパティの自動設定機能は意図しない動作を引き起こす場合があるため、
 動作しないようにしました。

-------------------------------------------------------------------
変更点 0.9.19 -> 0.9.20

-Mayaのプロダクト名をMayaaに変更しました。

-プロセッサの属性に書いたスクリプトの実行結果がundefinedの場合、期待型が
 Booleanの場合は今までどおりfalse、それ以外はnullを返すように変更しました。

-JSPのTagExtraInfoで指定するスクリプティング変数のスコープを正常に使えるよう
 修正しました。

-MayaaServletでrequestのCharacterEncodingをセットできるよう変更しました。
 ServiceProvider設定ファイルのengine/requestCharacterEncodingで指定します。
 mayaa-sampleで使用しています。

-TLDもしくはMLDに定義されているプロセッサプロパティについては、.mayaaに値の定義
 が無い場合、テンプレート上のノードを参照し、ノードの名前空間に属する該当する
 名前の属性値があれば、それを用いるように機能追加しました。

-------------------------------------------------------------------
変更点 0.9.18 -> 0.9.19

-テンプレートにスクリプトを書いた場合にエンティティ解決していなかった
 のを修正しました。

-レイアウトを使う場合にホストページmayaaファイルのm:noCacheが有効にならない
 のを修正しました。

-headerスコープが正常に使えないのを修正しました。


-------------------------------------------------------------------
変更点 0.9.17 -> 0.9.18

-XMLをテンプレートとしたときにXML宣言が出力されないのを修正しました。

-レイアウト機能において、doRenderをカスケードしたページ全部を辿って探すように
 修正しました。

-WriteProcessorのdefaultプロパティにスクリプトを使えるよう変更しました。

-スクリプトのXMLエンティティを２重に解決していたのを修正しました。

-WriteProcessorにescapeWhitespaceプロパティを追加しました。
 escapeWhitespaceをtrueにすると\r, \n, タブ文字をそれぞれ&#xd, &#xa, &#x9
 にエスケープします。

-AttributeProcessorのvalueにスクリプトを書いた場合、実行結果を自動的に
 XMLエスケープし、改行文字を空白に置き換えるよう修正しました。

-------------------------------------------------------------------
変更点 0.9.16 -> 0.9.17

-MLD中のproperty定義を、propertySet定義にまとめて再利用できるようにしました。

-API中の名前にて、〜Typeと用いてるもののうち、JavaのClass型を指すものをすべて
 〜Classと改名しました。

-mayaaファイル中のXMLコメント(<!-- -->)を処理しないようにしました。

-CommentProcessorでボディを処理するようにしました。HTML出力としてコメントを
 書き出したい場合、テンプレートに書くかm:commentを使うことで実現できます。

-ServiceCycle#loadにエンコーディング指定なしのものを追加しました。
 無指定の場合はUTF-8として読み込みます。

-サービスのファクトリ群に対し、JSFライクなマーシャル機能を実装しました。

-APIを変更しています。Underlyable -> ContextAware, Parameterizable ->
  ParameterAware としました。また、PositionAwareを新設し、
  ソース上の位置情報を全体的に取得できるようにしました。

-Underlyable -> ContextAwareにおいて、getUnderlyingObject()メソッドを
 getUnderlyingContext()と改めました。

-------------------------------------------------------------------
変更点 0.9.15 -> 0.9.16

-InsertProcessorにおいて、ページをハードリファレンスで保持していたのを、
 SoftReferenceをもちいて参照保持するように修正しました。

-プロセッサプロパティのプロパティ設定メカニズムに、カスタマイズ可能な型変換機能
 を追加しました。

-XMLのハンドルユーティリティにおいて、ソースSystemIDと行番号を常に取れるように
 しました。その利用で、MLDおよびTLDのパース結果において、SystemIDと行番号
 を例外メッセージおよびツール等で利用するために保持しています。

-m:rendered="true"によるエレメントの複製機能は、m:replace="false"によって発動
 するように変更しました。一方、m:rendered="false"と明示した場合、そのノード全体
 を削除するようになっています。m:replaceはデフォルトがfalse、m:renderedはデフォルト
 がtrueです。

-XHTMLのプレフィックスマッピングが適切に描画されない問題が、プロパティ設定
 メカニズムの変更に伴って再発していたものを修正しました。

-ページのスクリプトイベント（m:beforeRenderおよびm:afterRender）について、
 コンポーネントやレイアウト機能による複数ページが連携する際のイベント呼び出し順
 について、仕様を整理し、修正しました。

-------------------------------------------------------------------
変更点 0.9.14 -> 0.9.15

-空の属性があるタグをレンダリングした場合に"null"が入る問題が再発したのを
 修正しました。

-テンプレートとmayaaファイルをロックしないよう修正しました。

-テンプレートとmayaaファイルを削除した場合、キャッシュを使わないように
 変更しました。

-同梱するJaxenのバージョンを、1.1-beta-8にアップデートしました。

-------------------------------------------------------------------
変更点 0.9.13 -> 0.9.14

-JSF等のミドルウェアから利用するために、描画前のデコードフェーズを実行
  できる機能を追加しました。

-JSF等のミドルウェアから利用するために、スクリプトをELライクに実行する
  機能を追加しました。

-WEBコンテナがスレッドをプールすることに起因するバグを解決しました。
 このバグはとても重大なものなので、以前のバージョンをご利用の場合は、
 すみやかにアップデートください。

-------------------------------------------------------------------
変更点 0.9.12 -> 0.9.13

-テンプレートコンポーネントから自コンポーネントを呼び出すネスト構造のときに、
 きちんとm:doBaseを呼べるようにコールスタック処理を追加しました。

-ページやテンプレートのオブジェクトのキャッシュの効率を見直し、
 インスタンス生成の個数を減らすようにチューニングしました。

-テンプレートとしてXMLを使えるようにしました。

-m:echoプロセッサを追加しました。
 テンプレートに無い属性を追加することができます。
 テンプレートのタグにある属性の値を置き換えることができます。
 スクリプトから属性の名前を変数名として指定することで元の属性の値を利用できます。

-例外メッセージテンプレートでオリジナルノードとインジェクションノードを
 参照できるようにしました。

-「page」スコープのメソッド群がうまくJavaScript中から呼び出せないバグを修正しました。

-mayaaノードの、m:classおよび、m:scopeを廃止しました。代わりに、より汎用な
  AttributeScope#newAttribute(String, Class)メソッドを追加しました。

-SessionのコンテキストであるHttpSessionオブジェクトの生成を必要になるまで
  遅延するようにしました。

-同梱のRhinoのバージョンを最新の1.6-r2に置換えました。

-Cycleのフラッシュ関連の仕組みを整理微調整しました。

-XMLテンプレートで用いられるプレフィックスの解決において、.mayaa上のプレフィックス
 マッピングをテンプレート上でそのまま使っている箇所があったので修正しました。

-ライセンスを、SSL1.1から、ASL2.0に変更しました。

-ログ文字列の出力において、適切な文字列フォーマット処理を行えていなかった
 箇所を修正し、適切な出力が行われるようにしました。

-NekoHTML0.9.5の挙動にて、ごくまれにxmlns:*というプレフィックスマッピングの記述
 を、xmlns名前空間の単なる属性としてSAXハンドラにわたってくることがある場合の、
 回避を行いました。

-強制的にMayaaの出力をProxy/ブラウザキャッシュさせないようにしていたところを、
 設定可能にし、デフォルト状態ではキャッシュコントロールをしないようにしました。

-テンプレートコンポーネントも、デザイン継承機能を利用できるように修正しました。

-WARファイルによるディストロに、開発時参照用のソースコートアーカイブ（ZIPファイル）
 を作成・添付するようにしました。

-------------------------------------------------------------------
変更点 0.9.11 -> 0.9.12

-ProviderFactoryImplで、mayaa.providerファイルを読み込む際に、各コンポーネントの
  生成を決め打ちでおこなっていたところを修正しました。

-m:doRenderプロセッサで、m:rendered="true"としたときに、テンプレートエレメントが
 出力されない問題を修正しました。

-テンプレートエレメントが直接描画される場合に、m:rendered="false"を記述すると、
 そのエレメントおよび子のエレメントの出力が抑制されるS2JSF互換機能を追加しました。

-ページ描画時のイベントを、m:beforeRender属性およびm:afterRender属性のもの
 に加え、m:beforeRenderタグおよびm:afterRenderタグでも行う機能を追加しました。

-m:pageプロセッサおよびm:doRenderプロセッサに、m:name属性を追加し、名前明示
 にて同一テンプレート中の複数コンポーネントブロックを呼び分けることができるようにしました。

-コンポーネント上でもちいる描画機能として、m:doBodyから分離してm:doBaseを
 用意しました。

-MLDのproperty定義に、final属性を追加し、アプリケーションにて変更不可の値設定を
 行えるようにしました。

-.mayaaファイルだけでテンプレートの無いコンポーネントを作れるようにしました。

-Tiles類似のデザイン継承機能を追加しました。

-HTMLテンプレートのHTMLエレメントに直接m:classやm:beforeRenderなどの記述を
  許していましたが、上記デザイン継承機能と矛盾するようになったので、廃止しました。
  結果、ページモデルおよびページイベントの機能を利用する場合には、.mayaaファイル
  を必要とするようになりました。

-------------------------------------------------------------------
変更点 0.9.10 -> 0.9.11

-ECMA1.3のBoolean値の取り扱いにおいて、意図しない動作となる問題を回避しました。

-テンプレート上の属性に、空白文字を値とするものがあると動作しないバグを修正しました。

-テンプレート上のエレメントのIDがマッチするものが無いときに例外を出していたところを、
 警告のログ出力するにとどめるよう、変更しました。

-パース済みテンプレートがきちんとキャッシュされていないバグを修正しました。

-.mayaaファイルの直接実行を可能にしました。ブラウザから直接.mayaa拡張子のURL
  にアクセスすると、エンジンおよび該当ページの.mayaaのイベント発火を行いますが、
  テンプレート描画はしません。

-ServiceCycleに、スクリプトファイルをロードする、load(systemID, encoding)メソッドを
  追加しました。この機能によって、スクリプトソースをスクリプト実行にて読み込むことが
  できるようになりました。

-------------------------------------------------------------------
変更点 0.9.9 -> 0.9.10

-m:forプロセッサに、最大ループ回数を制限するmaxプロパティを新設しました。

-.mayaaファイル上のノードボディで直接スクリプトブロックを記述したとき、かつそのノードが
 m:attribute以外のノードを含まないときに、隠蔽されるべきテンプレート上の子ノードを
 出力してしまうバグを修正しました。

-Responseがnullを出力時にNullPointerExceptionを発生させてしまうバグを修正しました。

-m:elementプロセッサにおいて、動的に追加されたm:attributeオブジェクトを、自スレッド
  の他プロセッサで共有してしまうというバグを修正しました。

-ScriptResolverを廃止して、AttributeScopeによる拡張を行うように、スクリプト環境の
 スコープ概念と併せて変更しました。

-AttributeScope#getAttribute(String)において、スクリプト内部のオブジェクトをJavaの
  オブジェクトに変換せずに返していていたために問題が発生していたので、Javaオブジェ
  クトを基本として、冗長変換を行うように修正しました。

-web.xmlに、taglib-locationにて「/WEB-INF/」を含むパスの指定を行うと不正なソース
  指定方法としていたところ、正常な処理を行うように変更しました。

-m:startComponentプロセッサをm:doRenderに、m:endComponentプロセッサをm:doBody
  にそれぞれ統合しました。

-FolderSourceScannerのプロパティに再帰的に読むかどうかのフラグを追加しました。
  nameはrecursive、valueはtrueまたはfalseを指定します。

-FolderSourceScannerのプロパティに読むファイルを拡張子指定するものを追加しました。
  nameはextension、valueはピリオド(.)ありの拡張子を指定します。
  無指定の場合は対象となるファイルはありません。

-TLDの探し方を修正し、WEB-INF以下のすべてのTLDを読み込むようにしました。

-MLDの探し方をTLDに合わせて変更し、WEB-INF以下のすべてのMLDを読み込むようにしました。

-ElementProcessorをXHTMLに利用した場合において、xmlnsのマッピング定義出力を
  適切に行うように修正しました。

-.mayaa設定ファイルに、直接HTMLを書けるようにしました。

-------------------------------------------------------------------
変更点 0.9.8 -> 0.9.9

-ServiceProviderなどをStrutsなどの外部のフレームワークからも利用できるように、
 ThreadLocalを利用してServiceCycleを保持するようにしました。

-TemplateProcessor、ScriptResolverといったメソッド引数にServiceCycle
  を取るものを全て整理し、ServiceCycleを引数渡しせず、ServiceProviderから
  取得するようにしました。

-例外時やデバッグ作業時に、実行中のテンプレートもしくは設定XMLの該当箇所を
  を知る手がかりを得られるように、ServiceCycle#getOriginalNode() メソッドおよび、
  getInjectionNode()メソッドを追加し、エンジン中で情報更新を常に行うようにしました。

-JSP関連の機能およびコンポーネント関連の機能を、コアに移動しました。

-同梱するNekoHTMLのバージョンを0.9.5にアップデートしました。

-同梱するXercesのバージョンを2.7.1にアップデートしました。

-式言語の使用を廃止し、代えてスクリプト言語を利用するようにしました。実装では、
 JavaScriptのエンジンである、Rhinoを採用しています。

-外部のスクリプトソースファイルを読み込み実行する機能を追加しました。

-テンプレートや設定ファイル等のリソース読み込みメカニズムを全面刷新しました。
  mayaa.confファイルをJarのMETA-INFフォルダに配置しています。このことにより、
  Mayaaのアプリケーションを開発する際に、開発者が行わなければならない手順を
  簡便化できました。

-デフォルトのエラーページのテンプレートを、JarのMETA-INFフォルダ直下に配置しました。

-本体、サンプル、テストをそれぞれ別々のEclipseプロジェクトにしました。

-ページの解決方法を変更し、/WEB-INF相対と、デフォルトパッケージ相対は
 読まないようにしました。それぞれ、/WEB-INF/page相対、/META-INF相対を
 読むようになっています。

-ウェルカムファイルの対応ががデグレして機能していなかったものを修正しました。

-ブランクアプリケーションをWARファイルで配布するようにしました。

-ページスコープを、スタック構造とすることによって、テンプレート上でのスクリプト
  実行において、名前衝突が発生しないようにしました。

-BeanPropertiesProcessorおよび、StackTraceElementsProcessorを廃止しました。
  スタックトレースのダンプは、ForProcessorとスクリプトの併用で対応できました。

-例外処理を行うErrorHandler内でさらに例外が発生したときに、先のアプリケーション
 で生じた例外を隠蔽してしまう問題を回避しました。

-------------------------------------------------------------------
変更点 0.9.7.1 -> 0.9.8

-PageContextなどJSP-APIへの依存を局所化し、ServiceCycleオブジェクトに
  Servlet-APIも隠蔽しました。

-未来日付のファイルを処理するときに、無限ループにはいる問題を修正しました。

-スペックを満たさないJSPカスタムタグを利用できないようにJSPコンテナとタグの
 バージョンチェックする機能を復活させました。

-URLClassLoaderを前提としたJarライブラリの検索をやめ、ファイルシステムを利用した
  Jarファイルの検索を行うようにしました。

-サンプルのプレビュー再現性においてCSSがうまく効いてなかったのを修正しました。

-デフォルト名前空間を適切に処理しないバグを修正しました。

-XML宣言を出力しない問題を修正しました。

-JSP暗黙オブジェクトの対応を追加修正しました。

-JSPカスタムタグの属性に式を指定したとき、その式の例外をキャッチして食いつぶしていたところを、
  キャッチしないようにして、例外がそのまま伝播するように修正しました。

-------------------------------------------------------------------
変更点 0.9.7 -> 0.9.7.1

- ネットワークに接続していないPC上で動作させると、web.xmlのDTD解決のために
   sun.comへ接続しようとして失敗し、動作しないという問題の回避策を行いました。

-------------------------------------------------------------------
変更点 0.9.6 -> 0.9.7

- 「/*」などのパスパターンにMayaaサーブレットがマッピングされている際の、
  ウェルカムファイルアクセスに対するパス解決機能を追加しました。

-Cactusの使用をやめ、関連Jarをプロジェクトから取り除きました。

-.mayaaファイル中にネストしたタグインジェクションを記述した場合の挙動について
 細かなバグを修正しました。

-ComponentPageProcessorがテンプレートボディを2度出力してしまう場合がある
 バグについて修正しました。

-SVNリポジトリに移動しました。https://www.seasar.org/svn/sandbox/mayaa/trunk
 がリポジトリURLとなります。

-idによるインジェクションを行う際に、/mayaa/*[@m:id='message']のように、2層目のみの
 idを検索するXPathから、/mayaa//*[@m:id='message']とn層目のidも検索するようにしました。

-PropertyDefinitionのサービスメソッドを変更しました。プロパティ設定をPropertyDefinition
 に委譲するように設計されていたものを、PropertyDefinitionはあくまでファクトリとして動作し、
 ProcessorDefinition内で設定処理を行うようにしました。

-独自の例外の基底をMayaaExceptionとしました。このMayaaExceptionは、
 同一パッケージにあるmessage.propertiesより、完全修飾型名をキーに
 メッセージを取得する機能のみが実装されています。

-ページ描画途中に例外発生した際、コンテキストバッファをクリアしてなかったために、
 途中まで描画された後に例外ページの書き出しを行っていました。例外処理の中で
 コンテキストバッファをクリアすることにより、この問題に対応しました。

-依存するJaxenのバージョンを1.1-beta7に変更しました。

-名前空間URIを、http://www.seasar.org/mayaa から http://mayaa.seasar.org に変更しました。

-------------------------------------------------------------------
変更点 0.9.5 -> 0.9.6

-XPathインジェクション機能が追加されました。
    <html>
      <body>
        <div class="box">テンプレート上のダミー文字列</div>
      </body>
    </html>
  上記のような特別にMayaa用途としていないHTMLに対して、
    <?xml version="1.0"?>
    <m:mayaa xmlns:m="http://www.seasar.org/mayaa"
            xmlns:c="http://java.sun.com/jstl/core_rt">
      <c:out c:value="こんにちは" m:rendered="true"
            m:xpath="//div[@class='box']"/>
    </m:mayaa>
  このように、m:xpath属性によりインジェクション内容を指定することができます。

-OGNLライブラリのバージョンを、OGNL3.0-pre2よりOGNL2.6.7に変更しました。
  これは、他のOGNL利用フレームワーク（Seasar2やWebWork2など）と併用する際の
  便利を考えての変更です。

-標準のMayaaServletはimplパッケージに移動しました

-commons-poolライブラリに依存しないようになりました。

- .mayaaファイルにおいて、ノードの閉じタグやネスト構造の書き方によって挙動が変わっ
  ていた問題を解決しました。

-URLに対応して、HTMLテンプレートファイルを探す方法は以下の通りにしました。
  /foo/baa/index.htmlをリクエストされたとき、以下の順に探します。
    -- [コンテキストルート]/WEB-INF/foo/baa/index.html
    -- [コンテキストルート]/foo/baa/index.html
    -- foo.baaパッケージのリソース、index.html
    -- クラスパス中のJarの、/META-INF/foo/baa/index.html
  この機構は全部org.seasar.mayaa.impl.source.*に実装されています。また、Jarのエントリ
  検索結果はキャッシュするようにしました。

- MLD仕様を導入しました。テンプレートプロセッサのインジェクションにおいて、設定ノード
  からの変換方法を記述した、設定XMLを用います。JSPのTLDに類似します。この仕様
  変更に伴い、テンプレートプロセッサリゾルバが廃止されました。

- ServiceProviderの変更。/WEB-INF/mayaa.conf ファイルによって、ServiceProviderが
  初期化されるように仕様変更しました。結果、インジェクションリゾルバや式リゾルバなどの
  ユーザーによるカスタマイズの登録が、これまでのコードによるものではなく、mayaa.confの
  XML記述となりました。

- ダイナミックなタグ出力のため、テンプレートやMayaaファイルに直接、Elementプロセッサを
  記述できるようにしました（m:element をインジェクトする）。また、属性はAttributeプロセ
  ッサ（m:attribute）によって動的な追加が行えます。

- JSPカスタムタグライブラリも、MLD仕様下にてコントロールされるようになりました。

- テンプレート上のノードから、インジェクションした結果ノードに、名前空間のマッピング情報
  （NodeNamespace）をコピーするインジェクションレゾルバ（NamespacesSetter）をレゾルバ
  チェーンのはじめに入れました。結果、リゾルバAPIがシンプルになっています。

- その他、APIおよび実装について、多くの変更が生じました。

-------------------------------------------------------------------
変更点 0.9.4 -> 0.9.5

・ パース時の名前空間の取り扱いの仕様に変更を行いました。骨子は以下のとおりです。
  -属性の名前空間が省略されたときには、ノードの名前空間で補完するようにしました。
  -TagProcessorResolverでは、インジェクトされるTLDを指定した名前空間URIによって
    定義されている属性をタグに設定するようにしました。
  -{MAYA_URI}mayaaIDは、{MAYA_URI}idと改名。
  -{MAYA_URI}mayaaPathは、{MAYA_URI}xpathと改名。
  -{MAYA_URI}replaceは、{MAYA_URI}renderedと改名し値の意味をtrue-false逆転

・ XPathによってノードを検索する機能を追加しました。

既知の問題 0.9.5：

・ XPathによって設定XMLのノードの検索はOKですが、テンプレートのノードを検索する際に
  名前空間の問題から、直感的にXPath式文字列記述したものがヒットしません。

-------------------------------------------------------------------
変更点 0.9.3 -> 0.9.4

・ Removeマジックカスタムタグを廃止しました。Ifタグを利用ください。

・ 設定XMLにノード記述する際に、ネスト構造を許すようにしました。たとえば以下の例です。
  <?xml version="1.0" encoding="Shift_JIS"?>
  <mayaa xmlns:c="http://www.seasar.org/mayaa/jstl/core">
     <c:out mayaaID="message" value="${ helloModel.greeting }">
       <doBody/>
       <c:out value="ごきげんいかが？"/>
     </c:out>
  </mayaa>
  mayaaIDを持つノードの下に、doBodyとc:outノードがネストしています。

・ 名前空間プレフィックス「m」をxmlns:m="***"と上書きしない限り、
  「http://www.seasar.org/mayaa」と記述が省略されても自動的に解決するようにしました。

・ ImplicitPage関連のプロセッサおよびレゾルバ群をstandardよりimplに移動しました。

・ OutProcessorにおいて、doStartProcess()でBodyTag.EVAL_BODY_BUFFEREDを
  返すべきところを、Tag.EVAL_BODY_INCLUDEを返していたというバグを修正しました。

・ MayaaContextを廃止して、PageContextに一本化しました。

・ JSPカスタムタグのプーリング方法を変更し、release()を仕様どおりに実装していない
  カスタムタグも動作するように対応しました。

・ OGNLエンジンをプーリングしていたために発生していたスレッドセーフ性への障害を対応
  しました。

・ テンプレートのモデルをツリーウォークできるように、オリジナルの構造を保持するように
  テンプレートビルダーの仕組みを実装しなおしました。ProcessorResolverで、この
  オリジナル構造を参照しつつ、プロセッサの解決を行うようにしています。

・ InjectionResolverが新規追加されました。このレゾルバは、テンプレートの構造をツリー
  ウォークし、設定XMLへの照会とinject属性の処理などを行いつつ、プロセッサ解決前
  のプリプロセスを行う仕組みです。

・ 各レゾルバに、Servletフィルタに似たチェーン制御機能を追加しました。この機能追加に
  より、モノリシックに実装されていたビルダの諸機能をレゾルバにアダプター化して出すことが
  できました。

・ engineSettingをデフォルト設定XMLに書くのを改め、すべてサーブレットのInitパラメータ
  に記述するように変更しました。

-------------------------------------------------------------------
変更点 0.9.2 -> 0.9.3

・ テンプレートおよび各設定ファイルに設定したモデルオブジェクトを式で参照する際に、
  直接プロパティもしくはメソッド名を記述-解決するようになりました。

・ ApplicationContextをServiceProvider、TemplateContextをMayaaContextに
  名前変更しました。

・ CompositeExpressionResolver、CompositeProcessorResolver、
  CompositeErrorHandlerへレゾルバやハンドラを追加した際、いままでLIFOであった
  ものを、FIFOに変更しました。

・ StandardServiceProviderFactoryを追加しました。

・ ライフタイムイベントで、初発のbeforeRenderが発生しない問題を修正しました。

・ 設定XMLに書かれたノードがidで引いてきたとき、ProcessorResolverでオリジナル
  のQNameが取れないという問題を修正しました。

・ 例外をページ表示するために、StackTraceElementsProcessorと
  BeanPropertiesProcessorを追加しました。

・ テンプレート上のmayaaIDもしくはidの値によるノード参照が解決できないとき、例外
  を投げるように変更しました。

・ テンプレートビルド時の例外で、行番号とカラム番号を取得できるようにしました。

・ 設定XMLおよびテンプレートの属性値にエンティティが記述され、そのまま出力される
  場合において、文字化けしていた問題を修正しました。

-------------------------------------------------------------------
変更点 0.9.1 -> 0.9.2

・ JSP互換モードを廃止しました。

・ パースが途中で失敗した際に、再度アクセスすると中途半端な画面出力をして
  しまうバグを修正しました。

・ テンプレートおよび各設定ファイルにそれぞれモデルオブジェクトを設定する機能を
  追加しました。

・ テンプレートおよびページ、エンジンの各層ごとに描画前および後に指定された
  式言語を実行する機能を設けました。

・ モデルオブジェクトの機能および描画イベントの機能の追加に伴い、useBean
  およびactionマジックカスタムタグは廃止しました。

既知の問題 0.9.2：

・ 設定XMLおよびテンプレートの「属性値」にエンティティが記述された際に、そのまま
  出力される場合に文字化けの原因となることがあります。

-------------------------------------------------------------------
変更点 0.9.0 -> 0.9.1

・ 名前空間の考え方を改め、名前空間の指定の無いノードは適宜補って動作
  するようにアーキテクチャの変更を行いました。

・ 名前空間の仕様変更に伴い、NodeResolverが廃止しました。

・ 名前空間の仕様変更に伴い、tagマジックカスタムタグおよびtaglibマジックカスタム
  タグ、bindingマジックカスタムタグを廃止しました。tagに変わって、名前空間指定
  「xmlns」にTLDのURIを指定する方式になっています。

・ ノードIDの指定を、設定XML上では「mayaaID」、HTMLテンプレート上では、
  「m:mayaaID」もしくは「id」とするようにしました。この変更に伴い、テンプレート上
  でidを式で自動生成したり、記述が出力されないように抑制することができる
  ようになります。

・ JSP互換モードを用意しました。既存のJSPを出来る限りすこしの手直しで
  Mayaa上で動作させる実験的な試みです（1.0ファイナルでは削除されるかも
  しれません）。

・ ExpressionContextを廃止して、TemplateContextと統合しました。

・ templateRoot設定を行ってもきちんと反映されないバグを修正しました。

・ テンプレート接尾辞のデフォルトを「_」から「$」に変更しました。

・ PageContextを内部生成するときに、booleanのエンジン設定値がきちんとわ
  たらないバグを修正しました。

・ 式の中でエンティティ解決がされていないというバグを修正しました。

・ エンジン設定を行っていた「engine」ノードは、「engineSetting」へと名前を変更
  しました。

・ attributeマジックカスタムタグによるImplicitPage（テンプレートカスタムタグ）へ
  パラメータを渡す機能の初期実装を完了しました。

・ TLDの登録について、web.xmlに定義する方法、Jarを直接指定する方法を
  実装しました。

・ TLDのパースにおいて、JSP1.2および2.0への対応を行いました。

・ TemplateErrorHandlerにおいて、該当例外名のテンプレートが見つからない場合、
  上位例外でテンプレートを探すようになりました。

-------------------------------------------------------------------
変更点 0.4.0 -> 0.9.0

・ テンプレートのタグもしくは設定XMLのエレメントに、m:replace="false"
  と指定を行うと、インジェクトホストのタグを出力します。

・ attributeマジックカスタムタグによるImplicitPage（テンプレートカスタムタグ）へ
  パラメータを渡す機能を実装しました。同時に、ImplicitPageを直接閲覧し
  た場合、リクエストパラメータを同じ式から解決するよう切り替える機能を実装
  しました。

・ テンプレートに記述した、Entityの解決と、DTDの出力、コメントの出力を
  実装しました。

・ テンプレートのテキストボディに改行を含む複数行にて式ブロックを記述された
  場合にも適切に動作するように修正しました。

・ TemplateResolverのAPIが簡素化されました。

・ TLD周りの実装を進め、JSP1.1相当機能については完了しました。

既知の問題 0.9.0：

・ attributeマジックカスタムタグ周辺の実装が未完成です。

・ JSP1.2および2.0への対応がまだ完了していません。

-------------------------------------------------------------------
変更点 0.3.0 -> 0.4.0

・ 式言語エンジンを刷新しました。新しいAPIは、org.seasar.mayaa.el.* です。
  デフォルトの実装としてOGNL3.0によるものを提供しています。また、式エンジンAPI
  を見直すことにより、将来の式エンジンの置き換えカスタマイズにも配慮してあります。

・上記の変更により、commons-elが削除されました。また、APIに含まれていた、
  JSR245相当のUnifiedELの実装を、一旦削除しました。

・ テンプレートによる例外ページ機能の実装が追加されました。TemplateErrorHandler
  です。このハンドラは、/context/WEB-INF/error/フォルダから発生した例外の名前が
  ついたテンプレートを探し、描画するものです。

・ Mayaaエンジンのエントリポイントとして、0.3.0で提供されたFilterを削除しました。
  フォワード時の挙動など、不具合が発生したためです。

・ 他のJSPや、Mayaaページ、サーブレット、コントローラーフレームワーク（Strutsなど）
  からフォワードされたときの描画について不具合が出ていた箇所を修正しました。

既知の問題 0.4.0：

・ attributeマジックカスタムタグによるImplicitPage（テンプレートカスタムタグ）への
  パラメータを渡す機能が未実装です。

・ TLD周りの実装をさらに進めているところです。

-------------------------------------------------------------------
変更点 0.2.0 -> 0.3.0

・ APIの例外取り扱いを検討し、復旧不能な例外についてはRuntimeExceptionを
  継承した例外にて取り扱うようにしました。

・ 例外処理機構がAPIに追加されました。

・ TagProcessorにおいて、TryCatchFinallyを実装したJSPカスタムタグに対応しました。

・ Mayaaエンジンのエントリポイントとして、従来のServletに加え、Filterとして動作する
  ものも用意しました。

・ テンプレート接尾辞のセパレータをアプリケーション設定項目としました。

・ .mayaaファイルを更新した際に、自動でテンプレートを再構築する機能が動作するよう
  になりました。

既知の問題 0.3.0：

・ attributeマジックカスタムタグによるImplicitPage（テンプレートカスタムタグ）への
  パラメータを渡す機能が未実装です。

-------------------------------------------------------------------
変更点 0.1.3 -> 0.2.0

・ 依存するcommons-beanutilsを1.7.0にバージョンアップして、commons-collections
  を削除しました。

・ ImplicitPage（テンプレートカスタムタグと呼んでいたもの）機能を実装しました。一部
  未実装部がありますが、簡単なサンプルは動作しています。

既知の問題 0.2.0：

・ attributeマジックカスタムタグによるImplicitPage（テンプレートカスタムタグ）への
  パラメータを渡す機能が未実装です。

・ .mayaaファイルを更新した際に、自動でテンプレートを再構築する機能が未完成です。

-------------------------------------------------------------------
変更点 0.1.2 -> 0.1.3

・ TLDパースにcommons-digesterを利用していたものを再構築し、digesterを外し
  ました。依存するJarライブラリを減らしました。同時に、JSP2.0以降のTLDで例外
  がスタックトレースされていた問題を修正しました。

・ ProcessorResolverのAPIが変更されました。これにより、リゾルバの作成が便利に
  なりました。しかし、まだUnstableなので、ご注意ください。将来バージョンでの変更
  の可能性があります。

既知の問題 0.1.3：

・ テンプレートカスタムタグの機能が未実装です。

・ .mayaaファイルを更新した際に、自動でテンプレートを再構築する機能が未完成です。

-------------------------------------------------------------------
変更点 0.1.1 -> 0.1.2

・ テンプレートや設定XMLをアプリケーション動作中に変更したときに、ダイナミックに再
  構築を行ってサービスを継続するようになりました。

・ 「xxx_ja.html」のようにsuffix固定のリクエストが行われた際の処理をきちんと行うよ
   うに修正しました。

・ ページ出力のエンコードをテンプレート中の指定で解決するように修正しました。

既知の問題 0.1.2：

・ テンプレートカスタムタグの機能が未実装です。

・ TLD読み込み時に、JSP2.0以降のTLDで例外が発生し、標準出力に例外のスタッ
  クトレースが出力されます。

-------------------------------------------------------------------
変更点 0.1.0 -> 0.1.1

・ APIの範囲を見直し、Mayaaのコア機能と、Standard機能を分離しました。Mayaaのコア
   機能は、src-apiフォルダおよびsrc-implフォルダに配置されるソースによって実装され、
   Standard機能は、src-standardフォルダに配置されています。

・ ネットワークに接続していないPC上で動作させると、TLDのDTD解決のためにsun.com
   に接続にいって失敗し、動作しないという問題の回避策を行いました。

・ テンプレートのエンコード解決の仕様を変更し、設定XML中のtemplateエレメントを
   廃止しました。特にテンプレートのファイルエンコーディングを指定しなくても、テンプレ
   ート中のMETAタグを見て、適切なエンコーディングで読み出します。これはNekoHTML
   パーサーの機能です。

既知の問題 0.1.1：

・ 現在のところ、ページ出力は「Shift_JIS」固定です。これはソース中で特にリテラルで
   固定的に指定してる暫定実装があるためです。

・ 未実装機能が多くあります。

-------------------------------------------------------------------
既知の問題 0.1.0：

・ ファーストバージョンのため、未実装機能が多くあります。
