Skip to content

Releases: schmittjoh/JMSSerializerBundle

v2.3.0 (symfony 3.4 & 4.0 improvements)

30 Nov 18:29
d64ae00
Compare
Choose a tag to compare

This new release comes with cache warmup, support lazily loaded event listeners and handlers, and a full support for symfony 4

Closed issues:

  • Exclude property on serialization, but not on deserialization #619
  • Stopwatch Subscriber not found (SF4) #617
  • Problem deserialize xml with namespace: xmlns="http://www.w3.org/2000/09/xmldsig\#" in tag root #613
  • Add support for kernel.cache_warmer #611
  • Symfony 4 - Class 'jms_serializer.stopwatch_subscriber' not found #610
  • v2.0.0: The "name" property of directories must be given - but must we specify directories? #607
  • Add symfony/translation to required bundles #606
  • Integrate schmittjoh/serializer#22 #603

Merged pull requests:

v2.2.0

29 Sep 08:50
dd40bfc
Compare
Choose a tag to compare

This release is another step in direction of the Symfony 4 Compatibility. Other minor enhancements when dealing with translated form errors.

Implemented enhancements:

  • Injected validator.translation_domain to FormErrorHandler #580 (prosalov)

Closed issues:

  • The FormErrorHandler forces the translation domain to 'validators' #501
  • Documentation incorrectly states that a handler service can be private #260

Merged pull requests:

  • Remove dependencies from translator and form handler #604 (goetas)

2.1.0

31 Aug 10:47
a612724
Compare
Choose a tag to compare

This release brings improved symfony 3.3+ support (autowiring), data time deserialization improvements and ability to use private services as listeners and handlers.

Implemented enhancements:

  • Allow event listener/susbcriber services to be private #593
  • Date deserialization (DateTime object) #582
  • Allow listeners and event subscribers to be private #594 (goetas)

Fixed bugs:

  • Handler DI #598
  • Allow subscribing handlers to be private #602 (goetas)

Closed issues:

  • Gedmo Unrecognized field: createdAt - Error! #599
  • Array deserialization problem #597
  • Integrate JMSSerializer into Symfony PropertyInfo? #591
  • Yml config should allow to configure the default accessType and readOnly options #586
  • Can't use symfony serializer when requesting the id "serializer" #583
  • XML Collection names and null values #581
  • Not work for Symfony 3.3? #579
  • possible to register a handler that will compare against abstract classes #577

Merged pull requests:

2.0.0

17 May 10:39
90373f0
Compare
Choose a tag to compare

2.0.0 is out

The 2.0.0 release in almost fully backward compatible with the 1.x branch.

For the list of breaking changes, have a look to the UPGRADING document. Most of them are edge-cases that might affect your application if you were relying on them.

For a list of merged pull requests, have a look to the 2.0 milestone

There are no new features in the 2.0.0 release compared to 1.5.0.
The 2.0.0 release has the main goal of changing some configuration defaults, that in most of the cases bring performance improvements or improve the DX by providing a better error handling and a more predictable application behaviour.

1.5.0

10 May 10:19
85ee039
Compare
Choose a tag to compare

Implemented enhancements:

  • Added configuration options for recent doctrine improvements #570 (goetas)
  • Allow autowiring serializer #568 (Tobion)
  • Added runtime twig extension support (significant performance improvements) #563 (goetas)

Fixed bugs:

  • Arrays beginning with index 1 are parsed as an object #375
  • serializing a json array using {} instead of [] #373

Closed issues:

  • [BUG] Metadata PhpDriver always beats AnnotationDriver in DriverChain #567
  • requirements could not be resolved to an installable set of packages #566
  • Missing configuration for doctrine object constructor #565
  • Performance issue #562
  • Missing configuration option for lazy virtual proxy initialization #539
  • SerializationListener not being called for sub entities after upgrading to 1.1.0 #514
  • Can't override third party serializer config file #511
  • registering callback with a specific class name doesn't work . #508
  • change serialized name of a property when it is in a specific group #457
  • Serializing stdClass with arbitrary depth #414
  • Usage of @groups #382
  • Serializing a stdClass #158
  • Add support for Traits (PHP 5.4) #102
  • @ExclusionPolicy("all") is not respected by the parent classes #100

Added default context configurations

10 Apr 12:39
fdd73db
Compare
Choose a tag to compare

This release includes mainly a feature that allows to configure the default context options. The feature has been implemented mainly by @edefimov , Thanks!

Example:

jms_serializer:
  default_context:
    serialization:
      serialize_null: false
      version: ~ 
      attributes: {}
      groups: ['Default']
    deserialization:
      serialize_null: false
      version: ~ 
      attributes: {}
      groups: ['Default']

Implemented enhancements:

Merged pull requests:

