OSDN Git Service

- fixed bug smarty_modifier_plugin array could not register as plugins.
[ethna/ethna.git] / CHANGES
1 * 変更点一覧
2
3 ** 2.5.0-dev
4
5 *** features
6
7 - ソースコード全体をUTF-8化
8 -- 但し、日本語のソースコードコメントはそのまま
9 -- [Breaking B.C] フレームワークで扱う内部エンコーディング(mb_internal_encoding)もデフォルトはUTF-8に変更。但し、これは Ethna_Controller#_getDefaultLanguage
10    をオーバーライドし、クライアントエンコーディングの値を変えることで変更可能です。
11 -- 内部エンコーディングの変更に伴い、動作しなくなった箇所を修正
12 --- Ethna_Plugin_Validator_Min.php
13 --- Ethna_Plugin_Validator_Max.php
14 -- 内部エンコーディングの変更に伴う動作の変更
15 --- Ethna_Plugin_Validator_Mbregexp のデフォルトのエンコーディングは、クライアントエンコーディングが仮定されます。デフォルトはUTF-8です。
16 - 国際化 (i18n) のための機能追加および変更
17 -- [Breaking B.C] 言語名として解釈していた部分をロケール名に変更
18 --- これにより、[appid]template/ja, [appid]/locale/ja の「ja」の部分が ja_JP に置き換わります。よって、古いバージョンから移行する場合はディレクトリ名の変更が必要です。
19 --- Ethna.php で定義されていた、LANG_JA, LANG_EN はこの変更により使用されないので削除
20 -- [Breaking B.C] gettext を使用する際には [appid]/etc/[appid]-ini.php で 'use_gettext' => true と設定しないと gettext を使わないようにした
21 --- 2.3.5 までのコードは、gettext.so がロードされていれば *無条件に* gettext が実行されるようになっているので、Ethna 独自のメッセージカタログとの選択がわかりづらいため。
22 --- 2.3.5までのコードで gettext を利用している場合は、設定が明示的に必要です。
23 -- "ethna add-project" コマンドに [-l|locale] オプションを追加
24 -- スケルトンの日本語コメントをすべてASCIIに変更(好みのエンコーディングで編集できるようにするため)
25 - [Breaking B.C] レンタルサーバを考慮して、[appid]_Controllerの include_path を、[appid]/lib を優先するように変更
26 -- include_path の順番に依存するコードは少ないとは思いますが、移行の際は注意すべきです。
27 - "ethna add-project" コマンドに [-s|skeldir] オプションを追加
28 -- 指定されたスケルトンディレクトリに、ETHNA_HOME/skel と同じファイル名のものが存在する場合はそちら
29    を優先した上で、ETHNA_HOME/skel にないファイルは [appid]/skel にコピーする
30 - [Breaking B.C] Ethna_ActionForm のバリデータは、プラグインのものしか使用しなくなりました。
31
32 *** bug fixes
33
34 - tpl/info.tpl のタグミスを修正
35 - smarty_modifier_plugin が配列の場合に、プラグインとして登録されないバグを修正
36
37 ** 2.3.5
38
39 *** features
40
41 - PEAR チャンネルサーバに ethna/simpletest, ethna/Smarty を追加
42 -- インストール後のsimpletest, Smartyのパスで悩む罠を軽減することが目的
43 -- pear コマンドで Ethna をインストールするときにこれらを Optional に依存するように設定。既存のインストールを考慮して、required にはしていない。
44 - Ethnaコマンドに一般的なテストケースコマンドとして add-test コマンドを追加(thanks: BoBpp)
45 -- ethna add-test -s [skelname] [name] で実行できます
46 -- http://blog.as-roma.com/BoBlog/index.php?itemid=1338
47 -- これは自動登録されるため、[appid]_UnitTestManager に定義を追加する必要はありません(thanks: id:okonomi)
48 --- http://d.hatena.ne.jp/okonomi/20080408
49 - Ethna_Renderer_Rhacoを追加(experimental)
50 - Ethna_DB_ADOdbのdebug時のログ出力をEthnaのLoggerに変更(@see http://d.hatena.ne.jp/sotarok/20071224)
51 - Ethna add-[|action|view]-test コマンドで生成されるテストケースがデフォルトでfailするように改善
52 - Ethna のユニットテスト実行時に [appid]/etc/[appid]-ini.php のデバッグ設定がfalseの場合のエラー処理を改善
53 -- エラー処理をphpに任せて画面を真っ白にするのではなく、親切なエラーメッセージを表示する
54 - [action|view] のユニットテスト生成時、対応するアクション(ビュー)スクリプトがない場合は警告を生成するようにした。
55 - Ethna の add-[action|view] コマンドで、同時にユニットテストを作成できるようにするオプションを追加。
56 -- ただし、add-view コマンドで -t を指定した場合は、これらのオプションは無視される。
57 -- ethna add-[action|view] add-view [-w|--with-unittest] [-u|--unittestskel=file] [action|view]
58
59 *** bug fixes
60
61 - ethna pear-local コマンドで Ethna を [appid]/lib/ にインストールすると、[appid]_Controller.php のinclude_path
62   の設定によっては ethnaコマンドが動かなくなるのを回避 (thanks: sotarok)
63 -- ethna pear-local コマンドで Ethna を [appid]/lib にインストールしても、[appid]/bin/ethna が使えるようにした。
64 - 配列のフォームをvalidateする際、値がnullだとフィルタが適用されないバグを修正
65 - Ethna_Plugin_Cachemanager_Memcache に引数がなかったためにプラグイン呼び出しに失敗していたバグを修正(thanks sfio, ethna-users:0818)
66 - Ethna_PearWrapper、Ethna_Plugin_Csrf_Session, Ethna_InfoManager 等を微調整(thanks sfio, ethna-users:0825)
67 - form_input の default 属性が、入力値で上書きできなかったバグを修正(thanks sotarok, ethna-users:0836)
68 - call_user_func の戻り値がオブジェクトだった場合に、E_NOTICEが出る問題を回避(PHP 4.4限定) [ethna-users:0910]
69 - ActionForm の validate test の結果が、次のテストに引き継がれてしまうバグを修正(thanks: maru_cc)
70
71 ** 2.3.2
72
73 *** features
74
75 - %%[breaking B.C.]%% Ethna_UrlHandler (URLハンドラ) をプラグイン化
76 -- Ethna_Plugin_Urlhandler_Default を追加
77 -- %% $action_map を App_Urlhandler から App_Plugin_Urlhandler_Default
78 に移動する必要があります %%
79 -- やっぱり戻しました。プラグインを呼び出したいときにApp_UrlHandlerクラスで指定するように変更。
80 - プラグインのクラスが既に存在する場合は特別にファイルの検索をスキップするようにした。
81 - Ethna_ViewClass::_getFormInput_* で $separator のデフォルトを '' から "\n" に変更
82 - Ethna_Controller::_trigger_XMLRPC で $GLOBALS['HTTP_RAW_POST_DATA'] を使わずに 'php://input' を使うように変更
83 -- php.ini の設定が不要になりました。
84 - Ethna_MailSender
85 -- $type 引数を $template と rename して、より積極的にテンプレート名と解釈するようにした。
86 --- $def を特に指定しなければ ViewClass の forward_name と同様に template/ja/mail/ 以下からテンプレートを探します。
87 -- multipart: 2 つ以上の添付、ファイル名を指定した添付に対応しました。
88 --- ただしデフォルトの content-type は application/octet-stream でごまかしているのと、日本語ファイル名がてきとうです。
89 - Ethna_Renderer, Ethna_Renderer_Smarty
90 -- perform() の第2引数に $capture フラグを追加
91 -- true のときは Smarty 的に display でなく fetch になります。
92 - Ethna_Util::isRootDir() 追加
93 - ethna_make_packageで.svnに対応
94 - Ethna_Plugin_Validator_Mbregexp 追加 (thx: mumumu)
95 -- mb_eregを使ったマルチバイト対応正規表現プラグイン
96 - Ethna_Plugin_Handle_PearLocal 追加 
97 -- PEARパッケージを各プロジェクト毎に管理できるプラグイン
98 - View のユニットテストができなくなっていたバグを修正(thx: sfio, ethna-users:0651)
99
100 *** bug fixes
101
102 - raiseError()類の引数が間違っていたのを修正 (thx: sfio)
103 - プラグインパッケージインストール時に '{$application_id}' が置換されないバグを修正
104 - add-template が正しく動作していなかったのを修正
105 - Ethna_ViewClass::_getFormInput_Select で multiple を考慮していなかったのを修正
106 - Ethna_AppObject::_getSQL_SearchId で救済になってないエラーのスキップを削除
107 -- 有効な key がないときに、どちらにしろ SQL エラーになってた
108 - OS_WINDOWSでgetAppController()が無限ループになっていたのを修正
109 -- ルートディレクトリ判定に失敗していた
110 - Console_Getoptなどのアップグレードに対応
111 -- php4対応のreference返しがなくなっていたのに伴って発生していたnoticeを回避
112 - xmlrpcのパラメータがActionFormに渡っていなかったのを修正(#9845)
113 - file_type の検査 が機能しない問題を修正
114 - MailSenderでテンプレートファイルを指定しない場合の挙動を修正
115 - MailSenderのBare LFをCRLFに置換(#9898, ethna-users:0588)
116 - Smarty の $script 変数の値が、PATH_INFOの値が含まれると潜在的に誤動作するバグを修正(thx: cockok, ethna-users:0687)
117
118 ** 2.3.1
119
120 *** features
121
122 - ethnaコマンドで@PHP-BIN@が置換されずに残っている場合(CVS版を使っているときなど)に対応
123 - デフォルトテンプレートにバージョン番号をこっそり追加
124
125 *** bug fixes
126
127 - Mac/Windowsでpear経由でのインストールに失敗していた問題を解消
128 -- すべてのroleをphpにして、ethna.{sh,bat}のみscriptを指定
129 - Ethna_ViewClass::setPlugin() で $plugin の検証に is_callable を使用 (ethna-users:0507)
130 - install-plugin が正しく動いていなかったのを修正 (#9582)
131 - ethna.shでPHPのパスが指定されていなかったのを修正(ethna-users:0508)
132 - Ethna_AppObjectで'key'の条件にunique_key, multiple_keyが漏れていたのを修正
133 - Ethna_ViewClassで<label id="foo">となっていたのを<label for="foo">に修正
134
135 ** 2.3.0
136
137 *** features
138
139 - ethnaコマンドのハンドラ再編
140 -- 全般的にgetopt化
141 --- "--basedir" で対象アプリの場所を指定
142 --- "--skelfile" で生成元のスケルトンファイルを指定
143 -- 全てのgeneratorで "アプリ -> Ethna本体" の順にスケルトンファイルを探すように変更
144 -- add-action-cli, add-action-xmlrpcを廃止、add-actionに "--gateway=www|cli|xmlrpc" を追加
145 -- add-entry-point追加
146 --- ethna add-entry-point --gateway=cli foo で bin/foo.php, app/action/Foo.php を生成
147 -- pearコマンドを使うハンドラに "--pearopt" を追加(experimental)
148 --- ethna install-plugin -p--alldeps -p--force foo bar のように指定する
149 -- Ethna_Handle::_getopt()の出力を変更
150
151 - misc追加
152 -- plugin packagerのサンプル
153 -- おまけ: _ethna (zshの補完関数)
154
155 - Smarty, PEAR_DBのincludeのタイミングを変更
156 -- 必要時に Ethna_ClassFactory::_include() を使うようにした。
157
158 - Ethna_AppObjectをpostgres, sqliteに簡易対応
159 -- 1テーブルの1レコードが1オブジェクトに対応するような単純なモデルのみ対応
160 -- まだdb typeごとに調整が必要になることがあります。
161 -- pgsqlでsequenceに対応
162 -- テーブル名、カラム名の自動quoteに対応
163
164 - add-* ハンドル機能追加
165 -- add-template: --skelfile オプションで生成元のスケルトンファイルを指定できるようにした
166
167 - {form_input}ヘルパー
168 -- select, radio, checkboxに対応
169 -- 選択肢をフォーム定義で指定できるようにした(afのmethod, property, managerなど)
170 -- 外側の{form}ブロックからaction名, default値を取得できるようにした
171 -- フォーム定義からもdefault値を指定できるようにした
172
173 - Ethna_Plugin_Handle_{Install,Upgrade}Plugin に --state オプションを追加
174 - local のプラグインの prefix を App に変更(app_idの予約語扱い)
175
176 - Ethna_Plugin_Handle_ClearCache 追加
177 -- 現状 smarty, pear, cachemanager_localfile, tmp以下問答無用で削除、のみの対応
178 - ethna_error_handler() の print 条件を変更
179 -- Logwriter プラグイン化に伴う $has_echo 条件のバグを修正
180 -- $has_echo に加えて $config->get('debug') を見るようにした
181 - Ethna_Handle で Ethna_Controller と App_Controller が共存する場合の扱いが混乱していたのを整理
182 - Ethna_Hanlde に mkdir(), chmod(), purgeDir() を追加
183 - Cachemanager プラグイン中の PEAR::raiseError() を Ethna::raiseError() に変更
184 - Ethna_Logger で Ethna_Config オブジェクトの取得に失敗したときの処理を修正
185 - ethna {install,uninstall,upgrade}-plugin で skel から generate されるファイルの上書き確認を廃止
186
187 - Ethna_Plugin_Handle_ListPlugin
188 -- パッケージ管理に係わらずプラグインの一覧を表示
189 -- パッケージ管理下にあるときはパッケージ名とバージョンを表示
190 - Ethna_Plugin_Handle_UpgradePlugin, Ethna_Plugin_Handle_ChannelUpdate
191 -- プラグインパッケージのupgrade, pear channelのupdateに対応
192 -- http://pear.server/get/Package-1.2.3.tgz のようなinstall, upgradeに対応
193 - PearWrapper, Ethna_Handleでのデフォルトターゲット(localかmasterか)をlocalに変更、統一
194 - Ethna_Plugin_Handle_{Install,Uninstall,Info,List}Plugin
195 -- master, localのハンドラを分けていたのを統合
196 -- ダウンロード済みの tgz に対応
197 -- Console_GetOpt で --channel, --basedir, --local, --master のオプションを追加
198 -- new PEAR_Error() 時の error handler を callback($ui, 'displayFatalError') に変更
199
200 - Ethna_UrlHandlerクラスを追加(ステキurl対応)
201 - Smartyプラグイン関数smarty_function_url追加
202 - Ethna_AppObjectからのフォーム定義生成サポート追加
203 -- [2006/08/23] 激しくα
204 - Ethna_ClassFactory::getObject()でクラス定義に無いキーが渡された場合はEthna_AppObject()のキーであると仮定してオブジェクト生成
205 - アプリケーションスケルトン生成時にアプリケーション固有のActionClass, ActionForm, ViewClassも生成するように変更
206 - Ethna_SkeltonGeneratorクラスをEthna_Generatorクラスに名称変更
207 - Ethna_SkeltonGeneratorクラスの各メソッドをプラグイン化
208 - Ethna_Config::get()で引数を指定しないと全設定を格納した配列を返すように変更
209 - Ethna_ViewClass::_getTemplateEngine()で設定値を格納した$configテンプレート変数を設定するように変更
210 - Ethnaのパッケージシステムを追加
211 -- ethna用のpear channelからプラグインのパッケージをインストールできるようになります
212 -- Ethna_PearWrapper, Ethna_Plugin_Handle_{Install,Info,List,Uninstall}_Plugin_{Master,Local}を追加
213 -- local: アプリケーション(プロジェクト)のディレクトリ、master: Ethna本体のあるディレクトリのイメージです
214 -- PearWrapperはethnaコマンド(Handle)から呼び出されることが前提
215 -- Ethna_SkeltonGeneratorにあったメソッドをEthna_Handleに移動、少し追加
216
217 - エラーハンドリング方針を多少変更
218 -- @演算子を使ったエラー抑制を廃止
219
220 - [breaking B.C.] Ethna_ClassFactoryのリファクタリング
221 -- Ethna_Backend::getObject()メソッドを追加しました
222 -- これにより、Ethna_Controllerの$classメンバに
223  $class = array(
224    // ...
225    'user' => 'Some_Foo_Bar',
226  ),
227 と記述することで
228  $user =& $this->backend->getObject('user');
229 としてSome_Foo_Barクラスのオブジェクトを取得することが出来ます
230 -- クラス定義が見つからない場合は下記の順でファイルを探しに行きます(include_path)
231 +++ Some_Foo_Bar.php (そのまま)
232 +++ Foo/Some_Foo_Bar.php (Ethna style)
233 +++ Foo/Bar.php (Ethna & PEAR style)
234 +++ Some/Foo/Bar.php (PEAR style)
235 -- アプリケーションマネージャの生成もEthna_ClassFactoryで行われます(Ethna_ClassFactory::getManager()が追加されています)
236 -- これに伴い、〜2.1.xではコントローラクラスに
237  $manager = array(
238    'um' => 'User',
239  );
240 のように記述されていると、Ethna_ActionClass、Ethna_ViewClass、Ethna_AppObject、Ethna_*Managerで
241  $this->um
242 としてマネージャオブジェクトにアクセスできていたのですが、この機能が廃止されています(不評なら戻します@preview2)
243 - Ethna_Plugin_Logwriter_File::begin()でログファイルのパーミッションを設定するように変更
244 - ハードタブ -> ソフトタブ
245 - test runnerの追加
246 - [breaking B.C.] Ethna_Loggerリファクタリング
247 -- Ethna_LogWriterのプラグイン化
248 -- カンマ区切りでの複数ファシリティサポート
249 -- _getLogWriter()クラスをオーバーライドしている方に影響があります(2.3.0以降はPlugin/Logwriter以下にLogwriterクラスを置いて、ファシリティでその名前を指定すれば任意のLogwriterを追加可能です)
250 - [breaking B.C.] Ethna_Renderer追加
251 -- 〜2.1.xでは直接扱っいてたテンプレートエンジンオブジェクトをEthna_Rendererクラスでwrapしました
252 -- Ethna_Controller::getTemplateEngine()はobsoleteとなりますので今後はEthna_Controller::getRenderer()をご利用ください
253 -- Ethna_Controller::_setDefaultTemplateEngine(), Ethna_View::_setDefault(), Ethna_Controller::getTemplateEngine()の引数、戻り値は2.1.xまでのSmartyオブジェクトではなくEthna_Rendererオブジェクトとなります
254 -- これに伴い、Ethna_Controller::_setDefaultTemplateEngine(), Ethna_Controller::getTemplateEngine()を利用しているアプリケーションではアップデート時にEthna_Renderer::getEngine()を利用して後方互換性を維持するように変更が必要となります
255  e.g.
256  $smarty =& $this->controller->getTemplateEngine();
257  →
258  $renderer =& $this->controller->getTemplateEngine();
259  $smarty =& $renderer->getEngine();
260 - プラグインシステム追加(w/ Ethna_Pluginクラス)
261 -- Ethna_Handle, Ethna_CacheManager, Ethna_LogWriterをプラグインシステムに移行
262 -- Ethna_ActionFormのバリデータをプラグインシステムに移行(Ethna_ActionForm::use_validator_pluginがtrueのときのみ)
263 -- see also
264 --- http://ethna.jp/ethna-document-dev_guide-plugin.html
265 --- http://ethna.jp/ethna-document-dev_guide-form-validate_with_plugin.html
266 - ethnaコマンドにアクション名、ビュー名のチェック処理を追加(Ethna_Controller::checkActionName(), Ethna_Controller::checkViewName()を追加)
267 - Ethna_CacheManager_Memcache(キャッシュマネージャのmemcacheサポート)追加
268 - Ethna_Sessionにregenerate_idメソッドの追加
269 - Ethna_Plugin_Csrf(CSRF対策コード)追加
270
271
272
273 *** bug fixes
274
275 - [[#9009>http://sourceforge.jp/tracker/index.php?func=detail&aid=9009&group_id=1343&atid=5092]](%s等があるSQLをEchoLoggerでDebugするとWarning)
276 - アクション定義のform_pathが正しく動作していなかった問題を修正
277 - コントローラが複数あるときにset_error_handler()が何度も実行されるのを回避
278 - CacheManager_Localfileの@statでのWARNINGを回避
279 - Ethna_Plugin_Validator_Customでエラーが2重登録されていたのを修正
280 - プラグインの親クラスがないときにエラーになっていたのを修正
281 - Ethna_DB_PEAR, Ethna_AppObjectのWARNINGを回避([ethna-users:0383])
282 - Windowsでホームディレクトリの.ethnaファイルが参照されない問題を修正
283 - session_startしていないとrestoreメソッドがうまく動かない問題を修正
284 - ethnaコマンドにサポートされていないオプションのみを指定して起動した場合(ethna -hなど)にFatal Errorとなる問題を修正
285 - Ethna_Backend::getDBのNoticeエラーを修正
286 - キャッシュマネージャのエラーコードが256以上(アプリケーション用)になっていた問題を修正
287 - ethna add-action-testしたときにファイルがapp/action_cliに生成されてしまう問題を修正
288 - Ethna_SkeltonGeneratorクラスのtypoを修正(proejct -> project)
289 - Ethna_ActionFormでプラグインを使わないときにフィルタが機能しないバグを修正
290
291
292 ** [2006/06/07] 2.1.2
293
294 *** bug fixes
295
296 - Ethna_Controller::getActionRequest()メソッドのデフォルト状態の振舞いを修正
297
298
299 ** [2006/06/07] 2.1.1
300
301 *** bug fixes
302
303 - ethna.batのパスを修正
304
305 ** [2006/06/06] 2.1.0
306
307 *** features
308
309 - ethnaコマンドのETHNA_HOMEをインストール時に決定するように改善
310 - Ethna_ActionForm::validate() で多次元配列が渡されたときのnoticeを回避
311 - Ethna_Backend::setActionForm(), Ethna_Backend::setActionClass()メソッドを追加
312 - Ethna_FilterのスケルトンにpreActionFilter()/postActionFilter()を追加
313 - Ethna_AppObject::_getPropDef()にキャッシュ処理を追加
314 - Ethna_CacheManagerクラスを追加(w/ localfile) - from GREE:)
315 - Ethna_DB::getDSN()メソッドを追加
316 - iniファイルのスケルトンにdsnサンプル追加
317 - add-templateコマンド追加(by nnno)
318 - add-project時のデフォルトテンプレートデザインを変更
319 - ethnaコマンドに-v(--version)オプションを追加
320 - smarty_modifier_select(), smarty_function_select()の"selected"属性のxhtml対応(selected="true")
321 - {form_name}, {form_input}プラグイン追加(激しくexperimentalというかongoing)
322 - Ethna_ViewClassでhelperアクションフォーム対応
323 -- Ethna_ViewClass->helper_action_form = array('some_action_name' => null, ...)とすると{form_name}とかで使えます
324 - [breaking B.C.] Ethna_ActionClassのpreforward()サポート(むかーしのコードにありましたのです)削除
325 - (ぷち)省エネブロックプラグイン{form}...{/form}追加
326 -- ethna_action引数も追加(勝手にhiddenタグ生成)
327 - Ethna_Controllerに$smarty_block_pluginプロパティを追加
328 - ethnaコマンドにadd-action-cliを追加
329 - [breaking B.C.] main_CLIのアクション定義ディレクトリをaction_cliに変更
330 -- controllerのdirectoryプロパティに'bin'要素を追加
331 - ethnaコマンドにadd-app-managerを追加(thanks butatic)
332 - Ethna_ActionForm リファクタリング (by いちい)
333 -- $this->form の省略値補正を setFormVars() からコンストラクタに移動
334 -- フォーム値のスカラー/配列チェックを setFormVars() でするように変更
335 --- vaildate() する前に setFormVars() でエラー (handleError()) が発生することがあります
336 -- フォーム値のスカラー/配列チェックでフォーム値定義と異なる場合は null にする
337 -- ファイルデータの再構成を常に行うように変更
338 -- フォーム値定義が配列で required, max/min の設定がある場合のバグを修正
339 -- _filter_alnum_zentohan() を追加 (mb_convert_kana($value, "a"))
340 - XMLRPCゲートウェイにfaultCodeサポートを追加
341 -- actionでEthna_Error(あるいはPEAR_Error)オブジェクトを返すとエラーを返せます
342 - XMLRPCゲートウェイサポート追加(experimental)
343 -- ethna add-action-xmlrpc [action]でXMLRPCメソッドを追加可能
344 -- 引数1つとフォーム定義1つが定義順に対応します
345 -- ToDo
346 --- 出力バッファチェック
347 --- method not foundなどエラー処理対応
348 - Ethna_ActionFormクラスのコンストラクタでsetFormVars()を実行しないように変更
349 - スケルトンに含まれる'your name'をマクロ({$author})に変更(~/.ethna対応)
350 - なげやり便利関数file_exists_ex(), is_absolute_path()を追加
351 - SimpleTestとの連携機能を追加(ethnaコマンドにadd-action-test,add-view-testの追加など)
352 -- SimpleTestのインストールチェックを追加
353 - package.xml生成スクリプト改善(ethnaコマンドインストール対応など)
354 - Haste_ADOdb, Haste_Creoleマージ(from Haste Project by haltさん)
355 - Ethna_AppObjectクラスのテーブル/プロパティ定義自動生成サポート追加(from generate_app_object originally by 井上さん+haltさん)
356 - Ethna_Controller::getAppdir()メソッドを追加
357 - Ethna_Controller::getDBType()の引数がnullだった場合に定義一覧を返すように変更
358 - ethnaコマンドラインハンドラを追加(+ハンドラをpluggableに+add-viewでテンプレート生成サポート)−please cp bin/ethna to /usr/local/bin or somewhere
359  generate_project_skelton.php -> ethna add-project
360  generate_action_script.php   -> ethna add-action
361  generate_view_script.php     -> ethna add-view
362  generate_app_object.php      -> ethna add-app-object
363 - [breaking B.C.] client_typeを廃止 -> gateway追加
364 -- CLIENT_TYPE定数廃止
365 -- Ethna_Controller::getClientType(), Ethna_Controller::setClientType()廃止
366 -- Ethna_Controller::setCLI()/Ethna_Controller::getCLI() -> obsolete
367 -- GATEWAY定数追加(GATEWAY_WWW, GATEWAY_CLI, GATEWAY_XMLRPC, GATEWAY_SOAP)
368 -- Ethna_Controller::setGateway()/Ethna_Controller::getGateway()追加
369 -- 作りかけのAMFゲートウェイサポートを(一旦)廃止
370 - Ethna_SkeltonGenerator::_checkAppId()をEthna_Controller::checkAppId()に移動
371 - generate_app_objectを追加
372 - クラスのメソッドもSmartyFunctionとして登録できるように修正
373
374 *** bug fixes
375
376 - [[#8435>http://sourceforge.jp/tracker/index.php?func=detail&aid=8435&group_id=1343&atid=5092]](Ethna_AppObject prop_def[]['seq']が未設定)
377 - [[#8079>http://sourceforge.jp/tracker/index.php?func=detail&aid=8079&group_id=1343&atid=5092]](FilterでBackendを呼ぶとActionFormの値が空になる)
378 - [[#8200>http://sourceforge.jp/tracker/index.php?func=detail&aid=8200&group_id=1343&atid=5092]](PHP5.1.0以降でafのvalidate()で日付チェックが効かない)
379 - [[#8179>http://sourceforge.jp/tracker/index.php?func=detail&aid=8179&group_id=1343&atid=5092]](getManagerの戻り値が参照渡しになっていない)
380 - [[#8400>http://sourceforge.jp/tracker/index.php?func=detail&aid=8400&group_id=1343&atid=5092]](AppObject prop_def[]['form_name']がNULL)
381 - [[#7751>http://sourceforge.jp/tracker/index.php?func=detail&aid=7751&group_id=1343&atid=5092]](SAFE_MODEでmail関数の第5引数があるとWaning)を修正
382 - [[#8496>http://sourceforge.jp/tracker/index.php?func=detail&aid=8496&group_id=1343&atid=5092]](Ethna_AppObject.php内のtypo)を修正
383 - [[#8387>http://sourceforge.jp/tracker/index.php?func=detail&aid=8387&group_id=1343&atid=5092]](checkMailaddressやcheckURLでNotice)を修正
384 - [[#8130>http://sourceforge.jp/tracker/index.php?func=detail&aid=8130&group_id=1343&atid=5092]](Noticeつぶし)を修正
385 - typo fixed (aleady -> already)
386 - [[#7717>http://sourceforge.jp/tracker/index.php?func=detail&aid=7717&group_id=1343&atid=5092]](Ethna_AppObject::add()でNotice)を修正
387 - [[#7664>http://sourceforge.jp/tracker/index.php?func=detail&aid=7664&group_id=1343&atid=5092]](Ethna_AppObjectのバグ)を修正
388 - [[#7729>http://sourceforge.jp/tracker/index.php?func=detail&aid=7729&group_id=1343&atid=5092]](ethna_infoがFirefoxだとずれる)を修正
389
390 - (within beta) ethna_handle.phpが無用にob_end_clean()する問題を修正
391 - (within beta) ethna add-viewでプロジェクトディレクトリを指定した場合に正しくファイルが生成されない問題を修正
392 - (within beta) Windows版のethnaコマンドがパッケージからインストールした場合実行できない問題を修正
393 - (within beta) ActionFormの配列のフォーム値が破壊される問題を修正(by sfioさん)
394
395
396 ** [2006/01/29] 0.2.0
397
398 *** features
399
400 - 文字列のmin/maxエラーのデフォルトエラーメッセージを修正
401 - フォーム値定義にカスタムエラーメッセージを定義できるように変更
402 - Ethna_Controller::main_CLI()メソッドにフィルタを無効化させるオプションを追加
403 - Ethna_ActionFormクラスのフォーム値定義をダイナミックに変更出来るように修正
404 - Ethna_ActionFormクラスのフォーム値定義にテンプレート機能を追加
405 - Ethna_Backend::getActionClasss()メソッドの追加(実行中のアクションクラスを取得)
406 - ~/.ethnaファイルによるユーザ定義スケルトンマクロの追加
407 - smarty_function_selectに$empty引数を追加
408 - mb_*の変換元エンコーディングを、EUC-JP固定から内部エンコーディングに変更
409 - Ethna_Backend::begin()、Ethna_Backend::commit()、Ethna_Backend::rollback()を廃止
410 - Ethna_Controller::getDB()をEthna_Controller::getDBType()に変更
411 - Ethna_DBクラスを抽象クラス(扱い)として新たにEthna_DBクラスを実装したEthna_DB_PEARクラスを追加
412 - Ethna_LogWriterクラスを抽象クラス(扱い)として新たにEthna_LogWriterクラスを実装したEthna_LogWriter_Echo、Ethna_LogWriter_File、Ethna_LogWriter_Syslogクラスを追加
413 - log_facilityがnullの場合のログ出力クラスをEthna_LogWriter_EchoからEthna_LogWriterに変更(ログ出力なし)
414 - log_facilityにクラス名を書いた場合はそのクラスをログ出力クラスとして利用するように変更
415 - Ethna_Filter::preFilter()、Ethna_Filter::postFilter()がEthna_Errorオブジェクトを返した場合は実行を中止するように変更
416 - Ethna_InfoManagerの設定表示項目を追加
417 - Ethna_ActionForm::isForceValidatePlus()、Ethna_ActionForm::setForceValidatePlus()メソッドと、$force_validate_plusメンバを追加($force_validate_plusをtrueに設定すると、通常検証でエラーが発生した場合でも_validatePlus()メソッドが実行される−デフォルト:false)
418 - フォーム値定義のcustom属性にカンマ区切りでの複数メソッドサポートを追加
419
420 *** bug fixes
421
422 - htmlspecialcharsにENT_QUOTESオプションを追加
423 - Ethna_AppSQLクラスのコンストラクタメソッド名を修正
424 - [[#7659>http://sourceforge.jp/tracker/index.php?func=detail&aid=7659&group_id=1343&atid=5092]](Ethna_Config.phpでNoticeエラー)を修正
425 - Ethna_SOAP_ActionForm.phpのtypoを修正
426 - [[#6616>http://sourceforge.jp/tracker/index.php?func=detail&aid=6616&group_id=1343&atid=5092]](セッションにObjectを格納できない)を修正
427 - [[#7640>https://sourceforge.jp/tracker/index.php?func=detail&aid=7640&group_id=1343&atid=5092]](機種依存文字のチェックでエラーメッセージが表示されない。)を修正
428 - [[#6566>https://sourceforge.jp/tracker/index.php?func=detail&aid=6566&group_id=1343&atid=5092]](skel.action.phpのサンプルでtypo)を修正
429 - [[#7451>https://sourceforge.jp/tracker/index.php?func=detail&aid=7451&group_id=1343&atid=5092]](PHP 5.0.5対応)を修正
430 - .museum対応
431 - Ethna_Backendクラスのクラスメンバ多重定義を修正
432 - BASE定数の影響でコントローラの継承が困難な問題を修正
433 - Windows環境で定義されていないLOG_LOCAL定数を評価してしまう問題を修正
434 - [[#6423>http://sourceforge.jp/tracker/index.php?func=detail&aid=6423&group_id=1343&atid=5092]](php-4.4.0で大量のエラーの後、Segv(11))を修正(patch by ramsyさん)
435 - [[#6074>http://sourceforge.jp/tracker/index.php?func=detail&aid=6074&group_id=1343&atid=5092]](generate_project_skelton.phpの動作異常)を修正
436 - safe_mode=onの場合にuid/gid warningが発生する(可能性のある)問題を修正
437 - 不要な参照渡しを削除
438 - その他細かな修正(elseif -> else if等)
439 - PATH_SEPARATOR/DIRECTORY_SEPARATORが未定義の場合(PHP 4.1.x等)の問題を修正
440 - smarty_modifier_wordwrap_i18n()の改行対応
441 - ユーザ定義フォーム検証メソッドが呼び出されない(ことがある)問題を修正
442 - マルチカラムプライマリキー利用時にオブジェクトの正当性が正しく判別できない問題を修正
443 - Ethna_AppObjectのJOIN検索がSQLエラーになる(ことがある)問題を修正
444 - セッションを復帰させるタイミングを遅延(無限ループする問題を修正)
445 - Ethna_MalSenderからmail()関数にオプションを渡せるように修正
446 - Ethna_View_List::_fixNameObjectに対象オブジェクトも渡すように修正
447
448
449 ** [2005/03/02] 0.1.5
450
451 *** features
452
453 - Ethna_Controller::getCLI()(CLIで実行中かどうかを返すメソッド)を追加
454 - ethna_error_handlerがphp.iniの設定に応じてPHPログも出力するように変更
455 - Smartyプラグイン(truncate_i18n)を追加
456 - Ethna_AppObject/Ethna_AppManagerにキャッシュ機構を追加(experimental)
457 - メールテンプレートエンジンのフックメソッドを追加
458 - MIMEエンコード用ユーティリティメソッドを追加
459 - include_pathのセパレータのwin32対応
460
461 *** bug fixes
462
463 - ethna_error_handlerのtypoを修正
464 - Ethna_Sessionクラスでログが正しく出力されない問題を修正
465
466
467 ** [2005/01/14] 0.1.4
468
469 *** features
470
471 - Ethna_AppObjectでJOINした場合に、(可能なら)プライマリキーでGROUP BYするように変更
472
473 *** bug fixes
474
475 - __ethna_info__が全く動作しない問題を修正:(
476
477
478 ** [2005/01/13] 0.1.3
479
480 *** features
481
482 - Ethna_AppSearchObjectの複合条件対応
483 - Ethna_ClassFactoryクラスを追加
484 - Ethna_Controllerのbackend, i18n, session, action_errorメンバを廃止
485 - Ethna_Controller::getClass()メソッドを廃止
486 - Ethna_ActionClassにauthenticateメソッドを追加
487 - preActionFilter/postActionFilterを追加(experimental)
488 - Ethna_View_List(リスト表示用ビュー基底クラス)のソート対応
489 - 組み込みSmarty関数is_error()を追加
490 - Ethna_ActionForm::handleErrorの第2引数を廃止
491 - Ethna_ActionForm::_handleErrorをpublicメソッドに変更(Ethna_ActionForm::handleErrorに名称変更)
492 - Ethna_ActionForm::getDefメソッドに引数を追加(省略可)
493
494 *** bug fixes
495
496 - フォーム定義に配列を指定していた場合のカスタムチェックメソッドの呼び出しが正しく行われない問題を修正
497 - フォーム定義に配列を指定していた場合の必須チェックが正しく行われない問題を修正
498 - __ethna_info__がサブディレクトリに定義されたアクションを正しく取得できない問題を修正
499 - VAR_TYPE_FILEの場合はregexp属性が無効になるように修正
500
501
502 ** [2004/12/23] 0.1.2
503
504 *** features
505
506 - __ethna_info__アクションを追加
507 - class_path, form_path, view_path属性のフルパス指定サポートを追加
508 - スクリプトを1ファイルにまとめるツール(bin/unify_script.php)を追加
509
510 *** bug fixes
511
512 - プロジェクトスケルトン生成時にアプリケーションIDの文字種/予約語をチェックするように修正
513 - 'form_name'を指定すると無用に警告が発生する問題を修正
514 - 絶対パス判定のプラットフォーム依存を修正(Windows対応改善)
515 - VAR_TYPE_INTとVAR_TYPE_FLOATの定義値が重複していた問題を修正
516 - SOAP/Mobile(AU)でアクションスクリプトのパスが正しく取得できない問題を修正
517 - Ethna_Util::getRandom()でmt_srand()しつつrand()を呼んでいた箇所をmt_rand()を呼び出すように修正
518 - CHANGESのエンコーディング修正(ISO-2022-JP -> EUC-JP)
519 - フレームワークが発行するSQL文に一部残っていたセミコロンを削除
520 - エントリポイント(index.php)に記述されたデフォルトアクション名の1要素目にアスタリスクが使用されていると、正しく動作しない(かもしれない)問題を修正~
521 例(こんな場合):
522  <?php
523  include_once('../../app/Sample_Controller.php');
524  Sample_Controller::Main('Sample_Controller', array(
525   'login*',
526  ));
527  ?>
528
529
530 ** [2004/12/10] 0.1.1
531
532 *** bug fixes
533
534 - ビューオブジェクトのpreforward()が呼ばれないことがある問題を修正
535 - アクション/ビューのスケルトン生成時にファイルを上書きしないように修正
536 - ビューのスケルトンでクラス名が正しく置換されない問題を修正
537
538 ** [2004/12/09] 0.1.0
539
540 - 初期リリース
541