<?xml version="1.0" encoding="Shift_JIS" ?>

<document>

 <properties>
  <title>Velocity Changes</title>
  <author email="jon@latchkey.com">Jon S. Stevens</author>
  <translator>熊坂祐二</translator>
  <translator>高橋達男</translator>
  <original>changes</original>
 </properties>

<body>

<section name="Velocity Changes">

<p>
   この文書は、Velocityの各リリース間の変更点を記録するものです。
</p>

<subsection name="1.2">
<p>
1.2は2001年12月9日にリリースされました。
</p>
</subsection>

<subsection name="1.2-rc3">
<p>
このセクションは、1.2-rc3のリリース後にVEL_1_2_BRANCH
への変更点について説明しています。
1.2-rc3は、コミュニティ内のちょっとしたチェックのために
2001年11月7日にリリースされました。
1.2に向けた最後のRelease Candidateの予定です。
</p>

<ul>
  <li>
    invokeVelocimacro()向けにVelocity.javaとVelocityEngine.javaを修正。
    (何ヶ月か前の)最後のメジャーなVM変更でおかしくなったようだが、
    誰も気がつかなかった。(gmj)
  </li>
  <li>
   新しいno-dep JARについての注意書きを追加。(gmj)
  </li>
</ul>

</subsection>

<subsection name="1.2-rc2">
<p>
このセクションでは、VEL_1_2_BRANCHへの変更点について説明します。
1.2−rc2は1.2-rc1の管理上の修正(ファイルが壊れていた)のために、
2001年10月18日にリリースされました。
<ul>
  <li>
    1.3で「丸括弧が消える問題」とちょっとしたバグの修正を後方移植。(gmj)
  </li>
  <li>
    オートリロードの無限ループとローカルスコープ干渉のバグ修正を後方移植。(gmj )
  </li>
  <li>
    Texenパッチ(Stephane Bailliez)と、関連する修正(jvzとdlr)を後方移植。(gmj)
  </li>
  <li>
    デフォルトでは、ビルドターゲットにVelocityのJARファイルへの外部依存を
    含まないように変更。(gmj)
   </li>
</ul>

</p>

</subsection>


<subsection name="1.2-rc1"> 
<p> 
このセクションは、1.2-rc1 リリースの後、VEL_1_2_BRANCH
への変更点について説明しています。
</p> 

<ul> 
  <li>
    LogSystem の修正。 AND すべきところを OR していた。
    Matt Gould (mpg@mpgsoftware.com) による報告。(gmj) 
   </li> 
   <li> 
    "getting started"のドキュメントのパッチ。
    Yuji Kumasaka (kumasaka@mms.intec.co.jp) による報告。(gmj) 
   </li> 
   <li> 
     AnakiaTaskで、Xerces を指定せず、
     JDOM がパーサを見つけるように変更。(gmj) 
   </li> 
   <li>
      Jim Mackraz (jim@mackraz.com) による バグ #4256 の報告を元に、
      DLR がチェック・修正した変更。 (gmj)
   </li> 
</ul> 

</subsection> 

<subsection name="1.2-dev">
<p>このセクションでは、1.1 のリリース後のメインブランチへの変更点について説明します。
このバージョンはその後、 CVS で VEL_1_2_BRANCH として分岐して、
2001年9月26日に v1.2-rc1 としてリリースされました。
</p>
 
