Skip to content

Releases: conda/constructor

3.8.0

14 May 07:55
61c0749
Compare
Choose a tag to compare

Enhancements

  • Add support for AzureSignTool to sign Windows installers. (#767 via #771 and #792)

Bug fixes

  • Fix ownership of files created by the PKG installer outside of $PREFIX. (#784)

Other

  • Change wording for shortcut creation on Windows. (#785)
  • Automatically create issues when tests fail after pushing to main or creating tags. (#775 via #776 and #778)
  • Configure repository to use dependabot and update dependencies. (#786 via #787)

Contributors

3.7.0

05 Mar 11:19
8efb478
Compare
Choose a tag to compare

Enhancements

  • In SH installers, error early if available disk space for chosen installation path is insufficient. (#749 via #751)
  • Do not render progress bars when SH installers are run with -b (batch). (#756 via #757)
  • Add a new --config-filename argument to specify an input file not named construct.yaml. (#727 via #758)

Docs

  • Clarify environment variables role in default_prefix and friends on Windows. (#748 via #750)
  • Add some tips for debugging the creation and execution of constructor-made installers. (#752)

Other

  • Adjust metadata to require Python 3.8 or above, as needed by 3.6.0. (#747)

Contributors

3.6.0

12 Jan 10:34
831caa5
Compare
Choose a tag to compare

Enhancements

  • Add support for menuinst v2, which extends shortcut (menu items) creation from Windows to Linux and macOS. See menuinst documentation for more information. Note that this feature requires conda-standalone 23.11.0 or later. micromamba doesn't support v2-style menu items yet. (#474, #743)
  • Add support for ruamel.yaml 0.18 API. (#729 via #739)
  • Add pkg_domains setting to allow customization of the domains attribute in PKG installers. (#731 via #744)

Other

  • Unix installers now bundle conda-standalone (or micromamba) as _conda, instead of conda.exe.
    (#741 via #474)

Contributors

3.5.0

16 Oct 12:14
fec1f98
Compare
Choose a tag to compare

Enhancements

  • Add support for the register_envs option. (#705 via #716)
  • Add new option script_env_variables. Allows defining environment variables in construct.yaml for use by pre- and post-install scripts. (#718)

Bug fixes

  • Fix imports and skips for constructor tests. (#709)
  • Fix a regression in the license prompt on SH installers to require a explicit answer instead of defaulting to no on Enter. (#721 via #722)

Other

  • Test conda-standalone canaries in CI. (#711)
  • Clarify consequences for when conda init is run during the installation. (#713)
  • Log which subprocesses are run in osxpkg. (#715)

Contributors

New contributors

3.4.5

02 Aug 15:50
1e622a3
Compare
Choose a tag to compare

Enhancements

  • Support both .yaml and .txt files in the environment_file key. This enables support for explicit lockfiles (.txt). (#477)

Bug fixes

  • Ensure conda metadata is accurate when installers are created from existing environments. (#477)
  • On Windows installers, only insert conclusion_file if the extension is .nsi. Ignore otherwise. Also prevents a double final page. (#700 via #701)
  • Skip imaging tests if not Windows or MacOS to avoid import errors. (#702)

Docs

  • Document generic uninstall mechanisms for all operating systems. (#698)

Other

  • Prohibit parentheses in $INSTDIR. (#699)
  • Ensure requirements are in sync across different sources (setup.py, conda recipe, feedstocks). (#703)

Contributors

3.4.4

13 Jul 12:41
6140530
Compare
Choose a tag to compare

Enhancements

  • Add compatibility for the new repodata interface in conda 23.5. (#676)
  • The Windows uninstaller will check the registry for $INSTDIR before deleting hardcoded registry keys. (#684)

Bug fixes

  • URLs in generated envs.txt will now use the correct URL given in channel_remap, instead of the incorrect, installer-build-time only value. (#654 via #656)
  • Fix conda 23.1 incompatibilities when writing repodata.json files.
    This doesn't guarantee compatibility with conda-standalone 23.x, though.
    (#628 via #659).
  • Improve parsing of yes/no prompts in SH installers. (#664)
  • Ensure error mesage is emitted when $HOME is not writable in shell installers. (#669)
  • In .sh installers, use /opt/NAME as the default prefix when $HOME is not set. (#677 via #678)
  • Adjust @EXPLICIT input file so that micromamba correctly finds the cache entries of transmuted packages. (#674 via #692)
  • Prevent Windows uninstallers from deleting directories that do not correspond to the installation directory. (#696)

Docs

  • Fix "Edit Source Link" references and other minor corrections. (#652)
  • Document the CLI flags used by the installers generated with constructor. (#663)

Other

  • Drop ruamel_yaml and use ruamel.yaml instead. (#633 via #660)
  • Windows: Always warn when installing into a path with spaces. (#665)
  • Refactor run_examples.py as test/test_examples.py so it uses pytest. (#641 via #675)
  • Nightly builds will be uploaded to the conda-canary channel. (#612 via #675)

Contributors

New Contributors

3.4.3

09 Feb 08:48
15c6150
Compare
Choose a tag to compare

Bug fixes

  • Fix interactive installation in Linux and macOS by ensuring user default is initialized. (#635 via #636)
  • Protect all user setable variables in .sh installers against variable substitution. This allows $ signs as part of the license/conclusion/name/version text without causing unexpected $1: unbound variable errors. (#635 via #638)

Docs

  • Add documentation for --platform argument, listing out available options. (#620)

Other

  • Improve CI reliability by installing NSIS with logging support via conda instead of getting it from sourceforge and manually extracting it. (#631 via #632)
  • Test some .sh installers in interactive mode to test the interactive code path of the header.sh. (#637 via #638)
  • Report example runs as integration coverage. (#639)

Contributors

New Contributors

Full Changelog: 3.4.2...3.4.3

3.4.2

26 Jan 15:19
29ed8bc
Compare
Choose a tag to compare

Enhancements

  • Burn-in constructor version into installers to be able to better support faulty installers. (#604 via #626, #630)

Bug fixes

  • Approach pre_install scripts more carefully on Windows.
    Dummy scripts will not be included unless specified by the installer creator.
    NSIS will try to find cmd.exe in some expected locations before blindly relying on PATH.
    (#621 via #622)

Other

  • Switching from print statements to logging. Log levels, filtering, custom formatting strings etc. allow much more verbose and frequent messaging to follow the program flow in case of regular usage and also debugging and development. (#609, #630)
  • Add + apply isort via pre-commit (#619)
  • Speedup unit tests by factor 5. (#625)
  • Add upper conda version bound as with conda >=23.1.0 the local repodata format has changed and write_repodata() has to be updated. See #628 for details. (#627)

Contributors

Full Changelog: 3.4.1...3.4.2

3.4.1

18 Jan 20:18
d4be652
Compare
Choose a tag to compare

Bug fixes

  • Fix regression introduced in #558, where post_install scripts were silently ignored on Windows.
    Affects v3.4.0. (#576 via #614)
  • Remove duplicate CI for docs. (#613 via #615)

Contributors

Full Changelog: 3.4.0...3.4.1

3.4.0

17 Jan 15:20
dc824e3
Compare
Choose a tag to compare

Enhancements

  • Installers support spaces in PREFIX now.
    Old behaviour (reject chosen path if it contained spaces) is still default.
    Opt-in by setting check_path_spaces to False. (#449)
  • Windows (un)installers can be signed using the new signing_certificate option (#475)
  • Users can now add arbitrary files to the installer using the extra_files keyword. (#465 via #500)
  • Added two new keys, initialize_conda and register_python, to control whether these options
    should be offered in the installer or not. (#507)
  • Add support for multi-environment installs via extra_envs keyword (#359 via #509, #553, #599)
  • Enable alternative solvers by obeying CONDA_SOLVER if set and available. (#531, #597)
  • PKG installers now default to the macOS logging system to log messages.
    UI notifications can be enabled with progress_notifications
    (off by default). (#535)
  • The graphical macOS installer now also displays the version number of the software in the window title. (#536)
  • Enable conclusion_text on Windows .exe and Unix .sh installers (#443 via #547 and #550).
  • All installers support pre- and post-install scripts and expose the same environment variables:
    PREFIX, INSTALLER_NAME, INSTALLER_VER, INSTALLER_PLAT, INSTALLER_TYPE.
    The pre_install_desc key is now available, fulfilling the same role as post_install_desc (#556 via #558)
  • Bypass the solver by using an @EXPLICIT input file for conda install commands. (#541 via #559)
  • cache files have correct creation and modification timestamps for
    mamba which looks at the timestamp instead of the _mod value in the
    cache json (#579).
  • Windows GUI installer enhancement to allow for additional custom pages. These new pages can be added after the welcome page and before the conclusion. These extra pages can display text, links, and images. Such pages can be useful in providing additional instructions, guidance, or promotional materials for end-users before they begin using the application they just installed. (#590)
  • A new key build_outputs allows to generate extra artifacts besides the installer,
    like JSON metadata files, solved environments lock files, or licensing reports (#595, #602).
  • Improve and publish the documentation to conda.github.io. (#437, #598)
  • header.sh and osx scripts hardening by adding set -eu (sh) / set -euo pipefail (bash) and fixing all shellcheck findings. Shell scripts don't stop per default when commands finish with an error causing masked errors and undefined behaviours. set -e changes that behaviour by stoping in all cases where errors happen enabling better error reports on the actual error. If an error should be ignored then a command can be run via $cmd || true. Two test cases running shellcheck ensure that future changes get tested. (#600)

Bug fixes

  • Check makensis.exe exit code in verbose mode too (#453 via #475)
  • Fix constructor failures when the repo/subchannel only has noarch packages. (#512)
  • Fix logging error that would make constructor crash if verbose mode was enabled. (#534)
  • Hardcode paths to Apple tools (productbuild, productsign, codesign) to avoid using other tools with the same name in PATH. (#543)
  • Prevent pre_uninstall.bat script from being deleted accidentally on cache clearing. (#514)
  • Shortcuts will be removed in installations that do not require conda (#461)
  • Freshly created download directories are now guaranteed to be writable (#411)
  • Windows CI now correctly detects installation problems (#551 and #560)
  • Restore the ability to use exclude without solving issues. (#319 via #559)
  • Restore the ability to use force reinstall without solving issues. (#456 via #559)
  • Fix env.txt indendation to be parsable by mamba again. (#592)
  • Fix compatibility with NSIS 3.08 (#526 via #563)
  • Make sure cmd calls in the Windows uninstaller use /D for added resilience against Registry issues (#566)
  • Fix tests that check for the presence of the tk package in a given environment (#570)
  • (For Windows only) Fix for CVE-2022-26526. Installations for "All Users" will not be allowed the option to modify the system PATH environment variable during installation. Installations for "Just Me" will still be allowed the option to add the installation to their PATH environment variable. Additionally, when installing with Administrator privileges, non-admin system Users will no longer have “Write” permissions. (#584)
  • Ensure shell installers are POSIX compliant. (#596 via #599)
  • Add tests for --conda-exe=<micromamba> and fix found issues on Linux and macOS.
    Not supported on Windows yet. (#503, #605)

Deprecations

  • Officially require Python>=3.7 via setup.py. Older Python versions are EOL and not part of the test matrix since #479. (#606, #610)

Docs

  • Improved documentation for post_install scripts (#537)

Other

  • Removes the usage of conda._vendor.toolz (#525)
  • Removed Maxiconda constructor example and updated Miniconda and Jetsonconda READMEs (and several scripts) to not contain references to Maxiconda anymore. (#470)
  • Improve documentation for local channels on Windows (#483 via #564)
  • Ensure CONSTRUCT.md is up-to-date with construct.py (#564)
  • Remove fragile and unnecessary cleanup steps from CI pipeline (#565)
  • Run Windows uninstallers as part of the examples CI (#569)
  • Ensure shell installers are POSIX compliant (#599)

Contributors

Full Changelog: 3.3.1...3.4.0