各バージョンのアップデート変更点まとめ
システムのバージョンアップをする際に、利用しているバージョンから最新版までアップデートする際に、テンプレートや config の設定がどう変わっているのかを時系列で紹介しています。
Ver. 3.1.17 - 2024/06/10
- Ajaxによる部分テンプレートアクセスにCSRFトークンによる認証を追加し、許可するtpl指定(allow_tpl_path)を個別指定しなくてもいいように改修 & Ajaxリクエストのセキュリティレベルオプションを用意(ajax_security_level)
ポストインクルードや htmx など、Ajax による部分テンプレートへのアクセス時に、許可するtplを private/config.system.yaml で指定(allow_tpl_path)する必要がなくなりました。 また、ポストインクルードや htmx など、Ajax によるテンプレート取得用のPOSTモジュールとして、ACMS_POST_2GET_Ajax が追加されました。
詳しくはブログ記事をご確認ください。
Ver. 3.1.14 - 2024/04/23
- PHP8.2, 8.3対応
Ver. 3.1.12, 3.0.32 - 2024/04/08
- 【セキュリティ対応】Webhook機能のSSRF対応 「JVN#24538269」
- 【セキュリティ対応 & 仕様変更】Webhook機能のコードインジェクション対応 「JVN#36191600」
Webhook 機能のSSRF対策としてリクエスト先URLが「.env」で許可したホストのみ許可するように変更されました。またログ閲覧で機能でレスポンスの内容を表示するために「.env」の設定が必要になりました。 Webhook機能のコードインジェクション対策として、ペイロードのカスタマイズで利用するテンプレートエンジンがTwigに変更されました。
詳しくはブログ記事を御覧ください。
Ver. 3.1.7 - 2024/01/19
- 校正オプション[raw]を指定していても script・iframe を削除するオプションが追加
参考記事 - エントリ編集のクロスサイトスクリプティング
アップデートの際には off になっていますが、private/config.system.yaml を最新のファイルと置き換えると on になり、管理画面で編集の際にタグが消えてしまう恐れがありますので紹介しておきます。同様の修正が 3.0.29 以降、2.11.58 以降、2.10.50 以降も同様に行われています。
Ver. 3.1.0 - 2023/09/14
ログインテンプレートの仕様が変更
themes/ご利用テーマ/login.html を設置してログイン画面や会員サイトのログイン画面をカスタマイズしている場合、Ver. 3.1 にアップデートするとログインできなくなる可能性があります。
Ver. 3.1 では会員機能の強化のため、ログイン周りのテンプレートの改修、管理者と一般会員でログインページを別にする修正がはいっているので、ログイン画面のテンプレートが新しくなっております。ログイン画面をカスタマイズしている場合や、会員サイトの場合は、テンプレートの修正が必要になりますので、慎重にアップデートください。
SNSログイン・SNS会員登録、Google Map以外の外部サービス連携機能を廃止
SNSログイン・SNS会員登録、Google Map以外の外部サービス連携機能が廃止になりました。廃止になった機能は以下になります。
- Google Analyticsランキング(Api_GoogleAnalytics_Ranking)拡張アプリに移行
- Twitterホームタイムライン(Api_Twitter_Statuses_HomeTimeline)
- Twitterユーザータイムライン(Api_Twitter_Statuses_UserTimeline)
- Twitterサーチ(Api_Twitter_Search)
- Twitterリストタイムライン(Api_Twitter_List_Statuses)
- Twitterリストメンバーズ(Api_Twitter_List_Members)
- Bingウェブ検索(Api_Bing_WebSearch)
- Bingイメージ検索(Api_Bing_ImageSearch)
Ver. 3.0.12 - 2022/06/17
- 8.1.x 対応
Ver. 3.0.10
- CMS-5891 各システムメールをHTMLメールに対応
コンフィグ > メール設定 の本文テンプレートの項目でプレーンテキストとHTML形式のどちらもテンプレートのパスを設定している場合は、HTML形式が優先される仕様になっております。さらにHTML形式の本文テンプレートの設定はconfig.system.default.yaml に記載されており、CMSをアップデートした際に自動的にコンフィグに保存されます。アップデート前に、プレーンテキスト形式のメールテンプレートをカスタマイズして利用していた場合、バージョンアップした際にHTML形式のメールが送信されてしまうといった問題が発生する可能性があります。
対策として、バージョンアップ後はコンフィグ > メール設定 の本文テンプレートの項目で HTMLメールの設定を空にして保存し直す必要があります。
Ver. 3.0.0 - 2021/12/24
- PHP 7.2.5 - 8.0.x 対応
- ionCube Loader 利用を停止
- アップデート時、テンプレートキャッシュ機能が新しく増えた事により、グローバル変数を利用したインクルードの分岐処理が意図しないキャッシュが作成されてしまう可能性があります。
private/config.system.yaml の template_cache: off でテンプレートキャッシュの利用を停止します。
参考記事 - テンプレートキャッシュについてマークダウンのライブラリが PHP 8.0 対応のために変更になりました。そのため マークダウンを利用の場合に表示崩れが発生する可能性があります。
参考記事 - Ver. 3.0 へメジャーアップデート時にマークダウンの文章が崩れるケースについて- ネストしているリスト
- 空白行が上にないコード、テーブル、引用
Ver. 2.11.29 - 2021/03/03
- jQuery のバージョンが 3.5.1 に変更しています。
Ver. 2.11.25 - 2020/11/24
- tplコンテキスト がデフォルトで無効になりました。
アップデートの場合には private/cofig.system.yaml に設定が無いので大丈夫ではありますが、変更点として紹介しておきます。
参考記事 - Ver. 2.11.25からのテンプレートの仕様変更について- forbid_tpl_url_context :
- forbid_tpl_inheritance_when_path_unresolved :
- allow_tpl_path :
Ver. 2.11.15 - 2020/07/13
- PHP 7.4 対応
Ver. 2.11.5 - 2020/02/05
- メディアダウンロードリンクが /media-download/xxx/ から /media-download/xxx/hash値/ のように変更になりました。テンプレートは関係ありませんが、テキストリンクで手動で /media-download/xxx/ へのリンクを書いているような時には注意が必要です。
config.system.yaml の設定
media_download_link: v1 # v1: media-download/xxx/ v2: media-download/xxx/hash値/
※ この設定で元の仕様に戻すことが可能です。
Ver. 2.11.0 - 2019/12/17
- ライセンスのアップデートが有償になりました。
カスタマイズの際に、脆弱性を作り込んでしまう問題を減らすために、校正オプションの仕様変更しています。文章中のタグがそのまま表示されてしまう可能性があります。
参考記事 - Ver.2.11 から校正オプションの仕様が変更になります読者登録・パスワードリセット時に、パスワードを自分で指定できるように変更
読者登録・パスワードリセット時に、パスワードを自身で指定できるようになりました。以前はパスワード再発行メールにシステム側で発行した新しいパスワードを記載しておりましたが、再発行時にユーザーが任意のパスワードを指定する仕様へ変更になりました。そのため、パスワードリセット用のテンプレートを追加する必要があります。また、パスワード再発行メールで使用できる {resetPass} 変数は削除されました。
パスワードリセット用のテンプレートは system テーマ内、 /_layouts/login.html の<!-- BEGIN reset -->
から<!-- END reset -->
までを参考にしてください。
Ver. 2.10.8 - 2019/04/15
- PHP 7.3 対応
Ver. 2.10.0 - 2019/02/28
- タグの入力 UI が変更になっています。一応、前の UI がいい人のために戻す方法を紹介しておきます。
参考記事 - エントリーのタグ UI を古いものに戻すには
Ver. 2.8.0 - 2018/03/26
- PHP 7.2 対応
Ver. 2.7.0 - 2017/03/30
- PHP 7.0 対応
ルールをグローバル化して利用している場合の動きが変わりました。
参考記事 - Ver.2.7.0以上へのアップデートutf8mb4 に対応し、絵文字が保存できるようになりました。
参考記事 - UTF-8の絵文字を利用する
Ver. 2.5.0 - 2015/04/23
- a-blog cms で読み込みが必須の JavaScript のファイル名が index.js から acms.js に変更されました。
- acms.css から管理系の CSS を別にして利用できるようにした acms-admin.css が必須になりました。
- acms.js の前に jQuery の読み込みが必須になり、jQuery が同期的に読まれるように対策が必要になりました。
参考記事 - Ver.2.5以上 へのアップデート
Ver. 2.0.0 - 2013/12/18
- config.system.yaml が config.system.default.yaml と config.system.yaml に分かれました。 1.x で利用していた config.system.yaml を利用することで、2.0 以前の設定を引き継ぎます。
- file_icon の場所が images/fileicon から themes/system/images/fileicon に変更になりました。
- Entry_Body の中でインクルードされている /include/column.html が /include/unit.html に変更になりました。
- Column_List モジュールの名前が Unit_List に変更になりました。
参考記事 - Ver. 1.7 から 2.0 のアップデート