All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
- Review and improve
dra [command] --help
messages to be clearer
- bump
zip
from 0.6.6 to 2.2.0 - bump
uuid
from 1.10.0 to 1.11.0 - bump
tar
from 0.4.40 to 0.4.42 - bump
serde
from 1.0.209 to 1.0.210 - bump
flate2
from 1.0.33 to 1.0.34 - bump
clap
from 4.5.16 to 4.5.18 - bump
clap_complete
from 4.5.24 to 4.5.29
- Asset detection for automatic download on windows when
win64
is used for both OS and ARCH (#224)
- bump
ureq
from 2.10.0 to 2.10.1 - bump
serde
from 1.0.204 to 1.0.209 - bump
flate2
from 1.0.30 to 1.0.33 - bump
ctrlc
from 3.4.4 to 3.4.5 - bump
clap
from 4.5.13 to 4.5.16 - bump
clap_complete
from 4.5.8 to 4.5.24 - bump
assert_cmd
from 2.0.15 to 2.0.16
- Show more information about the installed asset. For example, when installing an executable from a
tar archive, you
will see a message like
Extracted archive executable to '/home/<user>/Downloads/helloworld'
.
This release focuses on improving the install
feature and adds support for more assets
types (#205).
The install system is now more reliable and can handle more complex scenarios.
Thanks @sandreas and @adriangalilea for the help testing this release.
New supported assets to install are:
- Compressed executable files
- Executable files
- AppImage files
A new option --install-file/-I <INSTALL_FILE>
has been added to dra-download
command.
This option is useful when a tar archive or zip file contains many executables:
dra
can't automatically detect which one to install- The repository provides more than one executable and you want to install them
See Examples section on for more information.
- The
--output
option ofdra-download
now also accepts file paths when used with install feature. This allows to rename the installed executable file (examples)
- Extend release infrastructure to be able to create alpha/beta releases.
- bump
uuid
from 1.9.1 to 1.10.0 - bump
ureq
from 2.9.7 to 2.10.0 - bump
serde
from 1.0.203 to 1.0.204 - bump
predicates
from 3.1.0 to 3.1.2 - bump
clap
from 4.5.8 to 4.5.13 - bump
clap_complete
from 4.5.3 to 4.5.8 - bump
assert_cmd
from 2.0.14 to 2.0.15
- Download and install assets from
.tbz
and.txz
archives
- Ignore some assets when using automatic download (for example, sha256sum files)
- bump
uuid
from 1.7.0 to 1.9.1 - bump
ureq
from 2.9.6 to 2.9.7 - bump
serde
from 1.0.197 to 1.0.203 - bump
rustls
from 0.22.2 to 0.22.4 - bump
flate2
from 1.0.28 to 1.0.30 - bump
clap
from 4.5.2 to 4.5.8 - bump
clap_complete
from 4.5.1 to 4.5.3
This is a maintenance release that updates our dependencies.
- Add missing commas, correction of spelling errors by @patsevanton (#184)
- Add more usage examples to
dra --help
- bump
walkdir
from 2.4.0 to 2.5.0 - bump
ureq
from 2.9.1 to 2.9.6 - bump
indicatif
from 0.17.7 to 0.17.8 - bump
predicates
from 3.0.4 to 3.1.0 - bump
serde
from 1.0.193 to 1.0.197 - bump
uuid
from 1.6.1 to 1.7.0 - bump
assert_cmd
from 2.0.12 to 2.0.14 - bump
ctrlc
from 3.4.1 to 3.4.4 - bump
clap
from 4.4.10 to 4.5.2 - bump
clap_complete
from 4.4.4 to 4.5.1
dra
now supports proxy environment variables likeall_proxy
(#171)
- update
sct
from0.7.0
to0.7.1
to improve support for RISCV64 architecture by @Xunop (#172)
dra
now provides release asset for macOS arm64
dra-download
option--output <OUTPUT>
now also support directory paths.dra download -s helloworld.tar.gz --output ~/Downloads devmatteini/dra-tests # output: ~/Downloads/helloworld.tar.gz
- Automatically select and download an asset based on your operating system and architecture
with
dra download -a <REPO>
- bump
serde
from 1.0.190 to 1.0.193 - bump
clap
from 4.4.7 to 4.4.10
This is a maintenance release that updates our dependencies.
- bump
dialoguer
from 0.10.4 to 0.11.0 - bump
walkdir
from 2.3.3 to 2.4.0 - bump
test-case
from 3.1.0 to 3.3.1 - bump
predicates
from 3.0.3 to 3.0.4 - bump
flate2
from 1.0.26 to 1.0.28 - bump
tar
from 0.4.38 to 0.4.40 - bump
assert_cmd
from 2.0.5 to 2.0.12 - bump
serde
from 1.0.160 to 1.0.190 - bump
ureq
from 2.6.2 to 2.9.1 - bump
indicatif
from 0.17.4 to 0.17.7 - bump
clap_complete
from 4.2.1 to 4.4.4 - bump
clap
from 4.2.5 to 4.4.7 - bump
ctrlc
from 3.2.5 to 3.4.1 - bump
zip
from 0.6.4 to 0.6.6 - bump
uuid
from 1.3.2 to 1.6.1 - bump
actions/checkout
from 3 to 4 - bump
dependabot/fetch-metadata
from 1.4.0 to 1.6.0
Install release asset when tmp
directory is on a different file
system (#121)
- bump
predicates
from 2.1.5 to 3.0.3 - bump
test-case
from 2.2.2 to 3.1.0 - bump
dependabot/fetch-metadata
from 1.3.6 to 1.4.0 - bump
uuid
from 1.3.0 to 1.3.2 - bump
dialoguer
from 0.10.3 to 0.10.4 - bump
flate2
from 1.0.25 to 1.0.26 - bump
clap
from 4.1.11 to 4.2.5 - bump
clap_complete
from 4.1.5 to 4.2.1 - bump
serde
from 1.0.158 to 1.0.160
- Download and install
.tgz
assets.
- Use
dtolnay/rust-toolchain
GitHub Actions instead of actions-rs/toolchain which is not maintained anymore
- bump
serde
from 1.0.152 to 1.0.158 - bump
clap
from 4.1.4 to 4.1.11 - bump
clap_complete
from 4.1.1 to 4.1.5 - bump
walkdir
from 2.3.2 to 2.3.3 - bump
uuid
from 1.2.2 to 1.3.0 - bump
ctrlc
from 3.2.4 to 3.2.5
dra
now provides release for linux x86_64 musl (#94)
The --copy
flag of dra-untag
added in the previous release has been removed for some issues on different linux
desktop environments.
There was no good solution that worked reliably everywhere, so it was decided to completely remove it since it's not
worth the hassle for a "nice to
have" feature like this (055a4bc).
dra untag
now has--copy
flag to copy the untagged asset to clipboard (available on Linux Wayland & X11, macOS, Windows) (#90)
devmatteini/dra-ubuntu-base
docker image now uses ubuntu22.04 as base image
ureq
from 2.5.0 to 2.6.2bumpalo
from 3.8.0 to 3.12.0clap_complete
from 4.0.5 to 4.1.1clap
from 4.0.26 to 4.1.4dialoguer
from 0.10.2 to 0.10.3indicatif
from 0.17.2 to 0.17.3serde
from 1.0.147 to 1.0.152predicates
from 2.1.3 to 2.1.5ctrlc
from 3.2.3 to 3.2.4flate2
from 1.0.24 to 1.0.25bzip2
from 0.4.3 to 0.4.4
dra
now provides releases for linux on armv6 and arm64!
dra
on Arch Linux has been moved to the community repository (thanks @orhun).
You can now install it via pacman -S dra
.
uuid
from 1.2.1 to 1.2.2clap
from 4.0.22 to 4.0.26predicates
from 2.1.2 to 2.1.3
- Download release source code archives (interactive/non-interactive), by @tranzystorek-io (#52)
After the cross-platform release (0.4.0), a lot of works was done to improve dra
test suite to make sure all supported
os works.
We are now able to run integration tests on macOS and Windows as well!
indicatif
from 0.17.1 to 0.17.2predicates
from 2.1.1 to 2.1.2serde
from 1.0.145 to 1.0.147clap
from 4.0.15 to 4.0.22clap_complete
from 4.0.2 to 4.0.5
dra
is now a cross-platform command line that works on Linux, macOS and Windows 🎉!
The install
feature for tar and zip archives no longer rely on tar
and unzip
command lines.
This change was needed to ensure that it behaves the same on all supported
platforms (commits).
clap
migration to v4, by @tranzystorek-ioctrlc
from 3.2.2 to 3.2.3uuid
from 1.1.2 to 1.2.1dependabot/fetch-metadata
from 1.3.3 to 1.3.4test-case
from 2.2.1 to 2.2.2serde
from 1.0.144 to 1.0.145clap_complete
from 3.2.4 to 3.2.5indicatif
from 0.17.0 to 0.17.1
This is a maintenance release that updates our dependencies.
serde
from 1.0.138 to 1.0.144ureq
from 2.4.0 to 2.5.0clap
from 3.2.8 to 3.2.20clap_complete
from 3.2.3 to 3.2.4indicatif
from 0.16.2 to 0.17.0dialoguer
from 0.10.1 to 0.10.2
- Fix clap deprecation warnings for upcoming v4 release (e7d6997)
- Add github action to auto merge dependabot pull requests of patch updates
test-case
from 1.2.3 to 2.1.0uuid
from 0.8.2 to 1.1.2clap_complete
from 3.1.4 to 3.2.3serde
from 1.0.137 to 1.0.138clap
from 3.1.18 to 3.2.8
CVE-2022-24713 - Updated regex
crate to
1.5.6 (#23)
clap
from 3.1.17 to 3.1.18
- Show download progress, by @orhun (#17)
clap_complete
from 3.1.3 to 3.1.4clap
from 3.1.14 to 3.1.17dialoguer
from 0.10.0 to 0.10.1
- More useful error message on rate limit exceeded and unauthorized errors from GitHub API
dra --help
anddra help
now display examples of the most common commands used.
Previously, when installing a tar/zip archive without a root directory it would result in an error.
Now this type of structures inside tar/zip archives are supported.
More info on commit 5f73077
In order to speed up integration tests on CI it was created a custom docker image with all runtime dependencies already installed (devmatteini/dra-ubuntu-base).
clap
from 3.1.12 to 3.1.14clap_complete
from 3.1.2 to 3.1.3serde
from 1.0.136 to 1.0.137
- The release workflow is now using github cli to create
github release and upload
assets, since
actions/create-release
andactions/upload-release-asset
are not maintained anymore.
- Dependabot is now used to weekly update cargo crates and github actions
- Integration tests are now faster to run on both host machine and CI (see 1f36ffc12e4bb2da07be3106bc982d76419c7bf0 for more details)
test-case
from 1.2.1 to 1.2.3dialoguer
from 0.9.0 to 0.10.0ctrlc
from 3.2.1 to 3.2.2clap
from 3.1.6 to 3.1.12clap_complete
from 3.1.1 to 3.1.2
The command line interface has changed to dra <SUBCOMMAND>
.
The <REPO>
positional argument must be passed after choosing download
or untag
subcommand (
e.g dra download <REPO>
)
This change was needed in order to add subcommands/flags that didn't require <REPO>
, like the newly
added completion
.
- Generate shell completion with
dra completion <SHELL>
- clap 3.0.13 -> 3.1.6
- Improve
dra-download
anddra-untag
UX by showing a spinner while fetching the release information dra-download
anddra-untag
now print which release tag is currently used
-
GitHub releases with no assets are now handled properly
-
If CTRL+C was pressed during the asset selection the cursor would not be restored (in both
dra-download
anddra-untag
sub commands).The issue and solution that we implemented is described here mitsuhiko/dialoguer/issues/77.
-
Download and install some supported assets (
dra <repo> download --[i]nstall
).The supported assets are:
- Debian packages (
.deb
) - Tar archive with executable inside (
.tar.[gz|bz2|xz]
) - Zip file with executable inside (
.zip
)
- Debian packages (
Integration tests have been added to test the installation methods for the various supported assets. For more information on how this tests works, read the docs.
This release update some of our dependencies and migrates to clap v3 as args parser.
- Migration to clap v3 instead of using structopt (fe132c1).
- serde 1.0.130 -> 1.0.136
- ureq 2.3.1 -> 2.4.0
-
Download assets from a specific release, by @orhun (see issue 3). If none is specified, the latest release is used.
e.g:
dra <repo> download --tag <tag>
-
Download assets from private repositories by exporting
GITHUB_TOKEN
environment variable
- Created
CONTRIBUTING.md
guidelines - Instructions for installing on Arch Linux from AUR, by @orhun (See pull request)
- Instructions for installing on Debian-based distributions.
Change application name from dag
to dra
.
dag
is widely used as the acronym of Directed Acyclic Graph.
To avoid any confusion I decided to rename this application to dra
.
The new name is the acronym of Download Release Asset
.
The repository url has changed as well: https://github.com/devmatteini/dra
Initial release of dag
.
-
Select and download an asset from a repository (interactive)
-
Save a downloaded asset to custom file path (
dag <repo> download --output <path>
) -
Generate a pattern to auto select an asset to download (
dag <repo> untag
) -
Auto select and download an asset (
dag <repo> download --select <pattern>
).The
--select
value is the pattern generated bydag-untag
command