.. _atomiq-doc-breaking-changes: Breaking Changes ================ HEROS ----- 14.0 ---- The tag ``_pkg_versions`` attached to all heros was moved to the new ``extra_metadata`` attribute and can now be accessed as ``self._hero_extra_metadata["pkg_versions"]``. :ref:`More info ... ` Atomiq ------ 2026.1.0 -------- The chunking system has been updated with new :py:class:`atomiq.atomiq.Chunk` and :py:class:`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 :py:class:`atomiq.atomiq.Chunk` object that extends ``list`` and provides direct attribute access. - **Kernel phases** (``prechunk``, ``postchunk``): The ``points`` parameter is now a :py:class:`atomiq.atomiq.KernelChunk` object. To iterate over individual scan points, you must use ``points.to_list()``. **Before (Old Code):** .. code-block:: python @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):** .. code-block:: python @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 :ref:`phases_scan_point` 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.