Apache Click 2.1.0リリース!!

待望のリリースです。Clickチームからのアナウンスは以下になります。

1つ前の2.0系はSourceForge.netで開発していたバージョンをそのままApache Incubatorに移行したものだったので、機能追加などはSourceForge.netで最後にリリースされた1.5系以来ということになります。なので新機能てんこ盛りです。また、Apacheのトップレベルプロジェクトへの昇格を待っていたため、リリースまでに予想外に時間がかかってしまいました(長かった…)。
新機能のリストを日本語訳したものを以下に掲載しておきます。

<!DOCTYPE click-app PUBLIC
"-//Apache Software Foundation//DTD Click Configuration 2.1//EN"
"http://click.apache.org/dtds/click_2_1.dtd">
  • Formのサブクラスがvalidate()メソッドをオーバーライドし、相関チェックを実装できるようにFormのバリデーションを改善。以前のvalidate()メソッドはvalidateFileUpload()メソッドにリネームされ、validate()メソッドが空の実装になったことで安全にオーバーライドすることが可能になった。
  • リンク系のコントロールで複数のパラメータを扱うためのgetParameterValues()setParameterValues()メソッドがAbstractLinkに追加された。
  • TableコントロールのgetFirstRow()getLastRow()をpublicに変更することで、非常に大きなデータセットのサポートを改善。これらのメソッドは表示する行のレンダリングに必要な情報を返します。
  • LinkDecoratorがターゲットのidパラメータの別名をサポートするよう改善された。
  • PickListのgetValueObject()setValueObject()がそれぞれsetSelectedValues()addSelectedValue()に委譲するよう修正された。-
  • Springインテグレーションの改善。SpringClickServletPageScopeResolverが@ComponentアノテーションによってSpringでインスタンス化されたページをサポートするようになった。
  • CompressionServletResponseWrapperとCompressionResponseStreamが独自のフィルタでも利用できるよう、publicクラスに変更された。
  • Menuコントロールが、選択されているメニュー項目にclass="selected"をレンダリングするよう改善された。
  • PerformanceFilterにexclude-pathによるフィルタリングが実装された。
  • XmlConfigServiceがデプロイ可能なリソースをクラスパス内のフォルダからスキャンするよう改善された。
  • LifecycleListenerのサポートを含む、Cayenne用のDataContextFilterの改善。
  • AbstractLinkがアイコンとラベルの両方をレンダリングできるよう改善された(デフォルトの振る舞いはラベルかアイコンのどちらかをレンダリング)。
  • ページとコントロールのメッセージハンドリングにおいてnull引数を許容するよう改善。
  • JBoss5におけるリソースのデプロイに関する問題を修正。このソリューションはStripes Frameworkの開発者たちの成果に基づいています。

Google App EngineのサポートやJavaScriptCSSなどの扱いの改善、静的リソースのデプロイ周りの改善が大きなところでしょうか。
ここのところClick本体にはあまり貢献できていなかったのですが、今回は久々に新機能の追加ができるリリースだったということで、HiddenListやFormat#url()など、S2Clickで実装していた機能を本家にフィードバックしてみました。Click 2.1.0に対応したClickIDE 2.1.0.0やS2Clickも近日中にリリースしようと思います。