<ul>
  <li>
    レンダリング時に最後に加えられたものが利用できることを確実にするために、
    AbstractContextがEventCartridgesを「ロールフォワード」するように修正(gmj)
  </li>
  <li>
    jar-src ターゲットと docs ターゲットに関して開発者ドキュメントへの小さい変更点。(gmj)
  </li>
  <li>
    以下のような、間違ってはいないけれど変な使い方をサポートするための
    AND と OR ノードへの小さい変更。
    #set( $foo = ($woog || $bar ) ) (gmj)
  </li>
  <li>
    Parserの文字ストリームへの大きな変更 - もはや、javaccが生成した
    ASCII 8ビット文字ストリームであるstockは使えなくなり、Unicode
    の「カスタム」文字ストリームを使わなければならない。これによって、
    16ビット文字で運悪く下位バイトに0a, 0dが来た場合の不具合が解決する。(gmj)
  </li>
 <li>
    Ilkka Priha, Michael Zhou, Vitaly Repetenko によるエンコーディングテストの
    テンプレートの追加。感謝。 (gmj)
  </li>
  <li>
    Texen の Generator.javaでfileWriterキャッシュをクリアするように修正(Russel Edens)
    (JSS)
  </li>
  <li>
     (local.scopeで)ネームスペース使用時に VMネームスペースのダンプが発生しないように
     VMシステムを修正。 (gmj)
  </li>
  <li>
    Velocimacro に引数として渡される参照以外の実体 [定数など] が、
    そのままの形で正しく出力されるように Velocimacro システムを修正。
    DLR と Paulo に感謝。(gmj)
  </li>
  <li>
    Robert Burrell Donkin による StringUtils の更新 (gmj)
  </li>
  <li>
    #parse()とVMからのMethodInvocationException伝搬をさらに伝搬する処理を追加。
    Michael Salmon に対してこの点で感謝。(gmj)
  </li>
  <li>
    完璧にするためにVelocityクラスへのログインタフェースの追加 (gmj)
  </li>
  <li>
    任意のファイルを変換するためのWebMacro 変換ツールへの
    Michael Salmon によるパッチ。(gmj)
  </li>
  <li>
     アプリケーションレベルでキャッチすることができるように、TokenManagerErrorを
     ParserException としてThrowするようにした。(Tim Joyceによる提案)(gmj)
  </li>
  <li>
    ObjectArray と IntegerRangeがどこでも正しく動作するようにパーサを少し修正(gmj)
  </li>
  <li>
     テストプロバイダのための速度最適化(dlr)
  </li>
  <li>
    デバッグ時により例外を分かりやすく解釈できるように、
    MethodInvocationExceptionメッセージを拡張(Conor MacNeillの提案)。(gmj)
  </li>
  <li>
    テンプレートやリソースがファイルベースでなくストリームベースの場合、
    #parse/#includeで使用する親の"parent template"エンコーディングがなくなることがあるので、
    #parse() と #include() をちょっと修正し、実行時のデフォルトを使用するようにした。
    Dan Finkelstein によるバグの発見に感謝。(gmj)
  </li>
  <li>
    時間ベースのキャッシュが有効なときに、変更後のテンプレートのリフレッシュで、
    ロードを2回しないといけないという問題に関する、Andreas Wikberger
    による報告と問題の修正(それにパッチも!)。(gmj)
  </li>
  <li>
    log4j アダプタを 1.1.x 互換にするよう更新し、それに合わせて
    build/lib のJARファイルを更新。 (gmj)
  </li>
  <li>
    ライブラリが見つからないか、空文字列のときに、恐ろしいメッセージが
    出力されないように変更(Tal Dayan による提案)。(gmj)
  </li>
  <li>
     VelocityFormatterの自動オルタネータ機能の追加(dlr)
  </li>
  <li> 
    別のランタイムインスタンスをサポートするようにVelocityを修正し、
    アプリケーションサポートクラスである
    org.apache.velocity.app.VelocityEngineを追加(gmj)
  </li>
  <li>
    build/libのJUnitを3.7に更新 (gmj) 
  </li> 
  <li>
    Anakia での XPath のサポートを改善する、Attila Szegediからのパッチのチェックイン。
    これらは、以前のバージョンと完全に後方互換である。(jss)
  </li>
  <li>
    Ant を使ったbuild/test.sh お便利スクリプトの修正。(jss)
  </li>
  <li>
    Attila Szegedi(szegedia@freemail.hu)によるIntrospectorの修正
    - 内部クラスへのアクセスとdefaultまたはprivateのファサードに対するpublic
    インタフェースに関連した問題を解決。(gmj)
  </li>
  <li>
    VMシステムに新規の自動リロード機能の追加 - VM グローバル
    ライブラリは利用時に自動的にリロードする。詳細については開発者ガイドの
   「設定」セクションを参照。(gmj)
  </li>
  <li>
    ロギング変更: 必要としない優良なlog4jユーザをサポートするために、
    RuntimeInstanceからロガー実装にプレフィクスを移動。
    これとともに別のランタイムインスタンスをサポートするためにExternalLoggerTestを変更。
    Jeroen C. van Gelderen によるlog4j アダプタのサポートも必要だった。
    また、LogSystem.init() がException を投げるようになった。 (gmj)
   </li>
   <li> 
    また、AvalonLogSystemに、既存の階層からロガーを名前で指定
    するだけで変更できるスイッチを追加。Carsten Ziegeler (gmj)
   </li>
   <li> 
    Texenの強化 - JARにあるテンブレートリソースを使用できるようにした。 (jvz)
   </li>
   <li>
     #parse()や#include()で各種VelocityException
     (ResourceNotFoundException, ParceErrorException, MethodInvocationException)
     を適宜伝播できるようにした。 (gmj)
   </li>
   <li>
      通常参照をVM内で渡せるように修正。(gmj)
   </li>
   <li>
      クラスローダーの変更が検出された場合にキャッシュのダンプができるように
      Introspectorを修正(Attila Szegedi と Paulo Gaspar による)。(gmj)
   </li>
   <li>
      クラスローダー変更時にダンプされたIntrospector
      によるキャッシュをチェックするように検証テストケースを追加(gmj)
   </li>
   <li>
      PrimordialLogSystemを追加し、それを使うためにRuntimeInstanceを変更。(gmj)
   </li>
   <li>
      ASTRefernce表記を少し修正。(gmj)
   </li>
   <li>
      Texenの強化 - 複数のプロパティファイルを指定できるようにした。(jvz)
   </li> 
