CHANGELOG.md 58 KB

Change Log

1.7.1 (2017-05-15)

Fixed bugs:

  • Custom type handlers does not work with doctrine proxies anymore #765
  • Doctrine listener should not change the type on proxies with virtual type #768 (goetas)

Closed issues:

  • Missing bool type in graphNavigator.php in method accept() #764
  • The sub-class "Proxy-Class" is not listed in the discriminator of the base class "DiscriminatorClass" #459
  • Configure whether serializing empty array. #124

1.7.0 (2017-05-10)

Implemented enhancements:

  • Skip doctrine proxy initializations when exclusion strategy will exclude it #760 (goetas)

Closed issues:

  • Error deserializing a map of (nullable) objects #762
  • Add data using setData produces hashes instead of arrays #761

1.7.0-RC2 (2017-05-05)

Implemented enhancements:

  • Make sure input is always a string #755 (goetas)
  • Allow namespaced XML element discriminator #753 (goetas)

Fixed bugs:

  • Allow to skip "empty serialization result" when serializing #757 (goetas)

Closed issues:

Merged pull requests:

  • Add a quick reference for how to enable expression evaluator #758 (chasen)
  • Allow for setExpressionEvaluator usage to be chainable #756 (chasen)
  • Fix typo in annotation docs #754 (JustBlackBird)

1.7.0-RC1 (2017-04-25)

Implemented enhancements:

  • Allow to configure the doctrine object constructor #751 (goetas)
  • Trigger doctrine events on doctrine proxies #750 (goetas)
  • Added stdClass serialization handler #749 (goetas)
  • Allow to typehint for the type (array/hash) of the root item to be serialized #728 (goetas)

Fixed bugs:

  • Array gets serialized as object, not as array, depending on order. #709
  • Doctrine Proxies and serializer.pre_serialize #666
  • Fix stdClass inconsistencies when serializing to JSON #730 (goetas)
  • Allow to typehint for the type \(array/hash\) of the root item to be serialized #728 (goetas)

Closed issues:

  • Array serialized as JSON object #706
  • From old issue #290 #670
  • Form validation error response - field names not converted from camel case to underscore #587
  • Ability to getGroups on Context #554
  • SerializedName misleading usage and constructor issue #548
  • Discriminator should support xmlAttribute #547
  • Public method accessor is required for excluded/not exposed properties #519
  • Entity changed via preserialize and wrongly persisted #509
  • XML deserialization properties null when using default namespace #504
  • AccessorOrder is ignored #501
  • Deserialization of sub entites with non existing id #492
  • [Question] Handler/Converter for specific field #476
  • getClassName regex may incorrectly retrieve a false class name from comments above the class. #460
  • Multiple types for property? #445
  • Allow non-qualified XML serialization when XML namespaces are part of the metadata #413
  • Discriminator field name #412
  • Serializing to and deserializing from DateTime is inconsistent #394
  • ManyToOne and OneToMany Serialization Groups #387
  • Static SubscribingHandlerInterface::getSubscribingMethod #380
  • User defined ordering function #379
  • serialized_name for discriminator #372
  • Serializing object with empty array #350
  • VirtualProperty(s) are ignored with AccessorOrder #349
  • When setting a group of serialization, the inheritance doesn't work anymore #328
  • Serialization of empty object #323
  • "Can't pop from an empty datastructure" error when multiple serializer calls #319
  • virtual_properties cannot be excluded with groups #291
  • Integer serialized as String using VirtualProperty #289
  • SimpleObjectProxy is not implement abstract methods of Proxy class #287
  • Serializing array that have one of the element or member of an element an empty object #277
  • Serialization with groups return json object instead array #267
  • The purpose of "Force JSON output to "{}" instead of "[]" if it contains either no properties or all properties are null" #248
  • Json array serialisation #242
  • Ignoring "Assert" in output doc if excluded #241
  • Alphabetical accessor order doesn't respect SerializedName overrides #240
  • Request Annotation for Array Data #234
  • Allow @var instead of @Type when deserializing #233
  • Strange issue with groups exclusion strategy #230
  • Warning when deserializing removed entity #216
  • Where in the JMS code does the navigator call VisitProperty method for visitor #207
  • Property of the type array is not in alphabetic order after serialization #196
  • Magic and inconsistencies in array serialization #191
  • PreSerialization Event not handled if the value is not object #162
  • Hierarchical object serialization does not appear to inherit metadata from ancestors for metadata defined in XML #151
  • When using MaxDepth, Serialization of an array entitiy is not working #132
  • Switch to change default naming strategy #128
  • Throw exceptions on invalid input #112
  • Recursion detected error when serialization groups are in use #96
  • Allow serialization groups to be accessible within event subscriber callbacks. #84
  • Allow Constructed Object to be Passed to Deserialize #79
  • JSON recursion when first object in root list is empty #61
  • Can't serialize an array with an empty object #59

