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

Symfony6対応 #6073

Merged
merged 117 commits into from
Feb 26, 2024
Merged

Symfony6対応 #6073

merged 117 commits into from
Feb 26, 2024

Conversation

chihiro-adachi
Copy link
Contributor

@chihiro-adachi chihiro-adachi commented Dec 13, 2023

概要(Overview・Refs Issue)

#6069 のシステム要件・フレームワークの更新に対応

  • PHP8.3対応
  • Symfony6対応
  • JSライブラリの更新

アップデートするパッケージ

#6069 を参照

  • Removing symfony/security-guard (v5.4.19)
  • Removing symfony/inflector (v5.4.11)
  • Removing easycorp/easy-log-handler (v1.0.9)
  • Removing codeception/phpunit-wrapper (9.0.9)
  • Upgrading symfony/flex (v1.19.4 => v1.21.4)
  • Upgrading symfony/polyfill-mbstring (v1.27.0 => v1.28.0)
  • Upgrading symfony/polyfill-iconv (v1.27.0 => v1.28.0)
  • Upgrading zbateson/mb-wrapper (1.1.2 => 1.2.0)
  • Upgrading psr/http-message (1.0.1 => 1.1)
  • Upgrading psr/http-factory (1.0.1 => 1.0.2)
  • Upgrading guzzlehttp/psr7 (2.4.3 => 2.6.2)
  • Upgrading zbateson/stream-decorators (1.0.7 => 1.2.1)
  • Upgrading symfony/deprecation-contracts (v2.5.2 => v3.4.0)
  • Upgrading psr/http-client (1.0.1 => 1.0.3)
  • Upgrading guzzlehttp/promises (1.5.2 => 2.0.2)
  • Upgrading guzzlehttp/guzzle (7.5.0 => 7.8.1)
  • Upgrading symfony/polyfill-ctype (v1.27.0 => v1.28.0)
  • Upgrading symfony/yaml (v5.4.17 => v6.4.0)
  • Upgrading symfony/var-dumper (v5.4.19 => v6.4.2)
  • Upgrading symfony/finder (v5.4.17 => v6.4.0)
  • Upgrading symfony/event-dispatcher-contracts (v2.5.2 => v3.4.0)
  • Upgrading symfony/event-dispatcher (v5.4.19 => v6.4.2)
  • Upgrading symfony/css-selector (v5.4.17 => v6.4.0)
  • Upgrading symfony/polyfill-intl-normalizer (v1.27.0 => v1.28.0)
  • Upgrading symfony/polyfill-intl-grapheme (v1.27.0 => v1.28.0)
  • Upgrading symfony/string (v5.4.19 => v6.4.2)
  • Upgrading symfony/service-contracts (v2.5.2 => v3.4.1)
  • Upgrading symfony/console (v5.4.17 => v6.4.2)
  • Upgrading sebastian/diff (4.0.4 => 4.0.5)
  • Upgrading sebastian/recursion-context (4.0.4 => 4.0.5)
  • Upgrading nikic/php-parser (v4.15.2 => v4.18.0)
  • Installing psy/psysh (v0.12.0)
  • Upgrading sebastian/type (3.2.0 => 3.2.1)
  • Upgrading sebastian/global-state (5.0.5 => 5.0.6)
  • Upgrading sebastian/environment (5.1.4 => 5.1.5)
  • Upgrading theseer/tokenizer (1.2.1 => 1.2.2)
  • Upgrading sebastian/lines-of-code (1.0.3 => 1.0.4)
  • Upgrading sebastian/complexity (2.0.2 => 2.0.3)
  • Upgrading phpunit/php-code-coverage (9.2.23 => 9.2.30)
  • Upgrading myclabs/deep-copy (1.11.0 => 1.11.1)
  • Upgrading phpunit/phpunit (9.5.27 => 9.6.16)
  • Upgrading codeception/stub (4.0.2 => 4.1.2)
  • Upgrading codeception/codeception (4.2.2 => 5.0.13)
  • Upgrading codeception/lib-asserts (1.13.2 => 2.1.0)
  • Upgrading captbaritone/mailcatcher-codeception-module (2.4.1 => 3.0.0)
  • Upgrading codeception/module-asserts (1.3.1 => 3.0.0)
  • Installing masterminds/html5 (2.8.1)
  • Upgrading symfony/dom-crawler (v5.4.17 => v6.4.0)
  • Upgrading symfony/browser-kit (v5.4.11 => v6.4.0)
  • Installing codeception/lib-web (1.0.5)
  • Upgrading codeception/lib-innerbrowser (1.5.1 => 3.1.3)
  • Upgrading codeception/module-phpbrowser (1.0.3 => 3.0.1)
  • Upgrading softcreatr/jsonpath (0.7.5 => 0.8.3)
  • Upgrading justinrainbow/json-schema (5.2.12 => v5.2.13)
  • Installing codeception/lib-xml (1.0.2)
  • Upgrading codeception/module-rest (1.4.2 => 3.3.2)
  • Upgrading symfony/process (v5.4.11 => v6.4.2)
  • Upgrading php-webdriver/webdriver (1.13.1 => 1.15.1)
  • Upgrading codeception/module-webdriver (1.4.1 => 3.2.1)
  • Upgrading symfony/polyfill-php81 (v1.27.0 => v1.28.0)
  • Upgrading symfony/polyfill-php80 (v1.27.0 => v1.28.0)
  • Upgrading symfony/polyfill-php73 (v1.27.0 => v1.28.0)
  • Upgrading symfony/filesystem (v5.4.19 => v6.4.0)
  • Upgrading seld/signal-handler (2.0.1 => 2.0.2)
  • Upgrading seld/jsonlint (1.9.0 => 1.10.1)
  • Upgrading react/promise (v2.9.0 => v3.1.0)
  • Upgrading composer/pcre (3.1.0 => 3.1.1)
  • Upgrading composer/spdx-licenses (1.5.7 => 1.5.8)
  • Upgrading composer/semver (3.3.2 => 3.4.0)
  • Upgrading composer/class-map-generator (1.0.0 => 1.1.0)
  • Upgrading composer/ca-bundle (1.3.4 => 1.4.0)
  • Upgrading composer/composer (2.5.1 => 2.6.6)
  • Upgrading symfony/routing (v5.4.17 => v6.4.2)
  • Installing symfony/polyfill-php83 (v1.28.0)
  • Upgrading symfony/http-foundation (v5.4.20 => v6.4.2)
  • Upgrading symfony/error-handler (v5.4.19 => v6.4.0)
  • Upgrading symfony/http-kernel (v5.4.20 => v6.4.2)
  • Upgrading symfony/var-exporter (v5.4.17 => v6.4.2)
  • Upgrading symfony/dependency-injection (v5.4.20 => v6.4.2)
  • Upgrading symfony/config (v5.4.19 => v6.4.0)
  • Upgrading psr/cache (1.0.1 => 3.0.0)
  • Upgrading symfony/cache-contracts (v2.5.2 => v3.4.0)
  • Upgrading symfony/cache (v5.4.18 => v6.4.2)
  • Upgrading symfony/framework-bundle (v5.4.17 => v6.4.2)
  • Upgrading doctrine/event-manager (1.2.0 => 2.0.0)
  • Upgrading doctrine/persistence (2.5.6 => 3.2.0)
  • Upgrading symfony/doctrine-bridge (v5.4.17 => v6.4.2)
  • Upgrading doctrine/deprecations (v1.0.0 => 1.1.2)
  • Upgrading doctrine/dbal (3.5.2 => 3.8.0)
  • Upgrading doctrine/doctrine-bundle (2.8.2 => 2.11.1)
  • Upgrading symfony/polyfill-php72 (v1.27.0 => v1.28.0)
  • Upgrading doctrine/lexer (1.2.3 => 2.1.0)
  • Upgrading doctrine/inflector (2.0.6 => 2.0.9)
  • Upgrading doctrine/orm (2.14.0 => 2.17.4)
  • Upgrading doctrine/data-fixtures (1.6.3 => 1.7.0)
  • Upgrading doctrine/doctrine-fixtures-bundle (3.4.2 => 3.5.1)
  • Upgrading symfony/stopwatch (v5.4.13 => v6.4.0)
  • Upgrading doctrine/migrations (3.5.2 => 3.7.2)
  • Upgrading doctrine/doctrine-migrations-bundle (3.2.2 => 3.3.0)
  • Upgrading ezyang/htmlpurifier (v4.16.0 => v4.17.0)
  • Upgrading exercise/htmlpurifier-bundle (v3.1.0 => 4.1.2)
  • Upgrading fakerphp/faker (v1.21.0 => v1.23.1)
  • Upgrading symfony/options-resolver (v5.4.11 => v6.4.0)
  • Upgrading friendsofphp/php-cs-fixer (v3.13.2 => v3.48.0)
  • Upgrading twig/twig (v2.15.4 => v3.8.0)
  • Upgrading symfony/translation-contracts (v2.5.2 => v3.4.1)
  • Upgrading symfony/translation (v5.4.14 => v6.4.2)
  • Upgrading laminas/laminas-code (4.7.1 => 4.13.0)
  • Upgrading mobiledetect/mobiledetectlib (2.8.41 => 2.8.45)
  • Installing psr/clock (1.0.0)
  • Installing carbonphp/carbon-doctrine-types (2.1.0)
  • Upgrading nesbot/carbon (2.65.0 => 2.72.2)
  • Upgrading phpstan/phpstan (1.9.8 => 1.10.57)
  • Upgrading doctrine/annotations (1.14.2 => 2.0.1)
  • Upgrading sensio/framework-extra-bundle (v6.2.9 => v6.2.10)
  • Upgrading setasign/fpdi (v2.3.6 => v2.6.0)
  • Upgrading symfony/asset (v5.4.13 => v6.4.0)
  • Upgrading symfony/twig-bridge (v5.4.17 => v6.4.2)
  • Upgrading symfony/debug-bundle (v5.4.11 => v6.4.0)
  • Upgrading symfony/dotenv (v5.4.5 => v6.4.2)
  • Upgrading symfony/expression-language (v5.4.14 => v6.4.2)
  • Upgrading symfony/property-info (v5.4.19 => v6.4.0)
  • Upgrading symfony/property-access (v5.4.19 => v6.4.0)
  • Upgrading symfony/polyfill-intl-icu (v1.27.0 => v1.28.0)
  • Upgrading symfony/form (v5.4.17 => v6.4.1)
  • Upgrading symfony/lock (v5.4.15 => v6.4.2)
  • Upgrading symfony/polyfill-intl-idn (v1.27.0 => v1.28.0)
  • Upgrading symfony/mime (v5.4.17 => v6.4.0)
  • Upgrading egulias/email-validator (2.1.25 => 4.0.2)
  • Upgrading symfony/mailer (v5.4.17 => v6.4.2)
  • Upgrading symfony/maker-bundle (v1.43.0 => v1.52.0)
  • Upgrading monolog/monolog (2.8.0 => 2.9.2)
  • Upgrading symfony/monolog-bridge (v5.4.17 => v6.4.0)
  • Upgrading symfony/monolog-bundle (v3.8.0 => v3.10.0)
  • Upgrading symfony/phpunit-bridge (v5.4.17 => v6.4.2)
  • Upgrading friendsofphp/proxy-manager-lts (v1.0.13 => v1.0.16)
  • Upgrading symfony/proxy-manager-bridge (v5.4.6 => v6.4.0)
  • Upgrading symfony/rate-limiter (v5.4.17 => v6.4.2)
  • Upgrading symfony/password-hasher (v5.4.19 => v6.4.0)
  • Upgrading symfony/security-core (v5.4.19 => v6.4.0)
  • Upgrading symfony/security-http (v5.4.20 => v6.4.0)
  • Upgrading symfony/security-csrf (v5.4.19 => v6.4.0)
  • Installing symfony/clock (v6.4.2)
  • Upgrading symfony/security-bundle (v5.4.20 => v6.4.2)
  • Upgrading symfony/serializer (v5.4.17 => v6.4.2)
  • Upgrading symfony/templating (v5.4.11 => v6.4.0)
  • Upgrading symfony/validator (v5.4.17 => v6.4.2)
  • Upgrading symfony/twig-bundle (v5.4.17 => v6.4.0)
  • Upgrading symfony/web-profiler-bundle (v5.4.17 => v6.4.2)
  • Upgrading symfony/workflow (v5.4.17 => v6.4.2)
  • Upgrading tecnickcom/tcpdf (6.6.2 => 6.6.5)
  • Upgrading twig/extra-bundle (v3.5.0 => v3.8.0)
  • Upgrading symfony/intl (v5.4.15 => v6.4.2)
  • Upgrading twig/intl-extra (v3.5.0 => v3.8.0)
  • Upgrading phpoption/phpoption (1.9.0 => 1.9.2)
  • Upgrading graham-campbell/result-type (v1.1.0 => v1.1.2)

