Breaking Changes

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. The points parameter is now a atomiq.atomiq.Chunk object that extends list and provides direct attribute access.

  • Kernel phases (prechunk, postchunk): The points parameter is now a atomiq.atomiq.KernelChunk object. To iterate over individual scan points, you must use points.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 (or beta): ARTIQ master branch.

    Updating from an older version will most likely require manual interference. See also the ARTIQ upgrading guides for ARTIQ 9 and ARTIQ 8. We recommend updating to the stable branch. ARTIQ updates to the NAC-3 compiler on their master **branch, which will break stuff regularly.