Merged pull requests:

  • Added runtime twig extension support (significant performance improvements) #747 (goetas)

1.6.2 (2017-04-17)

Fixed bugs:

1.6.1 (2017-04-12)

Fixed bugs:

  • Do not output the XML node when the object will be emtpy #744 (goetas)

Closed issues:

  • XmlList not working since version 1.5.0 with xmlns attributes #742
  • DoctrineObjectConstructor: how to use it without Symfony, in a PHP project #741
  • Outdated docs site #733
  • Allow data access to Property naming strategy #717
  • Can't hint interface using @Type to trigger custom handler #631
  • JSON/YAML encoding changes #617
  • Why do we need this check inside SerializedName constructor, if there is name? #558
  • Is it possible to deserialize Collection from Json #534
  • PhpCollection 0.4 #531
  • Possible mismatch of xml-attribute-map and $pMetadata->xmlAttribute in XmlDriver.php #422
  • Access level propose for Handler/DateHandler.php #386
  • Type DateTime and Timestamp (U format) #343

Merged pull requests:

1.6.0 (2017-03-24)

Implemented enhancements:

  • Add DateTimeImmutable support to DateHandler #543

Fixed bugs:

  • Virtual property having type overriden by doctrine metadata #276

Closed issues:

  • Serialize a subclass #735
  • How to handle Doctrine not found entity ? #731
  • Regression with 1.5.0 => Undefined offset 15 #715
  • detect serialisation without groups set #546
  • Introducing the NormalizerInterface #537
  • How to set JSON serialization options? #535
  • @MaxDepth doesn't seem to be working #522
  • max_depth in YML config is ignored #498
  • Dynamic property type annotation #436
  • How to deserialize JSON if property might have a list of subobjects? #355
  • Object to array normalization #354
  • Serialize Doctrine object without references #353
  • Post_serialize doesn't serialize relation! #236
  • parsing string to date #217
  • Discriminator is not exposed when using a group exclusion strategy #157

1.6.0-RC1 (2017-03-14)

Implemented enhancements:

  • Add symfony expression in exclusions/expositions #406
  • check that cache directory was not created before throwing exception #729 (mente)
  • #720 - Adding support for DateInterval deserialization #721 (c0ntax)
  • Expression language based virtual properties #708 (goetas)
  • Xml namespaces improvements #644 (goetas)

Fixed bugs:

  • Serialize correctly empty intervals according to ISO-8601 #722 (goetas)

Closed issues:

  • Is it possible to achieve something like - shouldSerializeEmpty #725
  • How to handle DateTime serialization with fromArray method ? #723
  • DateInterval supported for serialization but not deserialization #720
  • Deserialization of collection when wraped by aditional xml tags #719
  • SerializedName based on a property value #716
  • Blank XML breaks XmlDeserializationVisitor error handling #701
  • Problem with FOSUserBundle ROLE serialization #690
  • Doctrine cache dependency when using setCacheDir #676
  • OneToOne entities are not deserialized if passing a nested one-to-one property #652
  • [RFC] Serialization refacotring #609
  • Object handler callback returns array, but serialized object = null #594
  • Cannot add @Discriminator field into specific @Group #557
  • Object check on SerializationContext::isVisiting() #502
  • Define cdata and namespace for @XmlList elements #480
  • Serializer working with parent class #376
  • Add support for array format #374
  • Obtain VirtualProperty value using a service #359
  • make deserialisation of non existing id's configurable #333
  • HHVM compatibility issue with undefined property JMS\Serializer\Metadata\ClassMetadata::$inline #312
  • resources serialization #275
  • I'm receiving "Class ArrayCollection does not exist" when serializing (temporarily solved with a workaround) #274
  • Can't use handlers on strings (and other simple types) #194
  • composer.json update for doctrine #178
  • Use expression for virtual properties #171
  • Handle classes that implement collections (e.g. ArrayObject) and properties #137
  • Check CDATA is needed #136
  • property path support #22

Merged pull requests:

1.5.0 (2017-02-14)