削除されるパッケージ

  • symfony/security-guard (v5.4.19)
  • symfony/inflector (v5.4.11)
  • easycorp/easy-log-handler (v1.0.9)
    • devのログははprodと同等の出力に変更
  • codeception/phpunit-wrapper (9.0.9)

主な変更点

  • PasswordEncoderの廃止
    • PasswordHasherを利用するように変更
    • パスワードのハッシュアルゴリズムの自動更新にも対応
    • ログイン時にEC-CUBEのハッシュアルゴリズムから自動更新される 3e1d7b7
  • Twig3対応
    • twigを2から3へアップデート。プラグインの拡張には影響しない 7863e8e
  • Codeception5対応
    • 一部非互換のメソッドなどあり。コード差分参照してください。

TODO

方針(Policy)

実装に関する補足(Appendix)

テスト(Test)

github actionsは一通りパス

相談(Discussion)

マイナーバージョン互換性保持のための制限事項チェックリスト

  • 既存機能の仕様変更はありません
  • フックポイントの呼び出しタイミングの変更はありません
  • フックポイントのパラメータの削除・データ型の変更はありません
  • twigファイルに渡しているパラメータの削除・データ型の変更はありません
  • Serviceクラスの公開関数の、引数の削除・データ型の変更はありません
  • 入出力ファイル(CSVなど)のフォーマット変更はありません

