Release notes/1.12/ja

From MediaWiki.org

Jump to: navigation, search

Contents

[edit] MediaWikiリリースノート

セキュリティリマインダー: MediaWikiはバージョン1.2.0以降ではPHPの register_globals設定を必要としません。onにしている場合、できるのであれば*off*にして下さい。

[edit] MediaWiki 1.12.0

これは2008年冬(訳注:春)の四半期ブランチリリースです。

MediaWikiは四半期ごとにスナップショットのリリースをする"継続的インテグレーション"開発モデルを利用しています。最新の開発コードは常に"ready to run"である状態を保っており、実際Wikipedia上の我々のサイトで動いています。

リリースブランチは最初のリリースから1年間はセキュリティ更新を受け取りますが、必須ではないバグ修正と機能開発は開発トランクでなされ、次の四半期リリースで公開されます。

最新のコードを利用したい方はブランチリリースの代わりにソース管理から入手できます: http://www.mediawiki.org/wiki/Download_from_SVN/ja


1.12.0rc1以降の変更:

[edit] MediaWiki 1.12.0rc1

これはMediaWikiの2008年冬のスナップショットのリリース候補です。


MediaWikiは四半期ごとにスナップショットのリリースをする"継続的インテグレーション"開発モデルを利用しています。最新の開発コードは常に"ready to run"である状態を保っており、実際Wikipedia上の我々のサイトで動いています。

リリースブランチは最初のリリースから1年間はセキュリティ更新を受け取りますが、必須ではないバグ修正と機能開発は開発トランクでなされ、次の四半期リリースで公開されます。

最新のコードを利用したい方はブランチリリースの代わりにソース管理から入手できます: http://www.mediawiki.org/wiki/Download_from_SVN/ja


[edit] 1.12の構成変更

  • Special:Contributions?bot=1で編集をbotの編集とマークするためには以前のrollbackパーミッションではなくmarkboteditパーミッションが必要となります。このパーミッションはデフォルトでsysopグループに割り当てられます。
  • シリアライズされたファイルが期限切れであるかどうかをチェックします。古い振る舞いを有効にするために(すなわち、チェックせずそれらが常に最新であることを前提とする)新しい構成変数$wgCheckSerializedをfalseに設定できます
  • rollbackパーミッションは通常のメカニズムを使ってレートリミットされます
  • 新しい構成変数$wgExtraLanguageNames
  • $wgAddGroups$wgRemoveGroupsの振る舞いは変更されました。新しい振る舞いです:
    • userrights権限の付与によって任意の権限の変更が許可されます。
    • userrights権限無しで、ユーザーは所属するグループのための$wgAddGroups$wgRemoveGroupsで指定されたグループを追加かつ/または削除できるようになります。
  • 外部のwikiに対してユーザー権限を変更するための新しいuserrights-interwikiパーミッション
  • $wgImplictGroupsSpecial:Listusersなどからグループが隠されるため。
  • $wgAutopromote: 指定されたクリテリア(基準)にマッチするユーザーを自動的にプロモート(昇進)させる
  • $wgGroupsAddToSelf$wgGroupsRemoveFromSelf: Special:Userrightsを通して指定されたグループからユーザー自身を追加もしくは削除することができるようにする
  • $wgUseTidyが有効になっていたとき、外部のTidy実行ファイルの存在に関係なくPHPのTidyモジュールが存在するのであればそちらが優先的に使われます。PHPモジュールが利用できるときでも、外部のTidyの使用を強制するためには、$wgTidyInternalをfalseに設定して下さい。


