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.1.0 Roadmap #4603

Closed
chihiro-adachi opened this issue Jun 30, 2020 · 15 comments
Closed

EC-CUBE 4.1.0 Roadmap #4603

chihiro-adachi opened this issue Jun 30, 2020 · 15 comments

Comments

@chihiro-adachi
Copy link
Contributor

chihiro-adachi commented Jun 30, 2020

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

基本方針

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

  1. Symfony 4.4 へのアップデート
  2. APIの本体機能への取り込みを実施
  3. プラグインインストーラーの負荷軽減
  4. 既存プラグイン/デザインテンプレートとの互換性を最大限考慮した機能追加
  5. 不具合改修および機能改善

特に、プラグインの互換性については、最小限の修正で済むように考慮します。

開発スケジュール

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

EC-CUBE4 x開発ロードマップ

20210813 更新

  • EC-CUBE4.1 β3 リリース:2021/8/16
  • EC-CUBE4.1 RC リリース:2021/9月初旬予定
  • EC-CUBE4.1 正式リリース:2021/9月末予定

refs https://www.ec-cube.net/news/detail.php?news_id=392

主要な対応内容

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

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

互換性についての情報

方針に記載の通り、プラグインの互換性を最大限考慮します。

4.1の開発ブランチは、4.1ブランチ で行っています。

動作確認を行う場合は上記ブランチをcheckoutしてください。

また、プラグインへの影響範囲について、マイグレーションガイドを作成しています。
プラグイン開発者の方は、マイグレーションガイドをご参考ください。
https://doc4.ec-cube.net/update-40-41

PHP8への対応状況

2020/12/25 追記

互換性のなくなるいくつかの変更が必要なので、EC-CUBE4.1では互換性を優先し、PHP8対応は実施しません。
次のメジャーバージョンにてSymfony5対応と共にPHP8対応を検討します。

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

Feedback

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

@chihiro-adachi chihiro-adachi added this to the 4.1 milestone Jun 30, 2020
@chihiro-adachi chihiro-adachi pinned this issue Jun 30, 2020
@okazy okazy mentioned this issue Jul 1, 2020
@okazy
Copy link
Contributor

okazy commented Aug 26, 2020

システム要件でサポートしないバージョンの議論もできればと思います。
例えば EC-CUBE4.0 は PHP7.1.3~ サポートしていますが、PHP7.1はセキュリティサポートが切れてしまっています。
マイナーバージョンでサポートを切るのは難しいので、 EC-CUBE4.1 が長く使えるようにサポートしないバージョンを適切に設定したいと思っています。

PHPのバージョンについてざっと調べました。

PHP サポート

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

Branch Initial Release Active Support Until Security Support Until
7.2 30 Nov 2017 30 Nov 2019 30 Nov 2020
7.3 6 Dec 2018 6 Dec 2020 6 Dec 2021
7.4 28 Nov 2019 28 Nov 2021 28 Nov 2022

Symfony サポート

バージョン リリース日 サポート 対応PHPバージョン 保守終了予定
4.4 2019年11月 3年 7.1.3以降 2023年11月
5.0 2019年11月 8か月 7.2.5以降 2020年7月  
5.1 2020年5月 8か月 7.2.5以降 2021年1月

レンタルサーバをざっと調べたところ、だいたい PHP7.3 には対応していたので、 7.3~ が妥当かと思います。

@okazy
Copy link
Contributor

okazy commented Oct 2, 2020

2020/11/2更新

スコープ

検証結果を踏まえて以下のスコープとします。

調査状況

各Issueを更新していきますのでそちらをご確認ください。

PHP8対応

ステータス: 対応不可の可能性が高い

Doctrine

DoctrineにおいてPHP7対応のDoctrine2とPHP8対応のDoctrine3があるが互換性がない。
DoctrineはPDOをラッパーするような実装となっているが、PHP7とPHP8でPDOが別物になっている。
Doctrine2にバックポートする予定もなし。
10/2時点でDoctrine3のリリース情報は出ていない。

Symfony

SymfonyはPHP8に対応予定だが、Doctrineを利用しない場合に限る。
EC-CUBEではDoctrineを利用しているためSymfonyだけPHP8対応しても意味がない。

互換性の要件の問題

Doctrine3に対応する場合は修正必要箇所が多く、EC-CUBE4.0との互換性の要件との両立は難しい。
Symfony5.x対応についても同様に修正必要箇所が多く、EC-CUBE4.0との互換性の要件との両立は難しい。

