Skip to content

v4.1.1 — one shared-value discovery everywhere

Choose a tag to compare

@CreativeNative CreativeNative released this 05 Sep 10:54
· 28 commits to master since this release

Maintenance release, no behaviour change.

  • LocaleCompletenessResolver no longer carries its own copy of the "which embedded properties are shared" discovery. It takes SharedValueSynchronizer in place of AttributeHelper (second constructor argument) and derives the properties it must not inspect from sharedProperties() -- the same discovery tmi:translation:sync-shared and the flush-time propagation use, so the three cannot disagree. Same exclusions as before: shared columns, whole shared embeddables, shared inner properties including class-level sharing minus #[EmptyOnTranslate] overrides. Only relevant if you construct the resolver yourself; the service definition is updated (UPGRADING, "Behavioural Changes (4.1)" § 3).
  • AttributeHelper::isEmbeddableShared()'s docblock names its real caller.

Quality gate at the tag: 730 tests, 6,723 assertions, 100 % line coverage (1,957 lines), PHPStan level max with 0 errors.