2023年4月21日
転載歓迎

Concrete CMS 9.2.0 リリース

2023-04-28_21:37_892.jpg

Concrete CMS  Version 9 の最新版 9.2.0 がリリースされました。9.2.0 は大きなリリースです。

ビッグなアップデートとして

  • 大幅なページ編集体験の向上
  • 完全&高機能な REST API
  • プロダクションモードとサイトヘルス機能で、サイトの本番運用を最適化

9.2.0 の新機能をフルに紹介するための特集ページ (英語) も作りました。
https://www.concretecms.org/9

 

サイトヘルス機能や REST API のドキュメントは以下の通りです。

サイトヘルス機能ドキュメント
https://documentation.concretecms.org/user-guide/editors-reference/dashboard/welcome/site-health (日本語)

REST API ドキュメント
https://documentation.concretecms.org/developers/rest-api/overview (日本語)

みなさんのブログなどに使えるよう画像もいくつか用意しました。

 

9.2.0 リリースノート

原文

翻訳中です。(以下の訳文をチェック中です)

メジャー新機能

  • 編集可能なブロックやエリアのハイライト表示、コンテナ、レイアウト、ページ内エリアの区分け、ドラッグ可能なブロックのヒットエリアの改善など、ページ内編集の利便性を向上させました。
  • 新しい「サイトヘルス」ハブ:サイトに対してレポートを実行し、最適に設定されていることを確認します。拡張可能なレポートエンジンは、本番環境設定、キャッシュ設定、未承認のJavaScriptなどをチェックする機能を備えています。詳しくは、https://www.youtube.com/watch?v=K76xk1E6hPE をご覧ください。
  • ページ、ユーザー、ファイル、Expressオブジェクトなど、Concrete CMSの主要な機能を網羅した1.0 REST APIを提供します。