[edit] 1.12の新しい機能

  • (bug 10735) Special:Uploadで説明のないファイルに対して警告を追加
  • アップロードされたファイルのフルパスを取得するパーサー関数を追加。ページのための{{fullurl:}}を補完します。
  • (bug 11136) Postgresを使う場合、$wgDBmwschemaが'mediawiki'に設定されていない場合、検索パスは明示的に設定されます。$wgDBmwschemaはユーザーごとに複数のmediawikiインスタンスを可能にします。
  • (bug 11151) 説明のある<title>をリビジョン履歴ページに追加
  • (bug 5412) サイトのためのフィードリンクをすべてのページに追加
  • (bug 11353) action=rawで生のセクションの内容を取得する機能を追加
  • (bug 6909) 以前削除したファイルをアップロードするとき関係した削除ログの行を表示する
  • 存在しないページでユーザーがその作成を許可されていない場合、(MonoBookのような)SkinTemplateベースのスキン上で、紛らわしい"edit"/"view source"タブを完全に省略。
  • 例外がスローされたとき与えられる手引きを明確にした
  • ユーザーごとにstrict()認証の振る舞いのオーバーライドを可能にするためにAuthPluginにstrictUserAuth()を追加。
  • (bug 7872) 削除されたリビジョンは、現在削除されているもしくは存在するとしても、以前のリビジョンに対する変更を表示する差分として閲覧できます。
  • "Go"と"Search"ボタンにツールチップを追加
  • (bug 11649) Special:Whatlinkshereがパラメータをもたないときに入力フォームを表示する
  • isValidEmailAddrフックをその名前のUserメソッドに追加。例えば、e-mailアドレスを特定のドメインに制限できるようにするため
  • ウォッチリストエディタツールの"Clear"リンクを削除した。ユーザーがクリックするのを怖がっていたため。既存のclearリンクはウォッチリストをクリアするのがとても簡単な生のエディタにフォールバック(後退)します。
  • (bug 1405) Special:Newpages上の新しい記事に対するパトロールを制御するためにwgUseNPPatrolオプションを追加
  • Special:Logでカスタムのエントリを整形できるようにLogLineフックを追加
  • ペルシア語のカレンダーのサポート
  • (bug 1401) Special:Newpages上のログインユーザー、ボットとパトロールしたページを隠すことができるようにする
  • 補足の記事情報をRCに追加するためにChangesListInsertArticleLinkフックを追加。
  • MediaWikiPerformActionフックを追加。アクションが取られる前かつメインのグローバル(main globals)がセットアップされた後でコントロールをdivert(そらす、転換)するため。
  • ウォッチリストをフィルタするもしくは置き換えるためにBeforeWatchlistフックを追加。
  • タブリンクのプロパティを変えるためにSkinTemplateTabActionフックを追加。
  • OutputPage::getRedirectのパブリックメソッドを追加。
  • (bug 11848, 12506) Special:MypageSpecial:Mytalkの'section'、 'editintro'と'preload'URLパラメータを可能にする
  • ot=rawをSpecial:Allmessagesに追加
  • ヘブライ語のカレンダーをサポート
  • 日にちと時間においてヘブライ語の数字をサポート
  • (bug 11315) 署名はMediaWiki:SignatureMediaWiki:Signature-anonで設定できます。
  • 匿名ユーザーの署名リンクをユーザーページへのリンクでなくSpecial:Contributionsページへのリンクにした
  • updateSpecialPages.phpで無効にされたページのために--overrideスィッチを追加しました
  • 単独のIPがブロックされた範囲の一部にあるためIPのブロック解除が失敗した場合にユニークなメッセージを提供する(ipb_blocked_as_range)。
  • (bug 3973) アカウントが別のユーザーによって作られたときに電子メールの内容に対して個別のメッセージを使う
  • データベースの接続をギョッとするぐらい失敗する場合に、dumpTextPass.phpはfetchText.phpをクリーンに再起動するサブプロセスとしてスポーン(発生させることが)できます。
  • (bug 12028) Special:ListbotsSpecial:Listusers/botのショートカットとして追加
  • (bug 9633) 削除フォームにあらかじめ定義した削除理由のリストを追加
  • ユーザー(トーク)ページを作成/編集するがユーザーが存在しない場合に警告メッセージを表示する
  • (bug 8396) 期限切れのシリアライズされたメッセージキャッシュを無視する
  • (bug 12195) 復元されたページは'undelete'パーミッションを要求します
  • (bug 11810) 表示されたセミコロン(;)をローカライズする
  • (bug 11657) タイの太陽歴をサポート
  • (bug 943) RecentchangeslinkedのためのRSSフィード
  • AbortMoveフックを導入した
  • (bug 2919) 通常の保護インターフェイスで存在しないページの保護をする。
  • Special:Uploadは現在許可/禁止されたファイル拡張子の一覧を表示します。
  • 曖昧なfiletype-badtypeメッセージをfiletype-unwanted-typeとfiletype-banned-typeの2つのメッセージに分割した。
  • リンクをSpecial:Movepageの古いタイトルに追加
  • Special:Movepage上で、エラーはより目立ちます。
  • MakeSysop拡張機能無しで別のローカルwiki上の権限を変更できます
  • CSSスタイリングを可能にする編集をしているときにHTML IDのmw-read-only-warningとmw-anon-edit-warningを警告に追加。
  • 現在パーサーはセクションのリストを返します
  • ユーザーがページを編集することを禁じられているとき、"View source"のタイトルは意味をなさず、"Return to [[Page]]"リンクは表示されなくなります。
  • (bug 12486) 保護されたタイトルは権限を持つ編集者に対して警告を表示します。
  • (bug 9939) 検索キーワードを指定せずSpecial:Searchを開いた場合、検索入力ボックスに自動でフォーカスが合わせるようにした
  • Special:Userrightsで、ユーザーを検索するときPOSTの代わりにGETを使うようにした。
  • Special:Userrightsに対してサブページの構文を可能にした。すなわちSpecial:Userrights/Name
  • Special:Userrights上に変更を投稿するとき、検索ボックスだけでなく、フルフォームを再表示する
  • 例外フックを追加しました
  • (bug 12574) 'bot'パラメータ(デフォルト: '1')を通して、編集をボット編集としてマークすべきかボットが指定できるようにした
  • (bug 12536) ユーザーはどのページからでもMediaWikiのバージョンを取得できるようになりました
  • (bug 12622) api.phpが利用できるか宣言するJavaScript定数
  • キャッシングをAJAXサーチに追加
  • Add APCOND_INGROUPSを追加
  • DBAキャッシングをインストーラに追加
  • (bug 18585) たくさんのパラメータをrevertpageメッセージに追加
  • 画像の名前空間でリダイレクトをサポート
  • (bug 10049) Special:Withoutinterwikiでインデックス検索と名前空間を接頭辞としてつける
  • (bug 12668) $wgAppleTouchIconを通してカスタムのiPhoneのブックマークアイコンをサポート
  • Special:Exportのテンプレートをインクルードするオプションを追加
  • (bug 12655) ユーザーからユーザーへの電子メールに対して送り手のアドレスをFromではなくReply-Toに追加する$wgUserEmailUseReplyTo構成オプションを追加。送り主(envelope sender)をFromヘッダー値に設定するメーラーを使っているとき、これはSPF(Sender Policy Framework)問題とプライバシーをリークするバウンスメッセージから保護します。
  • (bug 11897) Special:Userlogin?type=signupに対して Special:CreateAccountSpecial:Userlogin/signupエイリアスを追加
  • (bug 12214) ファイル削除フォームに予め定義した削除理由のリストを表示させるようにした
  • OpenSearchの提示とAJAX検索のためのバックエンドをマージしました。両方とも名前空間の接頭辞を受け入れ、'Media:'と'Special:'ページを取り扱い、インターウィキの接頭辞を拒否します。PrefixSearchはこのコードを集中させ、バックエンド部分はPrefixSearchBackendフックによってオーバーライドできます。
  • (bug 10365) Special:Versionのローカライゼーション
  • Postgresを使ってインストールするとき、スーパーユーザーレベルの時にPl/Pgsql言語がチェックされインストールされます。
  • wiki全体のロボットポリシーは$wgDefaultRobotPolicy設定を通して設定可能です。
  • (bug 12239) オートコメントに対して異なるセパレータを使います
  • (bug 12857) 新しいページ上のパトロールリンクはfloatsをクリアします
  • (bug 12968) ユーザー/サイトのCSSを通したカスタマイゼーションのためにredirectクラスでredirect wikilinksをレンダーします。
  • 編集ボックス下の編集ボタンを変更するためにEditPageBeforeEditButtonsフックを追加

