* ѹ

** [current] 2.3.2

*** features

- %%[breaking B.C.]%% Ethna_UrlHandler (URLϥɥ) ץ饰
-- Ethna_Plugin_Urlhandler_Default ɲ
-- %% $action_map  App_Urlhandler  App_Plugin_Urlhandler_Default
˰ưɬפޤ %%
-- äѤᤷޤץ饰ƤӽФȤApp_UrlHandler饹ǻꤹ褦ѹ
- ץ饰Υ饹¸ߤ̤˥եθ򥹥åפ褦ˤ
- Ethna_ViewClass::_getFormInput_*  $separator ΥǥեȤ ''  "\n" ѹ
- Ethna_Controller::_trigger_XMLRPC  $GLOBALS['HTTP_RAW_POST_DATA'] Ȥ鷺 'php://input' Ȥ褦ѹ
-- php.ini ꤬פˤʤޤ
- Ethna_MailSender
-- $type  $template  rename ơѶŪ˥ƥץ졼̾Ȳ᤹褦ˤ
--- $def ä˻ꤷʤ ViewClass  forward_name Ʊͤ template/ja/mail/ ʲƥץ졼Ȥõޤ
-- multipart: 2 İʾźաե̾ꤷźդбޤ
--- ǥեȤ content-type  application/octet-stream ǤޤƤΤȡܸե̾ƤȤǤ
- Ethna_Renderer, Ethna_Renderer_Smarty
-- perform() 2 $capture ե饰ɲ
-- true ΤȤ Smarty Ū display Ǥʤ fetch ˤʤޤ
- Ethna_Util::isRootDir() ɲ
- ethna_make_package.svnб
- Ethna_Plugin_Validator_Mbregexpɲ (thx: mumumu)
-- mb_eregȤäޥХбɽץ饰
- Ethna_Plugin_Handle_PearLocalɲ 
-- PEARѥåƥץ˴Ǥץ饰
- View Υ˥åȥƥȤǤʤʤäƤХ(thx: sfio, ethna-users:0651)

*** bug fixes

