-
#66 Switch to Google Gson 2.13.1
-
#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
This version focuses on performance improvements.
-
#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_SERIALIZATIONistrue). 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 byEcoreUtil.getURI(eObject)for objects inside JsonResource, which now return the object’s ID instead of a path. For applications which depend onEcoreUtil.getURI(eObject)to return a (stable) path instead of a possibly random ID, the new behavior can be disabled by setting theOPTION_FORCE_DEFAULT_REFERENCE_SERIALIZATIONoption:var resource = new JsonResourceImpl(uri, Map.of(JsonResource.OPTION_FORCE_DEFAULT_REFERENCE_SERIALIZATION, Boolean.TRUE));
-
The
org.eclipse.sirius.emfjson.resource.IDManagerinterface 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 returnsvoidand implementations no longer need to return anything. -
Symmetrically, the
setId(EObject, String)method, which used to returnvoid, should now return the previous id of the object, ornullif there was none.
-
-
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).
This version focuses on dependency updates.
-
#60 [releng] Update EMF dependencies. The following dependencies have been updated:
-
org.eclipse.emf.commonfrom2.21.0to2.31.0 -
org.eclipse.emf.ecorefrom2.23.0to2.37.0 -
org.eclipse.emf.ecore.xmifrom2.16.0to2.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.xmiis now internal and limited to the tests.