PukiWiki UPDATING
$Id: UPDATING.txt,v 1.17.2.1 2004/10/18 14:23:14 henoheno Exp $


互換性に関する記述
==================

PukiWiki 1.4.4_php5: PukiWiki 1.4.4との非互換点
    1. PHP5環境で動作します (残念ながら、PHP4環境でも動作します)


PukiWiki 1.4.4: PukiWiki 1.4.3との非互換点

    1. includeプラグインにリミッターが設けられました(デフォルトで４ページまで)

    2. calendar_viewerプラグインにリミッターが設けられました(一テーマ一回まで)
       ※将来のリリースで、数回までに拡張される可能性があります

    3. Apache Webサーバー向けに .htaccess ファイルが同梱される様になりました。
       サーバー上で .htaccess が有効であるとき、例えばattach ディレクトリに保
       存した添付ファイルに直接アクセスすることができなくなります。この結果、
       古いバージョンのrefプラグインや、そこから派生したプラグインはうまく動
       作しないでしょう
       (これらの制限は、.htaccess を削除することで解除できます)

    4. 初期化処理(init.php)が大幅に見直され、PukiWikiにとって不要なグローバル
       変数(特に、危険なデータを含んでいるもの)が積極的に削除(unset)される様に
       なりました。具体的には $_REQUEST, $HTTP_GET_VARS, $HTTP_POST_VARS,
       HTTP_USER_AGENT 関係, REQUEST_URI 関係, QUERY_STRING 関係のデータにアク
       セスしていたサードパーティ製プラグインやカスタマイズ部分は、適切に動作
       しなくなるでしょう

