Movable Type 7 r.5401 リリースノート
これまでに発見または、報告された多くの問題を解消しています。
セキュリティ上の修正、改善
[MTC-28560] 同梱されているGoogle Analyticsプラグインに存在したクロスサイトスクリプティング脆弱性を修正しました (CVE-2022-45122)
[MTC-28559] パスワードリセット画面に存在したオープンリダイレクト脆弱性を修正しました (CVE-2022-45113)
[MTC-27183] コンテンツフィールドの名称に細工した文字列を設定することで任意のPerlコードが実行できる脆弱性を修正しました (CVE-2022-43660)
新機能・改善された機能
[MTC-28430] TinyMCE 6.2.0 が利用可能となる TinyMCE 6 に対応した TinyMCE6 / FormattedTextForTinyMCE6 プラグインを同梱しました。TinyMCE 6.2.0 が利用できます。新規インストールのときにはデフォルトで有効になります
[MTC-28594] データベースでクエリの実行に失敗したときに問題のあったSQL文を表示するために環境変数 DBIShowErrorStatement を追加しました。DebugMode を有効にした上で 1を設定すると、エラーメッセージの末尾に表示されます
[MTC-28593] js-cookie を v3.0.1 に更新しました
[MTC-28581] システムテンプレートが不足しているテーマについて、初期化、再適用、変更、Movable Typeのアップグレードが実行されたときに自動的に不足分を追加するようにしました
[MTC-28572] DataAPI モジュールの構成を変更しました。v1 のモジュールを v1 ディレクトリ下へ移動しました。将来のバージョンで MT::DataAPI::resource 直下にあった v1 のモジュールは廃止される予定です
[MTC-28554] Internet Explorer のサポート終了に伴い svg4everybody ポリフィルの利用を停止しました。新設された環境変数 UseSVGForEverybody に 1 を設定することで一時的に利用を継続できますが、将来のバージョンでこの環境変数を含めて削除する予定です
[MTC-28537] jQuery Validation Plugin を 1.19.5 に更新しました
[MTC-28535] jquery.json.js の利用を停止し、JSON.stringify に置き換えました。新設された環境変数 UseJQueryJSON に 1 を設定することで利用を継続できますが、将来のバージョンで、この環境変数を含めて削除する予定です
[MTC-28532] MT::App::do_reboot が実行されたとき、レスポンスのウェイトの秒数を設定できる環境変数 WaitAfterReboot を新設しました。PSGI 環境で再起動される前の worker プロセスにアクセスしてしまうときに、適切なウェイトを設定して防止することができます
[MTC-28503] 再構築トリガーで、保存時に不要な再構築を行わないようにしました
[MTC-28440] Data API のバージョン 5 を新設しました
[MTC-28510] GET /textFilters エンドポイントを追加しました
[MTC-28571] MT::DataAPI::Resource::v5::Entry の updatable_fields に assets と categories を追加しました
[MTC-26197] listEntries の no_text_filter を noTextFilters に改名しました
[MTC-26273] CategorySet resource の content_type_count フィールドを contentTypeCount に改名しました
[MTC-27955] コンテンツデータの取得時の「テキスト(複数行)」にはテキストフォーマットが適用されるようにしました
- [MTC-26477] コンテンツデータの「テキスト(複数行)フィールド」の更新時にテキストフォーマットを指定できるようにしました
[MTC-28333] カテゴリーセット取得時の出力結果の件数、並び順、対象フィールドに初期値をそれぞれ 25、昇順、名前に設定しました
[MTC-28311] 誤まって string となっている戻り値のデータ型の定義を integer に修正しました
[MTC-28429] 将来のバージョンで廃止予定の機能について、新規インストール時には無効となるようにしました
Trackbackプラグイン
OpenIDプラグイン
FacebookCommentersプラグイン
spamlookupプラグイン
Textileプラグイン
WidgetManagerプラグイン
XMLRPC API
Atom API
ログフィード(Activity Feeds)
フリーテキスト検索
クイック投稿
更新通知
言語設定
- サイトの全般設定の使用言語やユーザー情報の使用言語が日本語と英語のみになります。ただし新規インストール時の使用言語をそれ以外に設定した場合や mt-config.cgi の DefaultLanguage の設定をそれ以外に設定していた場合はそこで指定した言語も残ります。新規インストール時の使用言語の選択肢には英日以外の言語も残ります。
[MTC-28334] ADOdb を 5.22.2 に更新しました
[MTC-28189] PHP 8.1 に対応しました
[MTC-28299] Smarty を 4.2.0 に更新しました。これに伴い動作環境が PHP7.1 以上になりました
- [MTC-28300] SmartyBC の利用を停止しました
[MTC-28141] 管理画面で権限エラーなどが発生したとき、JSON を返すことを期待されている場合はリダイレクトせずに JSON エラーを返すようにしました
[MTC-28065] 管理画面の [ツール] - [検索/置換] の置換のパフォーマンスを改善しました
[MTC-27761] コンテンツタイプの管理画面でコンテンツフィールド ID を表示するようにしました
[MTC-27435] 新規ユーザーが初めて記事等の一覧画面を訪れた際の1ページの表示件数を指定する環境変数 DefaultListLimit を追加しました
[MTC-26535] 管理画面左サイドバーに表示されるサイト一覧の出力件数を設定できる環境変数 MaxFavoriteSites を追加しました
[SUPPORT-175] 画像挿入時のオプション「画像からのリンク」で「オリジナル画像にリンクする」を選択したとき「同じ画面に表示する」をデフォルトにしました
[SUPPORT-174] 画像挿入時のオプション「画像からのリンク」の「オリジナル画像にリンクする」を選択したとき「ポップアップ画像」テンプレートが存在しない、もしくは空の場合には「ポップアップで表示する」を選択できないようにしました
[SUPPORT-135] サイトや子サイトの [設定] - [全般] の「記事が含まれない場合でもカテゴリアーカイブを公開する」の対象にコンテンツタイプアーカイブも追加し、文言も調整しました
クラウド版
[MTC-27733] 「サイトのエクスポート」で出力されるファイルは、ユーザーのディスク領域に含まれないので [クラウドサービス] - [ディスクの使用量] から除外するようにしました
[MTC-27305] [クラウドサービス] - [ディスクの使用量] で、データベースの使用分がわかるように「データベースファイル」を作成し「その他」から除外しました
[CLOUD-208] PHP のバージョンを 8.0.23 に更新しました
[CLOUD-202] nginx プランで、.php ファイルを公開サイトのBasic認証の対象に追加しました
[CLOUD-213] [クラウドサービス] - [MT環境変数] で設定できる環境変数に DisableMetaRefresh、UseJQueryJSON、 WaitAfterReboot を追加しました
[CLOUD-205] 管理画面からアップロードできるファイルの最大サイズを 30MB に変更しました
[CLOUD-216] starman のログが logrotate のあとに書き込まれなくなっていた問題を修正しました
AMI版
[SUPPORT-185] yum コマンドでアップデートするときに、/etc/php.ini, /etc/php-fpm.ini, /etc/my.cnf に変更があっても上書きしないようにしました。最新の設定ファイルは /app/initial/etc に存在します
[CLOUD-216] starman のログが logrotate のあとに書き込まれなくなっていた問題を修正しました
修正された問題
[MTC-28599] 日本語のローカライズの過不足を修正しました
[MTC-28542] 管理画面で無用な警告を無くすため ontouchstart の使用をやめました
[MTC-28531] jQuery.isArray の利用を停止し Array.isArray に置き換えました
[MTC-26294] サイトのダッシュボードのHTML タイトルにサイト名が重複しないように修正しました
[MTC-28548] コンテンツデータの置換で Use of uninitialized value 警告が発生することがあった問題を修正しました
[MTC-28539] Data API で存在しない範囲のデータを要求したときに Use of uninitialized value 警告が発生する問題を修正しました
[MTC-28566] コンテンツタイプの再構築トリガーで、公開トリガーの起点が保存イベントになっていた問題を修正しました
[MTC-28557] リスティングフレームワークのフィルタ一覧からフィルタを削除するときのダイアログのフィルタ名が undefined になっている問題を修正しました
[MTC-28549] 画像アイテムを削除するときに assets_c ディレクトリ以下に生成されたキャッシュのサムネイルファイルが削除されない問題を修正しました
[MTC-28545] フィルタの条件指定でコンテンツフィールドの名称に対するエスケープ処理を修正しました
[MTC-28541] 管理画面の [ツール] - [検索/置換] でコンテンツタイプを「日付と時刻」フィールドで範囲検索したあとに他のタブに変更するとエラーが表示される問題を修正しました
[MTC-28530] 最適化されていないプラグインがあったとき DebugMode を有効にするとプラグイン一覧に表示される警告メッセージに含まれる製品名の誤りを修正しました
[MTC-28515] MT::ObjectDriverFactory の $dbd_class の定義が重複している問題を修正しました
[MTC-13233] 管理画面からアイテムをアップロードするときに、サイトパス配下以外のディレクトリにはアップロードできないように修正しました
[MTC-8706] js/common/JSON.js の利用を停止し、管理画面で読み込まないようにしました。互換性を確保するため、環境変数 UseMTCommonJSON を新設し 1 を設定すると js/common/JSON.js を読み込むようにしました。将来のバージョンでこの環境変数を含めて削除する予定です
[SUPPORT-170] リスティングフレームワークの一覧ページで、コンテンツデータのデータ識別ラベルのエスケープ処理の不具合を修正しました
クラウド版
[CLOUD-209] ウェブサーバー設定でサーバ証明書に Let's Encrypt を利用しているドメインにリダイレクトを設定すると、サーバ証明書が更新に失敗することがある問題を修正しました
[CLOUD-194] 管理画面のIPアドレス制限が Proxy 経由でのアクセスに対して正常に動作しない場合があった問題を修正しました
[CLOUD-191] ウェブサーバー設定で、サーバ証明書に Let's Encrypt を利用しているドメインについて「www 有無を無視してどちらでもアクセスをできるようにする。」の設定を変更すると、サーバ証明書の更新に失敗することがある問題を修正しました
[CLOUD-190] ダイナミックパブリッシングを利用しているとき、絵文字が文字化けすることがある問題を修正しました
[CLOUD-58] ウェブサーバ設定でサーバ証明書に Let's Encrypt を利用しているドメインのサイトの設定では、サイトURLを変更できないようにしました。変更するときは、Let's Encrypt の設定を無効にしてから変更してください
Movable Type Advanced
- [SUPPORT-184] SQL Server を利用しているとき Movable Type r.5004 からのアップグレードでエラーが発生する問題を修正しました
謝辞
リリースにあたり不具合の報告や機能要望をしていただいた皆様すべてに感謝します。また特に次の皆様には、個別に感謝します。
[MTC-28549] エムロジック株式会社 田島 誠 氏
[MTC-28559] [MTC-28560] 株式会社ブロードバンドセキュリティ 志賀 拓馬 氏
脆弱性情報のハンドリングにご協力いただいた IPA、JPCERT/CC に感謝します。