Closed issues:

  • Document how to prevent JMS serializer from overriding Symfony serializer #513
  • AccessorOrder : properties vs virtualProperty #512
  • Specify @Serializer/Group for @Discriminator field #506
  • Ignore entity and/or subentity based on attribute value #499
  • How to change Strategy #493
  • AccessorOrder is ignored #488
  • When serializing subentities discriminator value is always added to serialized output #479
  • Serialized name "id" #461
  • Jms serializer @jms\Inline() annotation overrides an actual id #460
  • @jms\Serializer\Annotation\Type("DateTime<'c'>") doesn't works properly #459
  • Custom Class Type Mapping #446
  • Return an array instead of object #439
  • Serializer does not seem to visit virtual properties recursively #429
  • filtering doctrine entites with ExclusionPolicy\(All\) #419
  • [Feature] Apply exclusión policity by groups #401
  • DateTime ISO8601 in PHP doesnt support milliseconds #395
  • custom handler documentation #379
  • Question: How to serialize data for KNP paginator which is using Solarium Subscriber. #374
  • Error View::create #365
  • Propel Collection Handler is not registered #349
  • Cannot redeclare class doctrine\orm\mapping\annotation #339
  • get a error of JMSSerializerBundle in Symfony2.3.4 and ODM #320
  • DoctrineObjectConstructor doesn't work with id as attribute #305
  • Performance issue - Help needed for optimization #281
  • GraphNavigator - Marked as Final #238
  • Error when using yml for FormErrors #221
  • Can't configurate class which is in global namespace with YAML or XML #217
  • VirtualProperties called after postSerialize triggers #216
  • What's the purpose of 'id' under 'property_naming' namespace in configuration. #522
  • "fos_rest.serializer" must implement FOS\RestBundle\Serializer\Serializer (instance of "JMS\Serializer\Serializer" given). #509
  • property_naming.id is not used? Property way to override the naming strategy #449
  • add option to alias field names #433

Fixed doctrine compiler pass

29 Mar 10:15
c52ee40
Compare
Choose a tag to compare

Closed issues:

  • Alias not working any more with 1.3 #559

Expression language based virtual properties and other improvements

28 Mar 09:37
9ad30c8
Compare
Choose a tag to compare

Merged pull requests:

  • Expression language based virtual properties #545 (goetas)

  • Expression language tests #553 (goetas)

  • Added handler tests #552 (goetas)

  • Allow service parameters in listener class name #551 (goetas)

  • Fix metadata directories loading where path is just a bundle name #550 (goetas)

Closed issues:

  • Force uppermost level of output json as object #555
  • PreSerializationListener not being called anymore after updating #554
  • Are there any way to select entity fields dinamically? #496
  • Ability to add custom exclusion strategies and override existing one #489
  • On virtual properties would be great to be able to use symfony language expression #403
  • Get metadata from doctrine ORM when PHPCR-ODM is present not working #389
  • Symfony 2.3 Form serialization #309

Removed unused object constructor parameters

13 Mar 17:03
Compare
Choose a tag to compare
Merge pull request #549 from schmittjoh/unused-params

Remove unused params in visitors

Expression language support and context factories

22 Feb 16:16
Compare
Choose a tag to compare

The main news in the v1.2.0 release is the support for features as symfony expression language exclusion strategy and default context factories added in jms serializer v1.4 and v1.5

Implemented enhancements:

Merged pull requests:

Closed issues:

  • All services are broken #541
  • Blank XML breaks XmlDeserializationVisitor error handling #540
  • Customize the serialization of an empty string for XML #538
  • Symfony 3.1 support #533
  • Warning: JMS\Serializer\XmlDeserializationVisitor::visitArray(): Node no longer exists #532
  • Configurable defaults (groups) for serialization #530
  • Setup Problem #525
  • Symfony 3 'json' method gives errors with JMS #523
  • Unable to install with composer :( #520
  • Unable to override default handlers #519
  • Error in security.access.decision_manager service in Symfony 3.1 #518
  • Twig deprecation in Serializer #516
  • Exclude the "discriminator" column for serialized entities #515
  • Installation issues using composer #507
  • PHP7 compatibility #502
  • Float with no decimals are automatically converted to int #497
  • Default context for serialization #495
  • Select attributes in a self referencing field #480
  • The document for yml configuration is confusing, why yml configuration is not working? #477
  • Fix PHP requirements inside composer.json #465
  • Serialize entity with Router dependency #458
  • Enable @expose on code #456
  • Custom handlers on primitive values #455
  • Add server url to image on serialization #451
  • PHP Fatal error: Using $this when not in object context in JMS/Serializer/Serializer.php on line 99 #450
  • Problem with namespace for XMLList #438
  • Discriminator bug fix by upgrading required src #423
  • Exclude based on condition #422
  • When serialized collection of extendend objects returns {/.../} and must be [/../] #418
  • Serialization manyToOne with yml configutaion #411
  • Can I set JSON_FORCE_OBJECT for 1 specific serialization, not for the entire project in config.yml ? #410
  • Fatal error: Invalid opcode 153/1/8 #408
  • if DiExtraBundle not available, JMSSerializer crash #392
  • Wrong Json Response #387
  • custom type using a custom handler for primitives #385
  • Serialize custom properties of entities #377
  • Reflection Exception after upgrade from 0.14.0 to 0.15.0 #369
  • ServiceNotFoundException: You have requested a non-existent service "serializer" #368
  • Question: How can i generate formated response for JSON. #367
  • Include Entity Name in JSON #364
  • serialize_null setting without effect for arrays containing NULL values? #361
  • [Feature request] Relations Serialization Strategy #358
  • Documentation error for installation in AppKernel.php: #354
  • Expected object but got array when serialize ArrayCollection of intermediate entity. #350
  • 0.13 stable tag #344
  • Composer error minimum-stability #330
  • Unexpected extra requests when working with doctrine tree extension. #326
  • Maximum execution time of 30 seconds exceeded #306
  • @Accessor not works in sf2.3 #304
  • Instalation in symfony 2.3 #301
  • Doctrine entity Symfony2 #288
  • serialize_null configuration #287
  • Fatal Error: Cannot redeclare class doctrine\orm\mapping\annotation in /vagrant/vendor/composer/ClassLoader.php line 183 #286
  • Unable to install on Symfony 2.2 #285
  • FatalErrorException: Error: Call to undefined method JMS\Serializer\SerializerBuilder::serialize() #278
  • Add support for wildcard serialization group #269
  • Prevent Doctrine Entities from Serializing #263
  • XML serialization of URLs fail #230
  • custom visitor #218