Skip to content

release-1.2.0J

Latest

Choose a tag to compare

@github-actions github-actions released this 27 Dec 02:58
· 120 commits to main since this release

概要

Evolution JP 1.2.0J をリリースしました。本バージョンでは PHP8(8.0–8.4)への完全対応 を達成し、長年にわたって蓄積されてきた技術的負債を大規模に解消しています。

PHP7.4 環境でも動作するため、段階的なアップグレードが可能です。


主な変更点(ハイライト)

  • PHP8(8.0–8.4)完全対応
  • UTF-8MB4 完全対応(絵文字・異体字・多言語強化)
  • CSRF 対策を含むセキュリティ強化
  • インストーラの改善(詳細ログ出力)
  • TinyMCE 7 へのアップデート
  • 管理画面テーマ・メディアブラウザの刷新
  • 大規模な安定性向上とエラー修正

新機能・改善内容

UTF-8MB4 完全対応

  • データベースを UTF-8MB4 へ簡単に変換可能
  • 絵文字の利用が可能
  • 旧字体・異体字(例: 﨑 / 髙)を正しく保存
  • より広範な Unicode 文字セットに対応

セキュリティ強化

  • CSRF(クロスサイトリクエストフォージェリ)対策を全面導入

    • マルチタブ対応のセッションベース実装
    • 管理画面のすべてのフォーム送信で検証
  • ファイルアップロード処理の安全性向上

  • 入力値取得を安全なヘルパー関数に統一

インストーラの改善

  • インストール時のエラー詳細を temp/install.log に記録
  • 問題発生時の原因特定が容易に

エディタ・UI 改善

  • TinyMCE 7 へアップデート

  • 管理画面テーマを複数用意(デフォルト含む 7 種類)

  • MCPUK メディアブラウザの大幅改善

    • フォルダツリー表示
    • テーマと統一されたデザイン
    • 長いファイル名への対応
    • 操作性の向上

その他の改善

  • イベントログのエクスポート機能

  • メール送信ログ機能(オプション)

  • .env による環境変数対応

    • 本番/ステージング/テスト環境の切り替えが容易に
    • .env ファイルへの外部アクセスは Web サーバー設定で必ず拒否してください
  • プレビュー機能の強化(トークンベース)

  • Internet Explorer 対応を完全廃止(モダンブラウザのみ対応)


安定性向上

  • PHP8 環境で発生していたエラー・警告を多数修正
  • Ditto スニペット、WebLogin プラグインの改善
  • リソース管理画面の不具合修正
  • キャッシュ処理の最適化

エンジニア向け情報

PHP8 対応・コードモダン化

  • 動的プロパティの明示的宣言(PHP8.2 対応)
  • Null 合体演算子(??)による安全な配列アクセス
  • 非推奨関数の置き換え(例: strftime()date()
  • 型安全性の強化
  • 配列構文の統一(array()[]

JavaScript モダン化

  • ES6+ 対応(varlet / const
  • クラス構文の導入
  • addEventListener への完全移行
  • アロー関数の活用

コード品質向上

  • トレイト導入による再利用性向上
  • アクセス修飾子の明示化
  • 入力値取得ヘルパーの統一(getv() / postv() / anyv()
  • 不要コードの大規模削除
  • コードスタイルの統一

アーキテクチャ改善

セキュリティ

  • セッションベースのマルチトークン CSRF 保護(FIFO キュー方式)
  • Referer 検証(validate_referer)の廃止

キャッシュ

  • MODX_CACHE_PATH 定数による一元管理
  • キャッシュリフレッシュロジックの改善
  • URL → ドキュメント ID マッピング最適化

データベース

  • MySQL 拡張を完全削除(MySQLi 専用)
  • 接続処理の改善(タイムアウト・エラーハンドリング)
  • event_log テーブルの source カラム拡張
  • UTF-8MB4 変換をインストーラで自動実行

インストーラ

  • 設定修正処理を SQL から PHP に移行
  • インストール工程のログ取得
  • 必須項目のセッション検証強化

テーマシステム

  • CSS 変数を 150 箇所以上導入
  • 論理プロパティによる RTL 対応
  • 共通リソースの集約による保守性向上

技術的負債の解消

  • レガシーコードの大規模削除

    • IE 対応コードの完全削除
    • MooTools の削除(ネイティブ実装へ移行)
  • PHP8 非互換コードを数千箇所修正

  • セキュリティ脆弱性の修正

  • エラーハンドリングの包括的改善


開発規模

  • 882 コミット
  • 782 ファイル変更
  • 44,588 行追加 / 30,784 行削除

アップグレード時の注意

推奨手順(PHP7.4 利用中の場合)

  1. PHP7.4 環境のまま Evolution JP をアップグレード
  2. 動作確認後、PHP8(8.0 以上)へ移行

動作環境

  • PHP 7.0–8.4(8.2 以上推奨)
  • MySQL 5.7 以上 / MariaDB 10.2 以上
  • Chrome / Firefox / Edge / Safari(最新版)