Revision history for Tripletail 0.38 Fri Nov 23 12:15:01 JST 2007 - [[重要:非互換な仕様変更]]  - $TL->CGI 及び $CGI は const 状態になっていなかったが、const 状態にするよ   うにした。  - TL#dispatchで、第1引数が小文字ではじまる場合にエラーになるケースで、   onerrorが設定されている場合は、onerrorが呼び出されるようにした。 - Value#isDomainName() が正当でないドメイン名に対して 1 を返す場合があった  問題を解決。 - Value#isDateTime() を追加。 - TL#writeTextFileの文字コード変換が正常に動作していなかった問題の修正。 - [TL]outputbuffering が 1 でない場合、$TL->print 等で何らかのデータを出力し  た後にエラーが発生した時に表示が崩れる問題を解決。 - 0.35で導入された、Template#getForm, setForm, extForm, addHiddenForm,  addSessionCheck において対象となるノードに未置換の <&タグ> がある場合、  エラーになるように変更された修正を回避するオプションを追加した。  互換性維持の為に使用されるオプションであり、非推奨オプションとなります。 - const 状態の Form オブジェクトを変更可能にするオプションを [TL] の ini に追  加した。 0.37 Thu Oct 4 18:09:30 JST 2007 - Win32 で動かなくなっていた箇所の修正. - IIS/FastCGI/ActivePerlの対応. - Value に isDomainName() を追加。Validator のフィルタに DomainName を追加。  いずれもドメイン名として正当であるかどうかを確認する。 - Value に detectMobileAgent() を追加。User-Agent 名から文字コード名を判別す  る。 - Pager#setFormParam の引数が hashref をとることも出来るように修正した。 - Tripletail::Sendmail::Smtp でエラーが発生した場合、相手サーバからの  最後の応答をエラーメッセージに含めるように修正した。 0.36 Fri Sep 28 11:03:31 JST 2007 - [[重要:非互換な仕様変更]]  - Template#getForm, setForm, extForm, addHiddenForm, addSessionCheck は対象   となるノードに単に未置換の <&タグ> があるだけではエラーにならないように変   更された。> のように HTML タグの内部に未置換のテンプレートタグ   がある場合にはエラーになる。> 等も同様にエラーになる。 0.35 Thu Sep 27 12:03:15 JST 2007 - [[重要:非互換な仕様変更]]  - Template#getForm, setForm, extForm, addHiddenForm, addSessionCheck は対象   となるノードに未置換の <&タグ> がある場合にはエラーになるように変更された。  - DateTime はこれまで YYYY-M-D H:M:S のように月日時分秒が一桁である形式の日   付を受け入れなかったが、受け入れるようになった。但し区切り記号が存在する   場合のみ。 - DBのクエリをデバッグする際に、パラメータが記録に残らないバグを修正。 - 意味の解り難い英文のエラーメッセージを全面的に見直し。 - Tripletail::SMIME を Tripletail フレームワークから独立させ、Crypt::SMIME に  した。$TL->newSMIME は継続して利用可能。 - $TL->getCookie と $TL->getRawCookie は $TL->startCgi の外から呼ぶとエラーに  なるようにした。 - DB のクエリログを取っている場合、これまでは $TL->startCgi() の内部で実行さ  れたクエリであるかどうかに関係無くデバッグ表示画面に表示する為に内部に全て  のクエリログを保存していたが、$TL->startCgi() 内部で実行されたものでなけれ  ば保存する意味が無いため、保存しないようにした。 - FastCGI 環境で動作しているかどうかを判定する方法を、FastCGI の仕様書に定め  られている通りにした。 - $TL->startCgi() の -main 関数の外でエラーが発生した場合にそのエラー内容が二  重にログに出力される問題を解決。 - Pager の必須ノードであった PageNumLinks は必須でなくなった。 0.34 Fri Sep 14 14:38:19 JST 2007 - [[重要:非互換な仕様変更]]  - Value#isHira, isKata で判定をする際、「ー」があると偽を   返していたが、真を返すように修正。  - Tripletail::Filter::CSV に配列のリファレンスを渡した場合に、   出力時の改行コードを "\n" から "\r\n" に変更した。  - startCgi内で、不完全なリクエスト   (POST時にbodyがContent-Lengthよりも短いもの等)   の場合は、途中で接続が切れたものとして扱い、   その時はinitRequestのみ実行され、   pre/postRequestフック及びmainは実行されずに、   ダミーのコンテンツを返すようにした   (これはエラー扱いではないので、エラーログ及びエラー通知メールは    送られない)  - Tripletail::Filter::MemCachedのmodeオプションのreadが、   pass-throughに変更されました。  - Tripletail#printCacheUnlessModified, Tripletail#setCacheの、   引数を変更し、Tripletaik#setCacheFilterを追加した。 - errortemplateを指定した場合に正常に機能しない問題を修正した。 - Tripletail::Filter::CSV に配列のリファレンスを渡した場合に  どのような改行コードを利用するか指定するオプションを追加。 0.33 Mon Sep 10 16:26:55 JST 2007 - [[重要:非互換な仕様変更]]  - DateTimeクラスのtai64フォーマットの処理に問題があり、修正が   難しいため、tai64フォーマットへの対応を削除。  - Tripletail::Filter::MemCachedのtypeオプションはmodeオプションに   名称を変更し、引数はin/outからwrite/readに変更されました。 - Pagerクラスにて、DBセットを利用する手段が無かった為、  Pager#newPager時にdb_objectを渡せるように変更しました。  今後はこちらの形式が推奨方式になります。  db_groupを渡す方法も継続して利用できますが、非推奨な方法となりました。  あわせて、Pager#setDbGroupも非推奨となりました。 - ValueクラスのforcePortable、forcePcPortableの記述間違いを修正。  正しい動作は機種依存文字を削除する。 - SessionクラスがSQLの実行に失敗した時の処理が適切でなかったので修正。 - $TL->sendError のマニュアルのサンプルの記述ミスを修正。 - t/value.t が希に失敗することがある問題を修正。 - taint 時に動かない箇所の修正. - TLのoutputbufferingを1にすると2重にフィルタがかかるバグを修正。 - TLのoutputbufferingが1の場合は、Content-Lengthヘッダを付与するように修正。 - Filter::MobileHTMLクラス利用時に、Content-Lengthヘッダを返すように  outputbufferingを強制的に1にセットするように修正。  (携帯向けにコンテンツを返す場合、Content-Lengthヘッダを必須とする   キャリアがあるため) - errortemplateを指定した場合、そのテンプレートに対してデバッグ出力などの  ノードを展開しようとしていた問題を修正。指定したテンプレートはそのまま  出力するように修正された。  また、errortemplatecharset の設定を追加した。 - Windows環境でmail.tのテストに失敗する問題を(たぶん)修正。 - 特定の環境でsmime.tのテストに失敗する問題を修正。 - セッション利用時、DBとの接続が切れた場合の再接続処理が正しくなく、  接続が切れた次のリクエストでエラーが生じる問題を修正。 0.32 Fri Aug 31 18:22:56 JST 2007 - [[重要:非互換な仕様変更]]  - 出力フィルタとしてMobileHTMLを利用しているときに$TL->locationを利用すると   セッションが正しく維持されない問題を修正。   また、この修正に伴い、Tripletail::Filter::Redirectは廃止とし、   $TL->locationは出力フィルタがHTML、MobileHTML、SEOの   場合のみ利用できる仕様に変更。   RedirectフィルタをsetContentFilterで使用したり、出力フィルタとして   CSV、TEXT、Binary、を利用している場合はエラーとなる。  - 入力フィルタのMobileHTML、出力フィルタのMobileHTMLの仕様を変更し、   携帯絵文字に対応しました。   DoCoMo、AU、Softbank、ASTELのそれぞれの端末の絵文字を扱えるように   なりました。  - 文字コード変換をする部分で、prefer_encode オプションを指定できる   メソッドが複数ありましたが、実際の動作が反対になっていました。   Unicode::Japanese は utf8 フラグ付きの文字列でも受け付けますが、   Encode は受け付けません。   そのまま修正すると互換性の問題が多く生じる可能性があるため、   prefer_encode オプション自体を廃止することにしました。   prefer_encode は指定されても無視されますが、将来的に   別の引数が追加される可能性があるため、prefer_encode を   指定しているコードは、修正するようにお願いします。  - $TL->charconv は Unicode::Japanese を常に優先する仕様に変更。   Unicode::Japanese で変換できない文字コードの場合は、   Encode を使って変換を行うように修正。  - Tripletail::Filter::Text の charset は、Unicode::Japanese の   省略形を指定できなくなりました。   sjis, euc, jis, utf8 はそれぞれ Shift_JIS, EUC-JP, ISO-2022-JP, UTF-8   へ修正してください。  - $TL->charconv($str, ['EUC-JP', 'Shift_JIS'] => 'UTF-8');   のように推測する文字コードを一覧で指定する方法を廃止。 - Sessionクラスの管理ログはデフォルトで出力されなくなった。  iniパラメータで指定したときのみ出力を行う。 - Sessionクラスのsqlite DMLのバグ修正(0.30-)。  iniパラメータで指定したときのみ出力を行う。 - TagCheckクラスで、:BR などの指定をした時に自動で閉じタグが付いてしまう  バグを修正。 - TagCheckクラスで、自動で閉じタグを追加する際に、追加する順序が逆で  あったため、正しい入れ子関係にならないバグを修正。 - TagCheckクラスで、大文字小文字の同一視が正しく行われていなかった  バグを修正。 - TagCheckクラスで、行末に開業がない場合でも、line/blockでタグを閉じるように変更。 - TagCheckクラスで、xhtmlで のような形式にした場合に正しく判定  できていなかったバグを修正。 - ValueクラスにisPcPortableメソッドを追加。  isPortableメソッドの判定ロジックを一部変更。  forcePortable、forcePcPortableメソッドを追加。  strCutSjis、strCutUtf8メソッドを追加。 - ValidatorクラスにPcPortable、ForcePortable、ForcePcPortableフィルタを追加。 0.31 Tue Aug 28 16:36:03 JST 2007 - セッション関係のドキュメントが古かったため、修正. - PagerクラスのSQLに関する記述が古かったため、修正. 0.30 Fri Aug 24 17:38:15 JST 2007 - [[重要:非互換な仕様変更]] - Formにundef若しくは空のリストをsetしたときはキーの削除扱いに変更. - Formに配列以外のリファレンス, 若しくはリファレンスを含んだ 配列リファレンスをsetしたときはdieするように修正. - Templateで未展開のタグがあった場合に,flushメソッドを呼び出しても エラーとならないことがあるバグを修正. toStrと同様,未展開のタグが残っていた場合はエラーとするのが 本来の仕様だが,エラーが出ないケースがあった. - $TL->dispatchの第1引数の値は大文字でなければ拒否するように変更. - 空のリストを持つ要素をtextにsetFormできない現象の修正. - tx内でgetDBできない現象の修正. - fault-handler追加. - security.pod, policy.pod, tips.pod のドキュメントを追加. - sessionクラスが作成するテーブルのupdatetimeカラムにインデックスを 張るように修正. 既に作成済みのセッションテーブルに関しては、個別にインデックスの 追加作業を行って下さい. (古いセッションデータを削除する場合にのみ利用しますので, 不要なら追加しなくてもかまいません.) - sessionクラスをMySQLで利用する場合,MySQLのテーブルタイプを 指定できるiniオプションを追加. 0.29 Tue Jul 3 17:14:00 JST 2007 - TagCheck で自動リンクを行う際に,リンクURLがescapeTagではなくencodeURL  されているために,ブラウザが正常にリンクを認識できなくなるバグを修正. - Mail#attach でファイルパスを渡して添付することを可能にした. - Mail クラスでMIMEエンコードする際の処理を改善. - Mail#attach で日本語ファイル名に関する処理の修正. - FCGI 環境で $TL->fork した際、子プロセスの方が先に死んだ時に Internal Server Error になる問題に対処。 - $TL->fork した際、$TL->startCgi で自動 connect した DB との接続が切れる問題 を解決。 0.28 Fri Jun 15 12:33:46 JST 2007 - FCGI動作中は、SIGTERMが流れた時にスタックダンプを出力しないようにする - $TL->fork() を追加。FastCGI 環境で通常の fork を行うと正しく動作しないため。 - mod_perl Handler 対応. - 処理の最適化. - HtmlFilterで正規表現マッチが動作しないバグの修正. - Template#getForm,Template#setForm で,空文字列や 0 を値に持つ  option要素を正しく扱えないバグを修正. - tltail.pl(1) を追加. - Validator#correct メソッドを追加.チェックと同時に値の修正を行える  ように機能を拡張.  (Thanks to Haruka Kataoka.) 0.27 Tue Mar 27 22:16:06 JST 2007 - xhtml タグ調整追加(option). 0.26 Tue Mar 27 17:42:48 JST 2007 - xhtml 出力フィルタ利用時に一部の単一で使うタグが閉じられない不具合の修正. 0.25 Tue Mar 27 14:40:11 JST 2007 - Value#genRandomString メソッドを追加. - Esmtpが正常に動作しなかった問題を修正. - Win32でPOST入力の処理に失敗する不具合の修正. 0.24 Thu Mar 8 16:25:40 JST 2007 - Form#existsFile, Form#isUploaded メソッドを追加. - Value#convKanaNallow, Value#convKanaWide メソッドを追加. - SQL Server 対応(experimental). 0.23 Fri Jan 29 17:25:13 JST 2007 - charconvのprefer_unijpの挙動が仕様と逆になっていたバグの修正. 0.22 Fri Dec 8 16:23:03 JST 2006 - $DB->tx, $DB->inTx メソッドの追加. 0.21 Mon Dec 4 19:14:30 JST 2006 - 空白から始まるファイルをアップロードできないバグの修正. - Htmlフィルタで落ちることがあるバグの修正. 0.20 Tue Nov 7 17:11:07 JST 2006 - logのcurrentリンクを相対パスに変更. 0.19 Fri Oct 20 16:05:20 JST 2006 - Validator の Integer フィルタで, 値が存在しない場合に通過していたバグの修正. - Validator のユーザ定義フィルタのドキュメントが間違っていたので修正. - logディレクトリにcurrentのリンクを追加. 0.18 Fri Sep 15 10:57:55 JST 2006 - [[重要:0.17からの非互換な仕様変更]] - errorTrapをtrapErrorに変更 - $TL->log() の第1引数は省略可能に。 - $TL->log() の第2引数にリファレンスを渡した場合はダンプ結果を出力するように変更。 - $TL->dump() の第1引数は省略可能に。 - DateTime#getCalendarMatrixが正しいデータを返していなかったのを修正. - DateTime#spanXxx,minusXxxが破壊的メソッドになっていたのを修正. - jpholiday.plに0.11_01で変更された内容が反映されていなかった問題を修正 - t/datetime.t を JST に固定. - InputFilter::HTML のバグの為、0x0D 0x0A 0x09 のバイト列を含むファイルをアップロードした 時に、それが破壊される場合のある問題を解決。 - Debug の表示するデバッグ画面内でエラーが発生する場合のある問題を解決。 - その他雑多な修正 0.17 Fri Aug 18 16:32:40 JST 2006 - Filter::HTML を使うと
の action の部分を xxx.cgi?a=b のようにクエリ付きの URL に設定してしまう事がある問題を修正。 - META.ymlの生成を調整. 0.16 Fri Aug 18 13:29:03 JST 2006 - [[重要:0.15からの非互換な仕様変更]]  - 度量衡の1月が30日から30.436875日に変更  - Template#setForm は、その引数で言及されていない名前を持つ