PukiWiki UPDATING
$Id: UPDATING.txt,v 1.17 2004/09/04 15:04:10 henoheno Exp $
互換性に関する記述
==================
PukiWiki 1.4.4: PukiWiki 1.4.3との非互換点
1. includeプラグインにリミッターが設けられました(デフォルトで4ページまで)
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 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が許容しない '&' を '&' に修正
BugTrack/619 いくつかのファイルで不揃いだった改行コードを統一
BugTrack/622 E_ALL や safe_mode の際に表示されるWarning/Noticeの対応
refプラグイン/attachプラグイン: KBをより正確に表示する (1024バイト換算に)
menuプラグイン: サブメニューの名前を容易に変更できる様に、define
'MENU_SUBMENUBAR' を追加
BugTrack/653 topicpathプラグイン: 1つ親のページへのリンクを外すことが
できてしまう (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追加 改行を反映する(改行を
に置換する)とき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が空のとき