Skip to content

0.4.0 - 2025-04-11

Compare
Choose a tag to compare
@ncoghlan ncoghlan released this 10 Apr 19:21
· 9 commits to main since this release
ce9ecd3

➡️  PyPI page: venvstacks 0.4.0.

Added

  • Framework layers may now specify frameworks to depend on one or more framework layers instead of depending directly on a runtime layer. Framework dependencies must form a directed acyclic graph (DAG), and framework layers must be defined after any framework layers they depend on (proposed in #18, implemented in #119).
  • Application layers may now specify runtime to depend directly on a a runtime layer with no intervening framework layers (added as part of resolving #18).
  • All layers may now specify dynlib_exclude to indicate dynamic libraries which should not be symbolically linked into the share/venv/dynlib/ environment subfolder on Linux and macOS (added as part of resolving #38).

Changed

  • To enable loading of shared objects from other environment layers, framework and application environments on Linux and macOS now run Python via a suitably capable shell environment (bash on Linux, zsh on macOS) that can be expected to be consistently installed (changed in #38).

Fixed

  • Extension modules on Linux and macOS that rely on shared objects published by their dependencies (for example, PyTorch depending on CUDA libraries) now work correctly even if those dependencies are installed in a lower environment layer. See dynamic-linking for additional details (resolved in #38).