Release Notes¶
0.10.5¶
New Features¶
Add
strict_mode
support toVersionedAPISession
. 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 toDWaveAPIClient
. It corresponds to underlying session’s (VersionedAPISession
)strict_mode
.
Add
VersionedAPISession
, arequests.Session
subclass (more precisely, further specializedLoggingSession
) 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) ondwave.cloud.api.Resource
methods.
Simplify
dwave.cloud.api.resource.accepts
interface (require onlymedia_type
andversion
), but retain flexibility (pass all keyword arguments toVersionedAPISession.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.
0.10.2¶
New Features¶
Added
estimate_qpu_access_time
method todwave.cloud.solver.StructuredSolver
to estimate quantum processing unit (QPU) access time for a submission to the selected solver.
0.10.1¶
0.10.0¶
New Features¶
Add
poll_backoff_base
configuration option to control the exponential base of the (problem status) polling schedule. Available as a config file option anddwave.cloud.Client
keyword argument.
Upgrade Notes¶
Make polling schedule denser in the beginning (by lowering the exponential base from
2
to1.3
), thus enabling much faster answer download for SAPI response times under two minutes.
Remove
Client.solvers()
method in favor ofClient.get_solvers()
. It was previously deprecated indwave-cloud-client==0.5.0
.
Remove
dwave.cloud.computation.Future.error
property in favor ofdwave.cloud.computation.future.exception()
method. The property was previously deprecated indwave-cloud-client==0.7.3
.
Remove
dwave.cloud.computation.Future.{eta_min,eta_max}
. These properties were previously deprecated indwave-cloud-client==0.8.5
when the underlying SAPI feature/field was removed.
Remove
dwave.cloud.computation.Future.occurrences
alias in favor ofdwave.cloud.computation.Future.num_occurrences
property. The alias was previously deprecated indwave-cloud-client==0.8.0
.
CLI: use of
-c
for--config-file
has been deprecated sincedwave-cloud-client==0.8.5
in favor of-f
, and the option is now removed in 0.10.0. Use--config-file
or-f
instead.
Remove support for dimod 0.8.x. Upgrade dimod to 0.9.0+.
Upgrade your python to 3.7+. We no longer support python 3.6 and below.
Deprecation Notes¶
Alias keys (
samples
andoccurrences
) indwave.cloud.computation.Future.result()
-returned dictionary are deprecated sincedwave-cloud-client==0.8.0
and will be removed indwave-cloud-client==0.12.0
.
Positional arguments to
dwave.cloud.Client
constructor are deprecated sincedwave-cloud-client==0.10.0
and will be removed indwave-cloud-client==0.12.0
. Use keywords arguments instead.
0.9.5¶
0.9.4¶
0.9.3¶
New Features¶
Add Python 3.10 support.
Add
--json
output option todwave sample
.
Add
--sampling-params
option todwave sample
.--num-reads
has been kept, and it now overwrites value given in sampling params.
Add
--label
option todwave ping
anddwave sample
, with a default value set. See #481.
Add
--full
option todwave setup
, propagated todwave config create
. Clarifieddwave setup
operation in CLI help.
Filter out API token-like strings from logs. Most notably, we make sure to redact Solver API tokens, but will filter out any prefixed hex token. See #391.
0.9.2¶
New Features¶
Added Metadata API client,
Regions
model and API resource.
Added multi-region support to
dwave.cloud.Client
.New config option for region selection is called
region
, and environment variable is calledDWAVE_API_REGION
.New config option for specifying Metadata API endpoint URL is exposed as
metadata_api_endpoint
andDWAVE_METADATA_API_ENDPOINT
.List of available regions available with
dwave.cloud.Client.get_regions
.
Add context manager protocol support to
dwave.cloud.api.client.DWaveAPIClient
to ensure resources are easily cleaned up (session closed). Note thatclose()
method is available for cases when context manager pattern is inconvenient.Similarly, we add
close()
method to resources indwave.cloud.api.resource.*
, in addition to the existing context manager protocol support.
Add
--region
and--endpoint
options to the relevantdwave
CLI subcommands:ping
,solvers
,sample
,upload
.
Upgrade Notes¶
To access solvers in a non-default region (na-west-1), you can use the
region
config option andDWAVE_API_REGION
environment variable.
dwave.cloud.config.load_config
used to return some minimal (but arbitrary) set of always-set options (set toNone
if undefined). Now it returns just the options set either in config file, environment, or kwargs.
Bug Fixes¶
Fix
dwave.cloud.api.constants.ProblemType
enumeration to include the CQM problem type.
0.9.1¶
New Features¶
Add Leap hybrid CQM solvers support.
Upgrade Notes¶
Sampling on structured solvers of problems with incompatible graph/structure now fails with
ProblemStructureError
.
0.9.0¶
New Features¶
Default
dwave config create
configuration flow is now simplified to prompt only for essential parameters (at the moment that’s onlytoken
).Interactive configuration of an extended set of non-essential parameters (i.e. the previous default) is now available via a new flag:
--full
.See #304
Upgrade Notes¶
To configure non-essential parameters such as
endpoint
,client
andsolver
, configuration create command now has to be called with the--full
option:dwave config create --full
Bug Fixes¶
When a path to a nonexistent config file is provided to
dwave config create
, we’ll now happily create that file, instead of failing.
0.9.0.dev0¶
Prelude¶
We began using Reno as a changelog tool after the release of 0.8.7. Content added before that release is not included. See releases for previous release notes.
New Features¶
A low-level
dwave.cloud.api.client
added to abstract SAPI communication details (like authentication, response decoding, error handling, retries, etc).
All SAPI requests and responses modelled in
dwave.cloud.api.models.*
. These models are used for data validation and representation.
Added model-level interfaces to SAPI resources (in a REST sense),
dwave.cloud.api.resources.Solvers
anddwave.cloud.api.resources.Problems
.
Added mock solver data generators.
New layer of exceptions added in
dwave.cloud.api.exceptions
. Base exceptionRequestError
subclassesrequests
’s exception and includes raw.response
object, along with.error_msg
and.error_code
returned by SAPI.
Begin using reno for changelog.
Upgrade Notes¶
SAPIError
exception is now just an alias fordwave.cloud.api.exceptions.RequestError
.
dwave.cloud.client
module is now a namespace containing all client subclasses as submodules. You should update your imports accordingly:dwave.cloud.Client --> dwave.cloud.client.base.Client dwave.cloud.hybrid.Client --> dwave.cloud.client.hybrid.Client dwave.cloud.qpu.Client --> dwave.cloud.client.qpu.Client dwave.cloud.sw.Client --> dwave.cloud.client.sw.Client
For backwards compatibility, old import paths still work, but are deprecated.
Deprecation Notes¶
Import paths
dwave.cloud.{hybrid,qpu,sw}.Client
are deprecated and should be replaced withdwave.cloud.client.{hybrid,qpu,sw}.Client
.