Skip to content

Releases: dwavesystems/dwave-ocean-sdk

6.5.0

29 Sep 15:47
8e52e88
Compare
Choose a tag to compare

dwave-gate 0.2.1 ➞ 0.3.0

New Features

  • Adds support for compiling circuits into the Quantum Intermediate Representation (QIR) language using PyQIR API and qirlib LLVM wrapper.

      circuit = Circuit(2)
    
      with circuit.context as reg:
          ops.X(reg.q[0])
          ops.Y(reg.q[1])
    
      qir_string = circuit.to_qir()

    Circuits can also be compiled directly into bitcode.

      qir_string = circuit.to_qir(bitcode=True)
  • Adds a Quantum Intermediate Representation (QIR) loader which consumes a QIR script and returns a corresponding circuit containing the same instruction.

      ; ModuleID = 'Citrus'
      source_filename = "Citrus"
    
      %Qubit = type opaque
    
      define void @main() {
        entry:
        call void @__quantum__rt__initialize(i8* null)
        call void @__quantum__qis__x__body(%Qubit* null)
        call void @__quantum__qis__y__body(%Qubit* inttoptr (i64 1 to %Qubit*))
        ret void
      }
    
      declare void @__quantum__rt__initialize(i8*)
      declare void @__quantum__qis__x__body(%Qubit*)
      declare void @__quantum__qis__y__body(%Qubit*)
    

    The above QIR script can be loaded into a dwave-gate circuit using the dwave.gate.qir.loader.load_qir_string function.

      from dwave.gate.qir.loader import load_qir_string
    
      circuit = load_qir_string(qir_string, circuit=circuit)

Upgrade Notes

  • Upgrade circuit call to accept classical bits in which to store measurement values. If no bits are passed to the circuit call, measurements will not be stored when circuit is simulated.

      circuit = Circuit(2, 2)
    
      with circuit.context as (q, c):
          ops.Hadamard(q[0])
          ops.Hadamard(q[1])
          ops.Measurement(q) | c
    
      circuit_2 = Circuit(2, 2)
    
      with circuit_2.context as (q, c):
          circuit(q, c)  # pass bits to 'circuit'

Deprecation Notes

  • Support for Python 3.7 deprecated.

Bug Fixes

  • Fix return type from Operation.__call__ and subclasses.

  • Fixes loading QIR scripts with a return mid-function.

  • Fix circular import issue when importing the simulator prior operations.

dwave-preprocessing 0.5.4 ➞ 0.6.3

New Features

  • Make SpinReversalTransformComposite nonblocking.

  • Add a seed parameter to the constructor of SpinReversalTransformComposite.

  • Improve the performance of the Presolver constructor by avoiding an unnecessary copy.

  • Raise an InvalidModelError from Presolver when given a model with float("nan") bounds.

  • Raise an InvalidModelError from Presolver when given a model that has a constraint with float("nan") weight or rhs.

  • Add C++ Presolver::restore() method for restoring samples.

  • Add domain propagation to dwave::presolve::Presolver.

  • Add removing small biases to dwave::presolve::Presolver.

  • Support Numpy>=1.17.3, previously required NumPy>=1.20.0.

  • Add a presolve normalization step to replace inf biases, bounds, offsets, right-hand-sides, etc with a large finite number.

  • A newly instantiated Presolver will now have presolve techniques loaded by default.

  • Add TechniqueFlags enum to represent different presolve techniques.

  • Add C++ dwave::presolve::Presolver::add_techniques(), dwave::presolve::Presolver::set_techniques(), and dwave::presolve::Presolver::techniques() methods for manipulating the presolve techniques that will be used by the presolver.

  • Update Presolver.apply(), Presolver.normalize(), and Presolver.presolve() to release Python's global interpreter lock (GIL).

  • Reimplement the C++ Presolver using the PImpl pattern. This will make it easier to maintain binary compatibility going forward. See #89.

  • Add dwave::presolve::Presolve::normalize() C++ method.

  • Add dwave::presolve::Presolve::presolve() C++ method.

  • Raise an InvalidModelError from Presolver when given a model with float("nan") biases.

  • Add Presolver.feasibility() method to return a Feasibility enum. This can be used to test the feasibility of presolved models.

  • Add time_limit_s keyword argument to Presolver.presolve().

  • Add time_limit argument to C++ method dwave::presolve::Presolver::presolve().

  • Add Presolver.normalize() method. See #78.

  • Add Presolver.presolve() method. See #78.

