OSDN Git Service

BugTrack2/369 Support PHP7 - Remove '& new Class' notation
[pukiwiki/pukiwiki.git] / UPDATING.txt
1 PukiWiki UPDATING
2 $Id: UPDATING.txt,v 1.41 2007/02/11 05:53:29 henoheno Exp $
3
4
5 更新履歴
6 ========
7
8 ※詳細は公式Webサイトを参照して下さい
9
10 http://pukiwiki.sourceforge.jp/?PukiWiki/Download
11
12
13
14 リリース間の互換性に関する記述
15 ==============================
16
17 PukiWiki 1.4.8: PukiWiki 1.4.7 との非互換点
18
19    1. これまでのTrackBack実装は、著作(創作)の手順が不適切である疑いが強くなっ
20       たため、完全に削除されました。同様にこの実装に依存していた referer 機能
21       も削除されました。
22       (See BugTrack2/62)
23
24
25
26 PukiWiki 1.4.7: PukiWiki 1.4.6 との非互換点
27
28    1. 管理者パスワード($adminpass)のデフォルト値が "pass" から、"(判定に絶対
29      に失敗する文字列)" に修正されました。
30        ※PukiWiki 1.4.6 のパスワードは 1.4.7 に移行できます
31        ※PukiWiki 1.4.6 以降、パスワードの保存形式は変更されています。
32          (See BugTrack/709)
33
34    2. "ページが更新される度に、プログラムをサーバー内部で実行する機能" の実装
35      は、今後グローバル変数($update_exec)ではなく定数(PKWK_UPDATE_EXEC) を使
36      用します。
37  
38      悪意を持った(しかし読み辛い)プラグインを使わざるをえない様に、誰かがあな
39      たに仕向けた場合、$update_exec を書き換えるだけでそれが実現可能です。
40      ("OSコマンドインジェクション" と呼ばれる脆弱性につながります)
41
42    3. 初期コンテンツ:
43       (See BugTrack2/118)
44
45      (ja)
46        マルチバイト文字列に依存したファイル名が初期コンテンツに含まれていた問
47        題を解消した結果、以下のページの名称が変更されました。
48          "整形ルール" => FormattingRules (編集時のリンクから参照されています)
49          "ヘルプ"     => Help (上下のナビゲーションから常に参照されています)
50
51        また、以下のページは添付されなくなりました。
52          "InterWikiテクニカル" => "InterWiki" (内容を集約)
53          "日本語" (削除)
54
55      (en)
56        以下のページ名が修正されました。
57          "FormatRule" => "FormattingRules"
58
59        また、設定 "$rule_page" は "Text Formatting Rules"(※存在しないページ)
60        ではなく "FormattingRules" をデフォルトで指定する様になりました。
61
62      これらの新しいページを追加する場合、忘れずに"凍結"して下さい。
63
64    4. ファイル: 下記のファイルが添付されなくなりました。
65      pukiwiki.php    : 必要であれば index.php をコピーしてお使い下さい。
66      skin/default.js : どこからも利用されていませんでした。
67
68    5. 脚注: 脚注のリンクに埋め込まれていた "脚注そのもの(文字列)" は、脚注全
69      文ではなく、決められた文字数だけ出力します。 (See BugTrack/420)
70
71    6. プラグイン: 以下の付プラグインは、$non_list(一覧しないパターン) に合致
72      するページを表示しません。 (See BugTrack2/140, BugTrack2/175)
73        attach, popular, related, touchgraph, yetlist
74
75
76 PukiWiki 1.4.6: PukiWiki 1.4.5_1 との非互換点
77
78     1. 管理者パスワードとベーシック認証で用いるユーザーパスワードについて、パ
79        スワードの保存方法を九種類の中から選択できる様になりました。この指定方
80        法は LDAP で使用されているものと同一で、RFC2307に準拠しています。(うち
81        五種類は OpenLDAP 互換)
82
83        そのため、今後はパスワードの先頭に、その保存方法(スキーム)が何であるか
84        を明記する必要があります。例えば従来通りMD5ハッシュを用いる場合、先頭に
85        '{x-php-md5}' を追加して下さい。
86
87          // md5('pass')
88          $adminpass = '{x-php-md5}1a1dc91c907325c69271ddf0c944bc72';
89
90        スキームの宣言がないとき、パスワードは平文で保存されていると解釈されま
91        す。
92
93          $auth_users = array(
94            'foo'  => 'foo_passwd', // 平文 (推奨しません)
95            'bar'  => '{x-php-md5}f53ae779077e987718cc285b14dfbe86',
96                      // md5('bar_passwd')
97            'hoge' => '{SMD5}OzJo/boHwM4q5R+g7LCOx2xGMkFKRVEx',
98                      // LDAP SMD5 'hoge_passwd'
99          );
100
101        平文を除く八種類の保存フォーマットについては、強化された md5プラグイン
102        で生成・検証することができます。
103        ※信頼できない環境ではmd5プラグインを使用しないで下さい
104
105     2. 新しいパスワード保存方法の中に crypt() 関数を使用するものが二種類ありま
106        す('{x-php-crypt}', '{CRYPT}')が、crypt() 関数の出力はシステム依存で
107        す。他のシステムへ / 他のシステムから設定を持ち越した場合に動作しない
108        (異なる結果が出力された結果、認証が通らない)可能性があります。
109
110        新旧双方の環境でmd5プラグインを使い、crypt()の結果を比較することで、あ
111        る程度事前に検証する事が可能でしょう。
112
113     3. 新しいパスワード保存方法の中に SHA-1 アルゴリズムを使用するものが三種類
114        あります('{x-php-sha1}', '{SHA}', '{SSHA}')が、このアルゴリズムは PHP
115        4.3.0 以降、あるいは 'mhash' エクステンションが組み込まれた環境でなけれ
116        ば利用できません。したがって該当する環境でなければ、これらのパスワード
117        保存方式を利用することはできません。
118
119     4. サーバーと閲覧者へのDoSを回避するためのリミッターとして、プラグインの呼
120        び出し回数をチェックする機構が追加されました。この結果、いずれかのプラ
121        グインが一定回数 (デフォルト:768回)を越えて呼び出された場合、即座にメッ
122        セージとリンクを表示した後、出力処理が終了します。
123
124        そのため、非常に長い文書の中に同一のプラグインを一定個数以上記載してい
125        る場合に、閲覧が行えなくなる可能性(編集は可能)をもたらします。そのよう
126        な場合、必要に応じて lib/plugin.php にある定数
127        PKWK_PLUGIN_CALL_TIME_LIMIT の値を拡大するか、(編集は可能であろうため)
128        該当ページのコンテンツを適宜複数のページに分割して下さい。
129
130        この場合のプラグインとは、ブロック型 「#プラグイン名」およびインライン
131        型「&プラグイン名;」の全てです。特に後者については「&」のようなHTML
132        エンティティも対象になります。(PukiWikiはHTMLエンティティもプラグイン
133        であると認識します)
134
135     5. (PukiWiki 1.4.5において) 特にOperaブラウザのために、脚注に対する「相対
136        リンク」が「絶対リンク」となるように変更が行われされましたが、ふたたび
137       「相対リンク」となるように修正されました。(詳しくは: BugTrack/698)
138
139        (1) calendar_viewerプラグインやincludeプラグインなど、他のページをイン
140          クルードするプラグインを使用したページの脚注(これらは相対リンクを想定
141          しています) に移動する代わりに、インクルード元のページの脚注に移動し
142          てしまう副作用が発生していたため
143
144        (2) 最新のOperaブラウザでは相対リンクによる影響は修正されているとの報告
145          を受けているため
146
147        定数 PKWK_ALLOW_RELATIVE_FOOTNOTE_ANCHOR(default.ini.php)の値を変更する
148        ことにより、1.4.5 当時の状態(絶対パス)にすることが可能です。
149
150     6. calendar_viewerプラグインが表示するページのタイトル(日付入りのページ名)
151        について、表示フォーマットを切り替えられる様になりました。また、デフォ
152        ルトが「文字列/YYYY-MM-DD」から「年/月/日 (曜日)」となりました。この
153        フォーマットはcalendar_viewerプラグインの先頭で指定する事ができ、元通り
154        に直すことも可能です。
155
156     7. 管理者に電子メールで通知を行う関数 pkwk_mail_notify() が作成されまし
157        た。この関数は自明な値をあらかじめ保持しますが、その副作用として、
158        $notify_header に従来通り From: を設定している場合に From: が重複し、結
159        果的にメールが送信されない可能性があります。
160
161        過去のバージョンから設定の値をコピーする場合、 $notify_header には
162        From: を含めないように修正して下さい。
163
164        PKWK_OPTIMISE が無効となっている時には、From: が重複しているかどうかな
165        どのチェックが行われ、あればエラーを表示します。
166
167     8. 画像のように見えるURIを「インライン画像としてリンク」しないための定数
168        PKWK_DISABLE_INLINE_IMAGE_FROM_URI を有効にすることにより、まさに該当の
169        機能を実現する「imgプラグイン」は機能が無効になります。(BugTrack2/69)
170
171        その結果、#img(,clear) という表記で「テキストの回り込み指定を解除」する
172        機能も無効になります。この機能は img プラグイン とセットで用いるために
173        用意されたものであるため、#img(,clear) を部分的に有効にした場合の影響は
174        予測できません。
175
176        #imgプラグインと無関係な部分であれば、#img(,clear)の代わりに、それ同じ
177        機能を有する #clearプラグイン を使用して下さい。
178
179
180 PukiWiki 1.4.5_1: PukiWiki 1.4.4との非互換点
181
182     1. デフォルトのスキン(enとja)が統合されています。
183        1.4.4用にリリースされているサードパーティ製スキンはほぼそのまま利用でき
184        ますが、ファイル名を含め、若干の調整を必要とするでしょう。
185
186     2. デフォルトのCSS(screen用とprint用)が統合されています。
187        ファイル名に変化がありますが、出力されるCSSの構造的な変化はありません。
188
189     3. :config/plugin/tracker/default の設定が見直されました。
190        特に英語版との兼ね合いにより「優先順位(priority)」が「重要度
191        (Severity)」に改められましたが、互換性を重視し、既に作成されたページに
192        影響が出る部分はそのまま残されています。
193
194     4. 1.4.5以降のスキン、および :config/plugin/tracker/default の内容は新しく
195        用意された機能あるいは変数を使用しているため、以前のPukiWikiでは利用で
196        きません。
197
198     5. ワームなどによる「非現実的な長さのクエリ文字列」をブロックする機能が盛
199       り込まれたため、今までに「極端にページ名が長いページ」に「極端にファイル
200       名が長いファイル」が添付されている場合、それを操作できなくなる可能性があ
201       ります。この場合、定数PKWK_QUERY_STRING_MAX を調節することで回避すること
202       が可能です。
203       また、用途がイントラネット向けであれば、PKWK_QUERY_STRING_MAX の値を 0
204       にすることにより、この機能を無効にすることができます。
205
206     6. 脚注に対するURLが、ページ内相対リンクのみ(#hogehoge)から絶対パス
207        (http://path/to/pkwk?ページ名#hogehoge)に変更されました。
208        これは Opera ブラウザの不具合に対するものですが、副作用として
209        calendar_viewer() のようなインクルード系のプラグインの中の脚注リンクを
210        クリックした場合、個別のページに画面遷移するようになっています。
211        (See BugTrack/698 for detail)
212
213
214 PukiWiki 1.4.4: PukiWiki 1.4.3との非互換点
215
216     1. includeプラグインにリミッターが設けられました(デフォルトで4ページまで)
217
218     2. calendar_viewerプラグインにリミッターが設けられました(一テーマ一回まで)
219        ※将来のリリースで、数回までに拡張される可能性があります
220
221     3. Apache Webサーバー向けに .htaccess ファイルが同梱される様になりました。
222        サーバー上で .htaccess が有効であるとき、例えばattach ディレクトリに保
223        存した添付ファイルに直接アクセスすることができなくなります。この結果、
224        古いバージョンのrefプラグインや、そこから派生したプラグインはうまく動
225        作しないでしょう
226        (これらの制限は、.htaccess を削除することで解除できます)
227
228     4. 初期化処理(init.php)が大幅に見直され、PukiWikiにとって不要なグローバル
229        変数(特に、危険なデータを含んでいるもの)が積極的に削除(unset)される様に
230        なりました。具体的には $_REQUEST, $HTTP_GET_VARS, $HTTP_POST_VARS,
231        HTTP_USER_AGENT 関係, REQUEST_URI 関係, QUERY_STRING 関係のデータにアク
232        セスしていたサードパーティ製プラグインやカスタマイズ部分は、適切に動作
233        しなくなるでしょう
234
235 PukiWiki 1.4.3: PukiWiki 1.4.2との非互換点
236
237     1.  trackbackディレクトリに保存されるファイル名の規則が変わりました
238         trackback/referer機能をお使いで、1.4.2から1.4.3へ移行される場合は、
239         PukiWikir-devサイト (http://pukiwiki.sourceforge.jp/dev/)の、
240         "開発日記/2004-03-18" を参照して作業を行ってください。
241
242 PukiWiki 1.4: PukiWiki 1.3.xとの非互換点
243
244     1.  [[WikiName]] と WikiName は同じページを指します
245     2.  定義リストの書式が違います (:term:description -> :term|description)
246     3.  リストや引用文は、下位レベルのリストや引用文を包めることができます
247         (1.3.xでは、リストは同種のみ、引用内には引用しか包含できませんでした)
248
249
250 更新履歴
251 ========
252
253 ※詳細は公式Webサイトを参照して下さい
254
255 http://pukiwiki.sourceforge.jp/?PukiWiki/Download