</ul>
</subsection>

<subsection name="1.1-rc2">
<p>
このセクションでは、1.1-rc2リリース後のVEL_1_1_BRANCH
への変更を説明します。これは、2001年6月16日にv1.1として
リリースされました。
</p>

<ul>
 <li>
   TexenのGenerator.javaのfileWriterキャッシュをクリアするように更新
   (Russel Edensによる)。(JSS)
 </li>
</ul>

</subsection>

<subsection name="1.1-rc1">
<p>
このセクションでは、1.1-rc1のリリース後のVEL_1_1_BRANCH
への変更を説明します。これは、2001年6月2日にv1.1-rc2として
リリースされました。
</p>

<ul>
  <li>
    AbstractContextで最後に変更されたEventCartridges
    を、レンダリング時に確実に使えるように「ロールフォワード」するように修正。(gmj)
  </li>
  <li>
    jar-srcターゲットとdocsターゲットに関する開発者ドキュメントを少し変更。（gmj）
  </li>
  <li>
    #set( $foo = ($woog || $bar ) )のような、間違ってないが変な使い方を
    サポートするように、AND と OR ノードを少し変更。(gmj)
  </li>
  <li>
    Parserの文字ストリームへの大きな変更 - もはや、javaccが生成した
    ASCII 8ビット文字ストリームであるstockは使えなくなり、Unicode
    の「カスタム」文字ストリームを使わなければならない。これによって、
    16ビット文字で運悪く下位バイトに0a, 0dが来た場合の不具合が解決する。(gmj)
  </li>
  <li>
    Ilkka Priha, Michael Zhou, Vitaly Repetenko によるエンコーディングテストの
    テンプレートの追加。ありがとう。 (gmj)
  </li>
</ul>
</subsection>

<subsection name="1.1-dev">
<p>
このセクションは、1.0.1のリリース後のメインブランチへの変更について説明します。
その後、CVSでVEL_1_1_BRANCHとして分岐して、2001年5月20日にv1.1-rc1としてリリースされました。
</p>

