v2.0.0
Major new features and breaking changes
alr install
allows to install indexed or local crates under a prefix with standardgprinstall
structure (under~/.alire
by default).- By default now, dependencies are downloaded once to a shared cache, and a unique build folder is used for each release configuration, also shared across workspaces.
alr test
by default now tests the local workspace.alr publish
will offer to create for you the PR against the community index.- New switches
alr publish --status|--cancel|--request-review
allow complete management of release submissions from the command line. alr settings
replacesalr config
to avoid confusion betweenalr
's own configuration and a crate configuration.ALIRE_SETTINGS_DIR
replacesALR_CONFIG
environment variable.alr toolchain --install --install-dir
removed (read more at #1614), you can still install toolchains for use outside of Alire withalr install
.
Check our log of user-visible changes for full details.
What's Changed
- Bump alr and index versions to 1.2 by @mosteo in #1025
- Alire.Utils.Switches: Disable No_Exception_Propagation warning by @Fabien-Chouteau in #1030
- Alr.Commands.Edit: update pointer to GNAT Studio release by @Fabien-Chouteau in #1045
- Alire.Crate.Configuration: disable style checks in generated code by @Fabien-Chouteau in #1047
- Update dependencies to indexed versions by @mosteo in #1046
- Alire.Utils.Switches: add -gnateE when debug info enabled by @Fabien-Chouteau in #1057
- Fix new warnings in GNAT 12.1 by @mosteo in #1071
- Keep
last_build_profile
in sync with profile requested in manifest by @mosteo in #1049 - Export build-switches to TOML by @mosteo in #1072
- Allow more than one conditional action by @mosteo in #1070
- Fix bracket in alr help show by @jquorning in #1073
- Fix host arch by @Fabien-Chouteau in #1092
- Lazy index loading (1/2) by @mosteo in #1085
- Lazy index loading (2/2) by @mosteo in #1086
- Add Savannah from GNU to trusted sites by @mosteo in #1095
- Fix generated pin to parent crate by @mosteo in #1096
- Remove more unneeded full index loading/external detections by @mosteo in #1097
- Prepend projects to GPR_PROJECT_PATH by @mosteo in #1098
- Add newline before [[depends-on]] and [[pins]] by @mosteo in #1108
- Use "*" for auto dependency when pinning to parent by @mosteo in #1107
- Remove obsolescent files by @mosteo in #1105
- Fix solver user interactions related to timeouts by @mosteo in #1103
- Fix gnat_external detection on
alr toolchain
by @mosteo in #1104 - Remove some ambiguities that led to warnings by @mosteo in #1113
- Show providers of an abstract crate by @mosteo in #1114
- Use last build profile on
alr run
by @mosteo in #1080 - Alire.Solver: Refactor types for simpler updates by @mosteo in #1110
- Speed-up search of incomplete solutions by @mosteo in #1116
- Alire.Utils.Switches: remove -gnateE when debug info enabled by @Fabien-Chouteau in #1120
- Document nested crates in Best Practices by @mosteo in #1123
- Minor improvements to solver progress output by @mosteo in #1117
- Fix end of quote by @jquorning in #1124
- Honor the --force option when publishing a crate (#1083) by @stcarrez in #1130
- Emit error for all unset configuration variables by @jquorning in #1132
- workaround for gnatcoll-core#64 / gnatstudio#128 by @AJ-Ianozi in #1141
- Reason for missing releases in solution by @mosteo in #1127
- Enhancements to actions documentation/testing by @mosteo in #1128
- Migrate workflows with explicit ubuntu-18.04 to latest by @mosteo in #1154
- Fixes for external detection in Fedora by @mosteo in #1142
- Solver: fix double count of complete solution by @mosteo in #1144
- Crate_Configuration: delay creation of temp files by @mosteo in #1145
- New switches for
alr build
to apply profile to all dependencies by @mosteo in #1119 - Fix Ada VSC plugin for Gitpod by @mosteo in #1158
alr test
: Allow binary releases to not contain project files by @mosteo in #1159- Add support for FreeBSD (#22) by @stcarrez in #1148
- Right trim tables by @jquorning in #1166
- Fix copy/paste error by @reznikmm in #1179
- Allow package removal by
apt
with --force by @mosteo in #1165 - Document steps to carry out during a release by @mosteo in #1162
- Remove too strict check for root manifest reload by @mosteo in #1168
alr show --dependents
to show which crates have another as a dependency by @mosteo in #1170- Fail tests if complain_on_error=False but no error happens by @mosteo in #1171
- Use release profile for
alr get --build
by @mosteo in #1169 - Fix grouping commands and simplify descriptions by @onox in #1180
- Support openSUSE and SUSE distributions by @serock in #1173
- Allow missing configuration values until build by @mosteo in #1167
- Implement Homebrew as the system deployer for macOS. by @simonjwright in #1185
- Fix alr help edit: GNAT Studio by @jquorning in #1199
- Build switches: unconditionally add -gnatW8 by @Fabien-Chouteau in #972
- Add source code recommendations to the policies by @reznikmm in #1202
- Encode wwstrings as utf8 by @mosteo in #1220
- alr publish: warn about -dev version by @Fabien-Chouteau in #1221
- alr-commands-init.adb: make alr init interactive by @Fabien-Chouteau in #1228
- Improve user experience with better manifest errors messages by @Fabien-Chouteau in #1229
- Fix crate config conflicts errors by @Fabien-Chouteau in #1208
- Use hyphens for action usage output by @0rzech in #1249
- Update testsuite readme by @0rzech in #1252
- Update getting-started.md by @Fabien-Chouteau in #1253
- Alr.Commands.Search: unify "search" and "search --crates" behavior by @Fabien-Chouteau in #1254
- Test alr from project dir by @0rzech in #1262
- Update msys2 installer by @Fabien-Chouteau in #1284
- Fix typo. by @godunko in #1292
- Workflow to have a binary nightly build by @mosteo in #1293
- Use XDG_CACHE_DIR for cache by @timlag1305 in #1265
- Disallow dots in identifiers by @0rzech in #1267
- Add
--alr
testsuite option by @0rzech in #1295 - Fix "Loading crate=0.0.0" log message by @mosteo in #1106
- Clearer error for misplaced manifest in index tree by @mosteo in #1213
- Fix error when showing an unavailable binary origin by @mosteo in #1304
- Specify the initial branch for test repos. by @simonjwright in #1244
- Check remote hosts during
alr index --check
by @mosteo in #1309 - alire_common.gpr: remove default host os to avoid mistakes on macOS by @Fabien-Chouteau in #1298
alr install
redux: Installation of binary crates by @mosteo in #1302- Fix the example for editor.cmd by @mgrojo in #1313
- Install a local crate by @mosteo in #1322
- Run testsuite on selfbuilds too by @mosteo in #1324
- Write Warn/Error traces to stderr by default by @mosteo in #1327
- Add Alire.Platforms.Folders.Home for FreeBSD by @JeremyGrosser in #1328
- Mention dev/build.sh and fix typos in readme by @0rzech in #1331
- Replace uses of GNAT CE with latest FSF from Alire by @mosteo in #1330
- Install indexed crates by @mosteo in #1335
- New
--nested
switch foralr show
by @mosteo in #1333 - More explicit identifier error message by @mosteo in #1341
- Don't enable color if TERM=dumb by @mosteo in #1342
- Update: "This file is generated" by @jquorning in #1338
- Update getting-started.md by @corinthian13 in #1343
- Avoid a crash when system pkg is detected twice by @mosteo in #1350
- Actually use the cache location for shared releases by @mosteo in #1349
- Unicode documentation by @mosteo in #1332
- Test the local release with
alr test
by @mosteo in #1356 - Docker driver for tests in default configuration by @mosteo in #1358
- Typed variants of Alire.Config.Edit.Set by @mosteo in #1353
- Switch to ghcr.io from dockerhub by @mosteo in #1360
- Fix nightly build by @mosteo in #1365
- Bump clic dependency by @mosteo in #1363
- Config option to globally share dependencies by @mosteo in #1367
- Remove
alr test --docker
by @mosteo in #1366 - Fix Wide_Wide_String wrongly interpreted as String by @mosteo in #1370
- Alr init fixes by @Fabien-Chouteau in #1372
- alire-platforms-current__windows.adb: add C++ include path for msys2 by @Fabien-Chouteau in #1375
- Fixes for compilation with gcc 13.1 by @mosteo in #1381
- "Compiler version" --> "Compiled with version" by @mosteo in #1388
- Don't raise on bad external detection from output by @mosteo in #1389
- Fix unpacking of tarfiles with softlinks to subdirectories by @mosteo in #1382
- Select default toolchain automatically instead of showing assistant on 1st run by @mosteo in #1391
- Homogenize terminology of session/working folder as workspace by @mosteo in #1390
- Fix Windows testsuite for self-built alr by @mosteo in #1387
- Use a python3 venv on Linux distros by @mosteo in #1396
- Indicators in solution diff about non-source dependencies by @mosteo in #1395
- Improvements to publishing with automatic PR creation by @mosteo in #1398
- Bits from the
alr share
feat to be kept by @mosteo in #1399 - Support MacPorts as external provider. by @simonjwright in #1404
- Change all mentions of 'catalog' to 'index' by @mosteo in #1405
alr publish --status
by @mosteo in #1400- dev: use env for executable shebangs by @atalii in #1408
- New
alr publish --cancel
by @mosteo in #1406 - New
alr publish --request-review
by @mosteo in #1409 - Fix nightly build by @mosteo in #1413
- Better random generation of temp file names by @mosteo in #1414
- Don't treat warnings as errors when no style checks by @mosteo in #1412
- New shared builds mechanism (mockup) by @mosteo in #1419
- Trivial safeguard in
Force_Delete
by @mosteo in #1422 - Refactor Alire.Shared into Alire.Toolchains by @mosteo in #1423
- Use build profile in build hash by @mosteo in #1425
- MacOS; export PATH variables for includes and libraries. by @simonjwright in #1420
- Replace
rsync
withGNATCOLL.VFS.Copy
by @mosteo in #1427 - Debug when folder deletion fails by @mosteo in #1426
- Fix conflicting file created during
alr install
by @mosteo in #1429 - Add GPR externals and env. vars. to build hash computation by @mosteo in #1428
- Add compiler version to build hash by @mosteo in #1442
- Refactor config builtins by @mosteo in #1431
- Add crate environment to build hash inputs by @mosteo in #1432
- Delay syncing shared build dir until the actual build by @mosteo in #1433
- Add crate config variables to build hash by @mosteo in #1434
- Generate crate config on demand for shared dependencies by @mosteo in #1435
- Reuse hashing mechanism to regen config in sandboxed mode by @mosteo in #1438
- Include hash of dependencies in build hash by @mosteo in #1439
- Add some hardcoded externals to hash input by @mosteo in #1440
- Run delayed post-fetch actions during build by @mosteo in #1441
- New
ALR_TRACEBACK_ENABLED
env. var. by @mosteo in #1450 - Use the same Find function in "show" as in "show --jekyll" by @mgrojo in #1452
- Remove old release-sharing mechanism remnants by @mosteo in #1451
- Fix bug in dependency traversal order by @mosteo in #1445
- Cosmetic change to binary origin image when unavailable by @mosteo in #1446
- Cleanup after shared releases impl by @mosteo in #1448
- Fix bugs for corner cases with shared dependencies by @mosteo in #1453
- Remove spurious -g causing excess rebuilds when building
alr
by @mosteo in #1454 - Print UTF-8 strings using
GNAT.IO
inAlr.Commands
subsystem by @mgrojo in #1458 - Fix location of default install prefix by @mosteo in #1461
- Omit global switches in subcommand-specific help by @mosteo in #1462
- Fix corner case related to git+file:// URLs in lockfiles by @mosteo in #1465
- Remove ".git" after cloning, with option to disable by @mosteo in #1463
- Comprehensive shared builds tests and related tweaks by @mosteo in #1459
- New
alr printenv --last-build
by @mosteo in #1444 - Auto-update index periodically by @mosteo in #1447
- Better collision avoidance for tmp filenames by @mosteo in #1469
- Fix bug in which a nonexistent folder could be searched for nested crates by @mosteo in #1473
- Enable shared dependencies by default by @mosteo in #1449
- Separate AppImage to own workflow by @mosteo in #1475
- remove duplicate section of user-changes.md by @atalii in #1477
- Honor the NO_COLOR environment variable by @mgrojo in #1480
- Fix default prefix for install by @mgrojo in #1482
- implement -C/--chdir flag by @atalii in #1479
- Fix list of default licenses by @mosteo in #1490
- Generate loadable project during
alr init
by @mosteo in #1486 - Simpler error on
alr with
for unknown crates by @mosteo in #1489 - Don't trigger
alr
help onalr exec -- command --help
by @mosteo in #1491 - Diagnose missing executable when running an action by @mosteo in #1493
- Fix bug for interactive crate descr ending with " by @mosteo in #1495
- Fix unwanted stack trace on
alr publish --tar
with broken manifest by @mosteo in #1499 - Amend style switches (expand -gnatyg). by @simonjwright in #1497
- Fix regression when
alr with
ing a virtual crate without actual releases by @mosteo in #1507 - New warning when external GNAT selected but another compiler version is needed by @mosteo in #1500
- Filter out Unicode in SI_Unit conversion by @mosteo in #1506
- Load configuration earlier from proper location by @mosteo in #1501
- Offer uninstalled compiler as fallback with warning by @mosteo in #1508
- Document --chdir in user-changes by @atalii in #1514
- Update list of supported platforms by @serock in #1513
- Build appimage on Ubuntu 20.04 by @serock in #1519
- Report the name of an unreadable directory. by @simonjwright in #1523
- Add missing with statements for Ada.Directories by @rowan-walshe in #1525
- Document PAT creation and hint in
alr publish
help by @mosteo in #1529 - Better location for cache by @mosteo in #1528
- Fix redeploying of toolchains by @mosteo in #1533
- Fix deployment over pre-existing dependency dir by @mosteo in #1542
- Harmonize and document test modifier variables by @mosteo in #1536
- Offer to fork index instead of failing during publishing by @mosteo in #1535
- Move To_Portable to body and make it a regular function by @dalybrown in #1541
- Use e3-testsuite facilities for test skipping by @mosteo in #1537
- Remove benign warning during toolchain discovery by @mosteo in #1540
- Fix regex for version detection of Fedora externals by @mosteo in #1545
- Documentation about upgrading to
alr 2.x
by @mosteo in #1547 - Bugfix: exception when trying to select a tool without the assistant while the configured one is missing by @mosteo in #1551
- Fix bugs causing spurious diffs on updates without changes by @mosteo in #1550
- Remove blue background setting from Windows shortcut by @Fabien-Chouteau in #1555
- Refactor return expression causing trouble with GNAT 13 by @mosteo in #1557
- Add bug report template by @mosteo in #1559
- Show default temp folder in
alr version
by @mosteo in #1560 - Fix bugs related to tmp file creation in corner cases by @mosteo in #1561
- Test for full publishing workflow by @mosteo in #1538
- Remove build warnings in si_units on Windows by @mosteo in #1564
- Explicitly check GCC versions by @mosteo in #1562
- Report detected system package manager in
alr version
by @mosteo in #1565 - Better documentation for binary origins by @mosteo in #1546
- Minor clean-ups and clarifications by @mosteo in #1568
- New workflow to check GNAT CE builds by @mosteo in #1566
- Attempt at working around flakiness in Windows workflow by @mosteo in #1570
- Improvements to messages during dependency updates by @mosteo in #1569
- Alr.Commands.Edit: user choice for multiple editors by @Fabien-Chouteau in #1577
- Alr.Commands.Search: change default behavior to include properties by @Fabien-Chouteau in #1575
- Alire.Index_On_Disk: improve error message by @Fabien-Chouteau in #1579
- Add support for index access through ssh by @dalybrown in #1571
- New
build --stop-after
by @mosteo in #1573 - Make sure error message from finalization are displayed to the user by @Fabien-Chouteau in #1580
- Clearer identification of missing dependencies by @mosteo in #1588
- New
alr edit --select-editor
by @mosteo in #1586 - Explain how to use printenv more safely by @mosteo in #1585
- Printenv help: document --wincmd recipe by @mosteo in #1584
- System.Macports: Less breaking behavior... by @mosteo in #1583
- Ensure GitHub token is retrieved before submission steps by @mosteo in #1581
- Interpret
environment
entries as path parts by @mosteo in #1483 - Don't run OS initialization during elaboration by @mosteo in #1592
- Platforms:
distribution-unknown
to better match... by @mosteo in #1590 - catalog spec: update supported
os
anddistribution
values by @mosteo in #1594 - Relocate cache with config builtin
cache.dir
by @mosteo in #1593 - Reinstate lost style checks by @mosteo in #1591
- Bump toml_slicer dependency by @mosteo in #1597
- Make msys live inside overridden config path by default by @mosteo in #1589
- Bug box in case of Program_Error and related tweaks by @mosteo in #1595
- Require explicit
binary=true
for all binary origins by @mosteo in #1598 - Document more configuration details by @mosteo in #1611
- Don't try to obtain the parent dir of '/' in tmp cleanup by @mosteo in #1609
- Override distro via config key by @mosteo in #1610
- Remove
toolchain --install/--uninstall/--install-dir
by @mosteo in #1614 - Remove .md extension from internal documentation links (Fixes #893) by @JeremyGrosser in #1616
- New
alr settings
command to replacealr config
by @Fabien-Chouteau in #1617 - Clarify remark about
--force
inalr install --help
by @mgrojo in #1618 - Handle config switch errors on missing parameter by @rocher in #1619
- Missing dependencies in testsuite documentation. by @rocher in #1620
- Refactor
Alire.Config.*
asAlire.Settings.*
by @mosteo in #1622 - More conventional location for settings on Windows by @mosteo in #1624
- Refactor
ALR_CONFIG
toALIRE_SETTINGS_DIR
by @mosteo in #1625 config.toml
-->settings.toml
by @mosteo in #1626- Refactor
--config
as--settings
by @mosteo in #1627 - Remainders of the config --> settings refactor by @mosteo in #1631
- Classify builds by release milestone by @mosteo in #1632
- Don't say unknown crate for abstract crates in
alr get
by @mosteo in #1633
New Contributors
- @AJ-Ianozi made their first contribution in #1141
- @reznikmm made their first contribution in #1179
- @serock made their first contribution in #1173
- @0rzech made their first contribution in #1249
- @godunko made their first contribution in #1292
- @timlag1305 made their first contribution in #1265
- @mgrojo made their first contribution in #1313
- @corinthian13 made their first contribution in #1343
- @atalii made their first contribution in #1408
- @rowan-walshe made their first contribution in #1525
- @dalybrown made their first contribution in #1541
- @rocher made their first contribution in #1619
Full Changelog: v1.2.2...v2.0.0