daruma-20100525:

  ○ スタンドアローン版で、クライアントから応答が無かった場合のタイムアウト
     処理を行なうようにした。
     クライアントからの入力が一定時間以上なかった場合には自動切断を行う。

     タイムアウト時間は、daruma.properties ファイル中の以下を書き換えることで
     指定できる。値はミリ秒で指定し、タイムアウト時間に 0 が指定された場合は
     タイムアウトを行わない。

       daruma.net.timeout_msec = 300000

     なお、この設定はスタンドアローン版でのみ有効である。
     HTTP 版の場合は、この設定ではなくサーブレットコンテナ側の設定にて
     タイムアウトの指定を行う必要がある。

  ○ 自動テスト時に xmllint, darumaClient が無い場合のエラーをファイルではなく
     標準エラー出力に出すようにし、終了するようにした。
     また、MISP サーバに接続できない場合にもその旨を表示し、終了するようにした。

  ○ いくつかのテストを無効化した。


daruma-20100512:

  ○ プロパティが省略されたフィーチャーを指定する述語に対応した。
     以下のようにして記述する。

      <Filter>
        <PropertyIsNull>
          <PropertyName>SOME_PROPERTY</PropertyName>
        </PropertyIsNull>
      </Filter>

    サンプルが test/test-PropertyIsNull/ ディレクトリに入っています。


daruma-20100415:

  ○ 整数型の範囲制限に対応した。
     <simpleType>/<restrict>中で以下の XML Schema 要素を用いて範囲制限を行える。

        <minInclusive>
        <maxInclusive>
        <minExclusive>
        <maxExclusive>


daruma-20100324:

  ○ フィーチャー単位の認証のプロトタイプを仮実装した。
     サーブレットコンテナで認証されたユーザに対して allow/deny を記述できる。
     サンプルデータが test-devel/test-auth/ 以下にある。

     認証ルールに一つも該当しなかった場合のアクセス許可は本バージョンでは
     allow である。これは、daruma.properties ファイルの以下の行で変更できる。

       daruma.auth.default_rule = allow

  ○ xsd:choice で定義されている場所で、正しい選択肢以外の要素等を入れたときの
     エラーメッセージを修正した。

  ○ 座標系定義の読み込みを高速化

  ○ デフォルトエンコーディングが SJIS の JDK でもコンパイルできるよう修正した。

  ○ 使用しているライブラリを新しいバージョンに更新した。

        xerces-j 2.7.1 -> 2.9.1
        xalan-j  2.7.0 -> 2.7.1


daruma-20091209:

  ○ メモリリークのバグを修正した。
     このバグは daruma-20091008 から daruma-20091130 のリリースに存在する。

  ○ デバッグ用メモリ設定を追加した。
     接続ごとにフルガーベージコレクションを行うよう設定することができる。
     設定を行うには daruma.property ファイル中の以下のプロパティを true に
     変更する。
     パフォーマンス上の問題を引き起こすことがあるため、デバッグ用以外では
     使用しないで下さい。

	daruma.debug.do_full_gc = false


daruma-20091130:
  ○ mysql の最大接続数制限に関わる問題を修正した。
     これまでは、mysql の最大接続数を越える数の接続を扱えなかったのを、
     扱えるようにした。


daruma-20091125:

  ○ 座標インデックスのデフォルト値を変更した。この変更のため
     minOccurs="0" の座標型が使用できなくなっている。
     もし、minOccurs="0" の座標型を使用したい場合は、
     daruma.property ファイル中の以下の行を false に設定して下さい。

       daruma.geometry.create_geometry_index = true


daruma-20091113:

  ○ RegisterFeatureType 中の型指定で、存在しない型を指定された場合に
     エラー文書をきちんと返せていなかったバグを修正した。


daruma-20091008:

  ○ --debug オプションでデバッグログを吐き出すようにした。

  ○ Ctrl-C やシグナルで DaRuMa を止めたときに、明示的にコネクションの切断を
     行なうように変更した。

  ○ PointPropertyType のような特定のジオメトリしか保持しない型のチェックを
     厳密にするようにした。型の違う項目を Insert するときちんとエラーを
     返すようになった。

  ○ Update のチェックを厳密に行なうようになった。同名のプロパティが見つかった
     場合はエラーになるようにした。


daruma-20090924:

  ○ RegisterFeatureType と RegisterCoordinateSystemTransformation を
     実行したときに、TransactionID を更新するようにした。

  ○ GetCapabilities の返答に RegisterCoordinateSystemTransformation が
     含まれていなかったのを修正した。


