[WIP] EC-CUBE 4.4 Roadmap
- Dominant language
- PHP
- Stars
- 788
- Forks
- 719
- Avg merge
- 4d 4h
- Merged PRs (30d)
- 39
Description
4.4のリリース内容・計画のまとめや目安箱Issueです。
## 基本方針
メジャーバージョンとして以下の方針で開発を行います。
- Symfony 6.4のEOSL(2027年11月)対策およびミドルウェアの最新バージョン対応のためのSymfony 7.4へのバージョンアップを実施予定です。
- AIフレンドリーな機能構築として、AI(Agentic Commerce、AEO)に対応するための機能(情報フィード機能)やMCPサーバ機能、skillsなどを実装予定です。
## 開発スケジュール
2026年8月下旬 →9月下旬にα版リリース、正式版は年内を想定しております。
## 主要な対応内容
- **フレームワーク・ミドルウェア対応**
- Symfony 7.4 対応
- PHP 新バージョン(8.4 / 8.5)対応
- PostgreSQL 新バージョン(18.*)対応
- 機能取り込み・追加
- 開発コミュニティのPull Request対応(バグFIX、脆弱性対応、改善など)
- UX向上および運用業務負荷を軽減する機能拡充(管理画面の一覧表示制御、注文履歴の配送番号表示など)
- AI機能の追加(ACP/UCP対応のサイト・商品フィード、リードオンリーのMCP機能、各種インデックス・定義ファイルの配置)
- **その他**
- 公式プラグイン(14プラグイン)のバージョン追従
- 公式ドキュメントの更新
詳細は以下から確認できます。
※EC-CUBE 4.4 で取り込む予定の改修一覧
https://github.com/EC-CUBE/ec-cube/milestone/54
マイルストーンは現時点の予定で、変更になる可能性があります。
## システム要件
| Middleware | 4.3 | 4.4 | EOL | 備考 |
|-|-|-|-|-|
| Apache | 2.4 | 2.4 | TBD | |
| PHP | 8.1 〜 8.3 | 8.2 〜 8.5 | 8.5: 2029年12月(Security Support) | PHP 8.1 は 2025年12月に EOL のためサポート対象外とする。RHEL: PHP 8.3 は 2029年5月まで/Ubuntu: PHP 8.5 は 2031年4月まで |
| PostgreSQL | 12 〜 16 | 13 〜 18 | v18: 2030年11月14日 | PostgreSQL 12 は 2024年11月 EOL のため対象外 |
| MySQL | 8.0 ~ 8.4 LTS | 8.4 LTS | 8.0: Premier 2025年4月/8.4: Premier 2029年4月 | premierは無償サポート期間、extendedで3年追加の有償サポートがあり |
## フレームワーク・ライブラリ
| FW / ライブラリ | 4.3(Symfony 6.4) | 4.4(Symfony 7.4) | EOL(セキュリティパッチ終了) | 備考 |
|-|-|-|-|-|
| Symfony | 6.4 | 7.4 | 6.4: 2027年11月/7.4: 2029年11月 | PHP 8.2 以上が必須要件 |
| Doctrine ORM | 2.x | 3.x | 2.x: 2027年2月以降/3.x: 未定 | Annotation 廃止、PHP Attribute 必須 |
| Doctrine DBAL | 3.x | 4.x | 3.x: 未定/4.x: 未定 | 旧 Result fetching API 等が削除 |
| Twig | 3.x | 3.x | 3.x: 未定 (Active) | |
| Bootstrap | 5.3 | 5.3 | 5.x: 未定 (Active) | |
| jQuery | 3.7.x | 4.x | 3.x: 致命的なバグ修正のみ/4.x: 未定 (Active) | 余裕があれば削除する可能性あり |
## テスト
| FW | 4.3 | 4.4 | EOL | 備考 |
|-|-|-|-|-|
| Codeception | 5 | 5 | TBD | Playwright への移行を計画中 |
| PHPUnit | 9 | 11 | 9: 2025年2月
11:TBD | |
※その他のミドルウェア・ソフトウェア構成の詳細(追加・変更点)については要件定義にて確定します。
## 互換性についての情報
### 対応方針
**データベースに関する影響**
- PostgreSQL 18.* に対応します。MySQLについては最新バージョンに対応済みのため、新バージョン対応は行いません。
- PostgreSQL 12 は 2024年11月14日に EOL を迎えているため、4.4 でのサポート対象外を予定しています。
**プラグインに関する影響**
- 公式プラグイン(14プラグイン)は EC-CUBE 新バージョンに合わせて更新します。
- コミュニティプラグインの移行支援として、Rector 設定(リポジトリ同梱の `rector.php`)を用意しています。Symfony / Doctrine / PHP のメジャー更新でのご活用が可能です。
- Entity 周辺で型変更 や Listener 移行が入っているため、Entity 拡張・イベント購読を行っているプラグインは修正が必要になります。詳細は後述の Breaking Changes セクションを参照ください。
- 詳しい移行手順は、別途公開する **「EC-CUBE 4.3 → 4.4 アップグレードガイド」** に記載します。
**デザインテンプレートに関する影響**
- 開発コミュニティ PR の体裁・表示修正の取り込みや、Enterprise 機能のフィードバック実装に伴う変更が入る見込みです(詳細は要件定義で確定)。
- jQuery 4.x への更新で、廃止 API(`.bind()` / `.unbind()`など)を使っているテンプレートは修正が必要になる場合があります。お手数ですが、事前のご確認をお願いします。
**テスト品質要求**
- 機能の正確性:単体・結合試験、シナリオ試験等を実施し、リリース後6ヶ月間での不具合「0」を目指す。
- セキュリティの維持:セキュリティチェックツールを用いた試験や負荷試験を実施し、セキュリティホール「0」を目指す。
- 保守容易性の維持:プログラム・デザインソースのリファクタリングを実施。
## Breaking Changes(プラグイン・テーマ開発者向け)
4.4 では主要ライブラリのメジャーバージョンが上がります。プラグインやカスタマイズコードに影響が出る箇所をまとめましたので、開発者の方は事前確認をお願いします。
### Symfony 6.4 → 7.x
- Doctrine Annotation 形式での設定は非推奨。**PHP 8 Attribute** への移行が必要。
- HttpKernel / Form / Validator など多数のコンポーネントで型宣言が厳格化。
- 一部の Deprecated API が削除。
### Doctrine ORM 2.x → 3.x
- Annotation 形式の Mapping は廃止。**PHP Attribute への移行が必要**(コア側は対応済み)。
- Native types 化により、戻り値・引数の型が厳格化。
- `EntityRepository` / `QueryBuilder` の戻り値型変更。
- **EC-CUBE 側の対応として、`Order` / `OrderItem` などの DECIMAL 型プロパティを `?string` に統一**。
- プラグインやカスタマイズで `Order::getTotal()` 等の戻り値を `int` / `float` として扱っているコードは修正が必要。
- 金額計算は浮動小数点演算を避け `bcmath` 関数に置き換え。プラグイン側で金額計算を行っている箇所は確認が必要。
- Result Cache の API は `setResultCacheLifetime()` → `enableResultCache()` に変更。
- `EventSubscriber` 形式の Doctrine リスナは廃止し、`#[AsDoctrineListener]` を用いる形に変更。
### Doctrine DBAL 3.x → 4.x
- 旧 Result fetching API(`fetch()`, `fetchAll()` 等)は削除。
- `Connection` 周りの API が変更。
- `Platform::getName()` は廃止のため、`instanceof` チェックでの判定に変更。
### PHPUnit 9 → 11
- DataProvider のメソッドシグネチャ変更(`static` 必須)。
- Annotation(`@dataProvider` 等)が非推奨となり、 **PHP Attribute(`#[DataProvider]`)** への移行が必須。また、PHPUnit12にて削除予定。
- 一部のアサーション・Mock API の振る舞いが変更。
### jQuery 3.7 → 4.x
- 廃止 API: `.bind()` / `.unbind()` / `.delegate()` / `.undelegate()` / `.size()` / `.parseJSON()` 等。
- `$.ajax` のオプション・コールバックの一部仕様が変更。
### 移行支援
- リポジトリ同梱の `rector.php` を使えば、Symfony / Doctrine / PHP の機械的な書き換えはほぼ自動化できますので、まずはこちらをお試しください。
- 詳しい移行手順とチェックリストは「アップグレードガイド」で別途公開します。
## リリースサポート
- **4.4 リリース後、4.3 系はセキュリティパッチのみの提供**となる予定です。
## AI 機能(4.4 新規)
4.4 では Agentic Commerce / AEO 対応として、以下を新しく追加する予定です。
- **ACP / UCP 対応のサイト・商品フィード**:AI エージェントが商品情報を取得・提示するためのフィード出力機能。
- **リードオンリーの MCP(Model Context Protocol)サーバ機能**:外部 AI から商品・在庫などを参照するためのインターフェース。※書き込み系の操作は対象外とする。
- 各種インデックス・定義ファイルの配置。
参照仕様(ACP / UCP / MCP のどのバージョンに準拠するか等)や認証・認可モデルの詳細は、要件定義が固まり次第追記いたします。
## コミュニティへのお願い
気になる点・ご要望があれば、お気軽にコメントください!
## 参考リンク
- RHEL ライフサイクル: https://access.redhat.com/support/policy/updates/rhel-app-streams-life-cycle
- Ubuntu ライフサイクル: https://documentation.ubuntu.com/release-notes/26.04/summary-for-lts-users/
- PHP サポートバージョン: https://www.php.net/supported-versions.php
- Symfony リリースカレンダー: https://symfony.com/releases
- Doctrine ORM サポートポリシー: https://www.doctrine-project.org/policies/maintenance.html
- PostgreSQL バージョニングポリシー: https://www.postgresql.org/support/versioning/
- MySQL ライフサイクル: https://www.oracle.com/us/support/library/lifetime-support-technology-069183.pdf
Contributor guide
Assessment
This issue has not been assessed yet.