Upgrade Notes

  • The wrapped C++ dwave::presolve::Presolver held by cyPresolver.cpppresolver is now stored as a pointer.

  • Remove C++ PostSolver class. See #90.

  • A newly instantiated Presolver will now have presolve techniques loaded by default. Previously it would have no techniques loaded and the user would need to also call Presolver.load_default_presolvers().

  • Remove the C++ dwave::presolve::Presolver::load_default_presolvers() method.

  • The C++ Presolver no longer has a header-only implementation.

  • Raise an InvalidModelError rather than a RuntimeError when presolving a detached model.

  • Change Presolver to no longer raise an InfeasibleModelError error for infeasible models.

  • Remove the InfeasibleModelError.

  • Speed up PresolverImpl::normalization_remove_invalid_markers() C++ method. This gives faster presolve normalization times for models with many discrete constraints.

  • Speed up PresolverImpl::technique_remove_small_biases() C++ method. This gives faster presolve times for models with many small biases.

Bug Fixes

  • Fix ImportError being raised on Windows when other dwave namespace packages are installed after dwave-preprocessing. See #130.

  • Fix the handling of quadratic constraints in presolve. Previously fixing variables in quadratic constraints would result in memory errors. See dimod#1351.

Deprecation Notes

  • Drop support for Python 3.7.

  • Deprecate Presolver.load_default_techniques(). Use Presolver.set_techniques(TechniqueFlags.Default) instead.

dwave-samplers 1.0.0 ➞ 1.1.0

New Features

  • Add timing information for SteepestDescentSolver.

  • Add timing information for SimulatedAnnealingSampler.

  • Add randomize_order keyword argument to the SimulatedAnnealingSampler.sample() method. This controls whether the variables are updated in a random order or not.

  • Add proposal_acceptance_criteria keyword argument to the SimulatedAnnealingSampler.sample() method. This controls whether the sampler will use Gibbs or Metropolis updates.

Upgrade Notes

  • Build extensions with C++17.

Bug Fixes

  • Fix ImportError being raised on Windows when other dwave namespace packages are installed after dwave-samplers. See #57.

dwave-system 1.19.0 ➞ 1.20.0

New Features

  • Support Python 3.11

Upgrade Notes

  • Require dimod>=0.12.7

dimod 0.12.6 ➞ 0.12.12

New Features

  • Implement CaseLabelDQM.to_file() when the keyword argument ignore_labels is true. Also make the error message clearer in the case that ignore_labels is false.

  • Improve the performance of ConstrainedQuadraticModel.from_discrete_quadratic_model().

  • Add dimod.generators.magic_square() which allows for the generation of a constrained quadratic model whose feasible solutions are normal magic squares. The function also generates magic squares of squares when passed power=2 as a keyword argument.

  • Implement version 2.0 of constrained quadratic model serialization. See ConstrainedQuadraticModel.to_file() for details.

  • Improve LP file reading by wrapping HiGHS LP file parser.

  • Add C++ ConstrainedQuadraticModel::remove_constraints_if() method.

  • Add Constraint.is_onehot() method.

  • Add dimod::Expression::remove_variables() C++ method. This method is useful for removing variables in bulk from the objective or constraints of a constrained quadratic model.

  • Make SampleSet.relabel_variables() non-blocking in all cases. Previously it would block when inplace=False.

  • Implement SampleSet serialization schema version 3.2.0.

    Version 3.2.0 replaces float values that represent integers with int in the "data" field of any arrays returned by SampleSet.to_serializable(). In some pathological cases this can result in a much smaller representation when the data dictionaries are json-serialized by avoiding the redundant .0 appended to every value.

    This is a backwards-compatible change.

  • Add penalization_method parameter to BinaryQuadraticModel.add_linear_inequality_constraint(). It allows the use of unbalanced penalization https://arxiv.org/abs/2211.13914 instead of the slack variables method for the inequality constraints.

  • Add mimo() function for generating a multi-input multiple-output (MIMO) channel-decoding problem.

  • Add coordinated_multipoint() function for generating a coordinated multi-point (CoMP) decoding problem.

Upgrade Notes

  • Make the arguments of DiscreteQuadraticModel.to_file() keyword-only.

  • Remove the ObjectView.to_file() method.

  • Remove the ConstraintView.to_file() method.

  • Remove dimod::lp C++ namespace.

  • Drop support for Python 3.7.

Bug Fixes

  • Fix ConstrainedQuadraticModel.from_discrete_quadratic_model() incorrectly formulating the ...