[edit] 1.12のバグ修正

省略

[edit] 1.12のパーサーの変更

MediaWiki 1.12パーサーへのマイグレーションのためのヘルプに関しては、次の記事をご覧下さい:


http://meta.wikimedia.org/wiki/Migration_to_the_new_preprocessor


パーサーのパスの順番は以前は次の通りでした

  • 拡張機能のタグがストリップとレンダーを行う
  • HTML標準化とセキュリティ
  • テンプレートの展開
  • メインのセクション...

上記の内容から以下のように変更されました

  • 表示を介在するテンプレートと拡張機能のタグの解析
  • テンプレートの展開と拡張機能のレンダリング
  • HTML標準化とセキュリティ
  • メインセクション...

ユーザーに対するこの主要な効果はカバーされていない構文に対するルールが変更されたことです。

HTMLタグといった、カバーされていないメインパスの構文は、それらは以前は場合によってエスケープされていたのに対して、現在は一般的に有効です。

例えば、別のテンプレートに"<ta" in one template, and "ble>"があり、有効なタグを作るためにそれらをまとめます。以前であれば結果は"<table>"になりました。

カバーされていなかったプリプロセッサーの構文は一般的に認識されません。例えば、Template:Bに"{{a" in Template:A and "b}}"がある場合、"{{a}}{{b}}"はTemplate:Abの内容の代わりにリテラルの"{{ab}}"に変換されます。これはHTML出力モードの以前に当てはまる場合でしたが、現在は他のモードでも同様に一様になります。 テンプレートの展開によってカバーされなかったHTMLスタイルのコメントはプリプロセッサーによって認識されずそれゆえテンプレートの展開をそれらの範囲内で防止せず、それらは次のHTMLセキュリティパスによってストリップされます。

