Skip to content
Snippets Groups Projects
To find the state of this project's repository at the time of any of these versions, check out the tags.
CHANGELOG.md 27.24 KiB

v0.15.4 (2020-08-12)

This release contains one feature addition:

  • Users can set SPACK_GNUPGHOME to override Spack's GPG path (#17139)

Several bugfixes for CUDA, binary packaging, and spack -V:

  • CUDA package's .libs method searches for libcudart instead of libcuda (#18000)
  • Don't set CUDAHOSTCXX in environments that contain CUDA (#17826)
  • buildcache create: NoOverwriteException is a warning, not an error (#17832)
  • Fix spack buildcache list --allarch (#17884)
  • spack -V works with releases/latest tag and shallow clones (#17884)

And fixes for GitHub Actions and tests to ensure that CI passes on the release branch (#15687, #17279, #17328, #17377, #17732).

v0.15.3 (2020-07-28)

This release contains the following bugfixes:

  • Fix handling of relative view paths (#17721)
  • Fixes for binary relocation (#17418, #17455)
  • Fix redundant printing of error messages in build environment (#17709)

It also adds a support script for Spack tutorials:

  • Add a tutorial setup script to share/spack (#17705, #17722)

v0.15.2 (2020-07-23)

This minor release includes two new features:

  • Spack install verbosity is decreased, and more debug levels are added (#17546)
  • The $spack/share/spack/keys directory contains public keys that may be optionally trusted for public binary mirrors (#17684)

This release also includes several important fixes:

  • MPICC and related variables are now cleand in the build environment (#17450)
  • LLVM flang only builds CUDA offload components when +cuda (#17466)
  • CI pipelines no longer upload user environments that can contain secrets to the internet (#17545)
  • CI pipelines add bootstrapped compilers to the compiler config (#17536)
  • spack buildcache list does not exit on first failure and lists later mirrors (#17565)
  • Apple's "gcc" executable that is an apple-clang compiler does not generate a gcc compiler config (#17589)
  • Mixed compiler toolchains are merged more naturally across different compiler suffixes (#17590)
  • Cray Shasta platforms detect the OS properly (#17467)
  • Additional more minor fixes.

v0.15.1 (2020-07-10)

This minor release includes several important fixes:

  • Fix shell support on Cray (#17386)
  • Fix use of externals installed with other Spack instances (#16954)
  • Fix gcc+binutils build (#9024)
  • Fixes for usage of intel-mpi (#17378 and #17382)
  • Fixes to Autotools config.guess detection (#17333 and #17356)
  • Update spack install message to prompt user when an environment is not explicitly activated (#17454)

This release also adds a mirror for all sources that are fetched in Spack (#17077). It is expected to be useful when the official website for a Spack package is unavailable.

v0.15.0 (2020-06-28)

v0.15.0 is a major feature release.

Major Features in this release

  1. Cray support Spack will now work properly on Cray "Cluster" systems (non XC systems) and after a module purge command on Cray systems. See #12989

  2. Virtual package configuration Virtual packages are allowed in packages.yaml configuration. This allows users to specify a virtual package as non-buildable without needing to specify for each implementation. See #14934

  3. New config subcommands This release adds spack config add and spack config remove commands to add to and remove from yaml configuration files from the CLI. See #13920

  4. Environment activation Anonymous environments are no longer automatically activated in the current working directory. To activate an environment from a spack.yaml file in the current directory, use the spack env activate . command. This removes a concern that users were too easily polluting their anonymous environments with accidental installations. See #17258

  5. Apple clang compiler The clang compiler and the apple-clang compiler are now separate compilers in Spack. This allows Spack to improve support for the apple-clang compiler. See #17110

  6. Finding external packages Spack packages can now support an API for finding external installations. This allows the spack external find command to automatically add installations of those packages to the user's configuration. See #15158

Additional new features of note

  • support for using Spack with the fish shell (#9279)
  • spack load --first option to load first match (instead of prompting user) (#15622)
  • support the Cray cce compiler both new and classic versions (#17256, #12989)
  • spack dev-build command:
    • supports stopping before a specified phase (#14699)
    • supports automatically launching a shell in the build environment (#14887)
  • spack install --fail-fast allows builds to fail at the first error (rather than best-effort) (#15295)
  • environments: SpecList references can be dereferenced as compiler or dependency constraints (#15245)
  • spack view command: new support for a copy/relocate view type (#16480)
  • ci pipelines: see documentation for several improvements
  • spack mirror -a command now supports excluding packages (#14154)
  • spack buildcache create is now environment-aware (#16580)
  • module generation: more flexible format for specifying naming schemes (#16629)
  • lmod module generation: packages can be configured as core specs for lmod hierarchy (#16517)

Deprecations and Removals

The following commands were deprecated in v0.13.0, and have now been removed:

  • spack configure
  • spack build
  • spack diy

The following commands were deprecated in v0.14.0, and will be removed in the next major release:

  • spack bootstrap

Bugfixes

Some of the most notable bugfixes in this release include:

  • Spack environments can now contain the string -h (#15429)
  • The spack install gracefully handles being backgrounded (#15723, #14682)
  • Spack uses -isystem instead of -I in cases that the underlying build system does as well (#16077)
  • Spack no longer prints any specs that cannot be safely copied into a Spack command (#16462)
  • Incomplete Spack environments containing python no longer cause problems (#16473)
  • Several improvements to binary package relocation

Package Improvements

The Spack project is constantly engaged in routine maintenance, bugfixes, and improvements for the package ecosystem. Of particular note in this release are the following:

  • Spack now contains 4339 packages. There are 430 newly supported packages in v0.15.0
  • GCC now builds properly on ARM architectures (#17280)
  • Python: patched to support compiling mixed C/C++ python modules through distutils (#16856)
  • improvements to pytorch and py-tensorflow packages
  • improvements to major MPI implementations: mvapich2, mpich, openmpi, and others

Spack Project Management:

  • Much of the Spack CI infrastructure has moved from Travis to GitHub Actions (#16610, #14220, #16345)
  • All merges to the develop branch run E4S CI pipeline (#16338)
  • New spack debug report command makes reporting bugs easier (#15834)

v0.14.2 (2020-04-15)