Composer2.0対応(#4712)

ステータス: 調査が必要

プラグインのPSR-4対応

Composer2.0 は PSR-4 への厳密な準拠が求められ、違反するライブラリは動かない。
EC-CUBEのプラグインは PSR-4 に対応していない部分があるため、そのままではComposer2.0の導入が難しい。
具体的には以下の問題がある。

  • PSR-4のパッケージ名は全て小文字である必要があるが、EC-CUBEのプラグインは大文字が含まれている。(例: ec-cube/Api
  • namespaceをPSR-4に準拠させるため、プラグインのディレクトリ構造を合わせる必要がある。(要調査)

また、上記の対応に伴ってオーナーズストアおよびpackage-apiの対応も必要になる。

プラグインの同梱機能(要Issue化)

ステータス: 調査が必要

#4733

@nanasess
Copy link
Contributor

nanasess commented Nov 2, 2020

Doctrine DBAL 2.12.x が PHP8 に対応するようです。
doctrine/dbal#4347
doctrine/orm#8303

@okazy okazy mentioned this issue Nov 2, 2020
@okazy
Copy link
Contributor

okazy commented Nov 9, 2020

DoctrineのPHP8対応がいつになるか、どれほどの修正が必要かまだ見通しが立っていないため、4.1βでは現状通り未対応の方針とします。
DoctrineのPHP8対応の見通しが立った段階で4.1に組み込めるか判断します。

@okazy
Copy link
Contributor

okazy commented Nov 11, 2020

4.1のシステム要件

4.1でのシステム要件について、利用者にはミドルウェアもサポートをされているバージョンを利用していただきたいため、4.1リリース時点(2021/04-06予定)でサポートが切れているバージョンについては要件から外すべきだと考えています。
2021年内に期限が切れるバージョンもありますが、互換性を鑑み、要件に含めるので良いかと思います。

分類 ソフトウェア 4.0 4.1
WebServer Apache 2.4.x
(mod_rewrite / mod_ssl 必須)
2.4.x
(mod_rewrite / mod_ssl 必須)
PHP PHP 7.1 〜 7.4 7.3.x, 7.4.x
Database PostgreSQL 9.2.x / 10.x
(pg_settingsテーブルへの参照権限 必須)
9.6.x, 10x, 11.x, 12.x, 13.x
Database MySQL 5.5.x / 5.6.x / 5.7.x
(InnoDBエンジン 必須)
5.7.x, 8.0x
Database SQLite(開発用途向け) 3.x 3.x

参考

@okazy
Copy link
Contributor

okazy commented Dec 9, 2020

4.1βのタグを切りました。
https://github.com/EC-CUBE/ec-cube/releases/tag/4.1-beta

@tao-s tao-s mentioned this issue Dec 18, 2020
@okazy
Copy link
Contributor

okazy commented Dec 25, 2020

2020/12/25 PHP8への対応状況のついて追記しました。

PHP8への対応状況

互換性のなくなるいくつかの変更が必要なので、EC-CUBE4.1では互換性を優先し、PHP8対応は実施しません。
次のメジャーバージョンにてSymfony5対応と共にPHP8対応を検討します。

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

@okazy
Copy link
Contributor

okazy commented Feb 19, 2021

リリーススケジュールを追記しました。

機能がFIXしないと4.1対応が難しいとのコメントを多数いただいています。
プラグインの4.1対応の開始時期を早められるよう機能追加は4月上旬までとします。
4月中旬以降に開発された機能は4.1.1以降でのリリースとなります。

  • 4月上旬: β2リリース(機能FIX版、リリース名は仮)
  • 5月下旬: プラグイン検証開始(オーナーズストア)
  • 6月上旬: RCリリース
  • 6月中旬: 本リリース

@okazy
Copy link
Contributor

okazy commented Apr 2, 2021

新機能の取り込み手順については機能開発の Issue に投稿しています。
#4901 (comment)

@okazy
Copy link
Contributor

okazy commented Apr 8, 2021

リリースノートに以下を記載

@okazy
Copy link
Contributor

okazy commented May 31, 2021

リリーススケジュールを更新しました。

  • 7月上旬: 対応プラグインの申請開始
  • 7月下旬: RC版リリース
  • 8月中旬: リリース

refs https://www.ec-cube.net/news/detail.php?news_id=387

@okazy
Copy link
Contributor

okazy commented Jun 15, 2021

4.1 で検討している セキュリティ強化施策の Issue を作成しました。
security security

@okazy
Copy link
Contributor

okazy commented Jun 23, 2021

4.1.0 では以下の4個のセキュリティ強化を実施予定です。

@okazy
Copy link
Contributor

okazy commented Jul 8, 2021

4.1 から仕様変更で html 配下では php ファイルの実行ができなくなります。

@okazy
Copy link
Contributor

okazy commented Aug 13, 2021

公式サイトにてEC-CUBE4.1 の今後のスケジュールが公開されていましたので Issue の情報を書き換えました。

  • EC-CUBE4.1 β3 リリース:2021/8/16
  • EC-CUBE4.1 RC リリース:2021/9月初旬予定
  • EC-CUBE4.1 正式リリース:2021/9月末予定

refs https://www.ec-cube.net/news/detail.php?news_id=392

ブランチの運用方針についてこちらに投稿しました。
#4901 (comment)

@Yangsin Yangsin changed the title EC-CUBE 4.1 Roadmap EC-CUBE 4.1.0 Roadmap Oct 25, 2021
@matsuoshi matsuoshi unpinned this issue Nov 22, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

4 participants