Releases: conda/constructor
Releases · conda/constructor
3.4.5
Enhancements
- Support both
.yaml
and.txt
files in theenvironment_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
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 inchannel_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 withconda-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 thatmicromamba
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 useruamel.yaml
instead. (#633 via #660) - Windows: Always warn when installing into a path with spaces. (#665)
- Refactor
run_examples.py
astest/test_examples.py
so it usespytest
. (#641 via #675) - Nightly builds will be uploaded to the
conda-canary
channel. (#612 via #675)
Contributors
- @dlmiles
- @deepeshaburse
- @jaimergp
- @jezdez
- @marcoesters
- @RahulARanger
- @EisW
- @conda-bot
- @pre-commit-ci[bot]
New Contributors
- @RahulARanger made their first contribution in #652
- @EisW made their first contribution in #656
- @pre-commit-ci made their first contribution in #667
- @marcoesters made their first contribution in #664
- @deepeshaburse made their first contribution in #663
- @dlmiles made their first contribution in #669
3.4.3
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
- @JoelStansbury made their first contribution in #620
Full Changelog: 3.4.2...3.4.3
3.4.2
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 findcmd.exe
in some expected locations before blindly relying onPATH
.
(#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
3.4.0
Enhancements
- Installers support spaces in
PREFIX
now.
Old behaviour (reject chosen path if it contained spaces) is still default.
Opt-in by settingcheck_path_spaces
toFalse
. (#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
andregister_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 withprogress_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
.
Thepre_install_desc
key is now available, fulfilling the same role aspost_install_desc
(#556 via #558) - Bypass the solver by using an
@EXPLICIT
input file forconda 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 ifverbose
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 withconstruct.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
- @AndrewVallette
- @bryan-hunt
- @dbast
- @isuruf
- @jaimergp
- @jezdez
- @kathatherine
- @kenodegard
- @nsoranzo
- @pseudoyim
- @hoechenberger
- @ryanskeith
- @travishathaway
- @conda-bot
- @guimondmm
Full Changelog: 3.3.1...3.4.0
3.3.1
3.3.0
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
andINSTALLER_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
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
- @wolfv made their first contribution in #450
- @XuehaiPan made their first contribution in #472
Full Changelog: 3.2.1...3.2.2
Merge pull request #447 from FaustinCarter/release-3.2.1
Release 3.2.1