<ul>
  <li>
    利用者にAntを「インストール」してもらえるように、
    build.sh と build.bat スクリプトを削除。
  </li>
  <li> 
    Kent他の変更点、および私の変更点をVelocityServletに追加。
    基本的変更点は、handleRequest()がreq、resp、ctxを引数に取るようにしたことと、
    requestが処理されていることを示すためにnullを返せるようにしたこと。(gmj)
  </li>
  <li>
    (入力ソースの)テンプレートで代替エンコーディングのサポートを追加。
    これは(入出力の)2つのプロパティで制御でき、UTF-8でテストされた。
    UTF-8はすごい。他はありえない :)。 あとテストケースを追加 (gmj)
  </li>
  <li>
    何箇所かで、メソッド例外に対してMethodInvocationExceptions
    が正しく発生しなかった問題の修正。今はちゃんと動いている模様。（gmj）
  </li>
  <li>
    build.xmlでサンプルをビルドするためのclasspathで必要な部分を含むように修正を追加
    (Charles Bennetから)。(gmj)
  </li>
  <li>
    ASTのためのパフォーマンス改善の追加、大半はKent Johnsonのおかげで、それに加えて
    ConfigureationとResourceManagerも提案してくれた。(gmj)
  </li>
 <li>
    MethodInvocationException群がもっと面白くなった : 
    #set()の左辺は例外をなげる可能性があったが、正しく扱うことができなかった。(gmj)
  </li>
  <li>
    EventCartridge サポート。ドキュメントを参照 :) (gmj)
  </li>
  <li>
    ドキュメント : 基本的なEventCartridgeの説明。 (gmj)
  </li>
  <li>
    テンプレート用のrequest固有のエンコーディング仕様を追加。(gmj)
  </li>
  <li>
    Tim Joyceによる、Method Exception の伝搬と例外イベント処理の追加。(gmj)
  </li>
  <li>
    Kaspar Nielsenによる、ASTDirectiveとIncludeに関するパフォーマンスパッチ。(gmj)
  </li>
  <li>
    Robert Burrell Donkin による、Texenが例外を全てthrowするようにする
    Texen パッチと、javadocをいくつか。(gmj)
  </li>
  <li>
    非常に喝采を浴び、怖れられた、#$foo, $$foo, #$#$foofoo 
    などのバグの修正 (gmj)
  </li>
  <li>
    Servletがはじめてのユーザを手助けするServlet
    サンプル用に自動コンフィグサポートの追加と、
    Tomcatを見つけてWebアプリケーションをセットアップすきるように、
    ちょっとしたREADMEの追加。(gmj)
  </li>
  <li>
    VelocityServletとそれに対応するVelocityWriteリサイクルでの出力ストリームの
    .close()の削除。(gmj) 
  </li>
  <li>
     Velocity Configuration クラス(現在は非推奨)から、
     Jakarta Commons コレクションコンポーネントの ExtendedPropertiesクラスへの
     変換(Velocity由来のもので、名前を変更)。
     結果として、Configurationが非推奨になったのと、org.apache.velocity.app.Velocity
     のメソッドの一つが非推奨になった以外は変更はないはず。(gmj)
  </li>
  <li>
     Antベースのビルドに明示的に移行するため、build/build.sh、build/build.bat、
     build/lib/ant*.jar を削除。 (jss)
  </li>
  <li>
     通常の"path"設定キーを使うようにJarResourceLoaderを変更し、
     JARテストをMultiLoaderTestCaseに追加(gmj)
  </li>
  <li>
    WM 変換ツールでの regexp の更新(dlr)
  </li>
  <li>
    EventHander テストケースとサンプルの追加と
    余分だったNullReferenceEventHanderの削除(gmj)
  </li>
  <li>
    すべてのイベント関連の処理を org.apache.velocity.app.event
    パッケージへ移動し、それに依存するすべてを更新し、
    public イベントインタフェースをサポートするようにコンテキスト関連を修正。
　  同時に、NULLをセットするメソッドの名前を適切なものに変更し、
    メソッドに引数を追加。 (gmj)
  </li>
  <li>
    ResourceManagerの"resource found"メッセージを
    表示しないようにするスイッチを追加。デフォルトはON。キーは
    "resource.manager.logwhenfound" (gmj)
  </li>

</ul>
</subsection>

<subsection name="1.0.1-dev">
<p>
2001年4月10日にv1.0.1-rc1としてリリースされました。
</p>
<p>
rc1以降の変更点はありません。
2001年4月22日にv1.0.1としてリリースされました。
</p>

