PackageTrack
Sign in Get early access

jms/serializer

Library for (de-)serializing data of any complexity; supports XML, and JSON.

3.32.7 146M downloads/mo #453 most downloaded on Packagist schmittjoh/serializer

What this package is like to depend on

Last release 5 months ago

11 Mar 2026

Release timing varies

gaps range from 2 weeks to 8 months

Some releases are documented

notes for 37 of 87 stable releases

Nothing withdrawn

no release was ever pulled

14 years old

95 releases · first in 2013

2 releases in the last 12 months

see the full history below

Release timeline

95 releases · Jan 2013 to Mar 2026
2014 2016 2018 2020 2022 2024 2026
Release Pre-release

Releases

latest 60 of 95
  1. 3.32.7 11 Mar 2026
    Release notes

    What's Changed

    New Contributors

    Full Changelog: 3.32.6...3.32.7

    Open source →
  2. 3.32.6 28 Nov 2025
    Release notes

    What's Changed

    New Contributors

    Full Changelog: 3.32.5...3.32.6

    Open source →
  3. 3.32.5 26 May 2025
    Release notes

    What's Changed

    New Contributors

    Full Changelog: 3.32.4...3.32.5

    Open source →
  4. 3.32.4 06 Apr 2025
    Release notes

    What's Changed

    Full Changelog: 3.32.3...3.32.4

    Open source →
  5. 3.32.3 11 Feb 2025
    Release notes

    What's Changed

    Full Changelog: 3.32.2...3.32.3

    Open source →
  6. 3.32.2 03 Jan 2025
    Release notes

    What's Changed

    Full Changelog: 3.32.1...3.32.2

    Open source →
  7. 3.32.1 03 Dec 2024
    Release notes

    What's Changed

    New Contributors

    Full Changelog: 3.31.1...3.32.1

    Open source →
  8. 3.31.1 31 Oct 2024
    Release notes

    What's Changed

    Full Changelog: 3.31.0...3.31.1

    Open source →
  9. 3.31.0 16 Oct 2024
    Release notes

    What's Changed

    New Contributors

    Full Changelog: 3.30.0...3.31.0

    Open source →
  10. 3.30.0 24 Feb 2024
    Release notes

    What's Changed

    • Require PHP 7.4 and Symfony 5.4 by @mbabker in #1528
    • build(ci): Add Rector into static analysis. by @scyzoryck in #1530
    • Remove min-stability by @scyzoryck in #1535
    • Fix serialization of BackedEnum - annotation without name/value by @iKsSs in #1536
    • [B/C Break] Make the Annotations package optional in the builder API by @mbabker in #1471

    Upgrading

    Starting from this release doctrine/annotations is an optional package.
    If you still want to use them, please make sure that you require in composer.json file.

    We strongly recommend to start using Attributes with PHP 8.
    You can easily migrate annotations to attributes with rector and Rector\Symfony\Set\SymfonySetList::ANNOTATIONS_TO_ATTRIBUTES rules.

    New Contributors

    Full Changelog: 3.29.1...3.30.0

    Open source →
  11. 3.29.1 14 Dec 2023

    Nothing published for this version

  12. 3.29.0 09 Dec 2023

    Nothing published for this version

  13. 3.28.0 03 Aug 2023

    Nothing published for this version

  14. 3.27.0 29 Jul 2023

    Nothing published for this version

  15. 3.26.0 24 Jun 2023

    Nothing published for this version

  16. 3.25.0 09 Jun 2023

    Nothing published for this version

  17. 3.24.0 04 Jun 2023

    Nothing published for this version

  18. 3.23.0 17 Feb 2023

    Nothing published for this version

  19. 3.22.0 03 Feb 2023

    Nothing published for this version

  20. 3.21.0 10 Jan 2023

    Nothing published for this version

  21. 3.20.0 06 Jan 2023

    Nothing published for this version

  22. 3.19.0 06 Jan 2023

    Nothing published for this version

  23. 3.18.2 12 Sep 2022

    Nothing published for this version

  24. 3.18.1 24 Aug 2022

    Nothing published for this version

  25. 3.18.0 06 Aug 2022

    Nothing published for this version

  26. 3.17.1 28 Dec 2021

    Nothing published for this version

  27. 3.17.0 14 Dec 2021

    Nothing published for this version

  28. 3.16.0 22 Nov 2021

    Nothing published for this version

  29. 3.15.0 14 Oct 2021
    Release notes

    Merged pull requests:

    Open source →
  30. 3.14.0 06 Aug 2021
    Release notes

    Merged pull requests:

    • Avoid duplicate/invalid definitions when loading the php attributes using the annotation driver #1340 (goetas)
    Open source →
  31. 3.14.0-rc2 06 Aug 2021 pre-release
    Release notes

    Merged pull requests:

    Open source →
  32. 3.14.0-rc1 01 Aug 2021 pre-release
    Release notes

    Merged pull requests:

    • Add PHP attributes support #1332 (goetas)
    • Deprecate @ReadOnly annotation in favor of @ReadOnlyProperty #1333 (mbabker)
    Open source →
  33. 3.13.0 05 Jul 2021
    Release notes

    Merged pull requests:

    Open source →
  34. 3.12.3 25 Apr 2021
    Release notes

    Merged pull requests:

    • [docs] Add documentation to deserialize on existing objects #1308 (gam6itko)
    • Allow phpstan/phpdoc-parser v0.5 #1307 (simPod)
    Open source →
  35. 3.12.2 23 Mar 2021
    Release notes

    Fixed bugs:

    • Undefined offset: 0 when using @var null|string instead of @var string|null #1301 (ruudk)

    Merged pull requests:

    Open source →
  36. 3.12.1 21 Mar 2021
    Release notes

    Fixed bugs:

    Merged pull requests:

    Changelog

    Open source →
  37. 3.12.0 04 Mar 2021
    Release notes

    Fixed bugs:

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

    Merged pull requests:

    Open source →
  38. 3.11.0 29 Dec 2020
    Release notes

    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)
    Open source →
  39. 3.10.0 29 Oct 2020
    Release notes

    Implemented enhancements:

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

    Merged pull requests:

    Open source →
  40. 3.9.0 26 Aug 2020
    Release notes

    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:

    Open source →
  41. 3.8.0 28 Jun 2020
    Release notes

    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:

    Open source →
  42. 3.7.0 23 May 2020
    Release notes

    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:

    Open source →
  43. 3.6.0 21 Mar 2020
    Release notes

    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)
    Open source →
  44. 3.5.0 22 Feb 2020
    Release notes

    Implemented enhancements:

    Fixed bugs:

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

    Merged pull requests:

    Open source →
  45. 3.4.0 14 Dec 2019
    Release notes

    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:

    Open source →
  46. 3.3.0 20 Sep 2019
    Release notes

    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)
    Open source →
  47. 3.2.0 04 Sep 2019
    Release notes

    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:

    Open source →
  48. 3.1.1 28 Jun 2019
    Release notes

    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)
    Open source →
  49. 3.1.0 25 Jun 2019
    Release notes

    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:

    Open source →
  50. 3.0.1 23 Apr 2019
    Release notes

    Fixed bugs:

    • Do not throw exception when visiting null in custom handler #1076 (goetas)
    Open source →
  51. 3.0.0 23 Apr 2019
    Release notes

    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:

    Open source →
  52. 2.3.0 17 Apr 2019
    Release notes

    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)
    Open source →
  53. 2.2.0 27 Feb 2019
    Release notes

    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:

    Open source →
  54. 2.1.0 11 Jan 2019
    Release notes

    Closed issues:

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

    Merged pull requests:

    Open source →
  55. 2.0.2 12 Dec 2018
    Release notes

    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:

    Open source →
  56. 2.0.1 29 Nov 2018

    Nothing published for this version

  57. 2.0.0 09 Nov 2018

    Nothing published for this version

  58. 2.0.0-beta1 12 Sep 2018 pre-release

    Nothing published for this version

  59. 2.0.0-RC1 17 Oct 2018 pre-release

    Nothing published for this version

  60. 1.14.1 22 Feb 2020
    Release notes

    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)
    Open source →

Every package, every release, already written down.

The archive is open and free. Watching your own project is what we are building next.

Browse the archive