Skip to content

v2025.07.0

Choose a tag to compare

@becker33 becker33 released this 18 Jul 18:43
· 1 commit to releases/v2025.07 since this release
4b8bb35

This is the initial release of the Spack package repository as its own project, separate from the core Spack tool.

Package API version

Starting with Spack v1.0, the Spack Package API is separately versioned from Spack.

This release uses Package API v2.2. We are guaranteeing that any Spack v1.x release will be backward compatible with Package API v.2.2 -- i.e., it can execute code from packages in this release.

See the Package API Documentation for full details
on package versioning and compatibility. The high level details are:

  1. The spack.package Python module defines the Package API;
  2. The Package API minor version is incremented when new functions or classes are exported from spack.package; and
  3. The major version is incremented when functions or classes are removed or have breaking changes to their signatures (a rare occurrence).

This independent versioning allows package authors to utilize new Spack features without waiting for a new Spack release.

Major changes from the builtin repository as it existed within Spack core

  • Spack packages are defined in this repo;
  • Spack build system classes are defined in this repo, in the spack_repo.builtin.build_systems module (previously in core in the spack.build_systems module).
  • The structure of v2.x Spack repositories has changed. Directory names are now normalized so they are valid Python modules. Previously, directory names could contain hyphens and were not understood by editors and Python tooling. Now the naming scheme is:
    • py-numpy/package.py -> py_numpy/package.py (hyphen is replaced by underscore)
    • 7zip/package.py -> _7zip/package.py (leading digits are now preceded by an underscore)
    • pass/package.py -> _pass/package.py (reserved keywords are preceded by an underscore)

Spack version 1.0

Further information about new features and changes to packages since the v0.23 release can be found in the Spack v1.0.0 release notes.