Closed issues:

  • Serialized DateTime instances are not valid ISO-8601 #713
  • Impossible to use discriminator field. Why we need StaticPropertyMetadata ? #705
  • Deserializing XMLList with Namespaces not (always) working as intended #695

1.5.0-RC1 (2017-01-19)

Implemented enhancements:

  • added support for xml-attributes as discriminators #692 (twtinteractive)
  • Added clearing previous libxml errors #688 (zerkms)
  • Prevent doctrine proxy loading for virtual types #684 (goetas)
  • Implemented dynamic exclusion using symfony expression language #673 (goetas)

Fixed bugs:

  • Deserializing XMLList with Namespaces not (always) working as intended #697 (goetas)

Closed issues:

  • Groups logic #693
  • BC from 1.1.* to ^1.2 #643
  • DoctrineProxySubscriber forces loading of the proxy even if custom handler exist #575
  • ConditionalExpose/Exclude annotation #540
  • Deprecated usage of ValidatorInterface #438
  • Missing addData in XmlSerializerVisitor makes it impossible to add data in serializer.post_serialize event #235
  • Support JSON PATCH for updating object graph #231
  • Dynamic expose, aka 'fields' query param #195

Merged pull requests:

1.4.2 (2016-11-13)

Fixed bugs:

  • Warning: JMS\Serializer\XmlDeserializationVisitor::visitArray(): Node no longer exists #674
  • Fixed xml arrays with namespaced entry triggers error #675 (goetas)

Closed issues:

  • Max depth produces array of nulls #671

1.4.1 (2016-11-02)

Fixed bugs:

  • Groups context might be not initialized #669 (goetas)

Closed issues:

  • Warning: Invalid argument supplied for foreach() on getCurrentPath method #668

1.4.0 (2016-10-31)

Implemented enhancements:

  • Document the implied 'Default' property group when no group is specified #661 (akoebbe)
  • Allow discriminator map in the middle of the hierarchy when deserializing #659 (goetas)
  • Handle both int and integer #657 (Aliance)

Fixed bugs:

  • Deserialization fails when discriminator base class extends another class #182
  • Xml setters ignored when deserializing #665 (goetas)

Closed issues:

  • Move FormErrorHandler to the bundle #664
  • Not compatible with Symfony 3's Controller::json() #663
  • Class name not reflecting in serialized json #662
  • YML virtual_properties no group exlcusion #656
  • [RFC] Introduce normalizer\denormalizer interface #646
  • Plain arrays are serialized (normalized) as "objects", ignoring serializeNull #641
  • serializer doesn't serialize traits #638
  • Add metadata informations #637
  • Unexpected results when serializing arrays containing null value elements #593
  • Allow to set default serialization context when building serializer #528
  • Enable Sourcegraph #455
  • Use different accessor for each group #420
  • GenericSerializationVisitor and shouldSerializeNull #360
  • Specify group along with MaxDepth #150
  • Allow Post Serialize Event to overwrite existing data #129
  • Warning: array_key_exists() expects parameter 2 to be array, string given #70

Merged pull requests:

  • Nullable array inconsistency #660 (goetas)
  • Fixed PHP 7.0.11 BC break (or bugfix) #658 (goetas)
  • Renamed replaceData to setData #653 (goetas)
  • add required sqlite extension for developing #649 (scasei)
  • Run serialization benchmarks in the build process #647 (goetas)
  • Alcalyn feature default serializer context #645 (goetas)
  • Add format output option #640 (AyrtonRicardo)
  • Remove deprecated FileCacheReader for doctrine annotations #634 (goetas)
  • Added tests to ensure SerializeNull policy #633 (goetas)
  • Fix inheritance of discriminators on Doctrine entities #382 (xoob)
  • Allow Post Serialize Event to overwrite existing data #273 (jockri)

1.3.1 (2016-08-23)

Closed issues:

  • [Idea] Inline name #629
  • indexBy property doesn't work since 1.2.0 #618
  • Composer deps issue #494
  • PHP 7 compatability issue #478
  • Add new tag (upgrade packagist) #461
  • Custom Type Handler for String Values #384
  • serializer ignores properties added by traits #313
  • Skip an element during Xml deserialization process #229
  • Using serializer for JSON serialising #223
  • No way to serialize binary data with a custom type #202
  • Automatic mapping of properties #200
  • Maybe the serializer should also allow the legal literals {1, 0} for booleans #198
  • Customize how Booleans are serialized #180
  • Problem with deserialize related entity #123
  • serialized_name does not work in yaml #118

Merged pull requests:

  • Revert "Default $serializeNull to false" #630 (goetas)

