Skip to content

Latest commit

 

History

History
142 lines (73 loc) · 3.91 KB

File metadata and controls

142 lines (73 loc) · 3.91 KB

Changelog

v2.5.3

Breaking changes

  • #68 Add JsonResource parameter to all IJsonResourceProcessor methods JsonHelper#resource class field is now a JsonResource instead of a Resource.

New features and improvements

  • #68 Add JsonResource parameter to all IJsonResourceProcessor methods

v2.5.2

Deprecation warning

None.

Breaking changes

None.

Dependency update

  • #66 Switch to Google Gson 2.13.1

Bug fixes

None.

New Features and Improvements

None.

v2.5.1

Deprecation warning

None.

Breaking changes

None.

Dependency update

None.

Bug fixes

None.

New Features and Improvements

  • #64 Add the ability to update non-containment references to change the value of a reference with the URI of an object has been modified

v2.5.0

This version focuses on performance improvements.

Deprecation warning

None.

Breaking changes

  • #52 The serialization format of inter-object references has changed to use the unique objet IDs by default (if an IDManager is configured and unless OPTION_FORCE_DEFAULT_REFERENCE_SERIALIZATION is true). For example a reference which was serialized as "type": ""//supackage1/ClassSource_1/subclass.1" before is now "type": "6cfebaaa-fb15-41b5-b908-fa474b66b525". This changes the value returned by EcoreUtil.getURI(eObject) for objects inside JsonResource, which now return the object’s ID instead of a path. For applications which depend on EcoreUtil.getURI(eObject) to return a (stable) path instead of a possibly random ID, the new behavior can be disabled by setting the OPTION_FORCE_DEFAULT_REFERENCE_SERIALIZATION option:

    var resource = new JsonResourceImpl(uri, Map.of(JsonResource.OPTION_FORCE_DEFAULT_REFERENCE_SERIALIZATION, Boolean.TRUE));
  • The org.eclipse.sirius.emfjson.resource.IDManager interface has changed to allow for better performances:

    • The clearId(EObject) method used to expect the previous id of the object to be returned, but the result was not actually used. The method now returns void and implementations no longer need to return anything.

    • Symmetrically, the setId(EObject, String) method, which used to return void, should now return the previous id of the object, or null if there was none.

Dependency update

None.

Bug fixes

None.

New Features and Improvements

  • Add a cache for qualified EClass names to avoid recomputing them many times when saving large resources.

  • #52 Inter-object references now leverage the unique object IDs (instead of hierarchical URI fragments) by default, for much better performances, both on save and load. The performance improvements are only visible on resources saved using this version; resources saved using older version can still be loaded, but will not benefit from the change (until they are saved again).

v2.4.1

This version focuses on dependency updates.

Deprecation warning

None.

Breaking changes

None.

Dependency update

  • #60 [releng] Update EMF dependencies. The following dependencies have been updated:

    • org.eclipse.emf.common from 2.21.0 to 2.31.0

    • org.eclipse.emf.ecore from 2.23.0 to 2.37.0

    • org.eclipse.emf.ecore.xmi from 2.16.0 to 2.38.0

  • Switched to Google Guava 33.4.8 (from 32.0.0). Guava is only used by the test code, so this has no impact on the actual behavior.

  • The dependency to org.eclipse.emf.ecore.xmi is now internal and limited to the tests.

Bug fixes

None.

New Features and Improvements

None.