OSDN Git Service

Merge branch 'release/2.6.0beta2'
[ethna/ethna.git] / CHANGES
diff --git a/CHANGES b/CHANGES
index 25d4536..3dd03c0 100644 (file)
--- a/CHANGES
+++ b/CHANGES
 * 変更点一覧
 
-** 2.5.0-preview6
+** 2.6.0 beta (beta1 .. beta2)
+
+- Ethna 2.5.0 preview5 に含まれていて、Ethna 2.5.0 に含まれなかった変更点について、CHANGES の整理 (多少重複します)
+-- 2.6.0 の変更点一覧が、preview5 からの差分となっていたため、preview5 -> (元)preview6 での fix事項等はCHANGESから削除
 
 *** features
 
-- Ethna_ViewClass#redirect にて、リダイレクト用HTTPステータスコードが302で固定だったので、オプション引数として変更可能とした
-- 国際化に関する変更
--- デフォルトのタイムゾーンとして、date.timezone を 'Asia/Tokyo' に設定
--- Ethna_I18N クラス に setTimeZone メソッドを追加 (static呼出)
-- Ethna_MailSender にて、メール送信に問題がある場合の設定として 'mail_func_workaround' を追加
--- この値を true に設定すると、メールヘッダの改行コードを一律 CRLF にする処理を回避する
--- $mail = new Ethna_MailSender(); $mail->setOption(array('mail_func_workaround')); でも設定可能
+**** Ethna本体に関する変更点
+- [Breaking B.C] PHP 5.3 対応のための変更 (B.C. PHP 4 非対応となります)
+-- 非推奨シンタックスの除去 (Remove DEPRECATED syntax)
+--- 不要な参照渡し、new演算子の参照代入の除去
+--- アクセス修飾子、static修飾子の導入(一部)
+--- コンストラクタメソッド名の変更(クラス名から__construct()へ)
+- 命名規則の変更
+-- class/ 以下のクラスついて、命名規則を変更しました (ファイル名がフルクラス名ではなくなりました)
+- skeleton 関係
+-- デフォルトで生成されるレイアウトテンプレートの調整
+-- cssの変更
+-- UrlHandler と .htaccess (mod_rewrite) を利用するためのひな形を生成
+- セッションハンドラのなど,セッションに関する設定の変更をするための記述を APPID-ini.php にできるようになりました.
+
+**** Renderer/View に関する変更点
+
+- Smarty3 追加
+- Rhaco 削除: rhacoテンプレートレンダラは以後サポートしません(いつのrhacoのバージョンで動くのかもわかりませんでした)
+- Ethna_ActionClass から、Ethna_ViewClass#preforward に引数を渡せるようにした
+-- return array('forward_name', $params); の形式で渡せば、$params が preforwardの引数として渡される
+- 汎用ビュークラスを実装
+-- ビューへの出力時によく使われる処理を雛形として実装したもの
+-- Ethna_View_Json.php
+-- Ethna_View_403.php
+-- Ethna_View_404.php
+-- Ethna_View_500.php
+-- Ethna_View_Redirect.php
+--- アクションクラスで return array('redirect', 'http://example.com'); とすれば http://example.com にリダイレクトされる
+- レイアウトテンプレートを実装
+-- HTMLの外側に当たる雛形のテンプレートを描くためのもの。各アクションの出力はこのテンプレートの出力でラップされる
+-- デフォルトは template/{locale_name}/layout.tpl に置かれている。
+-- この機能はデフォルトで有効になっている。無効にしたければ、[appid]_ViewClass.php の $use_layout を false にする(既存プロジェクトをEthna 2.6に移行する場合、こうすれば動作するはず)
+- PROJECT_DIR/lib/Ethna/extlib/Plugin/Smarty  をデフォルトでSmartyプラグインディレクトリに指定するように,skel に追加
+
+**** プラグイン機構に関する変更点
+
 - Ethna_Plugin::import という,プラグインソースをincludeするための,staticメソッドを追加.
 - すべてのPluginの基底となる抽象クラス,Ethna_Plugin_Abstractを追加
 -- 既存のプラグインの親クラスを,Ethna_Plugin_Abstract を継承するように変更
 -- Plugin に設定を受け渡す方法を変更したため,etcのskelを変更
 --- それに伴い,Ethna_Plugin_Cachemanager_Memcacheの設定方法を変更
 - Ethna_Plugin_Cachemanager に config からデフォルト の namespace を指定可能とした