Bug 5678は修正されました。これによってこの重複解析の削除に関連したユーザーに見える効果をたくさんあります。例に関してwikiページをご覧いただくようお願いします。

Message transformationモードは削除され、"preprocess"モードで置き換えられました。 このことは、MediaWiki名前空間のメッセージの中には、とりわけ、かつてのメッセージモードのひどく直感に反した振る舞いを利用するものは更新される必要があることを意味します。

セクション編集のためとセクション編集リンクの番号付けの見出しの識別ルーチンはマージされました。これは重大なfailureモードを取り除きカテゴリー全体のバグを修正します(tracked by bug #4899). テンプレート展開でカバーされていないwikitextの見出しは見出しタグにまだレンダーされ、TOCのエントリを得ますが、現在はセクション編集リンクを持ちません。HTMLスタイルの見出しはセクション編集リンクも持ちません。テンプレートソーステキストに表示される有効なwikitextの見出しはテンプレートセクション編集リンクを得ます。これは以前の振る舞いから大きなブレークですが、効果は完全に恩恵をもたらすものと筆者は信じています。

これらの変更を行った主な動機はパフォーマンスでした。新しい2つのパスのプリプロセッサーは、テンプレート展開において、フォローされていない#switchの条件やテンプレート引数に対して使われていないデフォルトなどの、"dead branches"をスキップできます。これによってWikipediaから取られたテンプレートの重いテストケースにおいて重大なパフォーマンスの改善が提供されます。パーサー関数フックは登録の間に新しいSFH_OBJECT_ARGSフラグを使うことでこのパフォーマンスの改善に関与できます。

pre-expandインクルードサイズの制限は削除されました。このような数字を計算する効率的な方法は存在せず、ともかくパフォーマンスに関して現在では無意味であるからです。"preprocessor node count"(プリプロセッサーノードカウント)は、 豊富なデフォルトの制限を持って、起動します。

XMLスタイルの拡張機能のタグが呼び出される内容は変更されたので、パーサー状態を利用する拡張機能は互換性の変更が必要になるかもしれません。

新しいプリプロセッサー構文はBackus-Naur Formで文章化されています:

http://www.mediawiki.org/wiki/Preprocessor_ABNF

ExpandTemplates拡張機能はwikitextソースからXMLパーサーを生成する能力が備わっています。 このパーサーツリーはそのページでドキュメント化された文法に緊密に対応しています。

[edit] 1.12のAPIの変更

APIのフルドキュメンテーションは http://www.mediawiki.org/wiki/API/ja で利用できます

  • (bug 11275) categorymembersで降順ソートを有効にした
  • (bug 11308) 画像のメタデータを出力するAPIを有効にした
  • (bug 11296) pretty-printedヘルプドキュメントのリンク内部でアンパサンドのエスケーピングのための一時的な修正。
  • (bug 11405) APIでテンプレートの実装を拡大した
  • (bug 11218) それぞれのページで複数のリビジョンを表示するためにオプションをfeedwatchlistに追加しました。
  • (bug 11404) 内部のAPIエラーメッセージのエラーコードフィールドでキャッチされた例外の名前を提供します。
  • (bug 11534) rvendidは動作しません
  • リビジョンの内容がリクエストされた場合に低いクエリ制限のみを強制するためリビジョンクエリのrvlimitを修正しました。
  • siteinfoクエリでsvnリビジョン番号をインクルードする(インストールしたwikiがsvnからチェックアウトされた場合)。
  • (bug 11173) api.phpを通して制限されたwikiコードのレンダリングを可能にする
  • (bug 11572) APIはテンプレートを展開するためのインターフェイスを提供します
  • (bug 11569) ログインはcookie接頭辞を返します
  • (bug 11632) 大きな変更(breaking change): 0、1、2、の代わりに、それぞれ'edit'、'new'、'log'として、recentchagesの変更のタイプを指定する。respectively.
  • PHP 5.0.xに対する互換性の修正
  • rctypeパラメータを型によってフィルタするlist=recentchangesに追加しました
  • 保護タイプとレベルによってlist=allpagesをフィルタするapprtypeとapprlevelパラメータを追加
  • ZからAまでのすべてのページの一覧表示を有効にするapdirパラメータを追加
  • (bug 11721) ヘルプページよりも結果に対して異なるタイトルを使う
  • (bug 11562) user_registration パラメータ/フィールドをlist=allusersに追加しました
  • (bug 11588) バックリンク(backlinks)クエリーで空のデータセットに対してドキュメント構造を保つ。
  • 名前ですべてのユーザープリファレンスのリストをリクエストするよりもそれらを出力する
  • (bug 11206) api.phpはmaxlagを受け取ります
  • 古いフォーマットでの制限でもprop=infoをチェックさせる。
  • apihighlimitsパーミッションを追加しました。デフォルトはsysopsとbotsです。
  • 最大限の制限を使うためにlimit=maxを追加
  • パーサーの出力をレンダーするaction=parseを追加。削除されたaction=renderの代わりをこれを使って下さい。
  • rvtoken=rollbackをprop=revisionsに追加しました
  • サイトのメッセージキャッシュからメッセージを取得するmeta=allmessagesを追加しました。
  • APIヘルプでのみ太文字とイタリックなハイライトを使います
  • action={block,delete,move,protect,rollback,unblock,undelete}とlist={blocks,deletedrevs}を追加しました
  • action=loginのsessionid属性を修正しました
  • 標準化された制限。RevisionsとDeletedrevisionsは以前使っていたのは200 / 10000、現在は500 / 5000で、他のモジュールと一致している。
  • list=allcategoriesモジュールを追加しました
  • (bug 12321) APIのlist=blocksはプライベートなデータを露呈します
  • wfSajaxSearchの出力を修正しました
  • (bug 12413) <query>タグが見つからないmeta=userinfo
  • セクションのリストをaction=parseの出力に追加しました
  • action=logoutを追加しました
  • cascadeフラッグをprop=info&inprop=protectionsに追加しました
  • rcshow(list=recentchanges)と同じようにwlshowパラメータをlist=watchlistに追加しました。
  • 画像サムネイリングのサポートをprop=imageinfoに追加しました
  • action={login,block,delete,move,protect,rollback,unblock,undelete}は現在POSTでなければなりません。
  • prop=imageinfoインターフェイスを変更しました: iihistoryをiilimit、iistartとiiendパラメータで置き換えました
  • amlangパラメータをmeta=allmessagesに追加した
  • query.php?what=nolanglinksを置き換え、apfilterlanglinksパラメータをlist=allpagesに追加しました
  • (bug 12718) APIモジュールとそれらのパラメータの情報を提供するaction=paraminfoモジュールを追加しました
  • iiurlwidthとiiurlheightパラメータをprop=imageinfoに追加しました
  • query.phpからインポートして、format=txtとformat=dbgを追加しました。
  • uiprop=editcountをmeta=userinfoに追加しました
  • ユーザー情報を取得するlist=usersを追加しました
  • ランダムページのリストを取得するlist=randomを追加しました
  • 既存のページの解析を円滑するためにpageパラメータをaction=parseに追加しました
  • uiprop=ratelimitsをmeta=userinfoに追加しました
  • siprop=namespacealiasesをmeta=siteinfoに追加しました
  • list=usercontribsでucuserに対して複数の値を可能にしました
  • (bug 12944) cmstartとcmendパラメータをlist=categorymembersに追加しました
  • Allow queries to have a where range that does not match the range field

[edit] 1.12で更新された言語

省略

[edit] 互換性

MediaWiki 1.12はPHP 5 (5.1が推奨)が必要です。PHP 4はもはやサポートされていません。

64ビットシステム上のPHP 5.0.xは配列の処理に関する重大なバグのせいで障害が発生します:


http://bugs.php.net/bug.php?id=34879


影響のあるシステムをPHP5.1かそれ以降にアップグレードして下さい。

MySQL 3.23.xはもはやサポートされていません; 古いホストの中にはアップグレードする必要のあるものがあります。 現在、我々開発者は4.0をお勧めしますが、大抵の場合4.1/5.0で立派に動作します。


[edit] アップグレードする

1.12は1.11以降からいくつかのデータベースの変更をしてきましたので、スキーマの更新無しには動きません。

1.7以前からアップグレードする場合、新しいデータベースフィールドがデータを持っていることを確認するためには、refreshLinks.phpを実行する方法があります。

1.11以前からアップグレードする場合、そしてwikiを共通のリポジトリとして使っている場合、同様にアップグレードされたのか確認して下さい。さもなければ、データベースの変更が原因によるエラーが起こります。

MediaWiki 1.4.xもしくは初期からアップグレードする場合、主要なデータベースの変更がなされ、内容が壊れる可能性はわずかに高いです。アップグレードする前にデータベースをバックアップすることをお忘れ無く!

詳細なアップグレードの手引きに関してはUPGRADEファイルを参照して下さい。

[edit] 警告

何らかの出力、とりわけユーザーが提供したインラインのHTMLは、100%のvalidもしくはwell-formedなXHTMLの出力を生成できません。テスターは残った問題事例をテストするために$wgMimeType = "application/xhtml+xml";を設定することを歓迎されますが、実際に稼働しているサイトに設定することは推奨されません。(MozillaでMathMLを適切に表示するためにはこれを設定しなければなりません)

1.11.xのノートと古いリリースに関しては、HISTORYをご覧下さい。


[edit] オンラインドキュメンテーション

エンドユーザーとサイト管理者の両方のためのドキュメンテーションは現在MediaWiki.orgで構築され、GNU Free Documentation License (内容がパブリックドメインであることが明示されているページは除く)元で保護されています:


 http://www.mediawiki.org/wiki/Documentation/ja


[edit] メーリングリスト

MediaWiki-lのメーリングリストはWikipediaのwikitech-lリストからは異なってセットアップされてきました:


 http://lists.wikimedia.org/mailman/listinfo/mediawiki-l


低いトラフィックのアナウンスメント専門のリストは次のURLから利用できます:


 http://lists.wikimedia.org/mailman/listinfo/mediawiki-announce


公開のMediaWikiを運用しようとするのであれば、セキュリティ修正の通知をもらうために、これらのリストの一つのサインアップすることを大いにお勧めします。


[edit] IRCヘルプ

irc.freenode.net上の#mediawikiに通常は誰かがいます

Personal tools