PukiWiki 1.4.3: PukiWiki 1.4.2との非互換点

    1.  trackbackディレクトリに保存されるファイル名の規則が変わりました
        trackback/referer機能をお使いで、1.4.2から1.4.3へ移行される場合は、
        PukiWikir-devサイト (http://pukiwiki.sourceforge.jp/dev/)の、
        "開発日記/2004-03-18" を参照して作業を行ってください。

PukiWiki 1.4: PukiWiki 1.3.xとの非互換点

    1.  [[WikiName]] と WikiName は同じページを指します
    2.  定義リストの書式が違います (:term:description -> :term|description)
    3.  リストや引用文は、下位レベルのリストや引用文を包めることができます
        (1.3.xでは、リストは同種のみ、引用内には引用しか包含できませんでした)



更新履歴
========

    *   2004-09-04 1.4.4_php5 by PukiWiki Developers Team

        PHP5対応 (branch_r1_4_4_php5)
            BugTrack/632 PHP5で動作しない


    *   2004-09-04 1.4.4 by PukiWiki Developers Team

        スケーラビリティの向上
            BugTrack/588: is_page()内の冗長なキャッシュを廃止
            開発日記/2004-07-10 exist_plugin() の呼び出し回数を低減
            開発日記/2004-08-01 ページを一覧表示する際の冗長なキャッシュを除去
                $list_index = 1 の際の表示速度がおよそ1/3に (1000ページ規模のとき)

        初期化処理の見直し: セキュリティ向上および軽量化 (init.php):
            開発日記/2004-06-22
               - 初回起動時にパーミッションチェックの結果をまとめて報告する
            開発日記/2004-06-28
                 - cmd= パラメータに値が渡されているとき、plugin= の値を無視する
            開発日記/2004-06-30 チェック前の文字列をメモリに残さない
            開発日記/2004-07-03
                - 不要なグローバル変数を多数排除
                - $_GET['msg']を禁止
                - GETがPOSTと同じキーを持っていた場合、POSTの内容を優先する
            開発日記/2004-07-11
                - $_GET['pass']を禁止
                - $get, $post, $cookie は、グローバル変数を(コピーせず)参照する
                - 'encoding_hints' の内容が空文字列かどうかをチェックする

        PukiWikiを容易に三分割できる様に修正
            1. Webサイトに露出しなければならないプレゼンテーション部分
               (index.php/pukiwiki.php, IMAGE_DIR, *.css および *.js)
            2. 複数のPukiWikiで共有可能な部分 (LIB_DIR以下)
            3. PukiWiki一本ごとに固有のデータ (DATA_HOME以下)

            開発日記/2004-07-24 index.php を追加
            画像ファイルを一箇所(IMAGE_DIR)に集約 (face画像、pukiwikiロゴ)
            BugTrack/509 ディレクトリの位置をハードコードしているファイルを多数修正
            (See also: BugTrack/147, BugTrack/656, 開発日記/2004-06-19)
                - 定義を追加: IMAGE_DIR (画像ファイル類)
                - 定義を追加: LIB_DIR   (ライブラリ)
                - 定義を追加: DATA_HOME (PukiWikiごとに固有のデータ)
                - 定義を追加: LANG_DIR  (言語ファイルのある場所)
                - 定義を追加: JCODE_DIR (mbstring.phpが必要とするjcode.phpの場所)
            versionlistプラグイン:
                - LIB_DIRやDATA_HOMEをフォローする
                - versionlistの出力から冗長な '/' を削除 (開発日記/2004-07-24)
            refプラグイン: UPLOAD_DIRの位置によらずインラインイメージの出力が
	        可能となる様に plugin_ref_action() を追加 (BugTrack/658)
            開発日記/2004-08-01 ライブラリとして使われうるファイルをLIB_DIRに移動

        携帯電話およびPDAなどからのアクセスに対応
            - 組み込みWebブラウザ向けのユーザーエージェント文字列を追加
                PlayStation BB Navigator(*1), i-mode and FOMA, Vodafone, EZweb, WAP
                phone, ACCESS "NetFront" / "Compact NetFront" and thier OEM,
                Opera(for embedded), Planetweb, DreamPassport, Palm "Web Pro",
                ilinx "Palmscape" / "Xiino", Sharp PDA Browser, Windows CE, WebTV
                (*1 PC上のWebブラウザと同等の表現能力があるものとして登録)
	    - 設定の集約 (keitai.ini.php)
            (Related: BugTrack/581, 開発日記/2004-07-03, BugTrack/626,
             BugTrack/628, BugTrack/637, BugTrack/646)

        [CONTRIBUTION] 日本の携帯電話対応 by みこ (See BugTrack/627 for detail)
            - 日本で使われている顔文字をface画像に置換するための設定を追加
            - 携帯電話ベンダ固有のコードへ顔文字などを置換する設定を追加
            - 日本で使われる表現「汗」(当惑している様子) のフェイスマークを追加

        セキュリティの向上
            開発日記/2004-07-11 index.html の追加 (ディレクトリの覗き見を阻止)
            開発日記/2004-07-18 管理者パスワードのためのシステム関数を追加
                - 認証失敗の度に2秒のウェイトをかけることで、攻撃者を妨害する
            BugTrack/528 pcommentをネストした場合の脆弱性
                - 無限ループを抑えるハックを追加
            開発日記/2004-08-09 includeプラグインにリミッターを追加 (4ページまで)
            BugTrack/666 calendar_viewerにリミッターを追加 (1テーマ1回まで)
	    BugTrack/652 .htaccess の追加 (Apache限定: 意図しないアクセスを禁止)
	    BugTrack/654 attach.inc.php プラグインで、存在しないページにファイル
	        を添付できてしまう

        セキュリティの向上: XSS脆弱性の修正
            BugTrack/586 edit_form() に XSS 脆弱性
            BugTrack/364 ls2プラグインでlink指定時の挙動がおかしい

        デフォルト設定の調整 (*.ini.php)
            - RecentChangesの件数を若干短く($maxshow: 80 => 60)
            - RecentDeletedをデフォルトで有効に ($maxshow_deleted: 0 => 60)
            - バックアップ間隔を短く、世代を多く、データ喪失までに必要な日数を長く
                $cycle:   6時間 => 3時間
                $maxage: 20世代 => 120世代
                   6 x 20 (5日) => 3 x 120 (15日)
            - 見出し行に固有のアンカーを自動挿入する ($fixed_heading_anchor: 0 => 1)
            - preformatted text の際、先頭のスペースを一つ取り除く
              ($preformat_ltrim : 0 => 1)
            - POP/APOP before SMTP: 自動認識する(サーバーが対応可能であればAPOP)
            - 英単語で指定したエモーションについて、画像のALT属性を括弧で囲む
              (例: sad => [sad]) (開発日記/2004-07-28)

        重要な問題の修正
            BugTrack/639 memoプラグイン: カンマ以降の文字が消える /
               ダブルクォートで囲んだ場合、ダブルクォートが消える
            BugTrack/655 attach.inc.php プラグインで、ATTACH_PASSWORD_REQUIREを
	        有効にした時に、添付したファイルが削除できなくなる

        ネットワーク関連の修正
            BugTrack/635 proxy.php のバグ (過剰判定、かつ間違っている)
            BugTrack/638 TrackBack受信件数が多く表示される
            開発日記/2004-07-17 POP/APOP before SMTP
                - 動作しない状態であったAPOPが動作する様に修正
                - STATおよびQUITコマンドを発行する様に修正

        軽微な問題の修正
            BugTrack/577 renameプラグインでXTMLパースエラー
            開発日記/2004-08-06 XHTMLが許容しない '&' を '&amp;' に修正
            BugTrack/619 いくつかのファイルで不揃いだった改行コードを統一
            BugTrack/622 E_ALL や safe_mode の際に表示されるWarning/Noticeの対応
            refプラグイン/attachプラグイン: KBをより正確に表示する (1024バイト換算に)
            menuプラグイン: サブメニューの名前を容易に変更できる様に、define
                'MENU_SUBMENUBAR' を追加
            BugTrack/653 topicpathプラグイン: １つ親のページへのリンクを外すことが
	        できてしまう (versionlistプラグインでtopicpathのバージョンがでない)

        ユーザーインターフェースの修正
	    積極的にUsageおよびエラーを表示する (現状は一部のプラグインのみ)
	      例:
	        #img(): Usage: (URI-to-image[,right[,clear]])
	        #include(): Included already: [[include_test]]
                #calendar_viewer(): You already view: 数百件あるカレンダー
	    imgプラグイン:
	        - URIを一つ与えるだけで動作する (従来は引数が2つ必要)
		- 3つ目の引数に 'clear' を与えると、画像と同時に回り込みを解除
                  するコードを挿入する
            menuプラグイン:
                - メニューバーを表示しているときはメニューを表示しない(BugTrack/670)
            paintプラグイン:
                - 出力するデータの修正: #img(,clear) の代わりに #clear を使う
            popularプラグイン:
                - 現在読んでいるページへはリンクされない (BugTrack/676)
            recentプラグイン:
                - 現在読んでいるページへはリンクされない (BugTrack/676)
            refプラグイン:
                - 'ref(filename,pagename)' という古い記法で指定した(はずの)添付
                  ファイルが見つからない場合、従来の様に "file not found" と
                  表示する代わりに、あいまいさの無い新しい記法
                  'ref(pagename/filename)' の利用を促すメッセージを表示する
                  (開発日記/2004-08-26)

        コードの可読性を高めるための修正
            開発日記/2004-07-18 内部関数名の変更: sanitize() => input_filter()
            開発日記/2004-07-31 空白しか含まない行の空白を削除
            - 関数の直前に空行を追加
            - 冗長なコメントの削除、コメントの追加
            - グローバル変数 $get / $post の代わりに $vars を使用する様に修正

        基礎コンテンツの修正および拡充 (BugTrack/644, 開発日記/2004-08-16 など)
            - pukiwiki.ini.php のコメントを整理／追加
            - デフォルトコンテンツの整備:
                - InterWikiName: YukiWiki、ウヰキエリア、devサイトを修正
	        - PukiWiki: devサイトおよびSourceForge.jpのリンクを追加
		- プラグインマニュアルを同梱 (PukiWikiのページからアクセス可能)
                - 冗長なコンテンツを削除・マージ
            - pukiwiki.org, pukiwiki-dev のバナーアイコンを標準添付


    *   2004-04-04 1.4.3 by PukiWiki Developers Team
        BugTrack/493 リンク元の文字サイズを指定すると文字サイズを変えると＃relatedに反応しない 
            [[cvs:make_link.php]](v1.4:r1.64)
        BugTrack/494 LANG=enの時のtemplateプラグイン
            [[cvs:en.lng]](v1.4:r1.25)
        $scriptのチェックにis_urlを使用
            [[cvs:func.php]](v1.4:r1.55)
            [[cvs:init.php]](v1.4:r1.69)
        BugTrack/496 ChaSenを使った場合ペイジの読みが正しく得られない
            [[cvs:func.php]](v1.4:r1.56)
        質問箱/344 入力時の改行の扱いについて再び
        質問箱/280 改行がそのまま反映されないのか?
        その他 処理の見直し
             [cvs:convert_html.php]](v1.4:r1.58)
        $line_break追加 改行を反映する(改行を<br />に置換する)とき1
             [[cvs:pukiwiki.ini.php]](v1.4:r1.52)
        BugTrack/491 RecentDeleteがほしい
             [[cvs:file.php]](v1.4:r1.38)
             [[cvs:pukiwiki.ini.php]](v1.4:r1.53)
        BugTrack/498 定義リストで説明文を空にするとブロックが終了する
             [[cvs:convert_html.php]](v1.4:r1.58)
        BugTrack/462 IIS 環境下における Basic認証が動かない
             [[cvs:auth.php]](v1.4:r1.3)
        質問箱/343 readme.txtに機種依存文字?
             [[cvs:readme.txt]](v1.4:r1.15)
        質問箱/346 counterプラグインでカウンタ表示対象のyesterdayについて
             [[cvs:plugin/counter.inc.php]](v1.4:r1.12)
        $_SERVER配列のチェックを修正(Warning対策)
             [[cvs:init.php]](v1.4:r1.70)
        使用されていない部分をコメントアウト(Warning対策)
             [[cvs:plugin/bugtrack.inc.php]](v1.4:r1.15)
        引数をチェック(Warinig対策)
             [[cvs:plugin/md5.inc.php]](v1.4:r1.3)
        rss取得に失敗したときのエラー処理を追加(Warning対策)
             [[cvs:plugin/showrss.inc.php]](v1.4:r1.11)
        壊れたレコードをスキップ(Warning対策)
             [[cvs:plugin/tb.inc.php]](v1.4:r1.6)
        エラーチェック強化
             [[cvs:plugin/tracker.inc.php]](v1.4:r1.20)
        BugTrack/499 #contents の直後にリスト要素を追加すると表示されない
             [[cvs:convert_html.php]](v1.4:r1.59)
        TableCellが空のとき<td>~</td>タグが省略されてしまう
             [[cvs:convert_html.php]](v1.4:r1.60)
        Content-Typeヘッダでcharsetを出力しないように(r1.37)
        ファイルダウンロード処理にmb_http_output('pass')を追加(r1.38)
             [[cvs:attach.inc.php]](v1.4:r1.38)
        join('',...)は不要
             [[cvs:plugin/tb.inc.php]](v1.4:r1.7)
        エラーチェック強化
             [[cvs:plugin/tracker.inc.php]](v1.4:r1.20)
        rss取得に失敗したときのエラー処理を追加
             [[cvs:plugin/showrss.inc.php]](v1.4:r1.11)
        引数をチェック
             [[cvs:plugin/md5.inc.php]](v1.4:r1.3)
        mode=submitが指定されていないときは何もしないように
             [[cvs:plugin/bugtrack.inc.php]](v1.4:r1.15)
        BugTrack/514 オートリンクされないページがある (BugTrack/502の修正ミス)
             [[cvs:func.php]](v1.4:r1.58)
        BugTrack/518 refererで同一URLが別のものとして記録される
             [[cvs:trackback.php]](v1.4.r1.15)
             [[cvs:plugin/tb.inc.php]](v1.4:r1.8)
        BugTrack/519 数字名のページがRecentChangesで正しく表示されない。
             [[cvs:file.php]](v1.4:r1.39)
        BugTrack/523 「PukiWiki/1.4/ちょっと便利に/単語検索の結果表示を拡張」を導入すると、「&」を検索した場合に表示が乱れる
             [[cvs:html.php]](v1.4:r1.97)
        BugTrack/525 キャッシュ更新を実行したときにスキンでnoticeが表示されるのを防ぐ
             [[cvs:plugin/links.inc.php]](v1.4:r1.18)
        BugTrack/526 rss10.inc.phpでtypo
             [[cvs:plugin/rss10.inc.php]](v1.4:r1.10)
        BugTrack/538 clearプラグインの同梱
             [[cvs:plugin/clear.inc.php]](v1.4:r1.1)
             [[cvs:skin/default.en.css]](v1.4:r1.28)
             [[cvs:skin/default.ja.css]](v1.4:r1.29)
        BugTrack/539 ヘルプの修正(リンク・エイリアス)
             [[cvs:wiki/C0B0B7C1A5EBA1BCA5EB.txt]](v1.4:r1.7)
        BugTrack/541 source.inc.phpで認証チェック漏れ
             [[cvs:plugin/source.inc.php]](v1.4:r1.11)
        BugTrack/543 backup.inc.phpでタグの不整合
             [[cvs:plugin/backup.inc.php]](v1.4.r1.10)
        BugTrack/549 refプラグインでnoicon、noimgオプションのときに文字列の後ろに空白が入る
             [[cvs:plugin/ref.inc.php]](v1.4:r1.21)
        BugTrack/521 引用文の多重化で、段落の~を省略した場合にXHTML 1.1 not validになる
        BugTrack/524 定義リストで一つの定義に対し複数の説明がつかない
        BugTrack/545 ある条件下でblockquote内にpで囲わずテキスト直書き
             [[cvs:convert_html.php]](v1.4:r1.61)
        BugTrack/555 encode_hintの判定ミス
        BugTrack/536 i-mode対応が正常に働いていない?
             [[cvs:init.php]](v1.4:r1.71) 
        BugTrack/552 backup.inc.phpでタグの不整合によるパースエラー
             [[cvs:plugin/backup.inc.php]](v1.4:r1.11)
        BugTrack/530 TouchGraph Plugin
             [[cvs:plugin/touchgraph.inc.php]](v1.4:r1.3)
        BugTrack/534 refプラグインで参照ページのBracketNameにカンマが含まれているとファイルを参照できない。
             [[cvs:convert_html.php]](v1.4:r1.62)
             [[cvs:func.php]](v1.4:r1.59)
             [[cvs:plugin.php]](v1.4:r1.10)
        BugTrack/539 ヘルプの修正(リンク・エイリアス)
             [[cvs:wiki/C0B0B7C1A5EBA1BCA5EB.txt]](v1.4:r1.7)
        BugTrack/540 trackbackのURLでtrackback listが表示されずFrontPageが表示される
             [[cvs:trackback.php]](v1.4:r1.16)
        BugTrack/558 trackback pingをGETで送ってくるサイトに対応を
             [[cvs:plugin/rss10.inc.php]](v1.4:r1.11)
             [[cvs:plugin/tb.inc.php]](v1.4:r1.9)
             [[cvs:init.php]](v1.4:r1.72)
             [[cvs:trackback.php]](v1.4:r1.16)
        BugTrack/559 $whatsnewに日本語ページ名を指定できない
             [[cvs:plugin/rss.inc.php]](v1.4:r1.6)
             [[cvs:plugin/rss10.inc.php]](v1.4:r1.11)
        ファイルロック処理を調整
             [[cvs:file.php]](v1.4:r1.40)
             [[cvs:plugin/attach.inc.php]](v1.4:r1.39)
             [[cvs:plugin/counter.inc.php]](v1.4:r1.13)
             [[cvs:plugin/online.inc.php]](v1.4:r1.8)
        Notice: Undefined offset: 1 対策
             [[cvs:html.php]](v1.4:r1.98)
        バックアップの際、ページに含まれるバックアップの区切り文字を無害化するように
             [[cvs:backup.php]](v1.4:r1.15)
        不要なset_time_limit()を削除
             [[cvs:plugin/rename.inc.php]](v1.4:r1.10)
        新規プラグイン  $line_breakをページ途中で切り替える
             [[cvs:plugin/setlinebreak.inc.php]](v1.4:r1.1)
        BugTrack/561 フォームでキーボードからタブコードを入力できないので…
             [[cvs:rules.ini.php]](v1.4:r1.2)
             [[cvs:wiki/C0B0B7C1A5EBA1BCA5EB.txt]](v1.4:r1.8)
        BugTrack/562 ChaSen/KAKASI無しでもある程度日本語ページ一覧分類を可能に
             [[cvs:file.php]](v1.4:r1.41)
             [[cvs:pukiwiki.ini.php]](v1.4:r1.54)
             [[cvs:wiki/3A636F6E6669672F5061676552656164696E67.txt]](v1.4:r1.1)
             [[cvs:wiki/3A636F6E6669672F5061676552656164696E672F64696374.txt]](v1.4:r1.1)
        BugTrack/563 renameプラグインで「./hogehoge」というようなページが作成できてしまう
             [[cvs:plugin/rename.inc.php]](v1.4:r1.11)
        BugTrack/564 versionlistプラグインでlngファイルが表示されない
             [[cvs:plugin/versionlist.inc.php]](v1.4:r1.7)
             [[cvs:plugin/versionlist.inc.php]](v1.3:r1.2.2.1)
        csv_explode, csv_implode関数を調整
             [[cvs:func.php]](v1.4:r1.61)
        BugTrack/566 [cvs] $Id が無い/二つある (マイグレーション作業向け) 
             [[cvs:default.ini.php]](v1.4:r1.4)
             [[cvs:i_mode.ini.php]](v1.4:r1.5)
             [[cvs:jphone.ini.php]](v1.4:r1.6)
             [[cvs:pukiwiki.ini.php]](v1.4:r1.55)
             [[cvs:plugin/clear.inc.php]](v1.4:r1.1) (cvs admin -kkv)
             [[cvs:plugin/versionlist.inc.php]](v1.4:r1.8)
             [[cvs:skin/default.en.css]](v1.4:r1.29)
             [[cvs:skin/default.ja.css]](v1.4:r1.30)
             [[cvs:skin/default.js]](v1.4:r1.2)
             [[cvs:skin/keitai.skin.ja.php]](v1.4:r1.5)
             [[cvs:skin/print.en.css]](v1.4:r1.3)
             [[cvs:skin/print.ja.css]](v1.4:r1.3)
             [[cvs:skin/pukiwiki.skin.en.php]](v1.4:r1.31)
             [[cvs:skin/pukiwiki.skin.ja.php]](v1.4:r1.32)
             [[cvs:skin/trackback.css]](v1.4:r1.2)
             [[cvs:skin/trackback.js]](v1.4:r1.2)
        BugTrack/553 ページのバックアップを削除しても、差分は残ってしまう
             [[cvs:plugin/diff.inc.php]](v1.4:r1.4)
             [[cvs:en.lng]](v1.4:r1.26)
             [[cvs:ja.lng]](v1.4:r1.25)
        BugTrack/570 追加で整形ルールを表示すると編集になる
             [[cvs:html.php]](v1.4:r1.99)

    *   2003-11-17 1.4.2 by PukiWiki Developers Team
        BugTrack/487 autolinkで文字化け
            [[cvs:func.php]](v1.4:r1.54)
        BugTrack/488 mbstring無しの状態でAutoLinkを設定するとページが化ける
            [[cvs:mbstring.php]](v1.4:r1.9)
        関数名がコンストラクタと衝突
            [[cvs:convert_html.php]](v1.4:r1.57)
        tracker_list()の第2引数でページ名の相対指定が使えるように
        tracker()の第1引数が省略されたときに'default'を使う
            [[cvs:plugin/tracker.inc.php]](v1.4:r1.18)
        エラー処理を調整
            [[cvs:plugin/template.inc.php]](v1.4:r1.16)
        変数名間違い
            [[cvs:plugin/rename.inc.php]](v1.4:r1.9)

    *   2003-11-10 1.4.1 by PukiWiki Developers Team

        BugTrack/478    リストの子要素の段落が正しく出力されない
        BugTrack/479    CGI版PHPの場合、HTTPSで利用できない
        BugTrack/480    online.inc.php 内のディレクトリ指定を定数に
        BugTrack/482    AutoLinkの動作を調整
        BugTrack/483    注釈内にHTMLエンティティを書くと注釈が作られない
        BugTrack/485    lookupでInterWikiNameの「検索」等を実行すると
                        &でなく&amp;が入る
        BugTrack/486    headerでキャッシュ無効を
        tracker.inc.php radio/select/checkboxで、選択肢がひとつも選択
                        されなかったときは、値を空白とする
        backup.php      dataが空の場合のwarning抑止

    *   2003-11-03 1.4 by PukiWiki Developers Team

        1.4系最初のリリース

