Skip to content

Releases: dwavesystems/dwave-cloud-client

0.9.3

21 Dec 15:54
Compare
Choose a tag to compare

New Features

  • Add Python 3.10 support.

  • Add --json output option to dwave sample.

  • Add --sampling-params option to dwave sample. --num-reads has been kept, and it now overwrites value given in sampling params.

  • Add --label option to dwave ping and dwave sample, with a default value set. See #481.

  • Add --full option to dwave setup, propagated to dwave config create. Clarified dwave 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.

Bug Fixes

  • Improved error and output handling in dwave sample. See #300.

0.9.2

19 Oct 19:10
Compare
Choose a tag to compare

New Features

  • Added Metadata API client, Regions model and API resource. See #483.

  • Added multi-region support to dwave.cloud.Client. See #483.

    New config option for region selection is called region, and environment variable is called DWAVE_API_REGION.

    New config option for specifying Metadata API endpoint URL is exposed as metadata_api_endpoint and DWAVE_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 that close() method is available for cases when context manager pattern is inconvenient. See #492.

    Similarly, we add close() method to resources in dwave.cloud.api.resource.*, in addition to the existing context manager protocol support.

  • Add --region and --endpoint options to the relevant dwave CLI subcommands: ping, solvers, sample, upload. See #496.

Upgrade Notes

  • To access solvers in a non-default region (na-west-1), you can use the region config option and DWAVE_API_REGION environment variable.

  • dwave.cloud.config.load_config used to return some minimal (but arbitrary) set of always-set options (set to None 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. See #491.

0.9.1

04 Oct 16:29
Compare
Choose a tag to compare

New Features

  • Add Leap hybrid CQM solvers support. See #489.

Upgrade Notes

  • Sampling on structured solvers of problems with incompatible graph/structure now fails with ProblemStructureError. See #487.

Bug Fixes

  • Make StructuredSolver.check_problem faster (15-20%). See #487.

0.9.0

29 Sep 23:03
Compare
Choose a tag to compare

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 only token).

    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 and dwave.cloud.api.resources.Problems.
  • Added mock solver data generators.
  • New layer of exceptions added in dwave.cloud.api.exceptions. Base exception RequestError subclasses requests'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 for dwave.cloud.api.exceptions.RequestError.
  • To configure non-essential parameters such as endpoint, client and solver, 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 with dwave.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.

0.9.0.dev0

17 Sep 16:02
Compare
Choose a tag to compare
0.9.0.dev0 Pre-release
Pre-release

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 and dwave.cloud.api.resources.Problems.
  • Added mock solver data generators.
  • New layer of exceptions added in dwave.cloud.api.exceptions. Base exception RequestError subclasses requests'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 for dwave.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 with dwave.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).
  • Avoid character encoding / charset guessing for speed and stability.

0.8.7

03 Aug 11:24
Compare
Choose a tag to compare

Fixes

  • Support dimod 0.10+ (#474)
  • Defer click import until needed for CLI, enabling partial degradation only in environments that don't support click (#473)

0.8.6

14 Jul 18:11
48e7d52
Compare
Choose a tag to compare

Fixes

  • Specify use of chardet to fix the multipart upload error introduced with requests==2.26.0 (#471)

0.8.5

28 Jun 17:22
Compare
Choose a tag to compare

New Features

  • Annotated Future.sampleset with .wait_id method (#377)
  • Added dispatches_events decorator that can be used to simplify event dispatch on method entry and exit (#443/#455)
  • CLI: added --client option to override the client type used (#458)

Fixes

  • Dispatch sampling events also from unstructured solvers (#454)
  • CLI: fixed solver by client filtering (#457)
  • Docs: added link checks (#464), updated sphinx/conf (#470)

Changes

  • CLI: deprecated -c flag (short for --config-file) in favor of -f (#458)
  • Dropped Python 3.5 support (#467)
  • Deprecated Future.{eta_min,eta_max} (#468)

0.8.5rc1

28 Jun 17:17
Compare
Choose a tag to compare
0.8.5rc1 Pre-release
Pre-release
Release 0.8.5rc1

0.8.4

24 Jan 21:09
Compare
Choose a tag to compare

Fixes

  • Simplified CircleCI config
  • Added general problem info (id/label) to unstructured solvers' response (#449)