|
| 1 | +CHANGELOG for 7.3.x |
| 2 | +=================== |
| 3 | + |
| 4 | +This changelog references the relevant changes (bug and security fixes) done |
| 5 | +in 7.3 minor versions. |
| 6 | + |
| 7 | +To get the diff for a specific change, go tohttps://github.com/symfony/symfony/commit/XXX where XXX is the change hash |
| 8 | +To get the diff between two versions, go tohttps://github.com/symfony/symfony/compare/v7.3.0...v7.3.1 |
| 9 | + |
| 10 | +* 7.3.0-BETA1 (2025-05-02) |
| 11 | + |
| 12 | +* feature#60232 Add PHP config support for routing (fabpot) |
| 13 | +* feature#60102[HttpFoundation] Add`UriSigner::verify()` that throws named exceptions (kbond) |
| 14 | +* feature#60222[FrameworkBundle][HttpFoundation] Add Clock support for`UriSigner` (kbond) |
| 15 | +* feature#60226[Uid] Add component-specific exception classes (rela589n) |
| 16 | +* feature#60163[TwigBridge] Allow attachment name to be set for inline images (aleho) |
| 17 | +* feature#60186[DependencyInjection] Add "when" argument to #[AsAlias] (Zuruuh) |
| 18 | +* feature#60195[Workflow] Deprecate`Event::getWorkflow()` method (lyrixx) |
| 19 | +* feature#60193[Workflow] Add a link to mermaid.live from the profiler (lyrixx) |
| 20 | +* feature#60188[JsonPath] Add two utils methods to`JsonPath` builder (alexandre-daubois) |
| 21 | +* feature#60018[Messenger] Reset peak memory usage for each message (TimWolla) |
| 22 | +* feature#60155[FrameworkBundle][RateLimiter] compound rate limiter config (kbond) |
| 23 | +* feature#60171[FrameworkBundle][RateLimiter] deprecate`RateLimiterFactory` alias (kbond) |
| 24 | +* feature#60139[Runtime] Support extra dot-env files (natepage) |
| 25 | +* feature#60140 Notifier mercure7.3 (ernie76) |
| 26 | +* feature#59762[Config] Add`NodeDefinition::docUrl()` (alexandre-daubois) |
| 27 | +* feature#60099[FrameworkBundle][RateLimiter] default`lock_factory` to`auto` (kbond) |
| 28 | +* feature#60112[DoctrineBridge] Improve exception message when`EntityValueResolver` gets no mapping information (MatTheCat) |
| 29 | +* feature#60103[Console] Mark`AsCommand` attribute as``@final`` (Somrlik, GromNaN) |
| 30 | +* feature#60069[FrameworkBundle] Deprecate setting the`collect_serializer_data` to`false` (mtarld) |
| 31 | +* feature#60087[TypeInfo] add TypeFactoryTrait::arrayKey() (xabbuh) |
| 32 | +* feature#42124[Messenger] Add`$stamps` parameter to`HandleTrait::handle` (alexander-schranz) |
| 33 | +* feature#58200[Notifier] Deprecate sms77 Notifier bridge (MrYamous) |
| 34 | +* feature#58380[WebProfilerBundle] Update the logic that minimizes the toolbar (javiereguiluz) |
| 35 | +* feature#60039[TwigBridge] Collect all deprecations with`lint:twig` command (Fan2Shrek) |
| 36 | +* feature#60081[FrameworkBundle] Enable controller service with`#[Route]` attribute (GromNaN) |
| 37 | +* feature#60076[Console] Deprecate returning a non-int value from a`\Closure` function set via`Command::setCode()` (yceruto) |
| 38 | +* feature#59655[JsonPath] Add the component (alexandre-daubois) |
| 39 | +* feature#58805[TwigBridge][Validator] Add the Twig constraint and its validator (sfmok) |
| 40 | +* feature#54275[Messenger][Amqp] Add default exchange support (ilyachase) |
| 41 | +* feature#60052[Mailer][TwigBridge] Revert "Add support for translatable objects" (kbond) |
| 42 | +* feature#59967[Mailer][TwigBridge] Add support for translatable subject (norkunas) |
| 43 | +* feature#58654[FrameworkBundle] Binding for Object Mapper component (soyuka) |
| 44 | +* feature#60040[Messenger] Use newer version of Beanstalkd bridge library (HypeMC) |
| 45 | +* feature#52748[TwigBundle] Enable`#[AsTwigFilter]`,`#[AsTwigFunction]` and`#[AsTwigTest]` attributes to configure runtime extensions (GromNaN) |
| 46 | +* feature#59831[Mailer][Mime] Refactor S/MIME encryption handling in`SMimeEncryptionListener` (Spomky) |
| 47 | +* feature#59981[TypeInfo] Add`ArrayShapeType::$sealed` (mtarld) |
| 48 | +* feature#51741[ObjectMapper] Object to Object mapper component (soyuka) |
| 49 | +* feature#57309[FrameworkBundle][HttpKernel] Allow configuring the logging channel per type of exceptions (Arkalo2) |
| 50 | +* feature#60007[Security] Add methods param in IsCsrfTokenValid attribute (Oviglo) |
| 51 | +* feature#59900[DoctrineBridge] add new`DatePointType` Doctrine type (garak) |
| 52 | +* feature#59904[Routing] Add alias in`{foo:bar}` syntax in route parameter (eltharin) |
| 53 | +* feature#59978[Messenger] Add`--class-filter` option to the`messenger:failed:remove` command (arnaud-deabreu) |
| 54 | +* feature#60024[Console] Add support for invokable commands in`LockableTrait` (yceruto) |
| 55 | +* feature#59813[Cache] Enable namespace-based invalidation by prefixing keys with backend-native namespace separators (nicolas-grekas) |
| 56 | +* feature#59902[PropertyInfo] Deprecate`Type` (mtarld, chalasr) |
| 57 | +* feature#59890[VarExporter] Leverage native lazy objects (nicolas-grekas) |
| 58 | +* feature#54545[DoctrineBridge] Add argument to`EntityValueResolver` to set type aliases (NanoSector) |
| 59 | +* feature#60011[DependencyInjection] Enable multiple attribute autoconfiguration callbacks on the same class (GromNaN) |
| 60 | +* feature#60020[FrameworkBundle] Make`ServicesResetter` autowirable (lyrixx) |
| 61 | +* feature#59929[RateLimiter] Add`CompoundRateLimiterFactory` (kbond) |
| 62 | +* feature#59993[Form] Add input with`string` value in`MoneyType` (StevenRenaux) |
| 63 | +* feature#59987[FrameworkBundle] Auto-exclude DI extensions, test cases, entities and messenger messages (nicolas-grekas) |
| 64 | +* feature#59827[TypeInfo] Add`ArrayShapeType` class (mtarld) |
| 65 | +* feature#59909[FrameworkBundle] Add`--method` option to`debug:router` command (santysisi) |
| 66 | +* feature#59913[DependencyInjection] Leverage native lazy objects for lazy services (nicolas-grekas) |
| 67 | +* feature#53425[Translation] Allow default parameters (Jean-Beru) |
| 68 | +* feature#59464[AssetMapper] Add`--dry-run` option on`importmap:require` command (chadyred) |
| 69 | +* feature#59880[Yaml] Add the`Yaml::DUMP_FORCE_DOUBLE_QUOTES_ON_VALUES` flag to enforce double quotes around string values (dkarlovi) |
| 70 | +* feature#59922[Routing] Add`MONGODB_ID` to requirement patterns (GromNaN) |
| 71 | +* feature#59842[TwigBridge] Add Twig`field_id()` form helper (Legendary4226) |
| 72 | +* feature#59869[Cache] Add support for`valkey:` /`valkeys:` schemes (nicolas-grekas) |
| 73 | +* feature#59862[Messenger] Allow to close the transport connection (andrew-demb) |
| 74 | +* feature#59857[Cache] Add`\Relay\Cluster` support (dorrogeray) |
| 75 | +* feature#59863[JsonEncoder] Rename the component to`JsonStreamer` (mtarld) |
| 76 | +* feature#52749[Serializer] Add discriminator map to debug commmand output (jschaedl) |
| 77 | +* feature#59871[Form] Add support for displaying nested options in`DebugCommand` (yceruto) |
| 78 | +* feature#58769[ErrorHandler] Add a command to dump static error pages (pyrech) |
| 79 | +* feature#54932[Security][SecurityBundle] OIDC discovery (vincentchalamon) |
| 80 | +* feature#58485[Validator] Add`filenameCharset` and`filenameCountUnit` options to`File` constraint (IssamRaouf) |
| 81 | +* feature#59828[Serializer] Add`defaultType` to`DiscriminatorMap` (alanpoulain) |
| 82 | +* feature#59570[Notifier][Webhook] Add Smsbox support (alanzarli) |
| 83 | +* feature#50027[Security] OAuth2 Introspection Endpoint (RFC7662) (Spomky) |
| 84 | +* feature#57686[Config] Allow using an enum FQCN with`EnumNode` (alexandre-daubois) |
| 85 | +* feature#59588[Console] Add a Tree Helper + multiple Styles (smnandre) |
| 86 | +* feature#59618[OptionsResolver] Deprecate defining nested options via`setDefault()` use`setOptions()` instead (yceruto) |
| 87 | +* feature#59805[Security] Improve DX of recent additions (nicolas-grekas) |
| 88 | +* feature#59822[Messenger] Add options to specify SQS queue attributes and tags (TrePe0) |
| 89 | +* feature#59290[JsonEncoder] Replace normalizers by value transformers (mtarld) |
| 90 | +* feature#59800[Validator] Add support for closures in`When` (alexandre-daubois) |
| 91 | +* feature#59814[Framework] Deprecate the`framework.validation.cache` config option (alexandre-daubois) |
| 92 | +* feature#59804[TypeInfo] Add type alias support (mtarld) |
| 93 | +* feature#59150[Security] Allow using a callable with`#[IsGranted]` (alexandre-daubois) |
| 94 | +* feature#59789[Notifier][Bluesky] Return the record CID as additional info (javiereguiluz) |
| 95 | +* feature#59526[Messenger][AMQP] Add TransportMessageIdStamp logic for AMQP (AurelienPillevesse) |
| 96 | +* feature#59771[Security] Add ability for voters to explain their vote (nicolas-grekas) |
| 97 | +* feature#59768[Messenger][Process] add`fromShellCommandline` to`RunProcessMessage` (Staormin) |
| 98 | +* feature#59377[Notifier] Add Matrix bridge (chii0815) |
| 99 | +* feature#58488[Serializer] Fix deserializing XML Attributes into string properties (Hanmac) |
| 100 | +* feature#59657[Console] Add markdown format to Table (amenk) |
| 101 | +* feature#59274[Validator] Allow Unique constraint validation on all elements (Jean-Beru) |
| 102 | +* feature#59704[DependencyInjection] Add`Definition::addExcludedTag()` and`ContainerBuilder::findExcludedServiceIds()` for auto-discovering value-objects (GromNaN) |
| 103 | +* feature#49750[FrameworkBundle] Allow to pass signals to`StopWorkerOnSignalsListener` in XML config and as plain strings (alexandre-daubois) |
| 104 | +* feature#59479[Mailer][Smtp] Add DSN param to enforce TLS/STARTTLS (ssddanbrown) |
| 105 | +* feature#59562[Security] Support hashing the hashed password using crc32c when putting the user in the session (nicolas-grekas) |
| 106 | +* feature#58501[Mailer] Add configuration for dkim and smime signers (elias-playfinder, eliasfernandez) |
| 107 | +* feature#52181[Security] Ability to add roles in`form_login_ldap` by ldap group (Spomky) |
| 108 | +* feature#59712[DependencyInjection] Don't skip classes with private constructor when autodiscovering (nicolas-grekas) |
| 109 | +* feature#50797[FrameworkBundle][Validator] Add`framework.validation.disable_translation` option (alexandre-daubois) |
| 110 | +* feature#49652[Messenger] Add`bury_on_reject` option to Beanstalkd bridge (HypeMC) |
| 111 | +* feature#51744[Security] Add a normalization step for the user-identifier in firewalls (Spomky) |
| 112 | +* feature#54141[Messenger] Introduce`DeduplicateMiddleware` (VincentLanglet) |
| 113 | +* feature#58546[Scheduler] Add MessageHandler result to the`PostRunEvent` (bartholdbos) |
| 114 | +* feature#58743[HttpFoundation] Streamlining server event streaming (yceruto) |
| 115 | +* feature#58939[RateLimiter] Add`RateLimiterFactoryInterface` (alexandre-daubois) |
| 116 | +* feature#58717[HttpKernel] Support`Uid` in`#[MapQueryParameter]` (seb-jean) |
| 117 | +* feature#59634[Validator] Add support for the`otherwise` option in the`When` constraint (alexandre-daubois) |
| 118 | +* feature#59670[Serializer] Add`NumberNormalizer` (valtzu) |
| 119 | +* feature#59679[Scheduler] Normalize`TriggerInterface` as`string` (valtzu) |
| 120 | +* feature#59641[Serializer] register named normalizer & denormalizer aliases (mathroc) |
| 121 | +* feature#59682[Security] Deprecate UserInterface & TokenInterface's`eraseCredentials()` (chalasr, nicolas-grekas) |
| 122 | +* feature#59667[Notifier][Bluesky] Allow to attach website preview card (ppoulpe) |
| 123 | +* feature#58300[Security][SecurityBundle] Show user account status errors (core23) |
| 124 | +* feature#59630[FrameworkBundle] Add support for info on`ArrayNodeDefinition::canBeEnabled()` and`ArrayNodeDefinition::canBeDisabled()` (alexandre-daubois) |
| 125 | +* feature#59612[Mailer] Add attachments support for Sweego Mailer Bridge (welcoMattic) |
| 126 | +* feature#59302[TypeInfo] Deprecate`CollectionType` as list and not as array (mtarld) |
| 127 | +* feature#59481[Notifier] Add SentMessage additional info (mRoca) |
| 128 | +* feature#58819[Routing] Allow aliases in`#[Route]` attribute (damienfern) |
| 129 | +* feature#59004[AssetMapper] Detect import with a sequence parser (smnandre) |
| 130 | +* feature#59601[Messenger] Add keepalive support (silasjoisten) |
| 131 | +* feature#59536[JsonEncoder] Allow to warm up object and list (mtarld) |
| 132 | +* feature#59565[Console] Deprecating Command getDefaultName and getDefaultDescription methods (yceruto) |
| 133 | +* feature#59473[Console] Add broader support for command "help" definition (yceruto) |
| 134 | +* feature#54744[Validator] deprecate the use of option arrays to configure validation constraints (xabbuh) |
| 135 | +* feature#59493[Console] Invokable command adjustments (yceruto) |
| 136 | +* feature#59482[Mailer][Smtp] Add DSN option to make SocketStream bind to IPv4 (quilius) |
| 137 | +* feature#57721[Security][SecurityBundle] Add encryption support to OIDC tokens (Spomky) |
| 138 | +* feature#58599[Serializer] Add xml context option to ignore empty attributes (qdequippe) |
| 139 | +* feature#59368[TypeInfo] Add`TypeFactoryTrait::fromValue` method (mtarld) |
| 140 | +* feature#59401[JsonEncoder] Add`JsonEncodable` attribute (mtarld) |
| 141 | +* feature#59123[WebProfilerBundle] Extend web profiler listener & config for replace on ajax requests (chr-hertel) |
| 142 | +* feature#59477[Mailer][Notifier] Add and use`Dsn::getBooleanOption()` (OskarStark) |
| 143 | +* feature#59474[Console] Invokable command deprecations (yceruto) |
| 144 | +* feature#59340[Console] Add support for invokable commands and input attributes (yceruto) |
| 145 | +* feature#59035[VarDumper] Add casters for object-converted resources (alexandre-daubois) |
| 146 | +* feature#59225[FrameworkBundle] Always display service arguments & deprecate`--show-arguments` option for`debug:container` (Florian-Merle) |
| 147 | +* feature#59384[PhpUnitBridge] Enable configuring mock namespaces with attributes (HypeMC) |
| 148 | +* feature#59370[HttpClient] Allow using HTTP/3 with the`CurlHttpClient` (MatTheCat) |
| 149 | +* feature#50334[FrameworkBundle][PropertyInfo] Wire the`ConstructorExtractor` class (HypeMC) |
| 150 | +* feature#59354[OptionsResolver] Support union of types (VincentLanglet) |
| 151 | +* feature#58542[Validator] Add`Slug` constraint (raffaelecarelle) |
| 152 | +* feature#59286[Serializer] Deprecate the`CompiledClassMetadataFactory` (mtarld) |
| 153 | +* feature#59257[DependencyInjection] Support`@>` as a shorthand for`!service_closure` in YamlFileLoader (chx) |
| 154 | +* feature#58545[String] Add`AbstractString::pascal()` method (raffaelecarelle) |
| 155 | +* feature#58559[Validator][DateTime] Add`format` to error messages (sauliusnord) |
| 156 | +* feature#58564[HttpKernel] Let Monolog handle the creation of log folder for improved readonly containers handling (shyim) |
| 157 | +* feature#59360[Messenger] Implement`KeepaliveReceiverInterface` in Redis bridge (HypeMC) |
| 158 | +* feature#58698[Mailer] Add AhaSend Bridge (farhadhf) |
| 159 | +* feature#57632[PropertyInfo] Add`PropertyDescriptionExtractorInterface` to`PhpStanExtractor` (mtarld) |
| 160 | +* feature#58786[Notifier][Brevo][SMS] Brevo sms notifier add options (ikerib) |
| 161 | +* feature#59273[Messenger] Add`BeanstalkdPriorityStamp` to Beanstalkd bridge (HypeMC) |
| 162 | +* feature#58761[Mailer][Amazon] Add support for custom headers in ses+api (StudioMaX) |
| 163 | +* feature#54939[Mailer] Add`retry_period` option for email transport (Sébastien Despont, fabpot) |
| 164 | +* feature#59068[HttpClient] Add IPv6 support to NativeHttpClient (dmitrii-baranov-tg) |
| 165 | +* feature#59088[DependencyInjection] Make`#[AsTaggedItem]` repeatable (alexandre-daubois) |
| 166 | +* feature#59301[Cache][HttpKernel] Add a`noStore` argument to the`#` attribute (smnandre) |
| 167 | +* feature#59315[Yaml] Add compact nested mapping support to`Dumper` (gr8b) |
| 168 | +* feature#59325[Config] Add`ifFalse()` (OskarStark) |
| 169 | +* feature#58243[Yaml] Add support for dumping`null` as an empty value by using the`Yaml::DUMP_NULL_AS_EMPTY` flag (alexandre-daubois) |
| 170 | +* feature#59291[TypeInfo] Add`accepts` method (mtarld) |
| 171 | +* feature#59265[Validator] Validate SVG ratio in Image validator (maximecolin) |
| 172 | +* feature#59129[SecurityBundle][TwigBridge] Add`is_granted_for_user()` function (natewiebe13) |
| 173 | +* feature#59254[JsonEncoder] Remove chunk size definition (mtarld) |
| 174 | +* feature#59022[HttpFoundation] Generate url-safe hashes for signed urls (valtzu) |
| 175 | +* feature#59177[JsonEncoder] Add native lazyghost support (mtarld) |
| 176 | +* feature#59192[PropertyInfo] Add non-*-int missing types for PhpStanExtractor (wuchen90) |
| 177 | +* feature#58515[FrameworkBundle][JsonEncoder] Wire services (mtarld) |
| 178 | +* feature#59157[HttpKernel][MapQueryString] added key argument to MapQueryString attribute (feymo) |
| 179 | +* feature#59154[HttpFoundation] Support iterable of string in`StreamedResponse` (mtarld) |
| 180 | +* feature#51718[Serializer][JsonEncoder] Introducing the component (mtarld) |
| 181 | +* feature#58946[Console] Add support of millisecondes for`formatTime` (SebLevDev) |
| 182 | +* feature#48142[Security][SecurityBundle] User authorization checker (natewiebe13) |
| 183 | +* feature#59075[Uid] Add ``@return` non-empty-string` annotations to`AbstractUid` and relevant functions (niravpateljoin) |
| 184 | +* feature#59114[ErrorHandler] support non-empty-string/non-empty-list when patching return types (xabbuh) |
| 185 | +* feature#59020[AssetMapper] add support for assets pre-compression (dunglas) |
| 186 | +* feature#58651[Mailer][Notifier] Add webhooks signature verification on Sweego bridges (welcoMattic) |
| 187 | +* feature#59026[VarDumper] Add caster for Socket instances (nicolas-grekas) |
| 188 | +* feature#58989[VarDumper] Add caster for`AddressInfo` objects (nicolas-grekas) |
| 189 | + |