Releases: CitrineInformatics/gemd-python
GEMD v2.1.9 is released!
This PR adds compatibility with the latest version of Pint, v0.24.3.
Improvements
- Support latest Pint, which includes recognizing more units and compatibility with latest numpy #222
Fixes
- We reworked packaging constraints to avoid a bad state. Pint 0.22 and 0.23 are incompatible with numpy > 2 but this is not constrained in Pint's pyproject.toml. This library itself is compatible with those individual releases, but blind
pip install
was wasn't protecting against this. #222
Full Changelog: v2.1.8...v2.1.9
GEMD v2.1.8 is released!
This release adds support for new units, including treating ratios like %
in the unit strings.
Improvements
- We now support % and other ratio expressions as units. This required updating both our minimum pint version as well as updating our unit definitions.
%
,ppm
, and other ratios are available here and on our platform. #219 #220 - We also added support for Mooney viscosity units, a specialized material measurement for rubbers. Take you for your first contribution #218, @xperrylinn.
Full Changelog: v2.1.5...v2.1.8
GEMD v2.1.5 is released
This release is to verify the repository migration to our common GitHub Actions repository functions as we expect. There are no software differences from the previous release.
Improvements
- We now use our common-gh-actions repository to ease our maintenance burden. #217
Full Changelog: v2.1.4...v2.1.5
GEMD v2.1.4 is released
This is a simple bug fix for the package import migration that last was part of the last release.
Improvements
- Corrected an issue around deploying the units file on Windows boxes, where the default character set is not necessarily utf-8. #216
Full Changelog: v2.1.3...v2.1.4
GEMD v2.1.3 is released
This release collects two PRs to migrate the CI / CD for this repository from Travis CI to GitHub Actions.
What's Changed
- Add and configure GitHub Actions for testing and deployment (#214).
- Remove Travis dependence for testing, build & deploy (#215).
Full Changelog: v2.1.1...v2.1.3
GEMD v2.1.1 is released
This is a maintenance release. It cleans up how the Pint library is imported and wrapped, which should improve reliability when taking advantage of more advanced formatting. It also resolves some warnings originating from Python migrating how package resources get pulled in. There should be no surprises.
Improvements
- Previously, outputting units with scaling factors could result in strangely formatted strings. To resolve this, we now derive a child class, now possible because boosting the minimum supported Pint. This removes a potential tripping hazard, and generally makes it easier to fold gemd-python into the existing ecosystem. (#212)
- Python's migration from pkg_resources to importlib.resources left gemd-python issuing deprecation warnings. This resolves those by using the new
files
objects. (#213)
Full Changelog: v2.0.0...v2.1.1
GEMD v2.0.0 is released
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 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 / orloads
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'sfrom_entity
has been removed in favor ofscope
. A user-specified scope is no longer a valid positional argument. (#208) - The
get_value
andget_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'ssubstitute_links
has been removed in favor ofscope
. (#208)
Full Changelog: v1.18.5...v2.0.0
GEMD v1.18.5 is released
This is a maintenance release, anticipating a release of the next major version in the near future.
Improvements
- Units handling is improved, both providing better guardrails and updated parsing. For example, before 60 rpm would convert to 2*pi hertz. This should be a transparent quality of like improvement. (#201 #203 #209)
Fixes
- The building and testing process has been updated, adding Python 3.12 to the test suite (#202), cleaning up the packaging (#205 #207), addressing the vast majority of documentation build warnings (#204), and boosting testing library versions (#210).
- Made object definitions a bit more consistent (non-breaking, #206)
- Correct encoding error on Windows with units file extraction (#211)
Full Changelog: v1.16.7...v1.18.5
GEMD v1.16.7 is released
Releases for v1.16.3 and v1.16.4 didn't propagate to PyPI, so those release notes are repeated here.
As Python 3.7 hit End-of-Life 2023-06-27, this PR removes support for it and removes some crutches that were necessary to support it.
Improvements
- Drop reliance on pkg-resources in favor of the more modern importlib.resources. Note that the files methods were not introduced until 3.9, so until support for 3.7 and 3.8 is dropped, we cannot take advantage of them. #195
- Modify the Travis-CI testing behavior for faster testing for PRs. #197
Fixes
- Only build docs in one test permutation #194
- Drop reliance on outdated toolz and Pint libraries #196
- Correct for release issues #198 / #199 / #200
Full Changelog: v1.16.0...v1.16.7
GEMD v1.16.4 is released
As Python 3.7 hit End-of-Life 2023-06-27, this PR removes support for it and removes some crutches that were necessary to support it.
Fixes
Full Changelog: v1.16.3...v1.16.4