ec-cube
ec-cube copied to clipboard
EC-CUBE 4.3 Roadmap
4.3のリリース内容・計画のまとめや目安箱Issueです。
基本方針
メジャーバージョンとして以下の方針で開発を行います。
- Symfony 6.4 へのアップデートを行う
- セキュリティ強化を中心に不具合改修および機能改善を実施
- 既存プラグイン/デザインテンプレートとの互換性の担保については要調査
開発スケジュール
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にぜひコメントください。
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 |
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
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
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]
PHPのベンダーサポート状況として、長期サポート(LTS)対象のバージョンは以下の模様です
- RHEL: PHP8.0(2032年まで)
- Ubuntu: PHP8.1(2027年まで)
RHEL系で長期サポート対象のバージョンから外れるのは懸念事項ですね。。。
@nanasess ありがとうございます。 Symfony6が8.1〜なのでちょっと厳しいですね。。
ちなみにRHELはこちらかなと思うんですが、UbuntuのPHPサポート状況はどこで確認できますでしょうか? https://access.redhat.com/support/policy/updates/rhel-app-streams-life-cycle
@chihiro-adachi 以下にあるように、Ubuntu の標準パッケージでしたら、 Ubuntu の各リリースの EOL(22.04 なら 2027年4月) までサポートされる模様です。 https://wiki.ubuntu.com/SecurityTeam/FAQ#Standard_Support https://zenn.dev/naco/articles/e441918209d765
いったん現時点でのシステム要件(案) 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がわかるように
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
Twig のバージョンが現状維持(^2.15)で問題なさそうでしょうか。 3.x に変更する場合は TemplateEvent が動作しなくなってしまうので対応が必要そうです。 https://github.com/EC-CUBE/ec-cube/commit/641140e6febacf2180e5612fff7734ffbe4bc815
@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 以前 Twig3 に対応しようと挑んだ時は、一筋縄にいかず、 2.x に戻したと記憶しているので、結構工数大きいかもしれません🤔
PHPUnit 10が利用可能 https://phpunit.de/supported-versions.html
composerもv3の開発が進行中
easy-log-handlerなど、終了するライブラリもまとめる
@nanasess composerのv3ってどこに情報あるかご存知でしょうか? ぱっと見つけられずで。
@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 なるほど、ありがとうございます!
twigのv3対応について、https://github.com/EC-CUBE/ec-cube/pull/6077 で検証しています。
How to run the project ? I cannot use "php bin/console server:run" anymore. Thank you so much !!
地味にfontawesomeもアップデートして欲しい...
@leluan2047 You wrote in wrong issue. Please read dev document, also slack will be a help for you.
今後のスケジュールについて共有
4.3のリリース日が当初の予定よりも変更になったので共有です。
RC版のリリース予定日
2024/07/16(火)
※ソースコードの凍結も行います
正式版のリリース予定日
2024/07/29(月)
RC版のリリース後、特に大きなバグ等なければそのままRC版の版を改めて正式版としてリリースいたします。
ソースコード凍結宣言
RC版のリリースが本日無事行えたため、正式版のリリースまではソースコードを凍結いたします。 (緊急性の高いバグなどが発見されない限り新たにマージしません)
4.3は無事にリリースされたため、クローズしたいと思います。