Skip to content

Releases: pasqal-io/Pulser

v1.1.0

18 Oct 07:59
14da4eb
Compare
Choose a tag to compare

Pulser v1.1.0

What's new

  • Incorporate automatic layout generation in Register (#753) : For any arbitrary register Register(...), an appropriate RegisterLayout that fits a given device's specifications can now be automatically added by calling:
     reg = Register(...).with_automatic_layout(device: Device) 
  • Add layout restricting parameters to BaseDevice (#751)

Fixes

  • Fix rounding error in RampWaveform (#747)
  • Fix normalisation in ring of atoms (#750)
  • Improve the NoiseModel unused parameters warning message (#752)

Changelog

14da4eb Release v1.1.0
c0173a7 Bump version to 1.1.0
2fa0f7f Incorporate automatic layout generation in Register (#753)
c32b4bd Attempt to compare pulser versions when abstract repr validation fails (#754)
c6e9fbf Improve the NoiseModel unused parameters warning message (#752)
a8cd6f1 Add layout restricting parameters to BaseDevice (#751)
956af97 Fix normalisation in ring of atoms (#750)
cdedaeb Fix rounding error in RampWaveform (#747)
c133817 Bump version to 1.1dev0

Contributors

A special shoutout goes to the contributors and reviewers involved in this release:

  • Antoine Cornillot
  • Harold Erbin
  • Henrique Silvério

A huge thank you to all Pulser contributors, both to this and past versions.

v1.0.0

09 Oct 13:44
99842f0
Compare
Choose a tag to compare

Pulser v1.0.0

With this release, Pulser is officially a stable package. With this change comes the guarantee of backwards compatibility, along with a stronger commitment with API stability.

The changes on this release focused mostly on removing deprecated functionality. To make the upgrade as smooth as possible, we recommend first upgrading your installation to Pulser v0.20 to surface any deprecation warnings or upcoming breakages you might experience. Once those are resolved, you can safely install Pulser v1.0.0.

Fixes

  • Correct XY Hamiltonian interaction term (#744)

Removals

  • Drop support for Python 3.8 (#743)
  • Remove Simulation() and pulser.simulation (#736)
  • Remove legacy JSON serialization methods for Sequence (#737)
  • Remove Chadoq2 and IroiseMVP (#735)
  • Remove references to "submission" on RemoteResults (#738)
  • Remove legacy NoiseModel (#734)

Changelog

99842f0 Release v1.0.0
f8c1117 Bump version to 1.0.0
9ff81d8 Preparing v1 release (#739)
6aee569 Remove legacy NoiseModel (#734)
0f8d435 Remove references to "submission" on RemoteResults (#738)
a47f0a9 Remove Chadoq2 and IroiseMVP (#735)
3046a3d Remove legacy JSON serialization methods for Sequence (#737)
dd68ac3 Remove Simulation() and pulser.simulation (#736)
f04682b Drop support for Python 3.8 (#743)
96ab5c4 Correct XY Hamiltonian interaction term (#744)
32fbbb0 Bump version to 0.21dev1

Contributors

A special shoutout goes to the contributors and reviewers involved in this release:

  • Antoine Cornillot
  • Henrique Silvério

A huge thank you to all Pulser contributors, both to this and past versions.

Release v0.20.1

25 Sep 13:26
100ea7c
Compare
Choose a tag to compare

Main Changes

  • Unpins pulser-pasqal in the pulser metapackage

Bugfix

  • Restores backwards compatibility with pulser-core<0.20

Changelog

100ea7c Release v0.20.1
4d59653 Bump version to v0.20.1
04ba5a5 Restore backwards compatibility with pulser-core<0.20 (#740)
cea1f7a Isolating pulser-pasqal version and release process (#733)
a90dec0 Clarifications on the QUBO tutorial (#731)
a7c4765 Bump version to 0.21dev0

Release v0.20.0

20 Sep 10:37
499d961
Compare
Choose a tag to compare

Main changes

  • Reworking the NoiseModel interface (#710)
  • Allow modification of the EOM setpoint without disabling EOM mode (#708)
  • Enable definition of effective noise operators in all basis (#716)
  • Add leakage (#720)
  • Support differentiability through Torch tensors (#703)
  • Add from_abstract_repr to Device and VirtualDevice (#727)
  • [FEAT] Handle batches with partial results (#707)
  • Add open batches to pulser-pasqal (#701)

Deprecations

  • With the new NoiseModel interface, noise_types should no longer be explicitly provided and the default values are removed. Instead, only the relevant noise parameters should be provided and the associated noise types are activated accordingly.
  • With the addition of open batches, all references to "submission" as an identifier of a batch were replaced by "batch". This forced some deprecations, namely:
    • RemoteResults(submission_id:str, ...) is now RemoteResults(batch_id: str, ...)
    • RemoteResults.get_status() -> SubmissionStatus is deprecated in favor of RemoteResults.get_batch_status() -> BatchStatus

All changes were introduced in a backwards compatible way.

Changelog

499d961 Release v0.20.0
f14b81a Bump version to 0.20.0
c12306a Add open batches to pulser-pasqal (#701)
7af1d2d [FEAT] Handle batches with partial results (#707)
02122e2 Add from_abstract_repr to Device and VirtualDevice (#727)
2f5e56c Soften switching device with strict conditions (#724)
e21d3a8 Support differentiability through Torch tensors (#703)
6c12156 Allow specification of job IDs in RemoteResults (#718)
8550104 Make total_bottom_detuning mandatory (#728)
393526f Add leakage (#720)
c9f7957 Fix failing pipeline for test of relaxation noise in qutrit state (#719)
0455ed1 Enable definition of effective noise operators in all basis (#716)
5335305 Hide Rabi frequency when drawing DMM channels (#717)
82bedf5 Add leakage noise in NoiseModel (#714)
acf136f Defining dephasing and depolarizing operators with projectors (#715)
03fbb6e Allow modification of the EOM setpoint without disabling EOM mode (#708)
1b3735d Reworking the NoiseModel interface (#710)
e16257a Add states labels to Channels and SequenceSamples (#705)
31db5c7 Bump version to v0.20dev0

Contributors

A special shoutout goes to the contributors and reviewers involved in this release:

  • Antoine Cornillot
  • Henrique Silvério
  • Matthieu Moreau
  • Oliver Gordon
  • Vytautas Abramavicius

A huge thank you to all Pulser contributors, both to this and past versions.

Release v0.19.0

02 Jul 11:56
1304a5d
Compare
Choose a tag to compare

Main changes

  • Add option to switch the Sequence register (#684)
  • Support arbitrary phase-modulated pulses (#688)
  • Optionally skip JSON schema validation after serialization (#693)
  • Support for 3D registers and layouts in the abstract representation (#696)
  • Allow backends to mimic QPU validation locally (#685)

Fixes

  • Ignore the phase reference on the DMM channel's pulses (#700)

Changelog

1304a5d Release v0.19.0
7a89866 Bump version to v0.19.0
f224984 Allow backends to mimic QPU validation locally (#685)
e54c743 Ignore the phase reference on the DMM channel's pulses (#700)
acd8911 Support for 3D registers and layouts in the abstract representation (#696)
df8a77b Fix OS-precision-dependent unit test (#694)
a410687 Optionally skip JSON schema validation after serialization (#693)
873d3df Support arbitrary phase-modulated pulses (#688)
101ef6c Bring in changes from the v0.18.1 hotfix
51ea35e Fix typo in check-release CI job
3035554 Bump version to 0.19dev1
e81417b Bring in changes from v0.18.1 hotfix
3350807 Add lightshift coefficients to RydbergEOM (#687)
8083dee Add option to switch the Sequence register (#684)
131205f Bump version to 0.19dev0

Contributors

A special shoutout goes to the contributors and reviewers involved in this release:

  • Aleksander Wennersteen
  • Antoine Cornillot
  • Henrique Silvério
  • Matthieu Moreau

A huge thank you to all Pulser contributors, both to this and past versions.

Release v0.18.1

07 Jun 09:55
f4b8a1a
Compare
Choose a tag to compare

Bugfixes

  • Fixes in correct_phase_drift behaviour
  • More robust Pulse comparison
  • Python 3.12 support

Changelog

f4b8a1a Fixes in correct_phase_drift behaviour + more robust Pulse comparison + Python 3.12 support (#690)

Release v0.18.0

29 Apr 09:54
82c282b
Compare
Choose a tag to compare

New features

  • Enable digital simulation (#652)
  • Enabling definition of multiple noise channels and noise channels in XY (#647)
  • Improve access to output modulation durations (#663)
  • Adding relaxation noise channel (#675)
  • Centralize all backend imports from a single pulser.backends module (#678)
  • Add hyperfine dephasing rate to NoiseModel (#680)
  • Add optional default noise models to devices (#676)
  • Rectangular lattice register and layout (#665)

Removals

  • Remove Register.rotate() (#642)
  • Remove deprecated noise arguments (#674)

Fixes

  • Redefine slope of RampWaveform (#644)

Changelog

ddc6682 Bump version to v0.18.0
227b859 Sync 'master' and 'develop'
c695373 Rectangular lattice register and layout (#665)
d83c876 Add missing QPU validation fields to the Device class (#682)
4981ca6 Add optional default noise models to devices (#676)
831ca04 Update pasqal-cloud to ~=0.8.1 (#681)
96a8c34 Add hyperfine dephasing rate to NoiseModel (#680)
716b86b Centralize all backend imports from a single pulser.backends module (#678)
34b41b4 Fix CI tests on "macos" for python < 3.10 (#677)
f303138 Adding relaxation noise channel (#675)
188d21d Remove deprecated noise arguments (#674)
7df66e3 Block add() on DMM channels (#672)
0f6e3dd Improve access to output modulation durations (#663)
2ddd789 Merge pull request #670 from pasqal-io/v0.18dev4
6eb736d [HOTFIX] Restrict SciPy to < 1.13 due to breaking Qutip (#668)
71b8e03 Define max_step from minimum variations of samples, nsteps (#666)
85615c5 Upgrade black version to 24.3.0 to fix vulnerability (#662)
c8dcef0 Merge pull request #657 from pasqal-io/bump_v0.18dev3
ebed93a Merge v0.17.3 into develop
cadd576 Bump version to v0.18dev2
153b7cf Bring in changes from v0.17.2
bcb78cc Enable digital simulation (#652)
c2d5b6c Enabling definition of multiple noise channels and noise channels in XY (#647)
61d75f0 Merge pull request #650 from pasqal-io/release_v0.17.1
6a19445 Release v0.17.1
20e6765 FIX: Redefine slope of RampWaveform (#644)
7b7918b Update Github Actions (#641)
21a47f3 Remove Register.rotate() (#642)
d9125bc Bump version to 0.18dev0

Contributors

A special shoutout goes to the contributors to this release:

  • Aleksander Wennersteen
  • Antoine Cornillot
  • Henrique Silvério
  • Soufiane Kaghad

A huge thank you to all Pulser contributors, both to this and past versions.

Release v0.17.3

19 Mar 15:21
5817111
Compare
Choose a tag to compare

Bugfix

  • Fixed tutorial "Building 1D Rydberg Crystals"
  • Fixed update of amp_sigma in QutipEmulator.add_config

Changelog

5817111: Fix tutorial 1D Crystal and add config (#656)

Release v0.17.2

01 Mar 16:02
83894fe
Compare
Choose a tag to compare

Bugfix

  • Fixed deserialization of sized VariableItem instances

New features

  • Variable supports indexing from a list of indices (eg. var[[0, 1, 4]])
  • VariableItem supports __len__() on sized instances

Changelog

83894fe FIX: Deserialization of sized variable items (#653)

Release v0.17.1

15 Feb 10:13
b50a378
Compare
Choose a tag to compare

Bugfix

  • Fix definition of slope in RampWaveform. (#649)
  • Fix simulation of SPAM noise in XY in QutipEmulator. (#649)

Changelog

b50a378 FIX: SPAM noise in XY, Slope of RampWaveform (#649)