リリース情報

アップデート内容

PHP 7.4 対応や利用フレームワーク・ライブラリを更新したマイナーバージョンアップ版です。 動作環境の変更や廃止機能がありますので、内容をよくご確認のうえアップグレードを実施してください。

※マイナーバージョンアップ版のため MicroEngine CMS 2系(2.X.X)のユーザー様は無償で利用できます。 ※アップグレード方法については、アップグレードマニュアルを参照してください  

  • 動作環境の変更
    MicroEngine CMSを動作させるために必要なPHPのバージョンが次になりました。
     PHP:7.2 (7.2.9以降), 7.3, 7.4
    ※ 以前のバージョンと比べると、7.4対応が追加されて、7.0, 7.1, 7.2.9 未満 が非対応となりました。
     必要なPHPモジュールに、Tokenizer が追加されました。
  • Twig アップグレードによる影響
    利用しているテンプレートエンジンを Twig 2 から Twig 3 にアップグレードしました。Twig-View(Slimフレームワーク用のviewコンポーネント)を 2 から 3 にアップグレードしました。
    削除になったタグと廃止された記法がありますので、下記内容を確認してテンプレート内に該当する記述があれば更新してください。 

    ・filterタグが廃止になりました。代わりにapplyタグを使用してください。 
    ・spacelessタグが廃止になりました。代わりにspacelessフィルターか {% apply spaceless %} を使用してください。
    ・forタグ本体内での if が無効になりました。その代わりに、次のようにfilterというフィルターを使うようにしてください。
    書き換え例: 
    旧:{% for index, item in recommend if index >= 1 %}
    新:{% for index, item in recommend|filter((v, k) => k >= 1) %}
    ・path_for関数が非推奨になりました。その代わりに url_for関数をご利用ください。
    ※path_for関数はurl_for関数のエイリアスとして用意しているため、しばらくは利用することができます。 
  • Monolog アップグレードによる影響
    利用しているログライブラリを Monolog 1 から Monolog 2 にアップグレードしました。
    これにともない、CMSのログ機能で保存されるログの日付フォーマットが [2019-12-23 11:28:37] から [2019-12-23T11:28:37.658252+09:00] に変更になりました。
  • date_default 設定の廃止
    基本設定ファイル(settings.php)のdate_default設定が廃止になりました。 date_default設定は、デフォルト日付フォーマットを指定するため設定項目でしたが、利用しているライブラリ側で非推奨になったことが理由です。
    date_default設定に依存した記述がある場合には、日付フォーマットが反映されないため「2019-12-18 11:31:30」のように表示されるようになります。 日付のフォーマットを変更したい場合は、日付関連フィルター(date, date_local, date_local_long, date_local_short, date_long, date_short)をご利用ください。
  • レスポンスヘッダーの追加
    製品パッケージに含まれる .htaccess ファイルに次のヘッダーを出力するための指定を追加しました。

    X-XSS-Protection: 1; mode=block
    X-Content-Type-Options: nosniff
    X-Frame-Options: deny 

    .htaccess は展開ツール(unzi.php)によるアップグレードでは展開されません。 必要でしたら、新版の .htaccess の記述を移植してください。 また、この指定は公開コンテンツ側にも反映されます。不要でしたら無効にしてください。 
  • ブックマーク登録機能を改修
    管理画面ヘッダーの「このページを登録する」機能で、管理画面内のクエリストリング付きのURLを登録できるようにしました。 以前のバージョンでは、テーマファイルマネージャで深い階層で該当ボタンを押した場合には、クエリストリングを除いたパスがブックマーク登録画面に引き渡されていました。 
  • セッションクッキーの変更
    ログイン前のセッションクッキーにも httpOnly属性をつけるようにしました。 ドキュメントルート配下の mecms_config.php ファイルで、クッキーのsecure属性を設定できるようにしました。デフォルトではsecure属性は付与しません。 
  • 入力文字エンコーディングチェックの見直し
    入力文字エンコーディングチェックでネストした配列もチェックできるようにしました。 また、入力文字エンコーディングチェックに失敗した場合には、500ではなく400をレスポンスコードとして返すようにしました。 
  • レスポンスコードの変更
    次の状況では、レスポンスコードとして 500 ではなく 404 を返すように改修しました。
    ・非ログイン状態でURLのパスにスラッシュで終わらないディレクトリ名がある場合でかつインデックスファイル(index.html)が存在しない場合。
    ・_METHODパラメータの値に該当するルートが存在しない場合。 
  • ファイルマネージャでアップロードに失敗する不具合を改修
    ファイルマネージャで同じファイル名のファイルをアップロードすると、該当ファイルが消えてしまう不具合を改修しました。 原因は、画像の旧リサイズファイルの削除処理が実行されてしまうことでした。そのため、svgを除く画像ファイルではファイルが消える現象は発生していませんでした。 
  • 異なるファイルの更新日時が更新される不具合を改修
    ファイルマネージャでファイルをアップロードすると、アップロードしていないファイルの更新日時が更新される不具合を改修しました。
  • 一部のフィールドが動作しない不具合を改修
    ul, ol, table_2 フィールドは、content フィールド内のコンテナフィールドとしては動作していましたが、コンテナ外の通常のフィールドとして指定すると入力値が保存されない状態でした。 この不具合を改修して、ページコンテンツなどの直下のフィールドとしても利用できるようにしました。 
  • フィールドの出力テンプレートの修正
    ul, ol, table_2 フィールドで、値が空の場合に親要素(ul, ol, table)を出力しないように修正しました。 以前のバージョンでは、親要素のみ(例:li要素なしでol要素のみ)が出力されていました。 
  • 重複IDの修正
    コンテンツ編集画面で、visibilityというHTML要素のID属性が重複している問題を修正しました。
  • フレームワーク・ライブラリの更新
    次のフレームワーク・ライブラリのメジャーバージョンを更新しました。
     Slimを 3 から 4 に更新しました。
    Twigを 2 から 3 に更新しました。
    Twig-Viewを 2 から 3 に更新しました。
    Eloquentを 5.5 LTS から 6.0 LTS に更新しました。
    Monologを 1 から 2 に更新しました。
    Carbonを 1 から 2 に更新しました。
    この他にも CodeMirror, jQuery, Popper.js など多くのライブラリを更新しました。