Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

EC-CUBE 4.2 Roadmap #5356

Closed
chihiro-adachi opened this issue Apr 18, 2022 · 21 comments
Closed

EC-CUBE 4.2 Roadmap #5356

chihiro-adachi opened this issue Apr 18, 2022 · 21 comments
Labels
document Improvements or additions to documentation
Milestone

Comments

@chihiro-adachi
Copy link
Contributor

chihiro-adachi commented Apr 18, 2022

4.2のリリース内容・計画のまとめや目安箱Issueです。

基本方針

メジャーバージョンとして以下の方針で開発を行います。

  1. Symfony 5.4 へのアップデート / PHP 8 対応
  2. 既存プラグイン/デザインテンプレートとの互換性を「ある程度」考慮した機能追加
  3. 不具合改修および機能改善

開発スケジュール

PHP7.4のEOLに先立ち、以下のスケジュールで開発を進める予定です。

α版:2022年6月7日
PHP8とSymfony5.4に対応したバージョンになります。
EC-CUBE4.2対応プラグインの動作確認が可能です。

β版:2022年7月4日
機能FIXバージョンになります。
EC-CUBE4.2対応プラグインのテストが可能です。

β版リリースに伴い、プラグインの申請受付を開始いたします。

β2:2022年8月8日
機能FIXバージョンになります。
機能試験が完了したバージョンです。

以降、RCに向け、不具合修正のみ行われます。

RC:2022年9月21日
セキュリティ試験を含めた全試験および不具合修正が完了したバージョンになります。
以降、原則ソースコードの変更は行われません。

正式版:2022年9月28日

主要な対応内容

※EC-CUBE4.2で取り込む予定の改修一覧
https://github.com/EC-CUBE/ec-cube/milestone/47

Issueのマイルストーンの設定は現時点での予定であり、変更となる可能性があります。

互換性についての情報

対応方針

4.2は、4.1と互換性のないバージョンとなります。
ただし、プラグイン拡張等のアーキテクチャは現行を踏襲し、BC Breakの範囲はフレームワークの更新に伴って発生するものにとどめる想定でいます。

上記範囲内で、機能追加や不具合修正を実施する予定です。

データベースに関する影響

プラグイン等に関する影響

  • プラグイン
    • 4.0/4.1版と共存することはできません。別プラグインとして制作する必要があります。
  • デザインテンプレート
    • フロント画面のデザイン変更は予定していません。
    • 機能追加や不具合修正に伴うhtmlのDOMの変更が発生します。

Symfony5.4 / PHP8への対応状況

以下のIssue / PRで対応を行っています。

各ライブラリ・フレームワークの対応状況は #4579 #4793 も合わせてごらんください。

システム要件

Middleware 4.1 4.2
Apache 2.4.x 2.4.x
PHP 7.3 〜 7.4 7.4 〜 8.1
PostgreSQL 9.6.x 〜 14.x 10.x 〜 14.x
MySQL 5.7.x 5.7.x 〜 8.0.x
Bootstrap 3、4 5.0

Feedback

ご意見・ご要望等お待ちしております。
EC-CUBE4.2について、本Issueにぜひコメントください。

@chihiro-adachi chihiro-adachi added the document Improvements or additions to documentation label Apr 18, 2022
@chihiro-adachi chihiro-adachi added this to the 4.2 milestone Apr 18, 2022
@chihiro-adachi
Copy link
Contributor Author

PHP/Symfonyのサポート状況まとめ

  • 各レンタルサーバについては現時点では8.0まで対応が多い?本年度末には8.1対応もそろってきそう
  • REHLの長期サポートはPHP7.4が2029まで。PHP8については不明
  • EC-CUBEとしてはPHP7.4〜でシステム要件とするのがよさそう

PHPサポート

https://www.php.net/supported-versions.php

Version  Security Support Until
7.4 28 Nov 2022
8.0 26 Nov 2023
8.1 25 Nov 2024