Read more

6.4.1

02 Jul 01:20
Compare
Choose a tag to compare

Changelog

dwave-cloud-client 0.10.5 ➞ 0.10.6

New Features

  • Add basic support for Leap API access with dwave.cloud.api.client.LeapAPIClient and dwave.cloud.api.resources.LeapAccount.

  • Filter out more formats of API token-like strings from logs. In addition to the Solver API tokens, we now filter generic 32-char+ hex tokens (Leap API access token format), and UUID tokens (all variants). See #551.

Bug Fixes

  • Constrain pydantic version, as V2 introduces major backwards incompatible changes.

Package versions

dimod==0.12.6
dwave-cloud-client==0.10.6
dwave-greedy==0.3.0
dwave-hybrid==0.6.10
dwave-inspector==0.4.2
dwave-neal==0.6.0
dwave-networkx==0.8.14
dwave-preprocessing==0.5.4
dwave-samplers==1.0.0
dwave-system==1.19.0
dwave-tabu==0.5.0
dwavebinarycsp==0.2.0
minorminer==0.2.11
penaltymodel==1.0.2
pyqubo==1.4.0

# extras: all
dwave-gate==0.2.1

6.4.0

02 Jun 02:11
Compare
Choose a tag to compare

Changelog

dimod 0.12.3 ➞ 0.12.6

New Features

  • Improve the performance of the ConstrainedQuadraticModel.add_variables() method.

  • Allow discrete constraints added by ConstrainedQuadraticModel.add_discrete() to have zero or one variables.

  • Add dimod::ConstrainedQuadraticModel::constraints() method that returns a view of the constraints that is easily iterated over.

  • Improve the performance of fixing and removing variables from constrained quadratic model expressions.

  • Implement the Expression::fix_variable() C++ method. Previously it would throw std::logic_error("not implemented - fix_variable").

  • Improve the performance of ConstrainedQuadraticModel.fix_variable() and ConstrainedQuadraticModel.fix_variables().

  • Add inplace keyword argument to ConstrainedQuadraticModel.fix_variables().

  • Add dimod::Constraint::clear() C++ method.

Upgrade Notes

  • Remove the undocumented cyConstrainedQuadraticModel.add_variable() method.

  • Add an overload to the C++ QuadraticModel::remove_variable() method. This is binary compatible, but it makes &remove_variable ambiguous.

  • The ConstrainedQuadraticModel.fix_variables() function now returns a ConstrainedQuadraticModel rather than an empty dictionary.

  • Change lp.load() and lp.loads() to raise a ValueErrorr rather than a RuntimeError when given an invalid file format.

  • Make beta_range, num_reads, and num_sweeps keyword-only arguments for SimulatedAnnealingSampler.sample().

  • Make num_reads and seed keyword-only arguments for RandomSampler.sample().

  • Make initial_states, initial_states_generator, num_reads and seed keyword-only arguments for IdentitySampler.sample().

  • Make rtol and atol keyword-only arguments for ExactCQMSolver.sample_cqm().

Bug Fixes

  • Fix ConstrainedQuadraticModel.add_variable() to raise a ValueError when given an inconsistent variable type. Previously it incorrectly raised a TypeError.

  • Fix ConstrainedQuadraticModel.add_variable() to raise a ValueError when given invalid variable bounds.

  • Fix lp.load() and lp.loads() functions to correctly handle maximization objectives. See #1321.

dwave-cloud-client 0.10.4 ➞ 0.10.5

New Features

  • Add strict_mode support to VersionedAPISession. Strict mode is now the default, implying API requests will fail if type/version is expected and the response doesn't include it.

  • Add version_strict_mode config option to DWaveAPIClient. It corresponds to underlying session's (VersionedAPISession) strict_mode.

  • Add VersionedAPISession, a requests.Session subclass (more precisely, further specialized LoggingSession) that enforces conformance of API response version with supported version range(s).

  • Add accepts decorator for declaring accepted media type and response format version (range) on dwave.cloud.api.Resource methods.

  • Simplify dwave.cloud.api.resource.accepts interface (require only media_type and version), but retain flexibility (pass all keyword arguments to VersionedAPISession.set_accept).

  • Support strict_mode control of API response type validation via @accepts interface.

Upgrade Notes

  • Response type version is now always required (regardless of strict_mode) if type is expected and received, and version is expected.

  • Enforce D-Wave API response format version on all cloud.api resources.

