MODX Evolution 1.2.0J をリリースしました
2025年12月27日 14時16分 shortlink:http://modx.jp/?id=1074

PHP8完全対応と大規模な品質向上
Evolution JP 1.2.0Jをリリースしました。PHP8(8.0-8.4)に完全対応し、長年積み重ねられてきた技術的負債を大幅に解消しています。
段階的な移行が可能
現在PHP7.4をご利用の場合も安心です。
- まずPHP7.4環境のままEvolution JPをアップグレードして動作確認
- その後、落ち着いてPHP8へ移行
このバージョンはPHP7.4でも動作するため、段階的な移行でリスクを軽減できます。
主な新機能・改善
UTF-8MB4完全対応
データベースの文字コードをUTF-8MB4に簡単に変換できます。
何ができるようになる?
- 絵文字が使える: 😀🎉💡などをコンテンツに使用可能
- 異体字に対応: 「﨑(たつさき)」「髙(はしごだか)」などの旧字体・異体字を正しく保存
- 多言語対応の強化: より広範囲なUnicode文字に対応
UTF-8で扱える文字数は6万5千文字程度でしたが、UTF-8MB4では15万5千文字をカバーします。
セキュリティ強化
- CSRF(クロスサイトリクエストフォージェリ)対策を全面導入
- マルチタブ対応の洗練された実装
- 管理画面のすべてのフォーム送信で検証
- ファイルアップロード時のセキュリティ改善
- 入力値の安全な取得: 安全なヘルパー関数に統一
インストーラの改善
- エラーログの出力機能: インストール中のエラー詳細を
temp/install.logに記録 - 今まではエラーが起きても詳細情報を得られず問題解決に時間がかかっていましたが、ログファイルで原因を特定できるようになりました
TinyMCEエディタを最新化
- TinyMCE 7へアップデート: 最新の高機能エディタに対応
管理画面テーマの充実
7種類から好みに応じて選択できます。
- AuroraFlow - モダンで洗練されたデザイン(デフォルト)
- RevoClassic - RevoStyleの系譜、最近のパソコンに適したサイズ感
- SoftSlate - ビジネスライクなデザイン、業務システム向け
- RubberWhite - シンプルなホワイトテーマ
- SakuraFlow - 個性的な明るいデザイン
- AromaHop - 個性的な明るいデザイン
- RevoStyle - 従来デザインの不具合修正版(次バージョンで廃止予定)
MCPUKメディアブラウザの改善
長年ほとんど改善されなかったメディアブラウザを大幅改善。
- フォルダツリー表示: フォルダ階層が見やすく
- デザインの統一: 管理画面のテーマに合わせたスタイル
- 長いファイル名に対応: 文字が途切れず表示
- 操作ボタンの改善: より直感的に
その他の改善
- イベントログのエクスポート機能
- メール送信ログ機能(オプション)
- 環境変数対応(.env): 本番・ステージング・テスト環境を簡単に切り替え
- 注意: サーバー設定によっては.envファイルが外部から閲覧可能になる場合があります。Webサーバーの設定で
.envファイルへのアクセスを必ず拒否してください
- 注意: サーバー設定によっては.envファイルが外部から閲覧可能になる場合があります。Webサーバーの設定で
- プレビュー機能の強化: トークンベースでより安全に
- Internet Explorer対応を完全廃止: モダンブラウザ(Chrome、Firefox、Edge、Safari)での利用を推奨
安定性の向上
数百箇所のエラーを修正し、安定性が大幅に向上。
- PHP8環境でのエラー・警告を徹底的に修正
- Dittoスニペット、WebLoginプラグインの改善
- リソース管理画面のエラー修正
- キャッシュ処理の最適化
エンジニア向け情報
コードベースのモダン化
PHP8対応の詳細
- 動的プロパティの明示的宣言(PHP8.2対応)
- Null合体演算子(
??)の活用による安全な配列アクセス - 非推奨関数の置き換え(
strftime() →date()等) - 型安全性の強化
- 配列構文の統一(
array()→[])
JavaScriptのモダン化
- ES6+対応:
var→let/const - クラス構文の導入
addEventListenerへの完全移行- アロー関数の活用
コード品質向上
- トレイトの導入(コード再利用性向上)
- アクセス修飾子の明示化
- ヘルパー関数の統一(
getv(),postv(),anyv()等) - 不要コードの大規模削除
- コードスタイルの統一
アーキテクチャ改善
セキュリティアーキテクチャ
- CSRF保護システム: セッションベースのマルチトークン管理(FIFOキュー方式)
- 入力値の統一的な取得:
getv(),postv(),anyv()ヘルパー関数 - Referer検証の廃止:
validate_referer設定を削除
キャッシュシステム
MODX_CACHE_PATH定数による一元管理- キャッシュリフレッシュロジックの改善
- URL→ドキュメントIDマッピングの最適化
データベース
- MySQL拡張を完全削除(MySQLi専用)
- 接続処理の改善(タイムアウト、エラーハンドリング)
event_logテーブルのsourceカラム拡大- UTF-8MB4変換の自動化(インストーラで実行)
インストーラ
- 設定修正のPHP化:
fix_settings.sql→fix_settings.php - ログ機能:
log_install_event()でインストールプロセスを追跡 - セッション検証:
validateSessionValues()で必須項目チェック
テーマシステム
- CSS変数の大規模導入(150箇所以上)
- 論理プロパティによるRTL対応
- 共通リソースの集約(
manager/media/style/common/) - テーマ共通化によるメンテナンス性向上
技術的負債の大幅な削減
今回のリリースで重点的に取り組んだ項目です。長年積み重ねられてきた主要な技術的負債を解消し、持続可能な開発への基盤を構築しました。
-
レガシーコードの大規模削除
- IE対応コード(X-UA-Compatibleなど)の完全削除
- MooToolsライブラリの削除(ネイティブ実装に置き換え)
- 非推奨・廃止予定関数の置き換え
-
PHP8非互換コードの全面修正(数千箇所)
- 動的プロパティ、未定義配列キー、型エラー等を修正
- 将来のPHPバージョンへの対応基盤を構築
-
セキュリティ脆弱性の修正
- CSRF対策、入力サニタイズ等を実装
-
エラーハンドリングの包括的改善
- Nullセーフ実装、例外処理の整備
フレーム構造の解消、管理画面のスマホ対応など、今後も継続的に改善を進めていきます。
開発規模
- 882コミットの開発作業
- 782ファイルを変更
- 44,588行を追加、30,784行を削除
アップグレード時の注意事項
推奨アップグレード手順(PHP7.4ユーザー向け)
-
まずPHP7.4環境のままアップグレード
- 今回のバージョンはPHP7.4でも動作します
- 現在の環境でアップグレードして動作確認できます
-
動作確認後、PHP8へ移行
- 動作を確認してから
- サーバーのPHPバージョンを8.0以上にアップグレード
動作環境
- PHP 7.0 - 8.4 (8.2以上を推奨。8.5は次回対応します)
- MySQL 5.7以上 / MariaDB 10.2以上
- モダンブラウザ(Chrome、Firefox、Edge、Safari最新版)
管理画面スクリーンショット





ダウンロード
https://modx.jp/download/download_evo.html
上記からダウンロードしてください。







