Skip to content

Upgrading jms/serializer 0.16 to 1

Breaking0.16.0 → 1.14.1Breaking3Deprecated1New51Changed21Fixed88Other31

BreakingUpgrade verdict

3 breaking changes.

  • Renames replaceData to setData.
  • Removes the deprecated FileCacheReader for doctrine annotations.
  • This release undoes a previous change to directory handling, because that change broke other libraries that depend on this package.
  • Adds deprecations.
4 items need code or config changes

PHP requirement changed in 1.11.0: >=5.3.2 → ^5.5|^7.0.

Adds doctrine/instantiator ^1.0.3, phpoption/phpoption ^1.1.

Moves doctrine/annotations 1.* → ^1.0, jms/metadata ~1.1 → ^1.3. Your build may pick other versions.

Breaking3
Renames replaceData to setData.
replaceDatasetData
Removes the deprecated FileCacheReader for doctrine annotations.
FileCacheReader
Reverts the directory changes because they caused a backward compatibility break in some dependent libraries.
Deprecated1
Adds deprecations.

Generated by DepDelta from published PHP source. Not mixed with prose notes.

  • removed: const GraphNavigator.DIRECTION_DESERIALIZATION
  • removed: const GraphNavigator.DIRECTION_SERIALIZATION
  • changed: class Serializer implements SerializerInterface → class Serializer implements SerializerInterface, ArrayTransformerInterface
  • changed: class XmlDeserializationVisitor extends AbstractVisitor → class XmlDeserializationVisitor extends AbstractVisitor implements NullAwareVisitorInterface
  • changed: constructor AbstractVisitor(PropertyNamingStrategyInterface $namingStrategy) → constructor AbstractVisitor($namingStrategy, AccessorStrategyInterface $accessorStrategy = …)
  • changed: constructor GraphNavigator(MetadataFactoryInterface $metadataFactory, HandlerRegistryInterface $handlerRegistry, ObjectConstructorInterface $objectConstructor, EventDispatcherInterface $dispatcher = …) → constructor GraphNavigator(MetadataFactoryInterface $metadataFactory, HandlerRegistryInterface $handlerRegistry, ObjectConstructorInterface $objectConstructor, EventDispatcherInterface $dispatcher = …, ExpressionEvaluatorInterface $expressionEvaluator = …)
  • changed: constructor Serializer(MetadataFactoryInterface $factory, HandlerRegistryInterface $handlerRegistry, ObjectConstructorInterface $objectConstructor, MapInterface $serializationVisitors, MapInterface $deserializationVisitors, EventDispatcherInterface $dispatcher = …, TypeParser $typeParser = …) → constructor Serializer(MetadataFactoryInterface $factory, HandlerRegistryInterface $handlerRegistry, ObjectConstructorInterface $objectConstructor, MapInterface $serializationVisitors, MapInterface $deserializationVisitors, EventDispatcherInterface $dispatcher = …, TypeParser $typeParser = …, ExpressionEvaluatorInterface $expressionEvaluator = …)
  • changed: constructor YamlSerializationVisitor(PropertyNamingStrategyInterface $namingStrategy) → constructor YamlSerializationVisitor($namingStrategy, AccessorStrategyInterface $accessorStrategy = …)
  • changed: final class GraphNavigator → final class GraphNavigator implements GraphNavigatorInterface
  • added: const GraphNavigatorInterface.DIRECTION_DESERIALIZATION
  • added: const GraphNavigatorInterface.DIRECTION_SERIALIZATION
  • added: constructor XmlSerializationVisitor($namingStrategy, AccessorStrategyInterface $accessorStrategy = …)
  • added: interface ArrayTransformerInterface
  • added: interface GraphNavigatorInterface
  • added: interface NullAwareVisitorInterface extends VisitorInterface
  • added: method ArrayTransformerInterface.fromArray(array $data, $type, DeserializationContext $context = …)
  • added: method ArrayTransformerInterface.toArray($data, SerializationContext $context = …)
  • added: method Context.getAttribute($key)
  • added: method Context.getCurrentPath()
  • added: method Context.hasAttribute($key)
  • added: method GenericSerializationVisitor.hasData($key)
  • added: method GenericSerializationVisitor.setData($key, $value)
  • added: method GraphNavigatorInterface.accept($data, array $type = …, Context $context)
  • added: method JsonSerializationVisitor.addData($key, $value)
  • added: method JsonSerializationVisitor.getNavigator()
  • added: method JsonSerializationVisitor.getRoot()
  • added: method JsonSerializationVisitor.hasData($key)
  • added: method JsonSerializationVisitor.setData($key, $value)
  • added: method JsonSerializationVisitor.setNavigator(GraphNavigator $navigator)
  • added: method JsonSerializationVisitor.setRoot($data)
  • added: method JsonSerializationVisitor.startVisitingObject(ClassMetadata $metadata, $data, array $type, Context $context)
  • added: method JsonSerializationVisitor.visitBoolean($data, array $type, Context $context)
  • added: method JsonSerializationVisitor.visitDouble($data, array $type, Context $context)
  • added: method JsonSerializationVisitor.visitInteger($data, array $type, Context $context)
  • added: method JsonSerializationVisitor.visitNull($data, array $type, Context $context)
  • added: method JsonSerializationVisitor.visitProperty(PropertyMetadata $metadata, $data, Context $context)
  • added: method JsonSerializationVisitor.visitString($data, array $type, Context $context)
  • added: method NullAwareVisitorInterface.isNull($value)
  • added: method SerializationContext.getInitialType()
  • added: method SerializationContext.setInitialType($type)
  • added: method Serializer.fromArray(array $data, $type, DeserializationContext $context = …)
  • added: method Serializer.setDeserializationContextFactory(DeserializationContextFactoryInterface $deserializationContextFactory)
  • added: method Serializer.setSerializationContextFactory(SerializationContextFactoryInterface $serializationContextFactory)
  • added: method Serializer.toArray($data, SerializationContext $context = …)
  • added: method SerializerBuilder.setAccessorStrategy(AccessorStrategyInterface $accessorStrategy)
  • added: method SerializerBuilder.setAdvancedNamingStrategy(AdvancedNamingStrategyInterface $advancedNamingStrategy)
  • added: method SerializerBuilder.setDeserializationContextFactory($deserializationContextFactory)
  • added: method SerializerBuilder.setExpressionEvaluator(ExpressionEvaluatorInterface $expressionEvaluator)
  • added: method SerializerBuilder.setMetadataCache(CacheInterface $cache)
  • added: method SerializerBuilder.setSerializationContextFactory($serializationContextFactory)
  • added: method XmlDeserializationVisitor.isNull($value)
  • added: method XmlSerializationVisitor.isFormatOutput()
  • added: method XmlSerializationVisitor.setFormatOutput($formatOutput)
  • added: protected method SerializerBuilder.getAccessorStrategy()
  • added: protected property AbstractVisitor.accessor
  • added: class DefaultAccessorStrategy implements AccessorStrategyInterface
  • added: class ExpressionAccessorStrategy implements AccessorStrategyInterface
  • added: constructor ExpressionAccessorStrategy(ExpressionEvaluatorInterface $evaluator, AccessorStrategyInterface $fallback)
  • added: interface AccessorStrategyInterface
  • added: method AccessorStrategyInterface.getValue($object, PropertyMetadata $metadata)
  • added: method AccessorStrategyInterface.setValue($object, $value, PropertyMetadata $metadata)
  • added: method DefaultAccessorStrategy.getValue($object, PropertyMetadata $metadata)
  • added: method DefaultAccessorStrategy.setValue($object, $value, PropertyMetadata $metadata)
  • added: method ExpressionAccessorStrategy.getValue($object, PropertyMetadata $metadata)
  • added: method ExpressionAccessorStrategy.setValue($object, $value, PropertyMetadata $metadata)
  • added: class XmlDiscriminator
  • added: constructor VirtualProperty(array $data)
  • added: final class SkipWhenEmpty
  • added: property Discriminator.groups
  • added: property Exclude.if
  • added: property Expose.if
  • added: property VirtualProperty.exp
  • added: property VirtualProperty.name
  • added: property VirtualProperty.options
  • added: property XmlCollection.namespace
  • added: property XmlCollection.skipWhenEmpty
  • added: property XmlDiscriminator.attribute
  • added: property XmlDiscriminator.cdata
  • added: property XmlDiscriminator.namespace
  • changed: constructor DoctrineObjectConstructor(ManagerRegistry $managerRegistry, ObjectConstructorInterface $fallbackConstructor) → constructor DoctrineObjectConstructor(ManagerRegistry $managerRegistry, ObjectConstructorInterface $fallbackConstructor, $fallbackStrategy = …)
  • added: const DoctrineObjectConstructor.ON_MISSING_EXCEPTION
  • added: const DoctrineObjectConstructor.ON_MISSING_FALLBACK
  • added: const DoctrineObjectConstructor.ON_MISSING_NULL
  • added: abstract class CallableContextFactory
  • added: class CallableDeserializationContextFactory extends CallableContextFactory implements DeserializationContextFactoryInterface
  • added: class CallableSerializationContextFactory extends CallableContextFactory implements SerializationContextFactoryInterface
  • added: class DefaultDeserializationContextFactory implements DeserializationContextFactoryInterface
  • added: class DefaultSerializationContextFactory implements SerializationContextFactoryInterface
  • added: constructor CallableContextFactory(callable $callable)
  • added: interface DeserializationContextFactoryInterface
  • added: interface SerializationContextFactoryInterface
  • added: method CallableDeserializationContextFactory.createDeserializationContext()
  • added: method CallableSerializationContextFactory.createSerializationContext()
  • added: method DefaultDeserializationContextFactory.createDeserializationContext()
  • added: method DefaultSerializationContextFactory.createSerializationContext()
  • added: method DeserializationContextFactoryInterface.createDeserializationContext()
  • added: method SerializationContextFactoryInterface.createSerializationContext()
  • added: protected method CallableContextFactory.createContext()
  • changed: constructor LazyEventDispatcher(ContainerInterface $container) → constructor LazyEventDispatcher($container)
  • added: method Event.isPropagationStopped()
  • added: method Event.stopPropagation()
  • added: class SymfonyValidatorValidatorSubscriber implements EventSubscriberInterface
  • added: constructor DoctrineProxySubscriber($skipVirtualTypeInit = …, $initializeExcluded = …)
  • added: constructor SymfonyValidatorValidatorSubscriber(ValidatorInterface $validator)
  • added: method DoctrineProxySubscriber.onPreSerializeTypedProxy(PreSerializeEvent $event, $eventName, $class, $format, EventDispatcherInterface $dispatcher)
  • added: method SymfonyValidatorValidatorSubscriber.onPostDeserialize(Event $event)
  • added: static method SymfonyValidatorValidatorSubscriber.getSubscribedEvents()
  • changed: constructor ValidationFailedException(ConstraintViolationList $list) → constructor ValidationFailedException(ConstraintViolationListInterface $list)
  • added: class ExpressionLanguageRequiredException extends LogicException
  • added: class ObjectConstructionException extends RuntimeException implements Exception
  • added: class ExpressionLanguageExclusionStrategy
  • added: constructor ExpressionLanguageExclusionStrategy(ExpressionEvaluatorInterface $expressionEvaluator)
  • added: method ExpressionLanguageExclusionStrategy.shouldSkipProperty(PropertyMetadata $property, Context $navigatorContext)
  • added: method GroupsExclusionStrategy.getGroupsFor(Context $navigatorContext)
  • added: class ExpressionEvaluator implements ExpressionEvaluatorInterface
  • added: constructor ExpressionEvaluator(ExpressionLanguage $expressionLanguage, array $context = …, array $cache = …)
  • added: interface ExpressionEvaluatorInterface
  • added: method ExpressionEvaluator.evaluate($expression, array $data = …)
  • added: method ExpressionEvaluator.setContextVariable($name, $value)
  • added: method ExpressionEvaluatorInterface.evaluate($expression, array $data = …)
  • changed: constructor FormErrorHandler(TranslatorInterface $translator) → constructor FormErrorHandler(TranslatorInterface $translator = …, $translationDomain = …)
  • changed: constructor LazyHandlerRegistry(ContainerInterface $container, array $handlers = …) → constructor LazyHandlerRegistry($container, array $handlers = …)
  • added: class StdClassHandler implements SubscribingHandlerInterface
  • added: constructor ArrayCollectionHandler($initializeExcluded = …)
  • added: method DateHandler.deserializeDateIntervalFromJson(JsonDeserializationVisitor $visitor, $data, array $type)
  • added: method DateHandler.deserializeDateIntervalFromXml(XmlDeserializationVisitor $visitor, $data, array $type)
  • added: method DateHandler.deserializeDateTimeImmutableFromJson(JsonDeserializationVisitor $visitor, $data, array $type)
  • added: method DateHandler.deserializeDateTimeImmutableFromXml(XmlDeserializationVisitor $visitor, $data, array $type)
  • added: method DateHandler.serializeDateTimeImmutable(VisitorInterface $visitor, \DateTimeImmutable $date, array $type, Context $context)
  • added: method StdClassHandler.serializeStdClass(VisitorInterface $visitor, \stdClass $stdClass, array $type, Context $context)
  • added: static method StdClassHandler.getSubscribingMethods()
  • removed: method VirtualPropertyMetadata.serialize()
  • changed: constructor StaticPropertyMetadata($className, $fieldName, $fieldValue) → constructor StaticPropertyMetadata($className, $fieldName, $fieldValue, array $groups = …)
  • changed: method ClassMetadata.setDiscriminator($fieldName, array $map) → method ClassMetadata.setDiscriminator($fieldName, array $map, array $groups = …)
  • added: class ExpressionPropertyMetadata extends PropertyMetadata
  • added: constructor ExpressionPropertyMetadata($class, $fieldName, $expression)
  • added: constructor PropertyMetadata($class, $name)
  • added: method ExpressionPropertyMetadata.getValue($object)
  • added: method ExpressionPropertyMetadata.serialize()
  • added: method ExpressionPropertyMetadata.setAccessor($type, $getter = …, $setter = …)
  • added: method ExpressionPropertyMetadata.setValue($obj, $value)
  • added: method ExpressionPropertyMetadata.unserialize($str)
  • added: method PropertyMetadata.setValue($obj, $value)
  • added: property ClassMetadata.discriminatorGroups
  • added: property ClassMetadata.usingExpression
  • added: property ClassMetadata.xmlDiscriminatorAttribute
  • added: property ClassMetadata.xmlDiscriminatorCData
  • added: property ClassMetadata.xmlDiscriminatorNamespace
  • added: property ExpressionPropertyMetadata.expression
  • added: property PropertyMetadata.excludeIf
  • added: property PropertyMetadata.skipWhenEmpty
  • added: property PropertyMetadata.xmlCollectionSkipWhenEmpty
  • added: property PropertyMetadata.xmlEntryNamespace
  • added: protected method ExpressionPropertyMetadata.unserializeProperties($str)
  • added: protected method PropertyMetadata.unserializeProperties($str)
  • added: protected method StaticPropertyMetadata.unserializeProperties($str)
  • added: class NullDriver implements DriverInterface
  • added: method NullDriver.loadMetadataForClass(\ReflectionClass $class)
  • added: interface AdvancedNamingStrategyInterface
  • added: method AdvancedNamingStrategyInterface.getPropertyName(PropertyMetadata $property, Context $context)
  • removed: method SerializerExtension.createContext()
  • added: constructor SerializerRuntimeHelper(SerializerInterface $serializer)
  • added: final class SerializerRuntimeExtension extends \Twig_Extension
  • added: final class SerializerRuntimeHelper
  • added: method SerializerRuntimeExtension.getFilters()
  • added: method SerializerRuntimeExtension.getFunctions()
  • added: method SerializerRuntimeExtension.getName()
  • added: method SerializerRuntimeHelper.serialize($object, $type = …, SerializationContext $context = …)
  • added: protected property SerializerRuntimeHelper.serializer