daruma-20090915:

  ○ minOccurs="0" の場合の時刻、ジオメトリ型に関するバグを修正した。
     項目が省略されているときに GetFeature 時で取得するとタグのみで中身の無い
     形式的に正しくないデータを返してしまっていた。

  ○ MISP 仕様書中の GetFeature のデフォルトモード normal が古い実装による
     ものであったので、MISP 仕様書を更新し、仕様書と実装の不整合を修正した。


daruma-20090909:

  ○ Update で geometry 型や時刻の更新出来なかったのを修正した。
     また、それ以外の型でもこれまで厳密なチェックが行なわれていなかったのが
     きちんとチェックするようになった。

  ○ @_create_time_, @_update_time_ での検索でタイムゾーンが正しく扱われて
     いなかった問題を修正した。

  ○ README ファイル中の分かりにくい記述を修正した。


daruma-20090813:

  ○ 以下の、限定化した地理型のみを保持する型を定義した。

	ただし、実装はまだ仮で、別の地理型が入ってきても排除されない。

        PointPropertyType
        CurvePropertyType
        LineStringPropertyType (deprecated by CurvePropertyType)
        SurfacePropertyType
        PolygonPropertyType (deprecated by SurfacePropertyType)
        MultiPointPropertyType
        MultiCurvePropertyType
        MultiLineStringPropertyType (deprecated by MultiCurvePropertyType)
        MultiSurfacePropertyType
        MultiPolygonPropertyType (deprecated by MultiSurfacePropertyType)

	deprecated が付いているものは GML 2 で定義され、GML 3 では
	deprecated 扱いとなっているもの。
	原則として deprecated が付いていないほうを使用して下さい。


daruma-20090730:

  ○ 複数変換を経由する場合の座標系変換のバグを修正した。


daruma-20090611:

  ○ 座標系変換登録で変換誤差情報を登録できるようになった。

  ○ 座標系変換登録の返答で一部名前空間が間違っていたのを修正した。

  ○ sample-data/simple-2/ 以下のサンプルデータの名前空間を変更した。

  ○ README にサンプルデータに関する記述を追加した。


daruma-20090528:

  ○ System V init での OS からの自動起動のためのスクリプトを追加した。

  ○ プロトコルに <GetCoordinateSystemTransformation> コマンドを追加した。
	登録されている全ての座標変換が返される。

  ○ MySQL の接続先を設定ファイルで切り替えられるようになった。

	daruma.properties ファイルに
	        daruma.mysql.host = localhost
	        daruma.mysql.port = 3306
	等のように記述することで、接続に行く MySQL のホスト、ポートを
	指定出来る。

  ○ DaRuMa を起動、終了するためのスクリプト darumactl を追加した。

  ○ 管理用ポート接続時にクライアントに表示されるメッセージの on/off を
     切り替えられるようにした。

  ○ 管理用ポートをデフォルトで on にした。


daruma-20090421:

  ○ サンプルデータを追加した。

  ○ 管理ポート用コマンド shutdown を追加した。
	shutdown を実行すると、その時点から接続を受け付けず、
	現在処理中のものが終わるのを待ってから終了する。

  ○ Delete のレスポンスで、Delete されたフィーチャーの数が間違っていることが
     あったのでこれを修正した。
     これまで、すでに削除されたフィーチャーをもう一度削除しようとした場合に、
     削除されたフィーチャーの数を多く報告していた。


daruma-20090311:

  ○ <GetFeature> で maxFeatures 属性と startPosition 属性を
     指定できるようになった。

	形式: <GetFeature startPosition="N" maxFeatures="M">...</GetFeature>
		(N,M は正の整数)

	・maxFeatures は検索で返されるフィーチャーの最大数を指定する。
	  (この機能は WFS 準拠で、機能は Query の limit と同じ。
	   limit は、obsolete 扱いです。maxFeatures の使用を推奨します。)

	・startPosition は返答で結果を返す際のフィーチャーのオフセットを
	  指定する。
		N の場合、N番目のフィーチャーから返す。
		すなわち先頭から N-1 個のフィーチャーをスキップする。
		この値のデフォルトは 1。

	startPosition と maxFeatures の両方を指定した場合、startPosition で
	指定されたオフセットから、最大 maxFeatures 個のフィーチャーが
	返されます。

	この機能のためのテストサンプルが test/test-sortBy ディレクトリに
	入っています。


  ○ Unix, Mac で、run スクリプトがあるディレクトリとは違うディレクトリから
     起動した場合でもきちんと動作するようにした。


  ○ MISP 仕様書に SortBy と、maxFeatures, startPosition、transformType の
     記述を追加した。


  ○ この NEWS ファイルをリリースに含めるようにした。
