ec-cube icon indicating copy to clipboard operation
ec-cube copied to clipboard

EC-CUBE 4.3 Roadmap

Open chihiro-adachi opened this issue 1 year ago • 23 comments

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

基本方針

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

  1. Symfony 6.4 へのアップデートを行う
  2. セキュリティ強化を中心に不具合改修および機能改善を実施
  3. 既存プラグイン/デザインテンプレートとの互換性の担保については要調査

開発スケジュール

2024年夏頃を想定

主要な対応内容

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

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

互換性についての情報

対応方針

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

データベースの変更(テーブルやカラムの追加・変更)は予定していません。

プラグインに関する影響

4.2/4.3で互換性を担保します。 両方のバージョンに対応するには、プラグインの改修が必要になる場合があります。詳細はマイグレーションガイドを参照してください。

デザインテンプレートに関する影響

フロント画面のデザイン変更は予定していません。 機能追加や不具合修正に伴うhtmlのDOMの変更が発生します

Symfony6対応状況

https://github.com/EC-CUBE/ec-cube/pull/6073 にて対応を進めています。

システム要件

Middleware 4.2 4.3 eol 備考
Apache 2.4 2.4 TBD
PHP 7.4 〜 8.1 8.1 〜 8.3 2026年11月 RHEL: PHP8.0(2032年まで) / Ubuntu: PHP8.1(2027年まで)
PostgreSQL 10 〜 14 12 〜 16 2028年11月
MySQL 5.7 〜 8.0 8.0 2026年4月

フレームワーク・ライブラリ

FW 4.2 4.3 eol 備考
Symfony 5.4 6.4 2027年11月
Doctrine/ORM 2.x 2.x 2025年10月〜 ※少なくとも2年間かそれ以上、の記述有り
Doctrine/DBAL 3.x 3.x TBD
Twig 2.x 3.x TBD
Bootstrap 5.0 5.3 TBD
jQuery 3.6 3.7 TBD

テスト

FW 4.2 4.3 eol 備考
Codeception 4 5 TBD
PHPUnit 9 9 TBD 余裕があれば10へ移行

廃止・終了予定のライブラリ

  • symfony/security-guard
  • symfony/inflector
  • easycorp/easy-log-handler
    • devのログははprodと同等の出力に変更
  • codeception/phpunit-wrapper

Feedback

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

chihiro-adachi avatar Nov 28 '23 06:11 chihiro-adachi

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

  • Symfony6はPHP 8.1〜
  • EC-CUBEとしてはPHP8.1〜8.3でシステム要件とするのがよさそう

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
8.2 8 Dec 2025
8.3 23 Nov 2026

Symfony Roadmap

https://symfony.com/releases https://github.com/symfony/symfony/blob/6.4/UPGRADE-6.0.md

Version  Requires PHP End of security fixes
5.4 7.4+ November 2025
6.3 8.1+ January 2024
6.4 8.1+ November 2027

chihiro-adachi avatar Nov 28 '23 07:11 chihiro-adachi

Docreineのサポート状況まとめ

  • doctrine/orm は2系を採用するのがよさそう
  • 非推奨コードの修正はいれたほうがよさそう

ORM 2は少なくとも2年はサポートされるとのこと https://www.doctrine-project.org/2023/10/11/orm3-beta1-dbal4-rc1-future-plans.html

将来的なORM 3への移行を見据えて、非推奨コードの修正はいれたほうがよいかもしれない https://github.com/doctrine/deprecations#usage-from-consumer-perspective

chihiro-adachi avatar Nov 28 '23 07:11 chihiro-adachi

Databaseのサポート状況まとめ

  • PostgreSQL
    • 12〜16
  • MySQL
    • 8.0

PostgreSQL

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

Version Current minor Supported First Release Final Release
16 16.1 Yes September 14, 2023 November 9, 2028
15 15.5 Yes October 13, 2022 November 11, 2027
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
  • 10/11がサポート終了
  • EC-CUBEとしては12以上?

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
  • 5.7がサポート終了
  • 8.1/8.2 もリリースされているが、8.0がLTSのため対応は不要?
  • https://endoflife.date/mysql

