2023年秋にリリース予定の Movable Type 8 の概要
いつも Movable Type をご利用いただきありがとうございます。
シックス・アパートは 2023年秋に Movable Type 8(以下、MT8)のリリースを予定しています。本記事では MT8 について現時点でご説明できることを紹介します。
MT8 の目指すところ
MT8 では、現行バージョンで取り入れた継続的なリリースを今後も継続していくために必要と思われることを行なっていきます。
- 定期的、漸進的なリリースを今後も継続する
- 安全性、互換性を重視し、最新版を利用しやすいようにしていく
このために Movable Type クラウド版を中心とした定期的なリリースを行います。OS、ミドルウェアのアップデートにも追従し、長期間、安定した利用ができるよう、廃止や変更予定の機能がわかりやすいよう、またアップデートに際して互換性を維持しやすい仕組みを提供する予定です。
アップデートの方針
- パッケージ(ソフトウェア版と AMI 版)は1年ごと、クラウド版では 3カ月ごとにリリースを行います。重大なバグやセキュリティに関する修正はパッケージ版にも適宜提供されます。
- 互換性に関わる機能変更や廃止は、パッケージリリースのタイミングで実施します。
- 互換性が大きく崩れるようなアップデートや 大幅なユーザーインターフェイスの変更は予定していません。
- 機能追加や機能改善は、互換性が確保できるものは3カ月に1度のクラウド版のリリースで随時提供します。
- 運用面を含めたセキュリティ対策に配慮しつつ、ライブラリや CPAN モジュールを含めて、積極的にアップデートします。
MT8 で廃止予定の機能
利用頻度の少ないと思われる機能や、歴史的に役割を終えたと考えられる機能について、廃止することにしました。また、廃止に合わせてコードの削除も行っていく予定ですので、これらの機能に依存したプラグインも動作しなくなります。
- XMLRPC API, Atom Publishing API
- ログフィード (Activity Feeds)
- クイック投稿 (Quick Post, 旧ブックマークレット)
- トラックバックの送受信
- 更新Pingの送信
- コメント機能の一部 (Facebook Commenter, Spam Lookup)
- mt-testbg.cgi や mt-ftsearch.cgi など CGI の一部
- OpenID プラグイン
- ヨーロッパ言語サポート (de, fr, es, nl)
英語と日本語のみを継続します - 古い JavaScript ライブラリ群
開発者の皆様向けの具体的な情報
廃止予定の機能やライブラリの変更等があります。一部の機能はすでにリリース済です。
MT::Util::Deprecated の導入 (r.5001)
削除予定のコードが利用されるとログに出力するようになりました。プラグインやカスタマイズでの利用が検知されたときは、廃止までに対処してください。
extlib のアップデート (r.5301)
同梱しているCPANモジュールをアップデートしています。今後も継続的にアップデートを反映していくので、古いバージョンのモジュールに依存するカスタマイズやプラグインを利用しているときは注意してください。
管理画面の切り替え機能 (テーマ) を提供予定
管理画面自体をテーマ化し、切り替えることができる機能を準備しています。管理画面をカスタマイズしているとき、変更に伴うトラブルの発生を軽減できると見込んでいます。
MT8 での非互換改善
安定運用やセキュリティの向上のため、旧来のバージョンとの互換性に影響がある変更を予定しています。
- パッケージ構成の見直し
システム領域とユーザ領域の明確な分離、mt-static 内のユーザ領域を外部にします - プラグイン機構の見直し
設定ファイルのないプラグインの無効化をデフォルトにし、対象バージョンの指定を必須とする予定です
管理画面で利用している主なライブラリの変更
管理画面のライブラリが変更になります。
- Bootstrap
Bootstrap 5 (もしくは、そのときの最新版) に変更予定です。管理画面の切り替え機能で、旧来のものと並行してテーマとして提供予定です - Riot.js → Svelte.js
リスティング、コンテンツタイプの編集画面などで利用する JavaScript のライブラリを Riot.js から Svelte.js に変更します - TinyMCE
TinyMCE 6 (もしくは、そのときの最新版)が、リッチテキストエディタやブロックエディタで使われるようになります
動作環境・検証環境
基本的に従来と変わりませんが、サポートするバージョンを一部変更します。リリース時点の状況で変更される可能性があります。
- Linux/Unix (Mac)、Windows Server
- MySQL, MariaDB, Oracle, SQL Server
- PSGI / CGI (PSGI での動作を強く推奨)
- Perl 5.10.1 - 5.36.0 (そのときの最新版まで)
- PHP 7.2 - 8.1 (そのときの最新版まで)
- AMI 版 (AWS Marketplace) は Amazon Linux 2022 に対応予定
MT8 に向けた新機能、機能強化
互換性に影響のない機能は、先行してリリースを行なっていきます。
- MovableType.net 互換のブロックエディタの同梱と標準化
ブロックエディタ向けのテーマも提供予定 - 共有プレビュープラグインの同梱
- Data API v5 (r.5401)
XMLRPC/AtomPP にしかない機能を追加 - OpenAPI JSON Schema にはすでに対応済 (r.5201)
- コンテンツタイプの検索、置換の改善
- 管理画面、再構築のパフォーマンス改善
- 管理画面のユーザーインターフェイスの改善
管理画面の切り替え機能を活用
バージョン表示、リリースサイクルの変更
MT8 ではリビジョン表示を止め、バージョン表記にします。バージョンの表記は 8.000.001: 8.<minor>.<patch> とする予定です。
- パッケージリリースは年に1回秋頃を予定、LTS 版を2年に一度リリースします。
- リリース後のメンテナンスではパッチバージョンをアップします。
- AMI 版のリリースはパッケージ版に準じます。
- MTクラウドは 3カ月に1回のリリースを継続します。
ライフサイクルポリシーの変更
これまでは EOS (End of Sales)、EOM (End of Maintenance)、EOL (End of Life) といったマイルストーンを設定していましたが、基本、最新版のみをメンテナンスの対象にします。
- クラウド版は3カ月ごとにマイナーバージョンアップし自動アップデートが適用されます。自動アップデートについては、30日間はアップデートの適用を遅らせることができます。
- 1年ごとのソフトウェア版のリリース時に、前のバージョンは EOS/EOM とします。
- パッケージリリースには、2年ごとに LTS (Long Term Support) を設定します。
LTS版は EOS/EOM 後、2年間のセキュリティアップデートを提供します。
非LTS版は、EOM と同時に EOL としますので、最新版への追従をお願いします。
パッケージ版には2年ごとに LTS を設定しています。
- LTS版は EOS/EOM 後、2年間のセキュリティアップデートを提供します
- 非LTS版は、EOM と同時に EOL としますので、最新版への追従をお願いします
詳しくは「Movable Type 8 以降のプロダクト・ライフサイクルポリシーについて」のページをご覧ください。
以上、現時点で Movable Type 8 について説明できることを紹介しました。今後、実際にリリースするまでに多少の変更があるかもしれませんが、そのときは改めて説明します。
今後も Movable Type をよろしくお願いいたします。