レビュワー確認項目

  • 動作確認
  • コードレビュー
  • E2E/Unit テスト確認(テストの追加・変更が必要かどうか)
  • 互換性が保持されているか
  • セキュリティ上の問題がないか
    • 権限を超えた操作が可能にならないか
    • 不要なファイルアップロードがないか
    • 外部へ公開されるファイルや機能の追加ではないか
    • テンプレートでのエスケープ漏れがないか

tao-s and others added 26 commits November 28, 2023 15:08
…uration. Replace `class_name` with `actor` in config to fix this
… ($string) must be of type string, float given
…nent to be installed. Try running "composer require symfony/lock".
…ntains 1 abstract method and must therefore be declared abstract or implement the remaining methods (Symfony\Component\Security\Core\User\UserProviderInterface::loadUserByIdentifier)
…, register a listener on the LogoutEvent event instead."
…oles() must be compatible with Symfony\Component\Security\Core\User\UserInterface::getRoles(): array
…thod and must therefore be declared abstract or implement the remaining methods (Symfony\Component\Security\Core\User\UserInterface::getUserIdentifier)
…nt of SessionTokenStorage, inject a \Symfony\Component\HttpFoundation\RequestStack $requestStack instead"
…nt\DependencyInjection\ContainerInterface aliases of the service_container service, configure them explicitly instead."
…nt of SessionTokenStorage, inject a \Symfony\Component\HttpFoundation\RequestStack $requestStack instead"
…factory.generic service, the security.encoder_factory and Symfony\Component\Security\Core\Encoder\EncoderFactoryInterface"
…argument "$serviceContainer" of method "__construct()" references interface "Symfony\Component\DependencyInjection\ContainerInterface" but no such service exists. You should maybe alias this interface to the existing "service_container" service."
@chihiro-adachi chihiro-adachi changed the title Symfony6対応 [WIP] Symfony6対応 Dec 13, 2023
@codecov-commenter
Copy link