+- pecl::memcached 版に対応した Ethna_Plugin_Cachemanager_Memcached のバンドル
+- [Breaking B.C] プラグインに関する変更
+-- プラグインから名前空間を除去することで、複数アプリケーションでの利用を可能に
+-- 検索用のアプリケーションIDを削除した
+-- ファイル名の命名規則を変更
+-- extlibの設置
+- プラグイン関連のethnaコマンドを整理し、インストール、アンインストール関連コマンドは ethna pear-local コマンドに一本化
+-- ethna channel-update (削除)
+-- ethna info-plugin (削除)
+-- ethna install-plugin (削除)
+-- ethna uninstall-plugin (削除)
+-- ethna upgrade-plugin (削除)
+-- ethna list-plugin (削除)
+- プラグインパッケージのスケルトンを生成するコマンドとして ethna create-plugin コマンドを追加
+-- 複数のtypeのプラグイン同時作成が可能に
+-- Ethnaプロジェクト内でのプラグインの自動生成が可能に
+-- ethna make-plugin-package との連動が可能に
+- ethna create-plugin コマンドの出力から ethna make-plugin-package を実行できるようにコマンドを再実装
+-- これにより、複数のプラグインを含んだパッケージの作成が可能に
 
 *** bug fix
-
 - ethna make-plugin-package のデフォルトインストールディレクトリが誤っていたバグを修正
