Skip to content

Releases: conda/constructor

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

3.3.1

14 Mar 22:16
22d9524
Compare
Choose a tag to compare

Bug fixes:

  • Fix building examples in CI. (#502, #504, #505)

  • Fix truncated Python version if minor has two digits on Windows,
    e.g. "3.10". (#506)

Full Changelog: 3.3.0...3.3.1

3.3.0

12 Mar 01:09
e3cfcd3
Compare
Choose a tag to compare

Enhancements:

  • Initialize mamba (if it exists), too. (#462)
  • Add support for Python 3.9 and 3.10. (#479)
  • Add an example that uses shortcuts. (#481)
  • Expose the installer metadata to pre/post install scripts as environment variables INSTALLER_NAME, INSTALLER_VER and INSTALLER_PLAT. (#491)

Bug fixes:

  • Fixes for transmuting packages and generating repodata. (#489)
  • Include cache metadata on the first line of the repodata cache. (#490)
  • Fix constructor.conda_interface to handle alpha, beta, rc versions. (#496)

Deprecations:

  • Drop support for Python 2.7 and 3.6. (#479)

Other:

  • CI: Run examples outside conda build to upload installers as artifacts for local testing (#498)
  • Added project board, issue staleness, thread locking and label automation using GitHub action workflows to improve maintenance of GitHub project. More information can be found in the infra repo: https://github.com/conda/infra

New Contributors:

Full Changelog: 3.2.2...3.3.0

3.2.2

14 Feb 22:24
35beccd
Compare
Choose a tag to compare

What's Changed

  • extract pre-conda before extracting conda packages by @wolfv in #450
  • Fix windows shortcuts by @ericpre in #455
  • Avoid yaml warnings (and ensure compatibility with pyyaml 6) by @hmaarrfk in #473
  • Fix uninstaller error by @ericpre in #467
  • Unset DYLD_FALLBACK_LIBRARY_PATH in header on macOS by @XuehaiPan in #472
  • Add option to disable creation of start menu shortcuts and fix regression by @ericpre in #466
  • Add tests for header template preprocessing and fix initialize by default by @hmaarrfk in #459
  • 3.3.2 changelog prerelease by @FaustinCarter in #478

New Contributors

Full Changelog: 3.2.1...3.2.2

Merge pull request #447 from FaustinCarter/release-3.2.1

31 Mar 03:09
16598df
Compare
Choose a tag to compare

3.1.0: Merge pull request #382 from conda/changelog

06 Sep 21:28
f3abf93
Compare
Choose a tag to compare
  • COMMON:

    • New platform selectors: s390x, osx-arm64
    • Added the ability to build installers from an existing, instantiated environment or an environment.yml spec.
    • Added conda_channel_alias and condarc options to allow more complete customization of the installed .condarc
    • Added options to all install types to preserve the package cache after installation
    • Migrated CI to GitHub Actions and added installation/unpack testing of generated installers
  • SHELL:

    • Pre- and post-install scripts are now executed directly if a shebang is present; otherwise they are run by the POSIX shell sh.
  • NSIS:

    • Support for pre-install script
    • Added the ability to check if the path length is longer than 46 characters, so that nodejs package contents will not exceed a path length of 260 characters.
  • PKG:

    • Added an "all" installer type option to support building both .pkg and .sh installers with a single commmand