|
1 | | -# Pimcore Symfony 6 Freeze |
| 1 | +# Pimcore Symfony Freeze |
2 | 2 |
|
3 | | -A metapackage to enforce Symfony 6.x compatibility constraints for Pimcore installations, ensuring alignment with Pimcore 12.2 release requirements. |
| 3 | +A metapackage to control Symfony version constraints for Pimcore 12.3 and 12.x development versions. |
4 | 4 |
|
5 | | -## Purpose |
6 | | - |
7 | | -This package provides version constraints to prevent certain Symfony components from upgrading to version 7.x, matching the compatibility requirements of **Pimcore 12.2**. While your local Pimcore installation (12.x branch) may allow Symfony 7 for some core framework components, this freeze package ensures backward compatibility with Pimcore 12.2 release. |
8 | | - |
9 | | -## What This Package Does |
10 | | - |
11 | | -This metapackage uses Composer's `conflict` directive to block Symfony 7.x upgrades for **14 specific components** that Pimcore 12.2 restricts to Symfony 6.x only: |
12 | | - |
13 | | -### Frozen Components (Restricted to Symfony 6.x) |
14 | | - |
15 | | -1. **symfony/console** - Command-line interface framework |
16 | | -2. **symfony/dependency-injection** - Service container and DI system |
17 | | -3. **symfony/framework-bundle** - Core Symfony framework bundle |
18 | | -4. **symfony/http-foundation** - HTTP request/response abstractions |
19 | | -5. **symfony/http-kernel** - HTTP request processing kernel |
20 | | -6. **symfony/messenger** - Asynchronous message handling |
21 | | -7. **symfony/runtime** - Application runtime environment |
22 | | -8. **symfony/security-bundle** - Security framework bundle |
23 | | -9. **symfony/security-core** - Security core components |
24 | | -10. **symfony/security-http** - HTTP security layer |
25 | | -11. **symfony/templating** - Templating engine (deprecated in Symfony) |
26 | | -12. **symfony/twig-bridge** - Twig integration bridge |
27 | | -13. **symfony/twig-bundle** - Twig bundle |
28 | | -14. **symfony/validator** - Data validation framework |
29 | | - |
30 | | -### Components NOT Frozen (Can Upgrade to Symfony 7.x) |
31 | | - |
32 | | -The following **31 components** are allowed to upgrade to Symfony 7.x as per Pimcore 12.2 compatibility: |
33 | | - |
34 | | -- symfony/cache |
35 | | -- symfony/config |
36 | | -- symfony/debug-bundle |
37 | | -- symfony/doctrine-bridge |
38 | | -- symfony/doctrine-messenger |
39 | | -- symfony/dom-crawler |
40 | | -- symfony/error-handler |
41 | | -- symfony/event-dispatcher |
42 | | -- symfony/expression-language |
43 | | -- symfony/filesystem |
44 | | -- symfony/finder |
45 | | -- symfony/html-sanitizer |
46 | | -- symfony/lock |
47 | | -- symfony/mailer |
48 | | -- symfony/mime |
49 | | -- symfony/options-resolver |
50 | | -- symfony/password-hasher |
51 | | -- symfony/process |
52 | | -- symfony/property-access |
53 | | -- symfony/property-info |
54 | | -- symfony/rate-limiter |
55 | | -- symfony/routing |
56 | | -- symfony/serializer |
57 | | -- symfony/string |
58 | | -- symfony/translation |
59 | | -- symfony/uid |
60 | | -- symfony/var-dumper |
61 | | -- symfony/webpack-encore-bundle |
62 | | -- symfony/web-profiler-bundle |
63 | | -- symfony/workflow |
64 | | -- symfony/yaml |
65 | | - |
66 | | -## Technical Details |
67 | | - |
68 | | -### Package Type |
| 5 | +**⚠️ Important**: This package is **only for Pimcore 12.3 and 12.x dev versions**. Pimcore 13 will require Symfony 7+ and drop Symfony 6 support entirely. |
69 | 6 |
|
70 | | -- **Type**: `metapackage` |
71 | | -- **Strategy**: Uses Composer `conflict` directives (no actual code) |
| 7 | +## Purpose |
72 | 8 |
|
73 | | -### Version Constraints |
| 9 | +This metapackage uses Composer's `conflict` directive to enforce Symfony version requirements: |
74 | 10 |
|
75 | | -Each frozen component uses the constraint: `">=7.0"` in the conflict section, effectively blocking any Symfony 7.x version while allowing all 6.x versions. |
| 11 | +- **6.x branch**: Freezes core Symfony components at 6.x (14 components) |
| 12 | +- **7.x branch**: Requires core Symfony components at 7.x minimum (13 components) |
76 | 13 |
|
77 | | -## Comparison with Pimcore Releases |
| 14 | +## Usage by Pimcore Version |
78 | 15 |
|
79 | | -### Pimcore 12.2 (Stable Release) |
| 16 | +### Pimcore 12.3 / 12.x (dev versions) |
80 | 17 |
|
81 | | -- Restricts 14 core Symfony components to 6.x only |
82 | | -- Allows 31 peripheral components to use either 6.x or 7.x |
83 | | -- This package matches these exact constraints |
| 18 | +**Symfony 7.x fully supported** - choose based on your needs: |
84 | 19 |
|
85 | | -### Pimcore 12.x (Development Branch) or 12.3 and later |
| 20 | +```json |
| 21 | +{ |
| 22 | + "require": { |
| 23 | + "pimcore/symfony-freeze": "^7.0" // Recommended: Enforce Symfony 7.x minimum |
| 24 | + } |
| 25 | +} |
| 26 | +``` |
86 | 27 |
|
87 | | -- Allows all 45 Symfony components to upgrade to 7.x |
88 | | -- This freeze package overrides those permissions for the 14 core components |
| 28 | +Or if you need Symfony 6.x compatibility: |
89 | 29 |
|
90 | | -## Statistics |
| 30 | +```json |
| 31 | +{ |
| 32 | + "require": { |
| 33 | + "pimcore/symfony-freeze": "^6.0" // Optional: Keep Symfony 6.x |
| 34 | + } |
| 35 | +} |
| 36 | +``` |
91 | 37 |
|
92 | | -- **Total Symfony Components**: ~45 |
93 | | -- **Frozen to 6.x**: 14 (31%) |
94 | | -- **Allowed for 7.x**: 31 (69%) |
95 | | -- **Alignment**: 100% with Pimcore 12.2 |
| 38 | +### Pimcore 13+ |
96 | 39 |
|
97 | | -## Maintenance |
| 40 | +**Do not use this package**. Remove it: |
98 | 41 |
|
99 | | -This package should be updated when: |
| 42 | +```bash |
| 43 | +composer remove pimcore/symfony-freeze |
| 44 | +``` |
100 | 45 |
|
101 | | -1. Pimcore releases a new stable version with changed Symfony requirements |
102 | | -2. Symfony releases a new major version |
103 | | -3. Core framework components receive official Symfony 7 support from Pimcore |
| 46 | +## Technical Details |
104 | 47 |
|
| 48 | +- **Type**: Metapackage (no code, only constraints) |
| 49 | +- **6.x branch**: Conflicts with `symfony/*: ">=7.0"` for 14 core components |
| 50 | +- **7.x branch**: Conflicts with `symfony/*: "<7.0"` for 13 core components (excludes deprecated `symfony/templating`) |
105 | 51 |
|
106 | 52 | ## License |
107 | 53 |
|
108 | 54 | POCL - © Pimcore GmbH |
109 | | - |
110 | | -## Support |
111 | | - |
112 | | -For issues related to Pimcore compatibility, please refer to: |
113 | | - |
114 | | -- [Pimcore Documentation](https://pimcore.com/docs/latest/) |
115 | | -- [Pimcore GitHub Issues](https://github.com/pimcore/pimcore/issues) |
116 | | -- [Pimcore Forums](https://github.com/pimcore/pimcore/discussions) |
0 commit comments