Weave Code
Weaver
Helps Laravel developers discover, compare, and choose open-source packages. See popularity, security, maintainers, and scores at a glance to make better decisions.
Feedback
Share your thoughts, report bugs, or suggest improvements.
Subject
Message

Serializer Laravel Package

jms/serializer

jms/serializer is a powerful PHP library for (de)serializing complex data to and from JSON and XML. It supports dates, intervals, Doctrine ORM integration, versioning for APIs, circular references, exclusion strategies, and configuration via XML, YAML, or annotations.

View on GitHub
Deep Wiki
Context7
3.15.0

Merged pull requests:

3.14.0-rc2

Merged pull requests:

3.14.0

Merged pull requests:

  • Avoid duplicate/invalid definitions when loading the php attributes using the annotation driver #1340 (goetas)
3.9.0

Implemented enhancements:

  • Add support for skippable (de)serialization handlers #1238 (bobvandevijver)
  • added support for milliseconds in DateInterval deserialization #1234 (ivoba)

Fixed bugs:

  • Do not load entities when deserializing if their identifier is not ex… #1247 (goetas)
  • Do not use excluded fields when fetching entities #1246 (goetas)
  • Ensure accessors are cached per property when using reflection #1237 (goetas)

Closed issues:

  • Annotation cache does not honor naming strategy #1244
  • Authorization Bypass Vulnerability - v1.14.1 #1242
  • @SkipWhenEmpty and @Exclude combination leads to unexpected behavior #1240
  • How to pass MetadataFactory::create() into SerializationVisitorInterface::startVisitingObject()? #1226
  • Custom type in array key is not respected when serializing to JSON #1223
  • xml:id or xml:lang attributes handling #1221
  • Accessing static property as non static #1156
  • AbstractVisitor::getElementType() must be of the type array or null, string returned #1027

Merged pull requests:

3.8.0

Implemented enhancements:

  • Use doctrine/lexer instead of hoa/compiler #1212 (goetas)

Fixed bugs:

  • Consider exclude rules on parents if defined #1206 (goetas)

Closed issues:

  • Serializer Group #1213
  • Notice: Accessing static property Proxies\__CG__\examplemodel\inherit\Customers::$lazyPropertiesNames as non static #1209
  • Unserialization failure after upgrading to 3.7.0 (excludeIf related?) #1207
  • [RFC] Removing abandoned hoa from serializer #1182
  • hoa/protocol package conflicts with laravel helper #1154

Merged pull requests:

3.7.0

Implemented enhancements:

  • Allow deserialization of typehinted DateTimeInterface to DateTime class #1193 (goetas)
  • Infer types from PHP 7.4 type declarations #1192 (goetas)
  • Support conditional exclude for classes #1099 (arneee)

Fixed bugs:

  • Exclude if at class level are not merge #1203
  • Class level expression exclusion strategy should work with hierarchies #1204 (goetas)

Closed issues:

  • Specify Type as nullable? #1191
  • Does someone know how to use phpdoc with serializer? #1185
  • Serializer doesn't keep types but convert them if not it can #1181
  • ConditionalExpose/Exclude annotation does not work on class level #1098

Merged pull requests:

3.6.0

Implemented enhancements:

  • DateTime parsed invalid date #1152
  • do not hide Exceptions from custom handlers but correctly handle null #1169 (Hikariii)

Fixed bugs:

Closed issues:

  • thrown Exceptions are hidden when serializing complex objects with a handler #1168

Merged pull requests:

  • test serializing entity that uses Discriminator and extends some base… #1174 (FrKevin)
  • Handle ObjectConstructor returning NULL #1172 (jankramer)
  • test symfony translator contract #1171 (goetas)
3.5.0

Implemented enhancements:

Fixed bugs:

  • Make sure serialization context is immutable #1159 (goetas)

Merged pull requests:

3.4.0

Implemented enhancements:

Closed issues:

  • [Improvement] Ability to define a global exclusion_policy: ALL for all classes. #1144
  • Embed JSON string without extra escape #1142
  • Make possible to set ArrayCollectionHandler classes from outside #1131

Merged pull requests:

3.3.0