Doctine/DBAL対応状況

  • PostgreSQL: 9.4, 15, 16
  • MySQL: 5.7, 8.0,8.2

https://github.com/doctrine/dbal/blob/3.7.2/.github/workflows/continuous-integration.yml

chihiro-adachi avatar Nov 28 '23 07:11 chihiro-adachi

JS/CSSライブラリまとめ

Bootstrap

5.xがLTSとして提供中。現時点の最新は5.3 https://getbootstrap.jp/docs/versions/ https://endoflife.date/bootstrap

jQuery

3.xが提供中。現時点の最新は3.7.1 https://jquery.com/download/ https://endoflife.date/jquery

その他JSライブラリ

4.2での利用ライブラリは以下の通り。 マイナーバージョンアップの範囲でアップデートする。

$ npm list
/path/to/ec-cube
├── @babel/[email protected]
├── @babel/[email protected]
├── @babel/[email protected]
├── @popperjs/[email protected]
├── [email protected]
├── [email protected]
├── [email protected]
├── [email protected]
├── [email protected]
├── [email protected]
├── [email protected]
├── [email protected]
├── [email protected]
├── [email protected]
├── [email protected]
├── [email protected]
├── [email protected]
├── [email protected]
├── [email protected]
├── [email protected]
├── [email protected]
├── [email protected]
├── [email protected]
├── [email protected]
├── [email protected]
├── [email protected]
├── [email protected]
├── [email protected]
├── [email protected]
├── [email protected]
├── [email protected]
├── [email protected]
├── [email protected]
├── [email protected]
├── [email protected]
├── [email protected]
├── [email protected]
├── [email protected]
├── [email protected]
├── [email protected]
├── [email protected]
├── [email protected]
└── [email protected]

chihiro-adachi avatar Nov 28 '23 07:11 chihiro-adachi

PHPのベンダーサポート状況として、長期サポート(LTS)対象のバージョンは以下の模様です

  • RHEL: PHP8.0(2032年まで)
  • Ubuntu: PHP8.1(2027年まで)

RHEL系で長期サポート対象のバージョンから外れるのは懸念事項ですね。。。

nanasess avatar Nov 28 '23 08:11 nanasess

@nanasess ありがとうございます。 Symfony6が8.1〜なのでちょっと厳しいですね。。

ちなみにRHELはこちらかなと思うんですが、UbuntuのPHPサポート状況はどこで確認できますでしょうか? https://access.redhat.com/support/policy/updates/rhel-app-streams-life-cycle

chihiro-adachi avatar Nov 28 '23 23:11 chihiro-adachi

@chihiro-adachi 以下にあるように、Ubuntu の標準パッケージでしたら、 Ubuntu の各リリースの EOL(22.04 なら 2027年4月) までサポートされる模様です。 https://wiki.ubuntu.com/SecurityTeam/FAQ#Standard_Support https://zenn.dev/naco/articles/e441918209d765

nanasess avatar Nov 29 '23 00:11 nanasess

いったん現時点でのシステム要件(案) 2024年夏頃にサポートされているバージョンを下限としてます。

システム要件

Middleware 4.2 4.3 補足・懸念等
Apache 2.4.x 2.4.x  
PHP 7.4 〜 8.1 8.1 〜 8.3 symfony6が8.1〜。RHELの長期サポートから外れる
PostgreSQL 10 〜 14 12 〜 16  
MySQL 5.7 〜 8.0 8.0 8.0がLTSのため、8.2は特に対応不要?

フレームワーク

FW 4.2 4.3 補足・懸念等
Symfony 5.4 6.4  
Doctrine/ORM 2.14 2.17 v2がサポート継続のためv2を採用。ただし将来的なv3への移行のため、非推奨コードの修正は行っておいたほうがよさげ
Doctrine/DBAL 3.5 3.7  
Twig 2.x 3.x  メジャーバージョンの変更
Bootstrap 5.0 5.3  
jQuery 3.6 3.7  
Codeception 4 5 メジャーバージョンの変更 

