0.9.0
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
-
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
-
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
.
-
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
-
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
.
Bug Fixes
- Configured client session creation is sped up by caching user-agent construction (per client). Client session is now created ~200x faster, making it on par with
requests.Session
creation time (~50us).
- When a path to a nonexistent config file is provided to
dwave config create
, we'll now happily create that file, instead of failing.
- Avoid character encoding / charset guessing for speed and stability.