codecov-commenter commented Dec 14, 2023

Codecov Report

All modified and coverable lines are covered by tests ✅

Project coverage is 82.78%. Comparing base (647bc49) to head (5a67424).

❗ Your organization needs to install the Codecov GitHub app to enable full functionality.

Additional details and impacted files
@@             Coverage Diff              @@
##                4.3    #6073      +/-   ##
============================================
+ Coverage     82.69%   82.78%   +0.08%     
- Complexity     6466     6509      +43     
============================================
  Files           477      479       +2     
  Lines         25953    26029      +76     
============================================
+ Hits          21462    21547      +85     
+ Misses         4491     4482       -9     
Flag Coverage Δ
E2E 70.08% <ø> (+0.44%) ⬆️
Unit 79.61% <ø> (-0.11%) ⬇️

Flags with carried forward coverage won't be shown. Click here to find out more.

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

…nt\DependencyInjection\ContainerInterface aliases of the service_container service, configure them explicitly instead."
src/Eccube/Common/EccubeConfig.php Outdated Show resolved Hide resolved
src/Eccube/Security/Core/User/CustomerProvider.php Outdated Show resolved Hide resolved
src/Eccube/Security/Core/User/MemberProvider.php Outdated Show resolved Hide resolved
src/Eccube/Command/GenerateProxyCommand.php Outdated Show resolved Hide resolved
nanasess
nanasess previously approved these changes Feb 6, 2024
@dotani1111
Copy link
Contributor

2月末ぐらいを目処に、mergeしていきたいと思います。

nanasess
nanasess previously approved these changes Feb 21, 2024
dotani1111
dotani1111 previously approved these changes Feb 21, 2024
@chihiro-adachi chihiro-adachi dismissed stale reviews from dotani1111 and nanasess via 235143d February 21, 2024 22:56
Copy link
Contributor

@nanasess nanasess left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM

@ji-eunsoo ji-eunsoo merged commit 8e96ee9 into EC-CUBE:4.3 Feb 26, 2024
191 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

Successfully merging this pull request may close these issues.

8 participants