<ul>
  <li> 
    ASTGENode.java で 右辺または左辺が、null、int、Integerでない場合に
    NullPointerExceptionをキャッチするように少し変更。(gmj)
  </li>
  <li>
    forumdemoをビルドした後にクリーンアップするように、
    examples-clean-forumdemo ターゲットを build.xml に追加。(JSS)
  </li>
  <li> 
    左辺がfalse の場合にショートカットし、右辺または左辺が
    nullのときにエラーをログに記録するように、ASTAndNode.javaをちょっと修正。(gmj)
  </li>
  <li> 
    右辺または左辺がnullの場合にNullPointerExceptionをキャッチするように、
    ASTGTNode.java をちょっと修正。(gmj)
  </li>
  <li> 
    ドキュメント : coding-standards.xmlでのライセンス説明の変更。(gmj)
  </li>
  <li> 
    "throws Exception" を VelocityServlet.ajva のhandleRequest()に追加。
    (Christoph Reckの提案)(gmj)
  </li>
  <li> 
    Kent Johnsonによる提案で、README.txt と examples/README.txt を更新。(gmj)
  </li>
  <li> 
    #forwach()で妥当な反復タイプとしてEnumeratorを追加 - 
    ドキュメントにも、これを使うことを促す注意書きを追加。(gmj)
  </li>
  <li> 
    AvalonLogSystem()に標準出力に出力されるように警告処理を追加。(gmj)
  </li>
  <li> 
    すべての比較ノードを完了(NullPointerException 防止とロギング)し、全てをテストするように、
    logical.vm テストテンプレートを強化。(gmj)
  </li>
  <li> 
    xmlapp_exampleをサンプルに追加し、サンプルにビルドターゲットを追加。
    whiteboardから移動。(gmj)
  </li>

</ul>

</subsection>
<subsection name="1.0b3">
<p>
2001年4月2日にバージョン1.0としてリリースされました。
</p>

<ul>
   <li>
        ドキュメント: VTLリファレンスガイドの #if 文を修正。
        Joaquim Carvalho の発見に感謝。(JSS)
   </li>
   <li>
        ドキュメント: 目次を生成するユーザガイドのHTMLを、適切な順序で数字が
        出力されるように修正。(JSS)
   </li>
   <li>
       org.apache.velocity.exceptionパッケージで、
       アプリケーションレベルの例外のための共通ベースクラスを追加。
       Kyle Downey の提案に感謝。(gmj)
    </li>
    <li>
       internalXXXメソッドのうちでどれが必要か明確になるように、
       org.apache.velocity.context.AbstractContextにjavadocを追加。
       Joshua Levyの提案に感謝。(gmj)
    </li>
    <li>
       internalXXX メソッドのいくつかがスタブになっている理由を明確にするために、
       examples/context_example/DBContext.java に javadocとライセンスを追加。(gmj)
    </li>
    <li>
       ドキュメント: VMプロパティの明確化とVM宣言と使用順番の注意をユーザガイドに追加。(gmj)
    </li>
    <li>
       Fixed HttpServletRequestWrap.java の修正 - getInputStream()が
       ラップされたHttpServletRequestのメソッドを呼び出していなかった。
       Shahar Solomianik に感謝。(gmj)
    </li>
    <li>
       build.xml ファイルから build.compiler を削除。(JSS)
    </li>
    <li>
       jonによって見つけられた問題の修正。高い並列度でパーサプールが空になってしまい、
       リソースアクセスエラーと言う形に姿を変えるという、
       望ましくない結果になっていた。現在はよくなっている模様。
       単純な修正なのでリスクは小さい。(gmj)
    </li>
    <li>
       高並列度の負荷向けにVelocity設定を調整ができるように設定パラメータとして、
       <code>parser.pool.size</code>を追加。(gmj)
    </li>
    <li>
       ドキュメント : 開発者ガイド - カスタムログを作成するための情報/サンプル、
       それにリソースローダーのドキュメント化作業を開始。(gmj)
     </li>
     <li>
       InternalContextAdapterImpl.java でのデバッグ時の意味不明な部分の削除(gmj)
     </li>
     <li>
       テンプレートをキャッシュしないparse()の反復呼び出しにおいて、
       再帰キャッシュデータを蓄積しないようにするための、John McNally
       によるTexenのGenerator.javaへののパッチをコミット。(gmj)
     </li>
     <li>
       ドキュメント: ある特定の場合のContext情報と、
       開発者ガイドにVelとXMLについてのセクションを追加。(gmj)
      </li>