Red Hat Enterprise Linux 8 Application Streams Life Cycle

https://access.redhat.com/support/policy/updates/rhel8-app-streams-life-cycle

Version  Security Support Until
7.4 May 2029

※PHP8+については不明

Symfony Roadmap

https://symfony.com/releases

Version  Requires PHP End of security fixes
4.4 7.1+ November 2023
5.4 7.4+ November 2025
6.0 8.0+ January 2023
6.1 8.1+ January 2023

@chihiro-adachi
Copy link
Contributor Author

chihiro-adachi commented Apr 18, 2022

Databaseのサポート状況まとめ

  • PostgreSQL
    • 9.6がEOLのため10〜とする
  • MySQL
    • 8.0を追加

PostgreSQL

https://www.postgresql.org/support/versioning/

Version Current minor Supported First Release Final Release
14 14.2 Yes September 30, 2021 November 12, 2026
13 13.6 Yes September 24, 2020 November 13, 2025
12 12.1 Yes October 3, 2019 November 14, 2024
11 11.15 Yes October 18, 2018 November 9, 2023
10 10.2 Yes October 5, 2017 November 10, 2022
9.6 9.6.24 No September 29, 2016 November 11, 2021
  • 9.6がサポート切れ
  • EC-CUBEとしては10か11以上?
  • REHLだと12が〜2029までのサポートになる

MySQL

https://www.mysql.com/support/
https://www.oracle.com/us/support/library/lifetime-support-technology-069183.pdf

Version GA Date Premier Support End Extended Support End
MySQL Database 5.7 Oct 2015 Oct 2020 Oct 2023
MySQL Database 8.0 Apr 2018 Apr 2023 Apr 2026

Doctine対応状況

  • PostgreSQL: 9.4, 13, 14
  • MySQL: 5.7, 8.0

https://github.com/doctrine/dbal/actions/runs/2182110288

@chihiro-adachi
Copy link
Contributor Author

TODO:js/cssフレームワークのサポート状況調べる

@chihiro-adachi
Copy link
Contributor Author

chihiro-adachi commented Apr 18, 2022

サーバサイドのシステム要件、まとめるとこんな感じでしょうか(案)。

Middleware 4.1 4.2
Apache 2.4.x 2.4.x
PHP 7.3 〜 7.4 7.4 〜 8.1
PostgreSQL 9.6.x 〜 14.x 10.x 〜 14.x
MySQL 5.7.x 5.7.x 〜 8.0.x

@nanasess
Copy link
Contributor

MySQL8 で utf8mb4 を使用するためには以下の対応が必要そうです
#4796

@watarukashii
Copy link
Contributor

ご意見・ご要望等お待ちしております。
EC-CUBE4.2(仮)について、本Issueにぜひコメントください。

フィードバック失礼します。ご検討のほどよろしくおねがいします。

■要望

  • 画像データの最適化
  • 最適化をしない画像ファイルをそのまま上げるとサイト閲覧者は負担がかかるため、減らしたい。スコア向上にもつながる。

■要件

  • GD、ImageMagickいずれかが入っているサーバで実行可能とする。
  • 管理画面>設定>基本設定で画像最適化の有効・無効ボタンの追加し、有効時に実行できるものとする。(?マークで説明を追加すること)
  • 管理画面>コンテンツ管理>画像ファイル最適化の新規メニュを追加する。ここでは一括で最適化を実行できるものとする。
  • 画像ファイル数が膨大にあることが予想されるため、バックグラウンド処理 or プログレスバーを設置し分割で実行。
  • 一度定義されたかどうかは生成後の命名規則に従って判別する。ex) 00r336t4w.png -> 00r336t4w_resize.png, 00r336t4w_resize_640_640.png , 00r336t4w_resize_320_320.png
  • リサイズ対象の画像サイズを定義 PC・SP 商品一覧、商品詳細、お気に入り、カート画面、支払い方法選択画面、TOPページ(おすすめ商品、新着商品、スライダー画像)
  • 対象フォルダは、user_data/assets 配下の画像ファイル群、html/upload/save_image 配下の画像ファイル群を対象とする。
  • Twigファイルからの最適化された画像ファイルの呼び出し方はdocument に記載する。 ex) getImage('ファイル名', width, height)
  • Twigの独自関数を定義する。該当のファイルがあるか、そもそも参照元のファイル自体がない場合は、no_image を返却する。参照元のファイルはあるが、リサイズファイルがない場合、最適化されたファイルが有る場合など、場合分けをして最適なファイルをチョイスする。