1.3.0 (2016-08-17)

Closed issues:

  • problems with xml namespaces after update #621
  • Trying to decorate a member to ArrayCollection but gets an error when deserilizing because composer didn't download the class from doctrine. #596
  • Missing doctrine/common requirement ? #517
  • PHP Fatal error: Using $this when not in object context in JMS/Serializer/Serializer.php on line 99 #441
  • custom collection handler #415
  • Exclude annotation not preventing attempt to find public methods when using AccessType #367
  • serializer.pre_serialize event only thrown on objects/classes #337
  • Installing through composer gets "Segmentation fault" #308
  • Erroneous data format for unserializing... #283
  • DoctrineObjectConstructor should skip empty identifier field #193

Merged pull requests:

1.2.0 (2016-08-03)

Implemented enhancements:

Fixed bugs:

  • Fix xml-attribute-map for the xml driver #595 (romantomchak)
  • Fix warning array_key_exists in deserialization. #398 (leonnleite)
  • #367 Exclude annotation not preventing attempt to find public methods when using AccessType #397 (Strate)

Closed issues:

  • XML serialisation performance vs. SimpleXML? #606
  • Undefined Offset 21 - PropertyMetadata (master) #581
  • Invalid null serialization in arrays #571
  • List Polymorphic with XML Deserialization #568
  • Serialize null values as empty string #566
  • Type mismatch should throw an exception instead of coercing when deserializing JSON #561
  • Serialize to array #518
  • AnnotationDriver Exception on Missing Setter/Getter even on @Exclude'd Properties #516
  • Arrays are serialized as objects like {"0":... } when data contains empty objects #488
  • Tag new release #465
  • Forcing no scientific notation for larg number, type double #405
  • PHP < 5.3.9 BC break #383
  • Ignoring a tag when deserializing #352

Merged pull requests:

  • Allow to not skip empty not inline array root node #611 (goetas)
  • Allow to use custom serializer with primitive type #610 (goetas)
  • Composer is not able to resolve a dependency #608 (goetas)
  • Test on Travis always high and low deps #584 (goetas)
  • Update Symfony validator and allow PHPUnit 7 #583 (goetas)
  • Fix serialize bug #582 (goetas)
  • HHVM compatibility #580 (goetas)
  • Discriminator Groups #579 (maennchen)
  • Fixed test suite on master #578 (goetas)
  • Fix for a broken test: a missing (incorrectly positioned) argument #577 (zerkms)
  • Add extra test for handling child elements #569 (tarjei)
  • Fix bug #343 return integer when the column is datetime #562 (Bukashk0zzz)
  • [doc] fix AccessorOrder documentation #553 (aledeg)
  • Generic way to solve setValue on a property which respects its setter #550 (maennchen)
  • Added travis-ci label #399 (spolischook)
  • Generate namespaced element on XmlList entries #301 (goetas)

1.1.0 (2015-10-27)

Closed issues:

  • Possible to set xsi:schemalocation? #505
  • Travis needs a renewed token to be able to set the status #495
  • Serialize a many-to-many relation #474
  • The document type "..." is not allowed #427
  • Yml serializer don't serialize empty arrays #183

Merged pull requests:

1.0.0 (2015-06-16)

Closed issues:

  • Unrecognized 4 parts namespace #449
  • Groups is ignored #440
  • Property FelDev\CoreBundle\Entity\Persona::$apellido does not exist #432
  • Erroneous data format for unserializing #430
  • Deserialize JSON into existing Doctrine entities and empty strings are ignored #417
  • Failing to deserealize JSON string #402
  • Empty results serializing virtual_properties #400
  • API stable 1.0.0 release in sight? #395
  • Is this project maintained still? #361
  • PreSerialize #339
  • Change default access\_type globally #336
  • Deserialization of XmlList does not support namespaces #332
  • Recursion groups, serializing properties in entities #329
  • The testsuite is broken #326
  • Namespaces and serialize/deserialize process #303
  • Exclusion of parent properties failing #282
  • How to deserialize correctly an array of arbitrary values ? #280
  • Try to identify getter/setter from an excluded property #278
  • Bug Entity constructor not called #270
  • Make it possible to escape special characters on serialization #265
  • doctrine annotations without namespace #264
  • php-collection constraint #257
  • [Metadata] PHP warning only when unittesting #255
  • Discriminator #220

Merged pull requests:

0.16.0 (2014-03-18)