Implemented enhancements:

  • Update major version that v2.x deprecation will be removed #1134 (carusogabriel)
  • Implement short expose syntax for XML as it is available for YAML #1127 (goetas)

Fixed bugs:

  • Avoid implicit expose of a property instead of virtual-property #1126 (goetas)

Closed issues:

  • Accessing static property as non static #1122
  • Travis builds on 1.x are failing #1120

Merged pull requests:

  • Allow failures on php "7.4snapshot" (waiting for stable symfony 4.4) #1128 (goetas)
3.2.0

Fixed bugs:

  • PHP7.4: Deprecated warning - serializationContext.php on line 152 #1111

Closed issues:

  • StaticPropertyMetadata first constructor argument not nullable #1116
  • Add support for PSR-7 URIInterface objects #1115
  • Upgraded 2.4 -> 3.4 / Symfony 4.3.3 #1112
  • Empty namespace #1087
  • Format constants (JSON, XML) #1079
  • @ExclusionPolicy(policy="ALL") causes PHP notice message #1073

Merged pull requests:

3.14.0-rc1

Merged pull requests:

  • Add PHP attributes support #1332 (goetas)
  • Deprecate [@ReadOnly](https://github.com/ReadOnly) annotation in favor of [@ReadOnlyProperty](https://github.com/ReadOnlyProperty) #1333 (mbabker)
3.13.0

Merged pull requests:

3.12.3

Merged pull requests:

  • [docs] Add documentation to deserialize on existing objects #1308 (gam6itko)
  • Allow phpstan/phpdoc-parser v0.5 #1307 (simPod)
3.12.2

Fixed bugs:

  • Undefined offset: 0 when using [@var](https://github.com/var) null|string instead of [@var](https://github.com/var) string|null #1301 (ruudk)

Merged pull requests:

3.12.1

Fixed bugs:

Merged pull requests:

Changelog

3.12.0

Fixed bugs:

  • Remove from the serialization groups if no match #1291 (goetas)

Merged pull requests:

3.11.0

Implemented enhancements:

  • Allow installing and build on PHP 8 #1267 (sanmai)
  • Use phpstan/phpdoc-parser to retrieve additional type information from PhpDoc #1261 (Namoshek)
  • DoctrineObjectConstructor Using array_key_exists() on objects is deprecated in php7.4 #1253 (gam6itko)
  • Add Composer cache for v2 on Travis CI #1266 (sanmai)
  • Allow interfaces for DocBlock #1256 (marein)
  • Allow interfaces for typed properties #1254 (marein)
3.1.1

Fixed bugs:

  • Could not deserialize object if all properties have not type #1102
  • Revert "Move type check when deserializing into the graph navigator" #1103 (goetas)
3.10.0

Implemented enhancements:

  • Allow null to be visited if is a root object #1250 (goetas)
  • Resolve collections from DocBlock #1214 (dgafka)

Merged pull requests:

3.1.0

Implemented enhancements:

Fixed bugs:

  • Fix for failing doctrine object constructor on embeddable class #1031 (notrix)

Closed issues:

  • Behavior serializeNull -> not always honored in 2.* (but was in 1.*) #1101
  • Support for iterable #1094
  • Prevent deserialisation with missing required field #1090
  • Allow using @XmlValue together with @Accessor/@AccessType #1083
  • Support *.yaml extension #1077
  • Instructions for upgrading from addData in 1.x don't work #1030

Merged pull requests:

3.0.1

Fixed bugs:

  • Do not throw exception when visiting null in custom handler #1076 (goetas)
3.0.0

Breaking changes:

  • Revert v2 nested groups and release 3.0 #1071 (goetas)

Implemented enhancements:

Closed issues:

  • [RFC] revert #946 and release new major #1058

Merged pull requests:

2.3.0

Implemented enhancements:

  • Expose and test GroupsExclusionStrategy::getGroupsFor() #1069 (goetas)
  • add options property to XmlDeserializationVisitorFactory and XmlDeserializationVisitor, propagate defined value from factory to simplexml_load_string call #1068 (kopeckyales)

Closed issues:

  • Override existing property with another #1067
  • disabling cdata by default #1065
  • unwrap child class instance #1064
  • Make JsonDeserializationVisitor extendable #1055

Merged pull requests:

  • doc update: registerHandler() example #1072 (cebe)
  • Updated suggestion for JsonSerializationVisitor::addData replacement #1066 (theoboldt)
  • Add fix to UPGRADING.md #1062 (Jean85)
2.2.0

Implemented enhancements:

Fixed bugs:

  • xmlRootPrefix missing from unserialized metadata #1050
  • Non-locale aware encoding of doubles, closes #1041 #1042 (Grundik)

Closed issues:

  • GROUP BY #1051
  • Using @Until and @Since on class level #1048
  • [Semantical Error] The annotation "@generated" in class JMS\Serializer\Type\InnerParser was never imported #1046
  • ReflectionException when (de)serializing unless fully qualified classname is used #1045
  • Add use of annotation registry to docs #1044
  • Values of type "double" should not use locale-specific encoding #1041
  • SF4: JMS serializer seems to be ignoring global naming strategy #1037
  • @SerializedName not being ignored since 2.x is bug or feature? #1036
  • What should I use instead of the dropped GenericDeserializationVisitor class? #1035
  • DateTime and DateTimeImmutable from PHP 7.1 serialization and deserialization with microseconds #1033
  • Provide an option to the SerializeBuilder to set AccessType to a specified value globally #1025
  • Serialize Generator #1023

Merged pull requests:

2.1.0

Closed issues:

  • Compile error Declaration of [...] must be compatible with [...] #1024
  • Exclude field for depth #1022

Merged pull requests:

2.0.2

Fixed bugs:

  • jms serializer 2.0 Error in debug mode #1018
  • AbstractDoctrineTypeDriver::normalizeFieldType() must be of the type string, null given #1015
  • allow empty strings and numbers as metadata type parameters #1019 (goetas)
  • internal classes have false in reflection::getFilename() #1013 (chregu)

Closed issues:

  • DateTime converted to ArrayObject instead of string in custom visitor class #1017

Merged pull requests:

2.0.1
2.0.0-RC1
2.0.0-beta1
2.0.0
1.9.2
1.9.1
1.9.0
1.8.1
1.8.0
1.7.1
1.7.0-RC2
1.7.0-RC1
1.7.0
1.6.2
1.6.1
1.6.0-RC1
1.6.0
1.5.0-RC1
1.5.0
1.4.2
1.4.1
1.4.0
1.3.1
1.3.0
1.2.0
1.14.1

Closed issues:

  • Virtual Property do not get serialized if getter name conflict with a class property #1164
  • SerializationGraphNavigator not receiving correct serializeNull config during initialize #1158
  • SerializationGraphNavigator unaware of serializeNull change of context when altered in PreSerializeEvent #1157
  • Memory leaks #1150
  • Properties with @Groups annotations included in output when no SerializationContext given. #1149

Merged pull requests:

  • PHP7.4 ternary operator deprecation #1163 (adhocore)
  • Test 1.x on PHP 7.3 on Travis; fix builds for PHP 5.5 #1119 (sanmai)
1.14.0
1.13.0
1.12.1
1.12.0
1.11.0
1.10.0
1.1.0
1.0.0
0.16.0
0.15.0
0.14.0
0.13.0
0.12.0
0.11.0

* This Changelog was automatically generated by github_changelog_generator

Weaver

How can I help you explore Laravel packages today?

Conversation history is not saved when not logged in.
Prompt
Add packages to context
No packages found.
unabomber/timezone
delatbabel/contacts
astritzeqiri/g-recaptcha
kevinongko/laravel-genode
developeruz/laravel-analytics
robbiep/afterthedeadline
frankkessler/incontact-laravel-oauth2-rest
jlxh/laravel-userlog
davidmgilo/timetables
qylinfly/role-permission
reflect-digital/conduit
takashato/laravel-vietqr
aitor24/laralang
kraenzle-ritter/entity-relations
dindigital/din-image
pomirleanu/image-colors
sawmainek/laravel-api-generator
delatbabel/jsonresponses
mouhamedfd/permissions-generator
eduplus/qr