New Features
- You can now install `dwave-preprocessing` as part of the dimod install with `pip install dimod[all]`
<!-- -->
- Add `ConstrainedQuadraticModel.relabel_variables()` method to relabel the variables in the objective and constraints.
<!-- -->
- Add `drop_variables()` and `keep_variables()` functions that allow the user to create a new sample set from an old one, retaining only a subset of the variables.
<!-- -->
- Backport the use of `dimod.views.quadratic.Adjacency`, `dimod.views.quadratic.Linear`, and `dimod.views.quadratic.Quadratic` for use with the deprecated `AdjVectorBQM` and `AdjDictBQM` binary quadratic model classes.
<!-- -->
- Backport `iter_neighborhood()`, `reduce_linear()`, `reduce_neighborhood()`, and `reduce_quadratic()` methods for use with the deprecated `AdjVectorBQM` and `AdjDictBQM` binary quadratic model classes.
Upgrade Notes
- `dwave-preprocessing` is no longer a direct dependency. It can still be installed with `pip install dimod[all]`.
Bug Fixes
- Fix instance and subclass testing between deprecated and modern binary quadratic model views. For example `instance(bqm.quadratic, dimod.core.bqm.BQMView)` now returns `True` for modern binary quadratic models.