We are thrilled to announce version 2.0.0 of gemd-python. It's been a few years of updates, both technical and quality of life, since our 1.0.0 release, but all of that has been oriented around improving the SDK (as opposed to the underlying data model).
Upgrading to version 2 may necessitate changes to existing scripts. There should be no fundamental changes in functionality between [v1.18.5](https://github.com/CitrineInformatics/gemd-python/tree/v1.18.5) and v2.0.0, so the deprecation messages from the older version should provide a guide to updating your code.
Improvements
* In cases where both the built-in json and the gemd.json `dumps` and / or `loads` methods are used in close proximity in the code, we've used aliases to make it obvious which is which. This should just be a cosmetic change. (208)
What's Removed
* The `name` keyword in LinkByUID's `from_entity` has been removed in favor of `scope`. A user-specified scope is no longer a valid positional argument. (208)
* The `get_value` and `get_enum` methods have been removed from BaseEnumeration. They are no longer necessary, as enumerations now return the values when cast as strings, as in a format statement. (208)
* The `register_classes` method has been removed from the GEMDJson object. Object types are defined during extension of the BaseEntity class, and registered with the deserializer at definition time.
* The `native_uid` keyword in gemd.util's `substitute_links` has been removed in favor of `scope`. (208)
**Full Changelog**: https://github.com/CitrineInformatics/gemd-python/compare/v1.18.5...v2.0.0