Closed issues:

  • best way to add root to json? #250
  • Use Doctrine metadata #247
  • Integration Points - run-time exclusion checking #239
  • Using DoctrineTypeDriver to use Doctrine Anotations #232

Merged pull requests:

  • Changed some constraint to allow latest versions #251 (stof)
  • XML root element namespace support #246 (andreasferber)
  • Added test for leading backslash in front of class name to TypeParserTest #245 (deralex)
  • Allow to fetch data from has*() with public_method #243 (jaymecd)
  • Improve yaml documentacion Fix #100 #221 (BraisGabin)

0.15.0 (2014-02-10)

Closed issues:

  • Add trait support #228
  • "array" type: Not working for arrays of DateTime objects #199
  • Discriminator field filtered by exclusion strategy #189
  • DateTime within an array (format get ignored) #140
  • EntityNotFoundException using softDeletable #101
  • Virtual property documentation xml & yaml #100

Merged pull requests:

0.14.0 (2013-12-04)

Implemented enhancements:

Closed issues:

  • @HandlerCallback not inherited #181
  • Conditional serialization #173
  • Deserialize XML partially #167
  • getter is not called when serializing Discriminator parent entity #156
  • Deserialize DateTime from js Date.toJSON format fail #145
  • Yaml driver for the parameter xml_attribute_map is broken #141
  • XmlKeyValueStore annotation does not seem to deserialize properly #139
  • Boolean conversion gone wrong #134
  • Serialize to/from array? #133
  • @XmlRoot annotation no longer working #131
  • Skip an element based on a condition in a XmlList #121

Merged pull requests:

0.13.0 (2013-07-29)

Closed issues:

  • Documentation on Exclusion Strategies has an error #122
  • How access to the current serializing group in a subscriber ? #99
  • DoctrineProxySubscriber not found #93
  • Namespaces at root level #86
  • Issues when requesting JSON or XML using Doctrine MongoDB ODM #85
  • addGlobalIgnoredName not working #78
  • serialize_null configuration #77
  • Add json prefix to prevent script tag csrf attack #76
  • Add support for replacing serialization object inside events #74
  • Next stable version? #64
  • Deserialize with object refs #62

Merged pull requests:

0.12.0 (2013-03-28)

Closed issues:

  • Serialization profile/definition builder #68
  • I want to configure the default exclution policy #65
  • Mulit type property mapping #56
  • AccessType("public_method"): Setters ignored when deserializing to non-standard XML properties #53
  • Adding @Accessor with custom getter causes LogicException if Doctrine ManyToOneEntity #52
  • Handler callback's does not get passed context #49
  • PostSerialize callback causes data loss #46
  • Empty Objects get serialized as "array()" #43
  • Exclusion Policies aren't properly applied when "serializeNull" is "true" #42
  • Accessor annotation ignored #40
  • Support for multiple exclusion strategies #39
  • srholt123@yahoo.com #35
  • Could you tag a stable version? #34
  • Default conversion of camelCase to underscores is counterintuitive #33
  • Define the xml root when deserializing #18

Merged pull requests:

0.11.0 (2013-01-29)

Closed issues:

  • Hooking into metadata directly... #17
  • Serializing null values #14
  • Strange caching-error #13
  • handling of plain array #10
  • Unsupported format doesn't throw exception anymore #8

Merged pull requests:

  • Fix typo #32 (inanimatt)
  • Fixed the serialization of pluralized form errors #31 (stof)
  • Extract json specific logic from GenericSerializationVisitor #29 (adrienbrault)
  • [Serializer] Misc cleanup #27 (vicb)
  • [Builder] Add ability to include if metadata #25 (vicb)
  • Fix DateTimeZone issue when using the DateTime type #23 (colinmorelli)
  • Wrong exception message for parsing datetime #21 (nickelc)
  • Fixed typo in doc/reference/annotations.rst #16 (iambrosi)
  • Typecast when serializing primitive types #15 (baldurrensch)
  • add check and helpful exception message on inconsistent type situation #12 (dbu)
  • Dispatch pre-serialization event before handling data to have ability change type in listener #7 (megazoll)
  • Fix tests running in different environments #6 (megazoll)
  • Add DateInterval serialization to DateHandler formerly DateTimeHandler #5 (rpg600)
  • WIP Navigator context #3 (adrienbrault)
  • Update src/JMS/Serializer/Construction/DoctrineObjectConstructor.php #2 (robocoder)
  • Filter out non-identifiers from $data before calling find() #1 (robocoder)

* This Change Log was automatically generated by github_changelog_generator