Bug Fixes

  • Fix dwave.cloud.api.resources.accepts to allow for partial decoration of Resource methods. See #544.

dwave-inspector 0.4.1 ➞ 0.4.2

Bug Fixes

dwave-networkx 0.8.13 ➞ 0.8.14

New Features

Upgrade Notes

dwave-system 1.18.0 ➞ 1.19.0

New Features

Fixes

dwave-gate 0.2.0 ➞ 0.2.1

New Features

  • Measurement samples can be returned as bitstrings instead of integers in nested lists.

  • A density matrix representation of the state can be accessed via the Circuit.density_matrix
    property, for both pure and mixed states (with the former being lazily calculated from the state
    vector).

Upgrade Notes

  • Adds support for multi-qubit sampling in measurements. Measurement.sample() and
    Measurement.expval() are updated to accept a sequence of qubit indices to sample, sampling
    all measured qubits if none are given.

    circuit = Circuit(2, 2)
    
    with circuit.context as (q, c):
        ops.X(q[0])
        m = ops.Measurement(q) | c
    
    simulate(circuit)
    
    m.sample(num_samples=3, as_bitstring=True)
    # ['10', '10', '10']
  • The state is now stored in the Circuit object (same as the bits/measurement results) instead
    of being returned by the simulate() function. It can now be accessed via the
    Circuit.state property.

Package versions

dimod==0.12.6
dwave-cloud-client==0.10.5
dwave-greedy==0.3.0
dwave-hybrid==0.6.10
dwave-inspector==0.4.2
dwave-neal==0.6.0
dwave-networkx==0.8.14
dwave-preprocessing==0.5.4
dwave-samplers==1.0.0
dwave-system==1.19.0
dwave-tabu==0.5.0
dwavebinarycsp==0.2.0
minorminer==0.2.11
penaltymodel==1.0.2
pyqubo==1.4.0

# extras: all
dwave-gate==0.2.1

6.3.0

26 Jan 21:57
Compare
Choose a tag to compare

Changelog

dwave-inspector 0.4.0 ➞ 0.4.1

Upgrade Notes

  • The .show() call does not return a RichDisplayURL anymore. Instead, we reverted to returning URL in a plain str. Jupyter viewer will display the inspector inline if possible, otherwise the URL is opened in a browser.

    To render the inspector URL inline in a Jupyter notebook cell, independently of the .show() call, you can do:

    url = dwave.inspector.show(...)
    ...
    from dwave.inspector.utils import RichDisplayURL
    RichDisplayURL(url)
    

Bug Fixes

  • Fix duplicated inline render of the Inspector in GUI Jupyter in case when the returned (rich URL) object is displayed in the same cell the dwave.inspector.show() was called. See #152

minorminer 0.2.10 ➞ 0.2.11

New Features

  • Adds a wrapper to the Glasgow Subgraph Solver. This is a really cool external library that very quickly solves subgraph isomorphism problems. In our language, that problem corresponds to finding a chainlength-1 embedding from a problem graph into a hardware graph, which optimizes performance on the hardware. Many thanks to Ciaran McCreesh (and team) for providing this library and supporting our efforts to wrap it.

Package versions

dimod==0.12.3
dwave-cloud-client==0.10.4
dwave-greedy==0.3.0
dwave-hybrid==0.6.10
dwave-inspector==0.4.1
dwave-neal==0.6.0
dwave-networkx==0.8.13
dwave-preprocessing==0.5.4
dwave-samplers==1.0.0
dwave-system==1.18.0
dwave-tabu==0.5.0
dwavebinarycsp==0.2.0
minorminer==0.2.11
penaltymodel==1.0.2
pyqubo==1.4.0

# extras: all
dwave-gate==0.1.0

6.2.0

23 Dec 18:14
Compare
Choose a tag to compare

Changelog

dwave-cloud-client 0.10.3 ➞ 0.10.4

New Features

  • Add Python 3.11 support
  • Add dimod 0.12.x support
  • Add numpy 1.24.x support

dwave-hybrid 0.6.9 ➞ 0.6.10

New Features

  • Add Python 3.11 support. See #285.

Bug Fixes

  • Adapt SA concurrency test to new Neal default schedule. See #278.

  • Add lattice ref solver to docs. See #282.

  • Stop using deprecated numpy type aliases. See #283.

  • Fix async multiprocess queue logging test. See #286.

dwave-inspector 0.3.0 ➞ 0.4.0