新機能

  • 管理画面に本番モードを追加。このコピーが開発モード、ステージングモード、本番モードのいずれであるかを具体的に表示します。セキュリティのヘルスチェックを行うときや、サイトのステージングコピーで管理者や訪問者にステージング通知を自動的に表示するときに便利です。
  • 管理画面およびコマンドラインツールを使用して、失敗したキューメッセージを表示し、再試行する機能を追加しました。(https://www.loom.com/share/83530934986940b98f74ebe108e49c6e)
  • 実行中のプロセスをすべてクリアするボタンを追加し、スタックした場合に対応できるようにしました。
  • コンポーザーのフォームセットを折りたたみ可能に設定する機能を追加しました。 (thanks Mesuva)
  • イベントリストのイベントを過去、未来、すべてのイベントでフィルタリングするオプションを追加しました。 (thanks katalysis)
  • ソート順を「最新の順」「最も古い順」に変更するオプションを追加しました。 (thanks katalysis)
  • ユーザー作成とパスワード変更の管理画面ページに新しいパスワード強度メーターを追加しました。 (thanks shahroq)
  • URLスラッグに関する設定を変更できるURLスラッグの管理画面ページをSEOセクションに追加しました。 (thanks hissy)
  • 特定のアドレスが設定されていない場合、デフォルトのアドレスとしてスーパー管理者のメールアドレスを使用するようになりました。代わりに、設定コードと管理画面のメールオプションページで設定可能な新しい設定値「デフォルトメールアドレス」を使用します (Thanks mlocati)
  • IPアドレス変更時のログアウトを回避するため、複数の許可IPアドレスを指定できるようにした。ユーザー固有のIPアドレスのオーバーライドも追加しました。 (thanks mlocati)
  • 管理者により、1人のユーザー、またはサイト内のすべてのユーザーに対してパスワードがリセットされる際のユーザーエクスペリエンスが改善された。(mlocati)ユーザーは、メールアドレスを2回入力する必要がなくなった。また、「パスワードを忘れた」ユーザーフローにいるにもかかわらず、実際には手動リセットユーザーフローにいることを知らされることもなくなった。
  • ユーザーのパスワードをX日ごとに強制的に変更する機能を追加しました。 (thanks mlocati)
  • 管理画面のユーザー詳細ページで、パスワードをリセットしたことにする機能を追加 (thanks mlocati)
  • 管理画面のユーザー詳細ページに詳細情報を追加しました。 (thanks mlocati)
  • ページ上のブロックに基づいてページの寿命を決定する新しいフルページキャッシング設定を追加しました。 (thanks hissy)
  • ファイルマネージャーとチョーザーのファイルマネージャーコンポーネントを名前の昇順でソートするようにし、より一貫性のある動作に変更しました。
  • マイアカウントと管理画面に、新しいユーザーのアバターエディターコンポーネントを追加しました。
  • アップロードされたファイルのasciifyを無効にする設定オプションを追加しました。 (thanks hissy)

動作の向上

  • ユーザーパネルとしてページを表示する際の表示を改善しました。
  • グループ操作のログ取得時に、グループ名の代わりにグループパスを使用します (thanks mlocati)
  • インストール後、ElementalまたはAtomikテーマを有効にすると、必要なサポートテンプレートがインストールされます。
  • ページリストのブロック番号フィールドにminフィールドを追加しました。 (thanks ccmEnlil)
  • コアゲスト、登録者、管理者グループは、適切な初期IDで作成することを再度強制されました。 (thanks mlocati)
  • 新着会話メッセージの通知が「Waiting for Me」に表示されるようになりました。
  • トップナビゲーションバーブロックが、多言語ホームページへ正しくリンクするようになり、アクティブページの親ページにnav-path-selected CSSクラスが含まれるようになりました。
  • トップナビゲーションバーでnav targetカスタム属性が使用できるようになりました (thanks ccmEnlil)
  • API連携は、カスタムスコープにより、対象となるConcrete CMSの製品分野を限定することができます。
  • オプションリスト属性のチェックボックスラベルにmiss for属性を追加しました。 (thanks Mesuva)
  • SMTP設定ページ:SMTPパスワードをクライアントに送信しません。 (thanks mlocati)
  • 管理画面の "Update Languages "ページのUIを修正しました。 (thanks mlocati)
  • Heartbeatバックエンドの呼び出しにより、"Online Now "ユーザープロパティが更新されます (thanks mlocati)
  • URLスラッグの生成時にasciifyを無効にするオプションを追加しました。 (thanks hissy)
  • パフォーマンスの向上:「 すべてのグローバルエリア」ブロックがページロードごとに読み込まれなくなりました。 (thanks mnakalay)
  • パンくずブロックがreplace_link_with_first_in_nav属性を尊重していなかったのを修正しました。 (thanks hissy)
  • ブロック内のExpress Entry Listの条件が二重に表示される不具合を修正しました。
  • 画像スライダーのURLフィールドをtextareaからテキスト入力に変更し、より良い表示と改行による入力の乱れを軽減しました。 (thanks nikolai-nikolajevic)
  • ダッシュボードの環境情報ページで、コンテンツが正しくラップされるようにしました (thanks JohnTheFish)
  • ページでコンテナを使用すると、そのページが自動化されたフルページキャッシングに参加できなくなる不具合を修正しました。 (thanks hissy)
  • 管理画面の Welcome Back 画面とアカウント画面に、前回ログインした日時を追加しました。
  • ファイルマネージャーのファイル/フォルダーインターフェイスで検索する際に、ファイルタイトルが含まれるようにしました。
  • オートコンプリート機能使用時のセレクトピッカーとコンボボックスの外観をより均一に改善しました。
  • 特定のコアブロックタイプにおけるブロックキャッシュの設定が改善しました。
  • 全体的にインデックスを追加しました。 (thanks jlucki)
  • パフォーマンスの向上: 同じ属性値を何度も取得しないようにしました。 (thanks hissy)
  • ページの公開終了日が現在の日付より早い場合(そのため閉鎖された場合)、新しい公開通知を追加しました。 (thanks hissy)
  • エイリアスページがsitemap.xmlに含まれなくなりました。

バグ修正

後方互換性ノート

  • ユーザーオートコンプリートのクイック選択メソッドは、デフォルトでユーザーのアバターを表示し、ユーザー名と電子メールアドレスを含むようになりました(サイトがユーザー名を使用するように設定されている場合)。これは管理用コンポーネントとしては望ましいことですが、フロントエンドでquickSelectを使用している場合は、この動作を制限することができます。AUTO_MINIMUM定数を使用するようにquickSelectの使用方法を変更し、ユーザーアバターの有効/無効をお好みで設定してください。
  • Bootstrap Selectは非推奨となりました。Bedrockではまだ出荷されていますが、その後のバージョンアップで削除される予定です。代わりに新しいConcreteセレクトコンポーネントを使用するように、コードを更新してください。
  • 暗号化サービス(コアでは未使用)は削除されました。コアには代替品が組み込まれていませんが、多くのサードパーティライブラリがpackagistで利用可能です。
  • Vueコンポーネントのv-date-pickerとv-calendarは削除されました。これらは魅力的ですが、Concreteを動かすJavaScriptに含めるには単純に大きすぎるのです。これらはネイティブのソリューションに置き換えられています。これらのコンポーネントをカスタムコードに含めることはまずないでしょうが、もしそうなら、自分でJavaScriptバンドルにインポートする必要があります。
  • Vue toggle Vueコンポーネントは削除されました。Concrete CMSのJavaScriptバンドルに含めるには大きすぎました。この機能が必要な場合は、Bootstrap Switchesをご利用ください。

開発者向けアップデート

  • Bedrockが1.4にアップデートされ、Bootstrap 5.2への対応やその他多くのアップデートが行われました。
  • 多数のマイナーなPHP依存性の更新しました
  • 新しいグループセレクタ Vue コンポーネント (Thanks mlocati)
  • ConcreteSelect、ConcreteUserSelect、ConcretePageSelectなどのコンポーネントを新設しました。
  • 開発者が、カスタムアドオンの「System Email Addresses Dashboard」ページに表示されるメールアドレスのリストに追加できるようになりました (thanks mlocati)
  • phpcs CLIコマンドが修正を適用する際に適用されるphp-cs-fixersを表示する (thanks mlocati)
  • FancyTreeの非推奨エラーがサイトマップに表示されなくなりました。 (thanks mlocati)
  • テーマ開発者は、テーマルートのcontent.xmlに、そのテーマに必要な追加コンテンツXMLを追加することができます。
  • ユーザーピッカーコンポーネントからユーザー名を非表示にするオプションを追加しました。 (thanks mlocati)
  • ResponseFactory.phpのcontrollerメソッドにsetupSiteInterfaceLocalizationを追加しました。 (thanks chauve-dev)
  • Ajax::isAjaxRequestを非推奨とする (thanks mlocati)
  • "concrete5 "のインスタンスを削除し、"Concrete CMS "を使用するようにしました。
  • Guzzle PHP Library が 7.5 にアップデートされました。
  • Concrete が Doctrine ORM 2.14.x+に対応しました。
  • BlockControllerクラスからgetPermissionObjectメソッドを実行する際のエラーを修正しました。
  • PHPのマイナーな依存関係のバージョンアップを多数実施
  • アンチスパムサービスの軽微な改良 (thanks mnakalay)
  • ブロックコントローラのコードを更新し、PHP 9への対応を行いました。 (thanks mlocati)
  • moment.jsは、最新の安定版に更新されました。このファイルは、時々インセキュリティ警告を引き起こす可能性がありました。

セキュリティ修正

  • CVE-2023-28477 API Integrations の name パラメータ経由の Stored XSS を修正しました。修正前 concrete cms で API Integrations を追加する際、name パラメータに特殊文字が含まれており、悪意のある JavaScript ペイロードが /dashboard/system/api/integrations および /dashboard/system/api/integrations/view_client/unique-id に影響を与えることがありました。Concrete CMS Security team CVSS scored this 5.5 AV:N/AC:L/PR:H/UI:N/S:U/C:H/I:L/A:N. H1 1753684を報告し、修正を提供してくれたVeshraj Ghimireに感謝します。コミットで修正しました。
  • タグに関するCVE-2023-28476 Stored XSSを修正しました。修正前は、アップロードされたファイルにタグを追加する際に、サニテーションが行われていませんでした。コンクリートCMSセキュリティチームは、CVSS v3.1 AV:N/AC:L/PR:H/UI:R/S:U/C:H/I:N/A:N で、この4.5を評価しました。H1#1767949 を報告し、修正を提供してくれた Veshraj Ghimire と Ashim Chapagain に感謝します。コミットで修正しました。
  • 修正: CVE-2023-28475 msgID がサニタイズされていることを確認することで、Reply フォームに XSS を反映させました。Concrete CMS Security チームは、この問題を CVSS v3.1 vector AV:N/AC:H/PR:N/UI:R/S:U/C:L/I:L/A:N で 4.2 としました。H1 1772092 を報告してくれた Fortbridge の Bogdan Tiron に感謝します。コミット #11279 で修正しました。
  • CVE-2023-28474 保存されたプリセットに関する Stored XSS を修正しました。修正前は、検索時にプリセットを保存する際にサニタイズが行われていませんでした。Concrete CMS Security team scored this 3.5 with CVSS v3.1 vector AV:N/AC:L/PR:H/UI:R/S:U/C:L/I:L/A:N Thanks Veshraj Ghimire for reporting H1 1768494 Fixed in commit
  • 修正 CVE-2023-28472 ccmPoll Cookie に Secure 属性と Http only 属性が設定されるようになりました。Concrete CMS Security チームが CVSS v3.1 vectorAV:N/AC:H/PR:N/UI:R/S:C/C:L/I:N/A:N でこの 3.4 を採点しました。 コミット #11000 で修正されました。
  • CVE-2023-28473の求人欄のAuthバイパスの可能性を修正しました。Concrete CMS Security team scored this 2.2 with CVSS v3.1 vector AV:N/AC:H/PR:H/UI:N/S:U/C:N/I:L/A:N H1 1772230を報告してくれたFortbridgeのAdrian Tironに感謝。コミット#11118で修正しました。
  • moment.js の CVE-2022-24785 を修正しました。Concrete が moment.js の更新版を取り込むようになりました Concrete CMS Security team scored this 2.2 with CVSS v3.1 vector AV:N/AC:H/PR:H/UI:N/S:U/C:N/I:N/A:L 報告いただいた Fortbridge さんに感謝します。コミット11085で修正しました。
  • 修正: CVE-2023-28471 コンテナ名に関するXSS。修正前は、コンテナ名のサニタイズが行われていなかったため、保存されたXSSが発生していました。Concrete CMSのセキュリティチームは、この2.0をCVSS v3.1で採点しています。

以上