@watarukashii
Copy link
Contributor

watarukashii commented Apr 19, 2022

連投失礼します。

不具合改修および機能改善

からですが、現状ECCUBEのissueで対応が完了できていているが、残っているものもいくつか散見するため
issueを立てた人以外でもクローズできるのであれば一度整理いただくことは可能でしょうか?

@chihiro-adachi chihiro-adachi changed the title [WIP] EC-CUBE 4.2(仮) Roadmap [WIP] EC-CUBE 4.2 Roadmap Apr 20, 2022
@chihiro-adachi
Copy link
Contributor Author

@watarukashii
コメントありがとうございます!

#5356 (comment)
こちらある程度仕様がみえているようであれば、Issue化していただいたほうがよいかもです。

#5356 (comment)
こちら承知しました。
既存のissueやprは棚卸ししていきますね。

@taguchimasahiro taguchimasahiro changed the title [WIP] EC-CUBE 4.2 Roadmap EC-CUBE 4.2 Roadmap May 31, 2022
@taguchimasahiro
Copy link
Contributor

taguchimasahiro commented Jun 10, 2022

プラグインの4.2対応に関する情報

EC-CUBE 4.2は、EC-CUBE 4.1と互換性のないバージョンとなります。
そのため、4.0/4.1版のプラグインと共存することはできず、別プラグインとして制作していただく必要があります。

EC-CUBE 4.1対応プラグインからEC-CUBE 4.2対応方法は、以下のドキュメントをご確認ください。

4.1から4.2へのマイグレーション

https://doc4.ec-cube.net/update-41-42

メールマガジン管理プラグイン

メールマガジン管理プラグインは4.2対応しています。差分を参考にしていただければと思います。
https://github.com/EC-CUBE/mail-magazine-plugin/compare/4.2

Plugin Fixer

マイグレーションガイドの修正内容をプラグインに適用するツールを公開しています。
使い方は下記リリースノートを参考にしてください。
https://github.com/EC-CUBE/Eccube-Upgrade-Fixer/releases/tag/v0.1.5-eccube-4.2.0-alpha2

@EC-CUBE EC-CUBE deleted a comment from ukeloop01 Jul 8, 2022
@taguchimasahiro taguchimasahiro pinned this issue Jul 22, 2022
@chihiro-adachi
Copy link
Contributor Author

互換性に関する情報

以下PRで、ログイン回数の試行制限機能が追加されました。
#5473 (comment)

この影響によりsecurity.enable_authenticator_managerの設定をfalseに定義している場合動作しなくなります。
プラグイン等で設定を記述している場合はtrueに更新してください。

- security.enable_authenticator_manager: false
+ security.enable_authenticator_manager: true

@chihiro-adachi
Copy link
Contributor Author

互換性に関する情報

以下PRで、パスワードの文字長・文字種が従来から変更されました。
#5474

旧バージョンから移行を行う場合、顧客へのご案内等留意してください。

@chihiro-adachi
Copy link
Contributor Author

互換性に関する情報

会員登録済みのメールアドレスかどうか判別が可能 は修正を取り下げました。

PR:#5460

詳細はこちらをご確認ください。
#5279 (comment)

@chihiro-adachi
Copy link
Contributor Author

