Breaking Changes¶
2026.2.0¶
atomiq.components.lock frequency conventions
This version resolved the frequency setting inconsistencies in atomiq.components.lock.
All methods atomiq.components.lock.Lock.get_frequency(), set_frequency, ramp_frequency now refer to the light frequency exiting the laser (with harmonic factor applied).
The arguments reference_frequency, lock_offset and methods set_detuning(), ramp_detuning() refer now to the laser fundamental (where the lock acts).
Check your components if they reflect this consistent convention!
2026.1.7 (minor)¶
get_multiscanmanager signature change
atomiq.AtomiqExperiment.get_multiscanmanager() now returns a tuple consisting of the scan argument order (a list of the
scanned argument names, from the inner to the outer loop) and the artiq.language.scan.MultiScanManager.
Before (Old Code):
mult_scan = self.get_multiscanmanager()
After (New Code):
scan_argument_order, mult_scan = self.get_multiscanmanager()
If you override or call this method in your experiments (Which you should not!), adapt your code accordingly.
2026.1.0¶
The chunking system has been updated with new atomiq.atomiq.Chunk and atomiq.atomiq.KernelChunk classes that change how scan points are accessed in kernel phases.
Host phases (
prechunk_host,postchunk_host): No changes required. Thepointsparameter is now aatomiq.atomiq.Chunkobject that extendslistand provides direct attribute access.Kernel phases (
prechunk,postchunk): Thepointsparameter is now aatomiq.atomiq.KernelChunkobject. To iterate over individual scan points, you must usepoints.to_list().
Before (Old Code):
@kernel
def prechunk(self, points):
# Access first point's attributes, no guarantee that it is constant in chunk
exposure = points[0].exposure_time
# Iterate over all points
for point in points:
freq = point.frequency
# ... process each point
After (New Code):
@kernel
def prechunk(self, points):
# Access invariant attributes directly
exposure = points.exposure_time
# Iterate over all points using to_list()
for point in points.to_list():
freq = point.frequency
# ... process each point
See Accessing Scan Point Information in the chunking documentation for more details.
0.5.0¶
ARTIQ version changed. The ATOMIQ branches now track the following ARTIQ versions:
old_stable: ARTIQ 8 (was ARTIQ 7)stable: ARTIQ 9 (was ARTIQ 8)latest(orbeta): ARTIQ master branch.
Updating from an older version will most likely require manual intervention. See also the ARTIQ upgrading guides for ARTIQ 9 and ARTIQ 8. We recommend updating to the
stablebranch. ARTIQ updates to the NAC-3 compiler on theirmaster**branch, which will break stuff regularly.