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.3 Roadmap #6069

Open
chihiro-adachi opened this issue Nov 28, 2023 · 22 comments
Open

EC-CUBE 4.3 Roadmap #6069

chihiro-adachi opened this issue Nov 28, 2023 · 22 comments
Labels
document Improvements or additions to documentation
Milestone

Comments

@chihiro-adachi
Copy link
Contributor

chihiro-adachi commented Nov 28, 2023

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対応状況

#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 chihiro-adachi changed the title EC-CUBE 4.3 Roadmap [WIP] EC-CUBE 4.3 Roadmap Nov 28, 2023
@chihiro-adachi chihiro-adachi added this to the 4.3.0 milestone Nov 28, 2023
@chihiro-adachi chihiro-adachi added the document Improvements or additions to documentation label Nov 28, 2023
@chihiro-adachi
Copy link
Contributor Author

chihiro-adachi commented Nov 28, 2023

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
Copy link
Contributor Author

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
Copy link
Contributor Author

chihiro-adachi commented Nov 28, 2023

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

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
Copy link
Contributor Author

chihiro-adachi commented Nov 28, 2023

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/core@7.18.2
├── @babel/polyfill@7.12.1
├── @babel/preset-env@7.18.2
├── @popperjs/core@2.11.5
├── ace-builds@1.5.1
├── autoprefixer@9.8.8
├── babel-loader@8.2.5
├── bootstrap@5.1.3
├── browser-sync@2.28.3
├── chart.js@3.8.2
├── cross-env@7.0.3
├── css-loader@6.7.1
├── css-mqpacker@7.0.0
├── file-loader@6.2.0
├── filepond-plugin-file-validate-size@2.2.7
├── filepond-plugin-file-validate-type@1.2.8
├── filepond-plugin-image-preview@4.6.11
├── filepond@4.30.4
├── gulp-clean-css@4.3.0
├── gulp-notify@3.2.0
├── gulp-plumber@1.2.1
├── gulp-postcss@8.0.0
├── gulp-rename@1.4.0
├── gulp-sass@5.1.0
├── gulp@4.0.2
├── husky@8.0.3
├── jquery-ui@1.13.2
├── jquery.qrcode@1.0.3
├── jquery@3.6.0
├── ladda@2.0.3
├── lint-staged@13.2.1
├── normalize.css@5.0.0
├── postcss-import@12.0.1
├── process@0.11.10
├── sass@1.49.0
├── slick-carousel@1.8.1
├── sort-css-media-queries@1.5.4
├── spin.js@4.1.1
├── style-loader@3.3.1
├── url-loader@4.1.1
├── webpack-cli@4.9.2
├── webpack-stream@7.0.0
└── webpack@5.76.0

@nanasess
Copy link
Contributor

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

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

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

@chihiro-adachi
Copy link
Contributor Author

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

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

@nanasess
Copy link
Contributor

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

@chihiro-adachi
Copy link
Contributor Author

chihiro-adachi commented Nov 29, 2023

いったん現時点でのシステム要件(案)
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
Copy link
Contributor Author

chihiro-adachi commented Nov 29, 2023

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

@nanasess
Copy link
Contributor

Twig のバージョンが現状維持(^2.15)で問題なさそうでしょうか。
3.x に変更する場合は TemplateEvent が動作しなくなってしまうので対応が必要そうです。
641140e

@chihiro-adachi
Copy link
Contributor Author

@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へ移行が必要そうですね。

@nanasess
Copy link
Contributor

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

@chihiro-adachi chihiro-adachi mentioned this issue Dec 13, 2023
15 tasks
@xuelian311 xuelian311 pinned this issue Dec 15, 2023
@chihiro-adachi
Copy link
Contributor Author

chihiro-adachi commented Dec 21, 2023

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

@chihiro-adachi
Copy link
Contributor Author

composerもv3の開発が進行中

@chihiro-adachi
Copy link
Contributor Author

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

@chihiro-adachi chihiro-adachi changed the title [WIP] EC-CUBE 4.3 Roadmap EC-CUBE 4.3 Roadmap Dec 25, 2023
@chihiro-adachi
Copy link
Contributor Author

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

@nanasess
Copy link
Contributor

@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

@chihiro-adachi
Copy link
Contributor Author

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

@chihiro-adachi
Copy link
Contributor Author

twigのv3対応について、#6077 で検証しています。

@leluan2047
Copy link

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

@tao-s
Copy link
Contributor

tao-s commented Apr 12, 2024

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

@tao-s
Copy link
Contributor

tao-s commented Apr 12, 2024

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

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