Skip to content

0.5.0 - 2025-05-12

Choose a tag to compare

@ncoghlan ncoghlan released this 12 May 02:53
· 83 commits to main since this release
590087e

➡️  PyPI page: venvstacks 0.5.0.

Changed

  • Layer locks are now invalidated for launch module changes. This also means that implicit versioning will update the layer version (resolves #89).
  • The exception raised when reporting dynamic library symlink conflicts in a layer now reports all ambiguous library targets in the layer instead of only reporting the first ambiguity encountered (resolved in #158).

Fixed

  • Previously defined layer locks are now correctly invalidated in the following cases (resolves #149):
    • the layer's declared input requirements have changed
    • the major Python version of the layer's base runtime has changed
    • the layer depends on a layer that does not currently have a valid layer lock
    • the relative paths from the layer to the layers it depends have changed (including additions and removals of layer dependencies)
    • implicit layer versioning is enabled or disabled for the layer
  • Attempting to lock a layered environment now fails if any layer it depends on does not have a currently valid layer lock (resolves #161).
  • CLI arguments on Windows are no longer unexpectedly resolved as filesystem glob patterns (resolved in #160).
  • Dynamic library symlinks are now correctly removed if the dynamic library is no longer included in the built layer (resolved in #163).
  • As it affects launch module execution, application layer launch module hashes now incorporate the file name in addition to the file contents (resolved in #164).
  • Application layer launch packages are now consistently archived using the layer's lock timestamp, even when that is more recent than the file's local modification time (resolved in #148).