Lot's of changes this release!
- Switch versioning to use [Calendar versioning (calver)](https://calver.org/)
- Support (and test on) Python 3.10
- Update to SuiteSparse:GraphBLAS 6.2.X
- **Breaking change:** reductions to scalar on empty collections now result in empty scalars by default ([162](https://github.com/metagraph-dev/grblas/pull/162))
- This affects `my_vector.reduce` and `my_matrix.reduce_scalar`
- To get old behavior where the monoid identity is returned, do e.g. `v.reduce(allow_empty=False)`.
- Add support for `GrB_Scalar` objects ([163](https://github.com/metagraph-dev/grblas/pull/163))
- A `Scalar` object in `grblas` may be a C scalar or `GrB_Scalar` (the default).
- Use `is_cscalar=True` upon creating the Scalar to get a C scalar
- Scalars may now be passed to `gb.ss.concat` as length-1 vectors or shape (1, 1) matrices
- Scalars now have `c.is_cscalar` and `c.is_grbscalar` attributes
- Add `ewise_union` method ([159](https://github.com/metagraph-dev/grblas/pull/159))
- This is like `ewise_add` with a Binary Operator and user-provided defaults for the left and right values.
- Subtraction infix `x - y` on Matrices or Vectors now use `ewise_union` with default values of 0.
- Add `.ss.compactify` to Vector and Matrix objects ([144](https://github.com/metagraph-dev/grblas/pull/144))
- For example, this can shift all (or N) values contiguously to the left.
- Supported operations: `first`, `last`, `smallest`, `largest`, `random`.
- Add `.is_positional` attribute to operators ([161](https://github.com/metagraph-dev/grblas/pull/161))
- For example, `unary.positioni`, `binary.firsti`, and `semiring.any_secondj` are "positional"
- Autocompute `A[idx]` as extract ([166](https://github.com/metagraph-dev/grblas/pull/166))
- Also, add better reprs for indexed expressions
- Support deleting many items using slice or indexing notation ([163](https://github.com/metagraph-dev/grblas/pull/163))
- For example, `del A[[1, 2], :3]`
- Support negative indices ([143](https://github.com/metagraph-dev/grblas/pull/143))
- Allow resolved indices to be converted back to Python indices ([142](https://github.com/metagraph-dev/grblas/pull/142))
- Add `__sizeof__` method to Matrix, Vector, and Scalar objects to get memory usage ([$145](https://github.com/metagraph-dev/grblas/pull/145))
- Added a code of conduct ([167](https://github.com/metagraph-dev/grblas/pull/167))
- See: https://github.com/metagraph-dev/grblas/blob/main/CODE_OF_CONDUCT.md