Skip to content

0.7.0 - 2025-07-05

Latest

Choose a tag to compare

@ncoghlan ncoghlan released this 04 Jul 15:58
· 36 commits to main since this release
6ebf700

➡️  PyPI page: venvstacks 0.7.0.

Added

  • show subcommand to display layer definitions (added in #159).
  • --show option on subcommands (other than show) to display the selected layers and operations before executing the command (added in #159).
  • --show-only option on subcommands (other than show) to display the selected layers and operations without executing the command (added in #159).
  • --json option on subcommands to display the selected layers and operations as JSON rather than as a human-readable tree. For commands other than show, implies --show-only if --show is not passed explicitly (added in #159).

Changed

  • Recursive source tree processing now excludes files excluded from version control when building from a git repository, and excludes __pycache__ folders otherwise. This exclusion affects both module hash calculations and the inclusion of files in built environments (resolves #203).
  • RECORD files for installed packages are now largely retained in published artifacts and locally exported environments, with only the entries corresponding to omitted files removed (resolved in #28). This allows packages that inspect the metadata for installed packages at runtime to work correctly when deployed with venvstacks.
  • Default CLI console output has been substantially reduced, with new -q/--quiet and -v/--verbose options added to adjust the message volume (changed in #5).
  • Library level messages are now emitted via the logging module rather than being written directly to stdout. The CLI configures the logging subsystem appropriately based on the given verbosity options (changed in #5).

Fixed

  • When using the --include filtering option for layer builds, existing "build if needed" environments are now correctly updated if they have not previously been successfully built with the current layer specification and environment lock details (reported in #222).
  • Implicit versioning of runtime layers no longer breaks deployed layered environments using that layer (reported in #188).
  • Implicit versioning of framework layers no longer breaks loading dynamic libraries from those layers on non-Windows systems (reported in #189)
  • Layer locks are now marked as valid if the lock is successfully regenerated without changes after being marked as invalid due to a lower layer having an invalid lock (resolved in #227)