Highlights
-
Add Python 3.13 support and drop Python 3.8 support.
-
Remove
dwave-drivers
anddwave.system.VirtualGraphComposite
. -
Drop
{greedy,neal,tabu}
namespaces in favor ofdwave.samplers.{greedy,neal,tabu}
. -
dwavebinarycsp
is deprecated as of this release and will be removed from dwave-ocean-sdk version 10.
Changelog
dimod
0.12.17 ➞ 0.12.18
New Features
- Add
SampleSet.wait_id()
as a proxy to the underlying QPU result
future, when sample set is constructed from such a future. See
#1392. - Add
multi_knapsack()
generator function todimod.generators
. - Add
quadratic_knapsack()
generator function todimod.generators
.
Upgrade Notes
- Drop support for Python 3.8.
Bug Fixes
- Fix warnings caused by using deprecated type aliases.
dwave-cloud-client
0.13.1 ➞ 0.13.2
New Features
-
Add Python 3.13 support.
-
Add
--raw
output mode to get-token CLI commands. See #598.
Upgrade Notes
-
Remove support for dimod 0.9.x. Upgrade dimod to 0.10.0+. See #595.
-
Upgrade your python to 3.9+. We no longer support python 3.8 and below.
Deprecation Notes
- Client utility function
dwave.cloud.coders.bqm_as_file()
is deprecated in favor ofdimod.BQM.to_file()
(available in dimod 0.10.0+) and will be removed in dwave-cloud-client 0.15.0.
Bug Fixes
- Update sample set creation in
dwave.cloud.computation.Future
to support dimod 0.12.18+. Previously,wait_id()
method used to be added to thefrom_future
-created sample sets in the cloud-client, and now theSampleSet
interface propagateswait_id
from the future by default. See dimod#1392 and dwave-system#540.
dwave-gate
0.3.2 ➞ 0.3.3
New Features
- Support Python 3.13
Upgrade Notes
- Remove support for Python 3.8
dwave-hybrid
0.6.12 ➞ 0.6.13
New Features
-
Add Python 3.13 support. See #298.
-
Add support for zephyr lattices on zephyr solvers. Improve handling of unyielded edges, improving performance for lower yield processors. See #297.
Fixes
Upgrade Notes
-
Drop Python 3.8 support and refresh CI. #298.
-
Drop support for
dimod<0.12
anddwave-systems<1.16
. See #299 and #301.
dwave-inspector
0.5.1 ➞ 0.5.2
New Features
- Add support for Python 3.13.
Upgrade Notes
-
Drop support for Python 3.8.
-
Drop support for
dwave-cloud-client<0.12
. See #183.
dwave-networkx
0.8.15 ➞ 0.8.16
New Features
-
Add four colorings for Zephyr and Pegasus, and a two coloring for Chimera. See #243.
-
Add Python 3.13 support. See #246.
Bug Fixes
-
Fix documentation warnings. See #241.
-
Fix Zephyr layout coords. See #236.
-
Fix docstrings for graph relabeling and sublattice mapping functionality missing from reference documentation. See #238.
Upgrade Notes
- Drop Python 3.8 support. See #246.
dwave-optimization
0.3.0 ➞ 0.4.2
New Features
-
Add capacitated vehicle routing problem with time windows generator.
See #104. -
Reduce the number of symbols in the model returned by
job_shop_scheduling()
generator. -
Add
Array::integral()
,Array::max()
, andArray::min()
overloads for all existing C++ nodes. -
Add C++
is_integer()
function. -
Support Python 3.13.
-
Model.add_constraints()
now returns the symbol for the constraint. -
Fully support scalar (0-dimensional) indices for advanced indexing
operations, e.g.A[i, :, j, :]
wherei
andj
are nodes with
scalar output. Previously, this would work only if the final output
of the indexing operation was also scalar. -
Add C++
DisjointListsNode::set_state()
method which allows for
setting the state of disjoint lists directly. -
Add C++
XorNode
and PythonXor
symbol.Xor
propagates the
logical exclusive-or of its two predecessors element-wise. See #125. -
Add C++
AnyNode
. See #148. -
Add
Any
symbol andArraySymbol.any()
method. See #148. -
Change the formulation of the
job_shop_scheduling()
generator to
remove redundant list variables and replace them with a disjunctive
non-overlapping constraint between each pair of jobs on the
machines. -
Raise clearer error messages when trying to use out-of-bounds
indices. -
Add C++
Graph::remove_unused_nodes()
method to remove nodes that
are not used in the objective or constraints. See #41. -
Add Python
Model.remove_unused_symbols()
method to remove nodes
that are not used in the objective or constraints. See #41. -
Improve the move/copy behavior of C++
ArrayIterator
. -
Add C++ index raveling-unraveling utilities functions.
-
Add C++
PartialReduceNode
. -
Add Python
PartialSum
symbol and addedaxis
keyword in
ArraySymbol.sum()
function. -
Implement C++
BinaryOpNode::sizeinfo()
overload. -
Add C++
ModulusNode
and PythonModulus
symbol.Modulus
propagates the modulus of its two predecessors element-wise. Modulus
symbols may be created with either the%
operator or themod()
function indwave.optimization.mathematical
. See #156.
Upgrade Notes
-
Using advanced indexing nodes with indexing arrays that have a
higher dimension than one (e.g.A[:, i, :, j]
wherei
andj
are 2d arrays) has been disabled. Previously, it was possible to
construct models that used this functionality, but the behavior of
the model during state initialization and propagation may not have
been correct. -
Remove redundant list variables in the
job_shop_scheduling()
generator and add disjunctive non-overlapping constraints between
each pair of jobs on the machines. -
Drop support for Python 3.8.
-
Change C++
ArrayIterator
to no longer have ownership of its fill
value when masked. -
Remove
vartypes.hpp
. TheVartype
enum was not used by any other
classes or functions.
Bug Fixes
-
Fix combined indexing. Previously indexing an array symbol by a
mixture of arrays, integers, and non-empty slices would always
result in an error. -
Update
AdvancedIndexingNode
to check the indices of its indexing
arrays to prevent out-of-bounds access. -
Fix the case of using scalar indices in an advanced indexing
operation where the indices were not grouped, e.g.A[:, i, :, j]
,
which was technically unsupported but no errors were raised. This
could also lead to segfaults during state initialization or
propagation. -
Update C++
UnaryOpNode
to correctly handle dynamic predecessors. -
Fix the possibility of creating a dangling reference when using a
masked C++ArrayIterator
. -
Implement missing overloads for
NaryMaximumNode::max()
,
NaryMaximumNode::min()
, andNaryMaximumNode::integral()
. -
Implement missing overloads for
NaryMinimumNode::max()
,
NaryMinimumNode::min()
, andNaryMinimumNode::integral()
. -
Fix two bugs in advanced indexing node propogation in the case of a
non-const main array with dynamic indexers, e.g.A[x]
whereA
is
a 1d integer decision variable andx
is a list. The first bug
could cause segfaults during propagation, and the second could lead
to incorrect output if both arrays were changed during propagation. -
Update the logic in the
capacitated_vehicle_routing_with_time_windows()
generator function
to correctly account for asymmetric time-distance matrices. -
Fix the type information for
ArraySymbol.__abs__()
. -
Fix serializing models with binary operations over dynamic
predecessors. Previously it was not possible to estimate the state
size which caused serialization to fail.
dwave-preprocessing
0.6.6 ➞ 0.6.7
New Features
- Support Python 3.13.
Bug Fixes
- Fix
SpinReversalTransformComposite
's handling of child samplers
that alter the variable order. Previously the spin reversal
transforms would not be correctly unapplied.
See #142.
dwave-samplers
1.3.0 ➞ 1.4.0
New Features
- Support Python 3.13.
Upgrade Notes
- Drop support for Python 3.8.
dwave-system
1.26.0 ➞ 1.28.0
New Features
-
Update for
dwave-optimization~=0.4.0
. See #539 -
Add option to specify sampler used in
MockDWaveSampler
(new default is nowSteepestDescentSampler
). See #537. -
Add support for Python 3.13. See #541.
-
Add
LinearAncillaComposite
. See #530.
Fixes
- Fix inconsistent sampleset interface across hybrid samplers - we make sure every
SampleSet
returned now has a workingwait_id()
method. See #544.
Upgrade Notes
-
Drop support for Python 3.8. See #541.
-
Soft-remove
VirtualGraphComposite
and its dependencies. Namely,VirtualGraphComposite
is now just an identity wrapper aroundFixedEmbeddingComposite
,dwave-drivers
is not used anymore, anddwave.system.cache.*
is completely removed. See #543.
dwavebinarycsp
0.3.0 ➞ 0.3.1
dwavebinarycsp
is deprecated as of this release and will be removed from dwave-ocean-sdk version 10.
New Features
- Support Python 3.13.
Upgrade Notes
- Drop support for Python 3.8
minorminer
0.2.15 ➞ 0.2.16
New Features
- Add support for Python 3.13.
Upgrades
- Drop support for Python 3.8.
penaltymodel
1.1.0 ➞ 1.2.0
New Features
- Support Python 3.13.
Upgrade Notes
- Drop support for Python 3.8.
Package versions
dimod==0.12.18
dwave-cloud-client==0.13.2
dwave-gate==0.3.3
dwave-greedy==0.3.0
dwave-hybrid==0.6.13
dwave-inspector==0.5.2
dwave-neal==0.6.0
dwave-networkx==0.8.16
dwave-optimization==0.3.0
dwave-preprocessing==0.6.7
dwave-samplers==1.4.0
dwave-system==1.28.0
dwave-tabu==0.5.0
dwavebinarycsp==0.3.1
minorminer==0.2.16
penaltymodel==1.2.0