- raiseError()ΰְäƤΤ (thx: sfio)
- ץ饰ѥå󥹥ȡ '{$application_id}' ִʤХ
- add-template ưƤʤäΤ
- Ethna_ViewClass::_getFormInput_Select  multiple θƤʤäΤ
- Ethna_AppObject::_getSQL_SearchId ǵߺѤˤʤäƤʤ顼Υåפ
-- ͭ key ʤȤˡɤˤ SQL 顼ˤʤäƤ
- OS_WINDOWSgetAppController()̵¥롼פˤʤäƤΤ
-- 롼ȥǥ쥯ȥȽ˼ԤƤ
- Console_GetoptʤɤΥåץ졼ɤб
-- php4бreference֤ʤʤäƤΤȼäȯƤnotice
- xmlrpcΥѥ᡼ActionFormϤäƤʤäΤ(#9845)
- file_type θ ǽʤ
- MailSenderǥƥץ졼ȥեꤷʤεư
- MailSenderBare LFCRLFִ(#9898, ethna-users:0588)
- Smarty  $script ѿͤPATH_INFOͤޤޤŪ˸ưХ(thx: cockok, ethna-users:0687)

** 2.3.1

*** features

- ethnaޥɤ@PHP-BIN@ִ줺˻ĤäƤ(CVSǤȤäƤȤʤ)б
- ǥեȥƥץ졼Ȥ˥Сֹ򤳤äɲ

*** bug fixes

- Mac/WindowspearͳǤΥ󥹥ȡ˼ԤƤ
-- ٤Ƥrolephpˤơethna.{sh,bat}Τscript
- Ethna_ViewClass::setPlugin()  $plugin θڤ is_callable  (ethna-users:0507)
- install-plugin ưƤʤäΤ (#9582)
- ethna.shPHPΥѥꤵƤʤäΤ(ethna-users:0508)
- Ethna_AppObject'key'ξunique_key, multiple_keyϳƤΤ
- Ethna_ViewClass<label id="foo">ȤʤäƤΤ<label for="foo">˽

** 2.3.0

*** features

- ethnaޥɤΥϥɥ
-- Ūgetopt
--- "--basedir" оݥץξ
--- "--skelfile" Υȥե
-- Ƥgenerator "ץ -> Ethna" ν˥ȥեõ褦ѹ
-- add-action-cli, add-action-xmlrpcѻߡadd-action "--gateway=www|cli|xmlrpc" ɲ
-- add-entry-pointɲ
--- ethna add-entry-point --gateway=cli foo  bin/foo.php, app/action/Foo.php 
-- pearޥɤȤϥɥ "--pearopt" ɲ(experimental)
--- ethna install-plugin -p--alldeps -p--force foo bar Τ褦˻ꤹ
-- Ethna_Handle::_getopt()νϤѹ

- miscɲ
-- plugin packagerΥץ
-- ޤ: _ethna (zsh䴰ؿ)

- Smarty, PEAR_DBincludeΥߥ󥰤ѹ
-- ɬ׻ Ethna_ClassFactory::_include() Ȥ褦ˤ

- Ethna_AppObjectpostgres, sqlite˴ʰб
-- 1ơ֥1쥳ɤ1֥Ȥб褦ñʥǥΤб
-- ޤdb typeȤĴɬפˤʤ뤳Ȥޤ
-- pgsqlsequenceб
-- ơ֥̾̾μưquoteб

- add-* ϥɥ뵡ǽɲ
-- add-template: --skelfile ץΥȥեǤ褦ˤ

- {form_input}إѡ
-- select, radio, checkboxб
-- եǻǤ褦ˤ(afmethod, property, managerʤ)
-- ¦{form}֥åaction̾, defaultͤǤ褦ˤ
-- եdefaultͤǤ褦ˤ

- Ethna_Plugin_Handle_{Install,Upgrade}Plugin  --state ץɲ
- local Υץ饰 prefix  App ѹ(app_idͽ찷)

- Ethna_Plugin_Handle_ClearCache ɲ
--  smarty, pear, cachemanager_localfile, tmpʲ̵ѤǺΤߤб
- ethna_error_handler()  print ѹ
-- Logwriter ץ饰󲽤ȼ $has_echo ΥХ
-- $has_echo ˲ä $config->get('debug') 򸫤褦ˤ
- Ethna_Handle  Ethna_Controller  App_Controller ¸ΰ𤷤ƤΤ
- Ethna_Hanlde  mkdir(), chmod(), purgeDir() ɲ
- Cachemanager ץ饰 PEAR::raiseError()  Ethna::raiseError() ѹ
- Ethna_Logger  Ethna_Config ֥Ȥμ˼ԤȤν
- ethna {install,uninstall,upgrade}-plugin  skel  generate եξ񤭳ǧѻ

- Ethna_Plugin_Handle_ListPlugin
-- ѥå˷餺ץ饰ΰɽ
-- ѥåˤȤϥѥå̾ȥСɽ
- Ethna_Plugin_Handle_UpgradePlugin, Ethna_Plugin_Handle_ChannelUpdate
-- ץ饰ѥåupgrade, pear channelupdateб
-- http://pear.server/get/Package-1.2.3.tgz Τ褦install, upgradeб
- PearWrapper, Ethna_HandleǤΥǥեȥå(localmaster)localѹ
- Ethna_Plugin_Handle_{Install,Uninstall,Info,List}Plugin
-- master, localΥϥɥʬƤΤ
-- ɺѤߤ tgz б
-- Console_GetOpt  --channel, --basedir, --local, --master Υץɲ
-- new PEAR_Error()  error handler  callback($ui, 'displayFatalError') ѹ

- Ethna_UrlHandler饹ɲ(ƥurlб)
- Smartyץ饰ؿsmarty_function_urlɲ
- Ethna_AppObjectΥեݡɲ
-- [2006/08/23] 㤷
- Ethna_ClassFactory::getObject()ǥ饹̵Ϥ줿Ethna_AppObject()ΥǤȲꤷƥ֥
- ץꥱ󥹥ȥ˥ץꥱͭActionClass, ActionForm, ViewClass褦ѹ
- Ethna_SkeltonGenerator饹Ethna_Generator饹̾ѹ
- Ethna_SkeltonGenerator饹γƥ᥽åɤץ饰
- Ethna_Config::get()ǰꤷʤǼ֤褦ѹ
- Ethna_ViewClass::_getTemplateEngine()ͤǼ$configƥץ졼ѿꤹ褦ѹ
- EthnaΥѥåƥɲ
-- ethnaѤpear channelץ饰Υѥå򥤥󥹥ȡǤ褦ˤʤޤ
-- Ethna_PearWrapper, Ethna_Plugin_Handle_{Install,Info,List,Uninstall}_Plugin_{Master,Local}ɲ
-- local: ץꥱ(ץ)Υǥ쥯ȥꡢmaster: EthnaΤΤǥ쥯ȥΥ᡼Ǥ
-- PearWrapperethnaޥ(Handle)ƤӽФ뤳Ȥ
-- Ethna_SkeltonGeneratorˤä᥽åɤEthna_Handle˰ưɲ

- 顼ϥɥˤ¿ѹ
-- @黻ҤȤä顼ѻ

- [breaking B.C.] Ethna_ClassFactoryΥե
-- Ethna_Backend::getObject()᥽åɤɲäޤ
-- ˤꡢEthna_Controller$classФ
 $class = array(
   // ...
   'user' => 'Some_Foo_Bar',
 ),
ȵҤ뤳Ȥ
 $user =& $this->backend->getObject('user');
ȤSome_Foo_Bar饹Υ֥Ȥ뤳Ȥޤ
-- 饹Ĥʤϲνǥեõ˹Ԥޤ(include_path)
+++ Some_Foo_Bar.php (Τޤ)
+++ Foo/Some_Foo_Bar.php (Ethna style)
+++ Foo/Bar.php (Ethna & PEAR style)
+++ Some/Foo/Bar.php (PEAR style)
-- ץꥱޥ͡Ethna_ClassFactoryǹԤޤ(Ethna_ClassFactory::getManager()ɲäƤޤ)
-- ȼ2.1.xǤϥȥ饯饹
 $manager = array(
   'um' => 'User',
 );
Τ褦˵ҤƤȡEthna_ActionClassEthna_ViewClassEthna_AppObjectEthna_*Manager
 $this->um
Ȥƥޥ͡㥪֥Ȥ˥ǤƤΤǤεǽѻߤƤޤ(ɾʤᤷޤ@preview2)
- Ethna_Plugin_Logwriter_File::begin()ǥեΥѡߥåꤹ褦ѹ
- ϡɥ -> եȥ
- test runnerɲ
- [breaking B.C.] Ethna_Loggerե
-- Ethna_LogWriterΥץ饰
-- ޶ڤǤʣեƥݡ
-- _getLogWriter()饹򥪡С饤ɤƤ˱ƶޤ(2.3.0ʹߤPlugin/LogwriterʲLogwriter饹֤ơեƥǤ̾ꤹǤդLogwriterɲòǽǤ)
- [breaking B.C.] Ethna_Rendererɲ
-- 2.1.xǤľܰäƤƥץ졼ȥ󥸥󥪥֥ȤEthna_Renderer饹wrapޤ
-- Ethna_Controller::getTemplateEngine()obsoleteȤʤޤΤǺEthna_Controller::getRenderer()Ѥ
-- Ethna_Controller::_setDefaultTemplateEngine(), Ethna_View::_setDefault(), Ethna_Controller::getTemplateEngine()ΰͤ2.1.xޤǤSmarty֥ȤǤϤʤEthna_Renderer֥ȤȤʤޤ
-- ȼEthna_Controller::_setDefaultTemplateEngine(), Ethna_Controller::getTemplateEngine()ѤƤ륢ץꥱǤϥåץǡȻEthna_Renderer::getEngine()ѤƸߴݻ褦ѹɬפȤʤޤ
 e.g.
 $smarty =& $this->controller->getTemplateEngine();
 
 $renderer =& $this->controller->getTemplateEngine();
 $smarty =& $renderer->getEngine();
- ץ饰󥷥ƥɲ(w/ Ethna_Plugin饹)
-- Ethna_Handle, Ethna_CacheManager, Ethna_LogWriterץ饰󥷥ƥ˰ܹ
-- Ethna_ActionFormΥХǡץ饰󥷥ƥ˰ܹ(Ethna_ActionForm::use_validator_plugintrueΤȤΤ)
-- see also
--- http://ethna.jp/ethna-document-dev_guide-plugin.html
--- http://ethna.jp/ethna-document-dev_guide-form-validate_with_plugin.html
- ethnaޥɤ˥̾ӥ塼̾Υåɲ(Ethna_Controller::checkActionName(), Ethna_Controller::checkViewName()ɲ)
- Ethna_CacheManager_Memcache(åޥ͡memcacheݡ)ɲ
- Ethna_Sessionregenerate_id᥽åɤɲ
- Ethna_Plugin_Csrf(CSRFк)ɲ



*** bug fixes

- [[#9009>http://sourceforge.jp/tracker/index.php?func=detail&aid=9009&group_id=1343&atid=5092]](%sSQLEchoLoggerDebugWarning)
- form_pathưƤʤä
- ȥ餬ʣȤset_error_handler()٤¹ԤΤ
- CacheManager_Localfile@statǤWARNING
- Ethna_Plugin_Validator_Customǥ顼2ϿƤΤ
- ץ饰οƥ饹ʤȤ˥顼ˤʤäƤΤ
- Ethna_DB_PEAR, Ethna_AppObjectWARNING([ethna-users:0383])
- Windowsǥۡǥ쥯ȥ.ethnaե뤬Ȥʤ
- session_startƤʤrestore᥽åɤޤưʤ
- ethnaޥɤ˥ݡȤƤʤץΤߤꤷƵư(ethna -hʤ)Fatal ErrorȤʤ
- Ethna_Backend::getDBNotice顼
- åޥ͡Υ顼ɤ256ʾ(ץꥱ)ˤʤäƤ
- ethna add-action-testȤ˥ե뤬app/action_cliƤޤ
- Ethna_SkeltonGenerator饹typo(proejct -> project)
- Ethna_ActionFormǥץ饰ȤʤȤ˥ե륿ǽʤХ


** [2006/06/07] 2.1.2

*** bug fixes

- Ethna_Controller::getActionRequest()᥽åɤΥǥեȾ֤ο񤤤


** [2006/06/07] 2.1.1

*** bug fixes

- ethna.batΥѥ

** [2006/06/06] 2.1.0

*** features

- ethnaޥɤETHNA_HOME򥤥󥹥ȡ˷ꤹ褦˲
- Ethna_ActionForm::validate() ¿Ϥ줿Ȥnotice
- Ethna_Backend::setActionForm(), Ethna_Backend::setActionClass()᥽åɤɲ
- Ethna_FilterΥȥpreActionFilter()/postActionFilter()ɲ
- Ethna_AppObject::_getPropDef()˥åɲ
- Ethna_CacheManager饹ɲ(w/ localfile) - from GREE:)
- Ethna_DB::getDSN()᥽åɤɲ
- iniեΥȥdsnץɲ
- add-templateޥɲ(by nnno)
- add-projectΥǥեȥƥץ졼ȥǥѹ
- ethnaޥɤ-v(--version)ץɲ
- smarty_modifier_select(), smarty_function_select()"selected"°xhtmlб(selected="true")
- {form_name}, {form_input}ץ饰ɲ(㤷experimentalȤongoing)
- Ethna_ViewClasshelperեб
-- Ethna_ViewClass->helper_action_form = array('some_action_name' => null, ...)Ȥ{form_name}ȤǻȤޤ
- [breaking B.C.] Ethna_ActionClasspreforward()ݡ(फΥɤˤޤΤǤ)
- (פ)ʥ֥ͥåץ饰{form}...{/form}ɲ
-- ethna_actionɲ(hidden)
- Ethna_Controller$smarty_block_pluginץѥƥɲ
- ethnaޥɤadd-action-cliɲ
- [breaking B.C.] main_CLIΥǥ쥯ȥaction_cliѹ
-- controllerdirectoryץѥƥ'bin'Ǥɲ
- ethnaޥɤadd-app-managerɲ(thanks butatic)
- Ethna_ActionForm ե (by )
-- $this->form ξά setFormVars() 饳󥹥ȥ饯˰ư
-- եͤΥ顼/å setFormVars() Ǥ褦ѹ
--- vaildate()  setFormVars() ǥ顼 (handleError()) ȯ뤳Ȥޤ
-- եͤΥ顼/åǥեȰۤʤ null ˤ
-- եǡκƹ˹Ԥ褦ѹ
-- ե required, max/min ꤬ΥХ
-- _filter_alnum_zentohan() ɲ (mb_convert_kana($value, "a"))
- XMLRPCȥfaultCodeݡȤɲ
-- actionEthna_Error(뤤PEAR_Error)֥Ȥ֤ȥ顼֤ޤ
- XMLRPCȥݡɲ(experimental)
-- ethna add-action-xmlrpc [action]XMLRPC᥽åɤɲòǽ
-- 1Ĥȥե1Ĥбޤ
-- ToDo
--- ϥХåեå
--- method not foundʤɥ顼б
- Ethna_ActionForm饹Υ󥹥ȥ饯setFormVars()¹Ԥʤ褦ѹ
- ȥ˴ޤޤ'your name'ޥ({$author})ѹ(~/.ethnaб)
- ʤؿfile_exists_ex(), is_absolute_path()ɲ
- SimpleTestȤϢȵǽɲ(ethnaޥɤadd-action-test,add-view-testɲäʤ)
-- SimpleTestΥ󥹥ȡåɲ
- package.xmlץȲ(ethnaޥɥ󥹥ȡбʤ)
- Haste_ADOdb, Haste_Creoleޡ(from Haste Project by halt)
- Ethna_AppObject饹Υơ֥/ץѥƥưݡɲ(from generate_app_object originally by 夵+halt)
- Ethna_Controller::getAppdir()᥽åɤɲ
- Ethna_Controller::getDBType()ΰnullä֤褦ѹ
- ethnaޥɥ饤ϥɥɲ(+ϥɥpluggable+add-viewǥƥץ졼ݡ)please cp bin/ethna to /usr/local/bin or somewhere
 generate_project_skelton.php -> ethna add-project
 generate_action_script.php   -> ethna add-action
 generate_view_script.php     -> ethna add-view
 generate_app_object.php      -> ethna add-app-object
- [breaking B.C.] client_typeѻ -> gatewayɲ
-- CLIENT_TYPEѻ
-- Ethna_Controller::getClientType(), Ethna_Controller::setClientType()ѻ
-- Ethna_Controller::setCLI()/Ethna_Controller::getCLI() -> obsolete
-- GATEWAYɲ(GATEWAY_WWW, GATEWAY_CLI, GATEWAY_XMLRPC, GATEWAY_SOAP)
-- Ethna_Controller::setGateway()/Ethna_Controller::getGateway()ɲ
-- ꤫AMFȥݡȤ(ö)ѻ
- Ethna_SkeltonGenerator::_checkAppId()Ethna_Controller::checkAppId()˰ư
- generate_app_objectɲ
- 饹Υ᥽åɤSmartyFunctionȤϿǤ褦˽

*** bug fixes

- [[#8435>http://sourceforge.jp/tracker/index.php?func=detail&aid=8435&group_id=1343&atid=5092]](Ethna_AppObject prop_def[]['seq']̤)
- [[#8079>http://sourceforge.jp/tracker/index.php?func=detail&aid=8079&group_id=1343&atid=5092]](FilterBackendƤ֤ActionFormͤˤʤ)
- [[#8200>http://sourceforge.jp/tracker/index.php?func=detail&aid=8200&group_id=1343&atid=5092]](PHP5.1.0ʹߤafvalidate()եåʤ)
- [[#8179>http://sourceforge.jp/tracker/index.php?func=detail&aid=8179&group_id=1343&atid=5092]](getManagerͤϤˤʤäƤʤ)
- [[#8400>http://sourceforge.jp/tracker/index.php?func=detail&aid=8400&group_id=1343&atid=5092]](AppObject prop_def[]['form_name']NULL)
- [[#7751>http://sourceforge.jp/tracker/index.php?func=detail&aid=7751&group_id=1343&atid=5092]](SAFE_MODEmailؿ裵Waning)
- [[#8496>http://sourceforge.jp/tracker/index.php?func=detail&aid=8496&group_id=1343&atid=5092]](Ethna_AppObject.phptypo)
- [[#8387>http://sourceforge.jp/tracker/index.php?func=detail&aid=8387&group_id=1343&atid=5092]](checkMailaddresscheckURLNotice)
- [[#8130>http://sourceforge.jp/tracker/index.php?func=detail&aid=8130&group_id=1343&atid=5092]](NoticeĤ֤)
- typo fixed (aleady -> already)
- [[#7717>http://sourceforge.jp/tracker/index.php?func=detail&aid=7717&group_id=1343&atid=5092]](Ethna_AppObject::add()Notice)
- [[#7664>http://sourceforge.jp/tracker/index.php?func=detail&aid=7664&group_id=1343&atid=5092]](Ethna_AppObjectΥХ)
- [[#7729>http://sourceforge.jp/tracker/index.php?func=detail&aid=7729&group_id=1343&atid=5092]](ethna_infoFirefoxȤ)

- (within beta) ethna_handle.php̵Ѥob_end_clean()
- (within beta) ethna add-viewǥץȥǥ쥯ȥꤷե뤬ʤ
- (within beta) WindowsǤethnaޥɤѥå饤󥹥ȡ뤷¹ԤǤʤ
- (within beta) ActionFormΥեͤ˲(by sfio)


** [2006/01/29] 0.2.0

*** features

- ʸmin/max顼Υǥեȥ顼å
- ե˥२顼åǤ褦ѹ
- Ethna_Controller::main_CLI()᥽åɤ˥ե륿̵륪ץɲ
- Ethna_ActionForm饹Υեʥߥåѹ褦˽
- Ethna_ActionForm饹Υե˥ƥץ졼ȵǽɲ
- Ethna_Backend::getActionClasss()᥽åɤɲ(¹Υ󥯥饹)
- ~/.ethnaեˤ桼ȥޥɲ
- smarty_function_select$emptyɲ
- mb_*Ѵ󥳡ǥ󥰤EUC-JP꤫󥳡ǥ󥰤ѹ
- Ethna_Backend::begin()Ethna_Backend::commit()Ethna_Backend::rollback()ѻ
- Ethna_Controller::getDB()Ethna_Controller::getDBType()ѹ
- Ethna_DB饹ݥ饹()ȤƿEthna_DB饹Ethna_DB_PEAR饹ɲ
- Ethna_LogWriter饹ݥ饹()ȤƿEthna_LogWriter饹Ethna_LogWriter_EchoEthna_LogWriter_FileEthna_LogWriter_Syslog饹ɲ
- log_facilitynullξΥϥ饹Ethna_LogWriter_EchoEthna_LogWriterѹ(Ϥʤ)
- log_facility˥饹̾񤤤ϤΥ饹ϥ饹ȤѤ褦ѹ
- Ethna_Filter::preFilter()Ethna_Filter::postFilter()Ethna_Error֥Ȥ֤ϼ¹Ԥߤ褦ѹ
- Ethna_InfoManagerɽܤɲ
- Ethna_ActionForm::isForceValidatePlus()Ethna_ActionForm::setForceValidatePlus()᥽åɤȡ$force_validate_plusФɲ($force_validate_plustrueꤹȡ̾︡ڤǥ顼ȯǤ_validatePlus()᥽åɤ¹Ԥݥǥե:false)
- եcustom°˥޶ڤǤʣ᥽åɥݡȤɲ

*** bug fixes

- htmlspecialcharsENT_QUOTESץɲ
- Ethna_AppSQL饹Υ󥹥ȥ饯᥽å̾
- [[#7659>http://sourceforge.jp/tracker/index.php?func=detail&aid=7659&group_id=1343&atid=5092]](Ethna_Config.phpNotice顼)
- Ethna_SOAP_ActionForm.phptypo
- [[#6616>http://sourceforge.jp/tracker/index.php?func=detail&aid=6616&group_id=1343&atid=5092]](åObjectǼǤʤ)
- [[#7640>https://sourceforge.jp/tracker/index.php?func=detail&aid=7640&group_id=1343&atid=5092]](¸ʸΥåǥ顼åɽʤ)
- [[#6566>https://sourceforge.jp/tracker/index.php?func=detail&aid=6566&group_id=1343&atid=5092]](skel.action.phpΥץtypo)
- [[#7451>https://sourceforge.jp/tracker/index.php?func=detail&aid=7451&group_id=1343&atid=5092]](PHP 5.0.5б)
- .museumб
- Ethna_Backend饹Υ饹¿
- BASEαƶǥȥηѾ
- WindowsĶƤʤLOG_LOCALɾƤޤ
- [[#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)
- [[#6074>http://sourceforge.jp/tracker/index.php?func=detail&aid=6074&group_id=1343&atid=5092]](generate_project_skelton.phpư۾)
- safe_mode=onξuid/gid warningȯ(ǽΤ)
- פʻϤ
- ¾٤ʽ(elseif -> else if)
- PATH_SEPARATOR/DIRECTORY_SEPARATOR̤ξ(PHP 4.1.x)
- smarty_modifier_wordwrap_i18n()βб
- 桼եมڥ᥽åɤƤӽФʤ(Ȥ)
- ޥץ饤ޥꥭѻ˥֥ȤȽ̤Ǥʤ
- Ethna_AppObjectJOINSQL顼ˤʤʤȤ
- å륿ߥ󥰤ٱ(̵¥롼פ)
- Ethna_MalSendermail()ؿ˥ץϤ褦˽
- Ethna_View_List::_fixNameObjectоݥ֥ȤϤ褦˽


** [2005/03/02] 0.1.5

*** features

- Ethna_Controller::getCLI()(CLIǼ¹椫ɤ֤᥽å)ɲ
- ethna_error_handlerphp.ini˱PHPϤ褦ѹ
- Smartyץ饰(truncate_i18n)ɲ
- Ethna_AppObject/Ethna_AppManager˥å嵡ɲ(experimental)
- ᡼ƥץ졼ȥ󥸥Υեå᥽åɤɲ
- MIME󥳡ѥ桼ƥƥ᥽åɤɲ
- include_pathΥѥ졼win32б

*** bug fixes

- ethna_error_handlertypo
- Ethna_Session饹ǥϤʤ


** [2005/01/14] 0.1.4

*** features

- Ethna_AppObjectJOINˡ(ǽʤ)ץ饤ޥꥭGROUP BY褦ѹ

*** bug fixes

- __ethna_info__ưʤ:(


** [2005/01/13] 0.1.3

*** features

- Ethna_AppSearchObjectʣб
- Ethna_ClassFactory饹ɲ
- Ethna_Controllerbackend, i18n, session, action_errorФѻ
- Ethna_Controller::getClass()᥽åɤѻ
- Ethna_ActionClassauthenticate᥽åɤɲ
- preActionFilter/postActionFilterɲ(experimental)
- Ethna_View_List(ꥹɽѥӥ塼쥯饹)Υб
- Ȥ߹Smartyؿis_error()ɲ
- Ethna_ActionForm::handleError2ѻ
- Ethna_ActionForm::_handleErrorpublic᥽åɤѹ(Ethna_ActionForm::handleError̾ѹ)
- Ethna_ActionForm::getDef᥽åɤ˰ɲ(ά)

*** bug fixes

- եꤷƤΥå᥽åɤθƤӽФԤʤ
- եꤷƤɬܥåԤʤ
- __ethna_info__֥ǥ쥯ȥ줿Ǥʤ
- VAR_TYPE_FILEξregexp°̵ˤʤ褦˽


** [2004/12/23] 0.1.2

*** features

- __ethna_info__ɲ
- class_path, form_path, view_path°ΥեѥꥵݡȤɲ
- ץȤ1եˤޤȤġ(bin/unify_script.php)ɲ

*** bug fixes

- ץȥȥ˥ץꥱIDʸ/ͽå褦˽
- 'form_name'ꤹ̵Ѥ˷ٹȯ
- ХѥȽΥץåȥե¸(Windowsб)
- VAR_TYPE_INTVAR_TYPE_FLOATͤʣƤ
- SOAP/Mobile(AU)ǥ󥹥ץȤΥѥǤʤ
- Ethna_Util::getRandom()mt_srand()Ĥrand()ƤǤսmt_rand()ƤӽФ褦˽
- CHANGESΥ󥳡ǥ󥰽(ISO-2022-JP -> EUC-JP)
- ե졼ȯԤSQLʸ˰ĤäƤߥ
- ȥݥ(index.php)˵Ҥ줿ǥեȥ̾1ܤ˥ꥹѤƤȡưʤ(⤷ʤ)~
(ʾ):
 <?php
 include_once('../../app/Sample_Controller.php');
 Sample_Controller::Main('Sample_Controller', array(
  'login*',
 ));
 ?>


** [2004/12/10] 0.1.1

*** bug fixes

- ӥ塼֥Ȥpreforward()ƤФʤȤ
- /ӥ塼Υȥ˥ե񤭤ʤ褦˽
- ӥ塼Υȥǥ饹ִ̾ʤ

** [2004/12/09] 0.1.0

- ꡼

