2K、3K って何??
どれを選んだらいいの??
という声をよく聞くので、まとめてみます。
EC-CUBE 0.9.x
2006年9月1日にリリースされたβバージョン。
PHP4系に対応。
リリース当初は、 FreeBSD, PostgreSQL のみに対応。
0.9.3 で MySQL 4.1 に対応。
0.9.6 で Windows, Linux に対応。
文字エンコーディングは EUC-JP だった。
この頃から改修され続け、現在も第一線で稼働し続けている伝説的なサイトもある模様。
EC-CUBE 1系
2007年2月14日にリリースされた正式リリースバージョン。
PHP4.x, 5.0.xに対応。
1.3.0 で、モバイル(ガラケー)対応。
1.4.0 あたりで、モジュール配信に対応。
当時は、CVS でバージョン管理され、情報は pukiwiki にまとめられていた。
HTML は、もちろんテーブルレイアウト。
最終バージョンは 1.4.5
1.3.4コミュニティ版
開発コミュニティからの要望を集約したバージョン。
UTF-8 対応、 Subversion でのバージョン管理、 Trac での課題管理が始まる。
EC-CUBE 2系
大きく分けて、 2.4以前、2.4系、2.11系、2.12系、2.13系、2.17系に分けられる。
2.4系〜2.13系は、ミドルバージョンが変わると、データベースも含め、大きく構成が変更されるため、バージョンアップの難易度が高い。
2.0.x
2007年12月4日に正式版リリース。
当初、 1.5 として開発されていたが、プログラムのクラス構成や、ディレクトリ構成が大きく変更された ため、2.0 となる。
UTF-8 対応、複数カテゴリ、 CSSレイアウトへの対応など。
EC-CUBEオーナーズストアがオープンし、有償の自動アップデートサービス(現在は廃止)などもあった。
2系のアーキテクチャは、このバージョンがベースとなっている。
EC-CUBE2系 ってオレオレフレームワークだから〜 っていう話をよく聞くが、当時は PHP4, 5 と MySQL, PostgreSQL に対応し、1系のデータベースを大きく変更せずに移行可能な良いフレームワークが無かったので、自分たちで作るしかなかった。
2.1.x
2008年4月10日にリリース。
商品カテゴリCSVアップロード/ダウンロードの対応、共有SSL対応など。
共有SSL は、非SSL領域とディレクトリ階層が異なる場合は対応していない。
2.2.x
2.3.x に向けてのベータ版。
ここだけバージョン番号がイレギュラー...
2.3.x
2008年10月1日にリリース。
変更点はこちら
2.4.x
2009年5月19日にリリース。
最終バージョンである 2.4.4 は2010年6月29日にリリースされてた。
バグフィックスを中心にしたバージョンであり、開発人口も増え、安定していたので、多くのサイトに採用された。
開発コミュニティ版
comu-ver2 ブランチ で開発が続けられていた。
ナイトリービルドもあり、本家より開発が活発だったため人気があった。
Seasoft さんの貢献が偉大。
管理画面が CSS レイアウトになっている(pinerayさんの貢献)
2.11.x
2011年3月23日にリリース。
東日本大震災に負けないよう日本を元気にしよう!ということでリリース。
PHP4 にも対応している。
開発コミュニティ版をベースとし、大幅にリファクタリングされた。
複数お届け先への発送に対応。
2.11.2 で、スマートフォン対応。
データベース構造も、 2.4 から大きく変更され、 MySQL でのパフォーマンスも改善した。
特に商品規格のデータ構造がツリー構造になっており、再帰クエリの使用可能なデータベースでは大量のデータでもパフォーマンス向上が期待できる。
詳しくは gihyo.jp の連載 を参照。
2.4.4 からのデータ移行モジュール有
2.12.x
2012年5月31日にリリース
プラグイン機能を目玉としたバージョン。
2.11.x の商品規格データ構造が複雑すぎるということで、 2.4系に近いかたちに変更された。
PHP4 のサポートは無くなり、 PHP5.1.6 以降に対応
2.11.x からのデータ移行モジュール有
2.13.x
2013年9月19日にリリース。
2014年4月の消費税増税に対応したバージョン。
PHP5.3.3〜PHP5.6.x に対応。
2.12.x からのデータ移行モジュールは無いが、 seasoft さんの公開している SQL で、データ変換可能。
3系がリリースされたが、カスタマイズに関する情報や、ノウハウも多く蓄積されており、EC-CUBEの開発経験豊富なベンダーに根強い人気がある。
2.17.x
2.13.5 を PHP7 に対応したバージョン。
2019年10月29日リリース。
共有レンタルサーバーでもレイテンシ100msを切る驚異的なパフォーマンスを誇る。速いは正義!
3系、4系に先行して、一早くPHP7.4に対応。
フレームワークによるサポート期限の縛りが無いため、 EC-CUBEでは一番長くサポートされるバージョン となっている。3年以上保守したいサイトにも適している。
(RHEL8 と組み合わせれば2029年5月までのサポート。 RHEL8 の PHP は AppStreamのサポートサイクルに組込まれている)
PHP8にもマイナーバージョンアップで対応。
EC-CUBE 3.0系、 3.1系
2015年7月1日にリリース
Silex + Symfony フレームワークの採用、ソースコードも全面的に書き換えられた。
PHP5.3.9以降の対応
Subversion + Trac から、 github へ SCM を移行した。
開発の主力は次期バージョンに移っており、バグフィックス中心の開発が続けられている。
積極的に新機能を使いたい人、オレオレフレームワーク嫌な人向けのバージョン。
のぶろぐさんの移行プラグインあり。(会員データ、商品データ、受注データ)
Symfony 2.7 系を使用している。Symfony プロジェクトとしてのサポート期間は 2019年5月まで となっている
また、 Silex は 2018年6月に開発終了している。
EC-CUBE 公式としては継続してサポート予定。
3.0系は、 3.0.18 が最終バージョン。
EC-CUBE 4系、4.1系
2018年10月11日リリース。 Silex の開発中止となる関係上、 Silex を切り離して Symfony 3.4 ベースとなっている。
Symfony 3.4 のサポート期間は 2021年11月まで(約4年)となっているため、2021年9月21日に Symfony 4.4 に対応した4.1系をリリース。
PHP8には未対応。
PHP7.4のサポート期限が2022年11月に迫っており、その頃には PHP8 及び Symfony5系に対応するためにメジャーバージョンアップをすると思われる。
メジャーバージョンアップには、多くの工数がかかることが多いため、予め予算組みをしておいた方が良いだろう。
EC-CUBE 3.0.11以降のバージョン3系でも各種キャッシュを設定すれば、4.0と同等のパフォーマンスを出すことが可能。
EC-CUBE 4.2系
2022年9月27日リリース
Symfony5系及びPHP8に対応したバージョン。
4.1系との後方互換性は無くなるが、プラグインや Customize ディレクトリのプログラムはマイグレーションツールで変換できる。
インボイス制度に対応。バグバウンティ を開催し、多くのバグが修正された。
TODO
- 機能比較表とかも作りたい
- データ構造の比較表とかも作りたい
- バージョンアップ時の互換リストとかも作りたい
- 顧客データの移行は比較的容易だけど、パスワードの暗号化方法が変わってるから気をつけてねとか