This release includes substantial performance improvements as well as smaller, quality-of-life improvements and bug fixes.
What's New
* Profiling showed that recursive_foreach and recursive_flatmap were very slow in some applications. We've modified those two methods to reduce the number of function calls and to cache type checking across the util methods. The end result is that many cases are now running twice as fast. 142
* We've migrated from using `master` branch as the default branch to `main` branch. If you've been pinning to particular branches (which you shouldn't, really) then you'll need to update your `requirements.txt` or `setup.py`. 144
Improvements
* When calling flatten, `scope` is now an optional argument. This means that if your object set already has `uids` on all objects, there's no need to provide a `scope` string just to satisfy a signature. However, if you try to flatten objects that have no `uids`, a `ValueError` will be raised. 143
Fixes
* Because of a few intersecting corner cases, `mass %` was being parsed by [Pint](https://pint.readthedocs.io/en/stable/) as `milliarcseconds`. To prevent user confusion, we've removed `mas` as a synonym for `milliarcseconds`. #141
* Users can now import `make_index` directly from `gemd.util`, as was possible for its sister methods. 131
* Changes were made to how documents were deployed and repository permissions were controlled. 138 132
Coming soon
* We expect to move to version 1.0.0 in the near future. Stay tuned!