TODO この一覧でeolがわかるように

chihiro-adachi avatar Nov 29 '23 03:11 chihiro-adachi

codeception4はsymfony6非対応のため、codeception5へのアップデートが必要 https://packagist.org/packages/codeception/codeception#4.2.2

UPGRADING FROM CODECEPTION 4 https://codeception.com/07-28-2022/codeception-5.html

chihiro-adachi avatar Nov 29 '23 07:11 chihiro-adachi

Twig のバージョンが現状維持(^2.15)で問題なさそうでしょうか。 3.x に変更する場合は TemplateEvent が動作しなくなってしまうので対応が必要そうです。 https://github.com/EC-CUBE/ec-cube/commit/641140e6febacf2180e5612fff7734ffbe4bc815

nanasess avatar Nov 30 '23 02:11 nanasess

@nanasess ありがとうございます。

https://github.com/twigphp/Twig/tree/2.x

Twig version 2 end of maintainance is scheduled for end of December 2023. Please, upgrade at your earliest convenience.

とのことなので3.xへ移行が必要そうですね。

chihiro-adachi avatar Nov 30 '23 05:11 chihiro-adachi

@chihiro-adachi 以前 Twig3 に対応しようと挑んだ時は、一筋縄にいかず、 2.x に戻したと記憶しているので、結構工数大きいかもしれません🤔

nanasess avatar Nov 30 '23 07:11 nanasess

PHPUnit 10が利用可能 https://phpunit.de/supported-versions.html

chihiro-adachi avatar Dec 21 '23 02:12 chihiro-adachi

composerもv3の開発が進行中

chihiro-adachi avatar Dec 21 '23 02:12 chihiro-adachi

easy-log-handlerなど、終了するライブラリもまとめる

chihiro-adachi avatar Dec 21 '23 02:12 chihiro-adachi

@nanasess composerのv3ってどこに情報あるかご存知でしょうか? ぱっと見つけられずで。

chihiro-adachi avatar Dec 25 '23 07:12 chihiro-adachi

@chihiro-adachi 公式には以下ですが、まだ何も決まってないみたいですね... https://github.com/composer/composer/milestone/28

3.0 で消えるよーっていう deprecated が出てたので気にしていたのですが、調べてみると少ないので、まだそれほど気にしなくても良いかもですね。 https://github.com/search?q=repo%3Acomposer%2Fcomposer+%22removed+in+3.0%22&type=code

nanasess avatar Dec 25 '23 07:12 nanasess

@nanasess なるほど、ありがとうございます!

chihiro-adachi avatar Dec 25 '23 23:12 chihiro-adachi

twigのv3対応について、https://github.com/EC-CUBE/ec-cube/pull/6077 で検証しています。

chihiro-adachi avatar Dec 27 '23 08:12 chihiro-adachi

How to run the project ? I cannot use "php bin/console server:run" anymore. Thank you so much !!

leluan2047 avatar Jan 24 '24 16:01 leluan2047

地味にfontawesomeもアップデートして欲しい...

tao-s avatar Apr 12 '24 10:04 tao-s

@leluan2047 You wrote in wrong issue. Please read dev document, also slack will be a help for you.

tao-s avatar Apr 12 '24 10:04 tao-s

今後のスケジュールについて共有

4.3のリリース日が当初の予定よりも変更になったので共有です。

RC版のリリース予定日

2024/07/16(火)

※ソースコードの凍結も行います

正式版のリリース予定日

2024/07/29(月)


RC版のリリース後、特に大きなバグ等なければそのままRC版の版を改めて正式版としてリリースいたします。

shinya avatar Jun 19 '24 23:06 shinya

ソースコード凍結宣言

RC版のリリースが本日無事行えたため、正式版のリリースまではソースコードを凍結いたします。 (緊急性の高いバグなどが発見されない限り新たにマージしません)

shinya avatar Jul 16 '24 09:07 shinya

4.3は無事にリリースされたため、クローズしたいと思います。

dotani1111 avatar Jul 31 '24 07:07 dotani1111