Skip to main content

Version Compatibility Matrix

Comprehensive version compatibility information for the Magento_Customer module across Magento 2.x releases.

2.4.8 Current Updated 2025-12-04

Quick Stats

2.4.8
Current Release
2
Supported Versions
1
Security Only
7
End of Life

Version Support Matrix

Current Support Status (as of 2025-12-04)

Current
Supported
Security Only
End of Life
Magento Version Customer Module PHP Support Status End of Support
2.4.8 103.0.9 8.3, 8.4 Current TBD
2.4.7 103.0.7 8.2, 8.3 Supported 2026-04-09
2.4.6-p8 103.0.6 8.1, 8.2 Security Only 2025-03-14
2.4.5-p9 103.0.5 8.1 EOL 2024-08-13
2.4.4-p10 103.0.4 7.4, 8.1 EOL 2024-04-24
2.4.0 - 2.4.3 103.0.x 7.3, 7.4 EOL 2022-11-28

Recommendation

Upgrade to Magento 2.4.7+ for continued security updates. Magento 2.3.x is completely end-of-life.

Feature Availability by Version

Customer Account Features

Feature 2.3.x 2.4.0-2.4.2 2.4.3-2.4.4 2.4.5-2.4.6 2.4.7+
Basic CRUD
EAV Attributes
GraphQL API ⚠️ Basic ✅ Enhanced ✅ Enhanced
Async API

Authentication & Security

Feature 2.3.x 2.4.0-2.4.4 2.4.5+
Password Hashing SHA256/MD5 Argon2ID13 Argon2ID13
Email Validation Weak Weak RFC 5321
CAPTCHA Support ✅ reCAPTCHA v3 ✅ reCAPTCHA v3

PHP Version Compatibility

Magento Version PHP 7.3 PHP 7.4 PHP 8.1 PHP 8.2 PHP 8.3 PHP 8.4
2.4.8
2.4.7 ⚠️
2.4.6 ⚠️
2.4.4
Fully supported
⚠️Experimental/requires patches
Not supported

Recommendation

For maximum compatibility with Customer module extensions, use PHP 8.2 with Magento 2.4.7+.

Breaking Changes by Version

Magento 2.4.7 (Released: 2024-06-11)

1. Customer Session Structure Changes

Before (2.4.6):

$customerData = $this->customerSession
    ->getCustomer()
    ->getData();

After (2.4.7):

$customer = $this->customerRepository
    ->getById($this->customerSession->getCustomerId());
$customerData = $customer->getData();

Impact: Code directly accessing session customer data may get incomplete data. Use repository instead.

Magento 2.4.5 (Released: 2022-08-09)

Strong Email Validation (CRITICAL)

Before (2.4.4):

// Accepted invalid emails
$validator->isValid('user@domain'); // true (no TLD)
$validator->isValid('user..name@domain.com'); // true

After (2.4.5):

// RFC 5321 compliant
$validator->isValid('user@domain'); // false
$validator->isValid('user..name@domain.com'); // false

CRITICAL Impact: Customer registration may fail for previously accepted emails. Review existing customer emails before upgrading!

Migration Script:
# Find invalid emails before upgrading
bin/magento customer:email:validate
cat var/log/invalid_emails.log

# Contact customers to update OR use data patch

Recommended Upgrade Paths

Magento 2.3.x → 2.4.7

Strategy: Intermediate upgrade to 2.4.4 first

  1. Prerequisites: PHP 7.4, MySQL 5.7, Elasticsearch 7.17
  2. Upgrade to 2.4.4:
    composer require magento/product-community-edition:2.4.4
    bin/magento setup:upgrade
  3. Test thoroughly on 2.4.4
  4. Upgrade PHP to 8.2
  5. Upgrade to 2.4.7:
    composer require magento/product-community-edition:2.4.7
    bin/magento setup:upgrade
Time Estimate: 4-8 hours (small store), 1-3 days (large store)

Magento 2.4.4 → 2.4.7

Strategy: Direct upgrade path

  1. Upgrade PHP to 8.2
  2. Update Composer:
    composer require magento/product-community-edition:2.4.7 --no-update
    composer update
  3. Run Setup:
    bin/magento maintenance:enable
    bin/magento setup:upgrade
    bin/magento setup:di:compile
    bin/magento indexer:reindex customer_grid
    bin/magento cache:flush
    bin/magento maintenance:disable
Time Estimate: 2-4 hours (small store), 8-16 hours (large store)

Testing Checklist for Customer Module Upgrades

Pre-Upgrade:

  • ☐ Export customer data backup
  • ☐ Document current customer count
  • ☐ Test customer login/registration
  • ☐ Test password reset flow

Post-Upgrade:

  • ☐ Verify customer count unchanged
  • ☐ Test customer login (sample 10-20)
  • ☐ Test REST API customer endpoints
  • ☐ Verify customer session handling