-- iniディレクティブ date.timezone が設定されてないために、E_WARNING が PHP 5.3.0 で出ていたバグを修正
 - Ethna_Plugin::includePlugin メソッドの実装が動作するものではなかったので変更
 - Ethna_Plugin_Cachemanager のクラスのプロパティに指定する $namespace が意味をなしていなかったので修正 (#17753)
-- PROJECT_DIR/lib/Ethna/extlib 以下にファイルを設置するタイプのプラグインを pear-local などでインストールすると、それ以後
-  ethnaコマンドが使えなくな問題を修正
+- PROJECT_DIR/lib/Ethna/extlib 以下にファイルを設置するタイプのプラグインを pear-local などでインストールすると、それ以後ethnaコマンドが使えなくなる問題を修正
 - 新しいプラグインの命名規則に従っていない古いプラグインを別物として読み込もうとしてクラス名がかぶる問題を修正(#17875) thanks: id:okonomi
+
+**** beta1 .. beta2
+- require のパスを修正 (thx. seiya, https://github.com/sotarok/ethna/issues/#issue/1)
+
+
+** 2.5.0
+
+*** features
+
+- フォーム定義に関する変更
+-- フォーム定義を動的に変更するためのAPIをさらに追加
+-- Ethna_ActionForm#setFormDef_ViewHelper
+- APPID_Controller.php のスケルトンに継承を想定したメソッドを追加
+-- skel/app.controller.php _setDefaultTemplateEngin
+- add-project 時の www 以下に出来るエントリポイントから APPID_Controller へのパスを相対パスに変更
+- ethna コマンドの挙動変更
+-- add-project -b オプションの挙動変更
+-- ethna help コマンドを追加
+-- Filterは一貫してプラグインを使うように変更したため、add-project時の app/filter ディレクトリを削除。
+- 指定 Action が存在しない場合、app/action 以下を全て include する仕様を変更
+- controller での smarty_xx_plugin の機能を削除
+-- フォームヘルパのテキストエリアに value 属性を付加していた動きを修正。(thanks: syachi5150)
+---  http://sourceforge.jp/ticket/browse.php?group_id=1343&tid=16326
+-- [Breaking B.C] ルールがユーザにとって直感的ではないとの理由から、フォーム定義の max と フォームヘルパの maxlength の連携機能を削除 (thanks: syachi5150)
+--- https://sourceforge.jp/ticket/browse.php?group_id=1343&tid=16325
+-- Windowsユーザへの便宜のため、zipアーカイブで成果物を配布するオプションを追加
+- 組み込みの Smarty プラグインの追加
+--- modifier_explode (文字列を,ある文字で分割して配列に変換する)
+- 国際化に関する変更
+-- デフォルトのタイムゾーンとして、date.timezone を 'Asia/Tokyo' に設定
+-- Ethna_I18N クラス に setTimeZone メソッドを追加 (static呼出)
+- Ethna_MailSender にて、メール送信に問題がある場合の設定として 'mail_func_workaround' を追加
+-- この値を true に設定すると、メールヘッダの改行コードを一律 CRLF にする処理を回避する
+-- $mail = new Ethna_MailSender(); $mail->setOption(array('mail_func_workaround')); でも設定可能
+- Smarty の設定(現在はデリミタのみ)を [appid]-ini.php に書くことが出来るようにした
+
+*** bug fix
+
+- Ethna_Controller#getTemplatedir を無視してテンプレートディレクトリを決定していたバグを修正(thanks: hiko)
+-- getTemplatedirメソッドをオーバライドしても強制的にロケールが付加されていた
+-- https://sourceforge.jp/ticket/browse.php?group_id=1343&tid=15570
+- "ethna pear-local list -a" の実行結果がエラーになってしまうバグを修正
+-- https://sourceforge.jp/ticket/browse.php?group_id=1343&tid=15760
+- safe-mode が ON の際に、CacheManager_Localfile がディレクトリを生成できないので、tmp ディレクトリ直下にキャッシュファイルを作成するようにした
+-- skel/skel.app_manager.php も修正
+- APPID-ini.php が存在しない場合,またはURLが設定にない場合,デフォルトURLが HTTP_HOST で設定されていたが,末尾に / がなかったので修正
+- フォームヘルパで自動的に出力されるhiddenタグの閉じ忘れを修正(thanks: id:syachi5150)
+- ethna add-app-manager コマンドで生成されるファイル名およびクラス名が間違っていたバグを修正(thanks: id:syachi5150)
+-- https://sourceforge.jp/ticket/browse.php?group_id=1343&tid=16137
+- Validatorが出力するメッセージからフォーム名の後ろのスペースを削るように修正。(thanks: id:syachi5150)
+-- https://sourceforge.jp/ticket/browse.php?group_id=1343&tid=16336
+- Smarty 拡張プラグインの wordwrap_i18n にアルファベットのみを渡した場合に正しい結果が返らないバグを修正
+-- 末尾のスペースを取り除く挙動も wordwrap に合わせて削除
+-- http://sourceforge.jp/ticket/browse.php?group_id=1343&tid=16839
+- ethna add-test コマンドのヘルプが機能していなかったバグを修正
 - 存在しない(or 削除された) ethnaコマンドを指定すると Fatal Error が起きるバグを修正 (thanks:kondo_)
 -- http://sourceforge.jp/ticket/browse.php?group_id=1343&tid=17894
 - Ethna_Plugin_Logwriter の debug_backtrace の一部が取得できず、E_NOTICE が出るバグを修正 (thanks: http://www.remix.gr.jp/)
+- cli 環境で Ethna_Session::start を叩いたときに $_SERVER 変数がないために E_NOTICE が出る問題を修正
+- PHP 5.3.0 で新設された E_DEPRECATED を ON にすると Fatal Error が起きるバグを修正 (#18418)
+- iniディレクティブ date.timezone が設定されてないために、E_WARNING が PHP 5.3.0 で出ていたバグを修正
+- Smartyのデリミタを変更している場合にi18nコマンドが機能しないバグを修正 (#18668)
+- formタグのname属性が設定できなくなっていたバグを修正 (thanks: shutta) (#19037)
+- Ethna_Session#isAnonymous メソッドが状態を正しく取得できない場合があるバグを修正(thanks:longkey1)
+-- http://ml.ethna.jp/pipermail/users/2008-February/000899.html
+- Ethna_ActionForm::setDef に渡す値によっては、空キーにフォーム定義が入ってしまうバグを修正。(thanks:tohokuaki #18856)
 
 ** 2.5.0-preview5