リリースバージョンの変更のお知らせ

8月上旬のRC1のリリースについて、当初はバージョン番号「RC1」でのリリースを予定していましたが、セキュリティに関する機能追加を行いました。そのため、バージョン番号を「beta2」としてリリースを行います。

今後のリリース計画に変更はなく、以下のスケジュールで進めます。

  • 8月下旬:RC
  • 9月中旬:正式版

マイルストーンの変更内容は以下をご確認ください。

before

RC1:2022年8月上旬予定
機能試験および不具合修正が完了したバージョンになります。
RC1以降、原則ソースコードの変更は行われません。

RC2:2022年8月下旬予定
セキュリティ試験を含めた全試験が通ったバージョンになります。

正式版:2022年9月中旬予定
RC2と同等のDL版パッケージバージョンになります。

after

β2:2022年8月8日
機能FIXバージョンになります。
機能試験が完了したバージョンです。

以降、RCに向け、不具合修正のみ行われます。

RC:2022年8月下旬予定
セキュリティ試験を含めた全試験および不具合修正が完了したバージョンになります。
以降、原則ソースコードの変更は行われません。

正式版:2022年9月中旬予定
RCと同等のDL版パッケージバージョンになります

@chihiro-adachi
Copy link
Contributor Author

互換性に関する情報

以下PRにて、htmlタグの変更を行っています。
#5490

プラグインでページへのコンテンツ差し込みに影響がある可能性があります。

@chihiro-adachi
Copy link
Contributor Author

互換性に関する情報

以下PRにて、fontawesome 4 → fontawesome 5に更新されました。

#5557

プラグインで、fontawesome 4を利用している場合影響がある可能性があります。

@chihiro-adachi
Copy link
Contributor Author

chihiro-adachi commented Sep 5, 2022

リリーススケジュールの変更のお知らせ

バグバウンティにより、多数の不具合のご報告、Pull Requestのご提供をいただきました。
当初の予定では9月上旬でのRC版リリースを予定しておりましたが、これらの修正を取り込むことで、安定したバージョン、安心してお使いいただけるバージョンとして4.2をリリースする予定です。

このため、RC版・正式版のリリーススケジュールを以下に変更いたします。

  • 9月中旬:RC
  • 9月下旬:正式版

マイルストーンの変更内容は以下をご確認ください。

before

RC:2022年8月下旬予定
セキュリティ試験を含めた全試験および不具合修正が完了したバージョンになります。
以降、原則ソースコードの変更は行われません。

正式版:2022年9月中旬予定
RCと同等のDL版パッケージバージョンになります

after

RC:2022年9月中旬予定
セキュリティ試験を含めた全試験および不具合修正が完了したバージョンになります。
以降、原則ソースコードの変更は行われません。

正式版:2022年9月下旬予定
RCと同等のDL版パッケージバージョンになります

@chihiro-adachi
Copy link
Contributor Author

リリース日を更新しました。

RC:2022年9月21日
正式版:2022年9月28日

@chihiro-adachi
Copy link
Contributor Author

互換性に関する情報

以下PRにて、ファイル管理でアップロード可能なファイル名が限定されました。

#5760

@chihiro-adachi
Copy link
Contributor Author

chihiro-adachi commented Sep 22, 2022

互換性に関する情報

以下PRにて、GDが必須ライブラリとして追加されます。
#5772

@chihiro-adachi
Copy link
Contributor Author

互換性に関する情報

#5772 は修正を取り下げました。

PR:#5821

詳細はこちらをご確認ください。
#5815

@chihiro-adachi
Copy link
Contributor Author

4.2.0のリリースタグを打ちました。
https://github.com/EC-CUBE/ec-cube/releases/tag/4.2.0

@chihiro-adachi chihiro-adachi unpinned this issue Sep 28, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
document Improvements or additions to documentation
Projects
None yet
Development

No branches or pull requests

4 participants