New Features

  • Add support for jupyter-server-proxy. Inspector URL gets rewritten prior to opening/viewing according to external URL as defined by the new config environment variable: DWAVE_INSPECTOR_JUPYTER_SERVER_PROXY_EXTERNAL_URL. See #144

  • Add support for Python 3.11

  • Add support for dimod~=0.11.0 and dimod~=0.12.0

  • Add support for running the inspector behind a network proxy. Now users can register a URL rewriter specific to their environment using the inspectorapp_proxies entry point. See #141

  • Use relative API paths to enable app hosting on externally-configured paths (app#110). See #146.

  • Render inspector inline in Jupyter notebooks. See #109 and #133.

Upgrade Notes

  • Drop Python 3.6 support

  • Drop dimod~=0.8.0 and dimod~=0.9.0 support

  • Custom viewer can now return False to signal a non-blocking show() behavior is desired. Previously the value returned was ignored by the caller.

  • Lower bound on Flask version is now 2.2.

Bug Fixes

  • Improve error handling and display in dwave-inspectorapp (app#100)

  • Make show() non-blocking regardless of the block argument when no viewer manages to open the inspector page. See #139.

  • Upgraded JSON serialization to use Flask's new DefaultJSONProvider (introduced in Flask 2.2). The "old" way is deprecated by Flask in 2.2, to be dropped in next minor release, 2.3.

dwave-networkx 0.8.12 ➞ 0.8.13

New Features

  • Add support for torus QPU graph variations. See #225.

Bug Fixes

  • Bug fix/documentation See #223.

dwave-preprocessing 0.5.3 ➞ 0.5.4

New Features

  • Release wheels for Python 3.11

minorminer 0.2.9 ➞ 0.2.10

New Features

  • Release wheels for Python 3.11.

  • Add busgraph_cache.topology_identifier method.

Package versions

dimod==0.12.3
dwave-cloud-client==0.10.4
dwave-greedy==0.3.0
dwave-hybrid==0.6.10
dwave-inspector==0.4.0
dwave-neal==0.6.0
dwave-networkx==0.8.13
dwave-preprocessing==0.5.4
dwave-samplers==1.0.0
dwave-system==1.18.0
dwave-tabu==0.5.0
dwavebinarycsp==0.2.0
minorminer==0.2.10
penaltymodel==1.0.2
pyqubo==1.4.0

# extras: all
dwave-gate==0.1.0

6.1.1

14 Dec 01:32
afdbf50
Compare
Choose a tag to compare

dwave-system 1.17.0 -> 1.18.0

Fixes

Upgrade Notes

  • Use SciPy>=1.7.3
  • Use dwave-samplers rather than dwave-greedy
  • Use NumPy>=1.20.0
  • Use dwave-preprocessing>=0.5.0
  • Use dimod>=0.12.0

6.1.0

28 Nov 23:26
c0ca591
Compare
Choose a tag to compare

dimod 0.12.0 -> 0.12.3

dimod 0.12.3

New Features

  • Add compress keyword argument to ConstrainedQuadraticModel.to_file().
  • Add ConstraintView.set_weight() method. This allows users to set the weight of existing constraints.

Upgrade Notes

  • When the constraint is hard, ConstraintView.penalty() now returns None. Previously it would return either 'linear' or 'quadratic'.

Bug Fixes

  • Fix the copy keyword argument of ConstrainedQuadraticModel.add_constraint_from_model(). Previously it would always make a copy.
  • Add missing #include in dimod/include/dimod/abc.h.
  • Fix ConstrainedQuadraticModel.add_constraint_from_iterable() to no longer raise a NotImplementedError when given a weight.
  • Fix ConstrainedQuadraticModel.add_constraint() to raise a ValueError rather than a NotImplementedError when given an invalid penalty.

dimod 0.12.2

New Features

  • Implement Expression::remove_variable() method in the C++ code.
  • Implement Expression.remove_variable() method in the Python code.
  • Add dimod/libcpp/expression.pxd and dimod/libcpp/constraint.pxd.

dimod 0.12.1

Bug Fixes

  • Add the ability to set offsets on ObjectiveView and ConstraintView. This was previously removed in dimod 0.12.0. See #1287
  • Add ObjectiveView.add_linear_from() and ConstraintView.add_linear_from() methods. These were previously removed in dimod 0.12.0.
  • Add ObjectiveView.add_variable() and ConstraintView.add_variable() methods. These were previously removed in dimod 0.12.0.

dwave-gate 0.1.0

Initial release.

dwave-greedy 0.2.5 -> 0.3.0

Deprecate dwave-greedy in favor of dwave-samplers.

dwave-neal 0.5.9 -> 0.6.0

Deprecate dwave-neal in favor of dwave-samplers.

dwave-preprocessing 0.5.1 -> 0.5.3

dwave-preprocessing 0.5.3

Features

  • Remove interactions and variables with 0 bias in Presolver

Fixes

  • Fix handling of empty soft constraint in Presolver.

dwave-preprocessing 0.5.2

Fixes

  • Fix case where Presolver was incorrectly leaving variables fixed by bounds in the model

dwave-samplers 1.0.0

Initial release. D-Wave Samplers combines the samplers from dwave-greedy, dwave-neal, and dwave-tabu.

dwave-system 1.16.0 -> 1.17.0

New Features

  • Respect low-level solver order on failover. See #479.

dwave-tabu 0.4.5 -> 0.5.0

Deprecate dwave-tabu in favor of dwave-samplers.

6.0.1

03 Nov 01:13
4238857
Compare
Choose a tag to compare

dwave-preprocessing 0.5.0 -> 0.5.1

Fixes

  • Fix case where Presolver was incorrectly marking constraints with no variables as infeasible.

6.0.0

31 Oct 23:35
938669a
Compare
Choose a tag to compare

dimod 0.11.6 -> 0.12.0

Prelude

The entire C++ library has been rewritten for performance and consistency.

New Features

  • New dimod::abc::QuadraticModelBase abstract base class.
  • Better performance for linear models.
  • Add dimod.cyqmbase.cyQMBase_template Cython class to serve as an abstract base class for Cython quadratic models.
  • Break dimod/libcpp.pxd into a full Cython subpackage to mirror the structure under dimod/include/. This allows for better organization, and less need to recompile all Cython files when changing parts of the C++ library. Packages that depend on dimod are still encouraged to use the from dimod.libcpp cimport ... syntax.
  • Build wheels for Python 3.11.

  • Add C++ dimod::ConstrainedQuadraticModel class.

  • Add C++ ConstrainedQuadraticModel.add_constraint() overload that allows a user to move a binary quadratic model or quadratic model as a constraint.
  • Add C++ ConstrainedQuadraticModel.constraint_weak_ptr() method.
  • Make BinaryQuadraticModel.vartype callable. This allows for more uniform syntax between binary quadratic models, quadratic models and constrained quadratic models.
  • Replace current ConstrainedQuadraticModel implementation with one implemented in Cython.
  • Add ConstrainedQuadraticModel.clear() method.

Bug Fixes

  • Fix a performance regression introduced in 0.10.0 when loading linear binary quadratic models from files.
  • Fix the handling of self-loops in dimod::Expression::add_quadratic() and similar methods.
  • Fix C++ ConstrainedQuadraticModel.remove_variable() method. Previously it would segmentation fault.

Upgrade Notes

  • Rewrite dimod::QuadraticModelBase and move it to dimod::abc::QuadraticModelBase in abc.h.
  • Move dimod::Vartype, dimod::vartype_info, and dimod::vartype_limits` tovartypes.h``.
  • Remove the dimod::Neighborhood class.
  • Remove iterators.h.
  • Move dimod::BinaryQuadraticModel to binary_quadratic_model.h.
  • Remove dimod.binary.cybqm.cyBQMBase class.
  • Remove dimod.quadratic.cyqm.cyQMBase class.
  • Build manylinux2014 wheels. Previously we built manylinux2010.
  • Build arm64 and x86_64 wheels for macos. Previously we built x86_64 and universal2.

Deprecation Notes

  • Deprecate the cascade keyword argument in ConstrainedQuadraticModel.fix_variable().
  • Deprecate the cascade keyword argument in ConstrainedQuadraticModel.fix_variables().

dwave-cloud-client 0.10.2 -> 0.10.3

New Features

  • Add support for NumPy scalars used as problem parameter values. See #512.

dwave-preprocessing 0.4.0 -> 0.5.0

New Features

  • Add CQM presolving.

dwave-system 1.15.0 -> 1.16.0

What's Changed

5.5.0

05 Oct 22:49
5a78bf1
Compare
Choose a tag to compare

Changelog

dimod 0.11.5 -> 0.11.6

New Features

  • Add Variables._remove() method.
  • Added weight and penalty parameters on ConstrainedQuadraticModel.add_constraint methods to encoded weighted constraints.
  • Add constrained quadratic model serialization version 1.3 to support soft constraints.