</ul>

</subsection>

<subsection name="1.0b2">

<p>
   2001年3月26日にVersion 1.0β2としてリリースされました。
</p>

<ul> 
    <li>
        配布のすべてのテキストファイルの改行コードをCRLFに変更。(JSS)
    </li>
    <li>
        リリースをパッケージ化する際に、正しいディレクトリ構造にするように修正。(JSS)
    </li>
    <li>
         'include'サポートをConfigurationに再度追加(JVZ)
    </li>
    <li>
         reference 引数が null のときの VMProxy バグ修正(#1074) (gmj)
    </li>
    <li>
         ResourceManagerでのキャッシュリフレッシュ時のnullポインタ問題の修正
         (Ilkka Prihaによる報告) (gmj)
    </li>
    <li>
         また、VelocityServletが「default.contentType」プロパティを優先するようになっている。
         VelServletでの「request process」の再作業の間に起こったと思われる。
         (csterg@aias.grによる報告)(gmj)
    </li>
    <li>
        特定の文字列でなく、正規的(canonical)なテンプレートファイルパスを使うように、
        AnakiaTaskとTexenTaskを変更。あまり頑張らなくてもいいようにするため。
        同じ理由で、testcases.xmlにfailonerrorを追加。(gmj)
    </li>
    <li>
        Samの提案で、BaseTestCaseを使ったtestbedで、実際の結果と予想結果とを比較する際に、
        \n[\r]を正規化するようにした。(gmj)
    </li>
    <li>
        Generator.javaでimport文を修飾された形式に変更。TexenTestCase.javaで、
        自動booleanマッピングのテストを追加。contextProperties
        オプションと一緒に使用されるプロパティ用にTexenにデフォルトのboolean
        マッピングを追加。Configuration.javaでboolean値の変数を使用可能にし、
        testbedの関連するテンプレートも変更。TexenTask.javaで
        コンテキストへのデフォルトオブジェクトを追加。(JVZ)
     </li>
     <li>
        Configuration.javaへのドキュメント変更 (DLR)
     </li>
     <li>
        スタックトレースをもっと役立つようにするために、ASTMethodの
        MethodInvocationExceptionメッセージを増やした - 
        Trubineメーリングリストのあるスレッドから注意があったので。(gmj)
     </li>
     <li>
        powerd by ロゴを追加。 xdocs/images/powered-by-logo.psd、
        powered-by-logo.gifを参照。 (JSS)
     </li>
     <li>
        Configurationクラスの内部を変更した。具体的には
        setProperty(K,V)でKの値をVに置き換えるようにし、
        addProperty(K,V)が以前のsetProperty(K,V)の動作をするようにした。
        以前のsetProperty(K,V)の動作としては、もしKに何か格納されていたら、
        VがVectorに追加される。もしKに何も格納されていなければ、
        Vがそのまま追加される。setProperty(K,V)は基本的に、
        clearProperty(K)/addProperty(K,V)の短縮形式である。同時に
        setConfiguration(C)を追加し、Velocityを使うアプリケーションが、
        C.subset(velocityProps)でアプリケーション設定の一部を容易に取得できるようにし、
        Velocityの設定全体を一度にセットできるようにした。
        この方法で、VelocityサービスはTurbineで動作している。(JVZ)
     </li>
     <li>
       Runtime/VelocityクラスにaddProperty(K,V)のサポートを追加。(JVZ)
     </li>
       
     <li>
       Runtime/VelocityクラスでsetConfigurationの追加(JVZ)
     </li>
     
     <li>
        build.batがWin98で動くことを確認し、それとともに
        build.batが生成するclasspathとbuild.shが生成するclasspath
        を同じにした。(JSS)
     </li>
</ul>
</subsection>

<subsection name="1.0b1">
<ul>
    <li>
        初期リリース。
    </li>
</ul>
</subsection>

</section>

</body>
</document>
