Releases: axodotdev/cargo-dist
Version 0.0.6-prerelease.7 (under development)
Release Notes
TODO: generate proper release notes for:
- (AlexITC) fix typo at README.md: #203
- factor out and use axoproject: #207
- factor out and use axocli: #209
- unlocked archive formats: #211
- npm installer: #210
- (jwodder) remove trailing spaces from templates: #213
- (jwodder) fix broken links in book: #215
- npm installer fixups: #219
- (jwodder) remove useless uses of cat: #223
- (frol) supress npm installer logs #224
- interactive init: #227
- (shadows-withall) support keywords in npm installer: #228
- cli cleanup: #230
- 0.0.6 docs blitz: #231
- rename "status" to "plan": #232
- fix config subsetting: #234
highlights:
- npm installer
- ability to set archive extension
cargo dist init
is now interactive / rerunnable for updatescargo dist plan
added- bare
cargo dist
is no longer a synonym forcargo dist build
- great cleanups from external contributors
Install cargo-dist 0.0.6-prerelease.7
Install prebuilt binaries via shell script
# WARNING: this installer is experimental
curl --proto '=https' --tlsv1.2 -LsSf https://github.com/axodotdev/cargo-dist/releases/download/v0.0.6-prerelease.7/cargo-dist-v0.0.6-prerelease.7-installer.sh | sh
Install prebuilt binaries via powershell script
# WARNING: this installer is experimental
irm https://github.com/axodotdev/cargo-dist/releases/download/v0.0.6-prerelease.7/cargo-dist-v0.0.6-prerelease.7-installer.ps1 | iex
Download cargo-dist 0.0.6-prerelease.7
target | kind | download |
---|---|---|
aarch64-apple-darwin | tarball | cargo-dist-v0.0.6-prerelease.7-aarch64-apple-darwin.tar.xz |
x86_64-apple-darwin | tarball | cargo-dist-v0.0.6-prerelease.7-x86_64-apple-darwin.tar.xz |
x86_64-pc-windows-msvc | tarball | cargo-dist-v0.0.6-prerelease.7-x86_64-pc-windows-msvc.zip |
x86_64-unknown-linux-gnu | tarball | cargo-dist-v0.0.6-prerelease.7-x86_64-unknown-linux-gnu.tar.xz |
Version 0.0.6-prerelease.6 (under development)
Release Notes
TODO: generate proper release notes for:
- (AlexITC) fix typo at README.md: #203
- factor out and use axoproject: #207
- factor out and use axocli: #209
- unlocked archive formats: #211
- npm installer: #210
- (jwodder) remove trailing spaces from templates: #213
- (jwodder) fix broken links in book: #215
- npm installer fixups: #219
- (jwodder) remove useless uses of cat: #223
- (frol) supress npm installer logs #224
- interactive init: #227
- (shadows-withall) support keywords in npm installer: #228
- cli cleanup: #230
- 0.0.6 docs blitz: #231
- rename "status" to "plan": #232
highlights:
- npm installer
- ability to set archive extension
cargo dist init
is now interactive / rerunnable for updatescargo dist plan
added- bare
cargo dist
is no longer a synonym forcargo dist build
- great cleanups from external contributors
Install cargo-dist 0.0.6-prerelease.6
Install prebuilt binaries via shell script
# WARNING: this installer is experimental
curl --proto '=https' --tlsv1.2 -LsSf https://github.com/axodotdev/cargo-dist/releases/download/v0.0.6-prerelease.6/cargo-dist-v0.0.6-prerelease.6-installer.sh | sh
Install prebuilt binaries via powershell script
# WARNING: this installer is experimental
irm https://github.com/axodotdev/cargo-dist/releases/download/v0.0.6-prerelease.6/cargo-dist-v0.0.6-prerelease.6-installer.ps1 | iex
Download cargo-dist 0.0.6-prerelease.6
target | kind | download |
---|---|---|
aarch64-apple-darwin | tarball | cargo-dist-v0.0.6-prerelease.6-aarch64-apple-darwin.tar.xz |
x86_64-apple-darwin | tarball | cargo-dist-v0.0.6-prerelease.6-x86_64-apple-darwin.tar.xz |
x86_64-pc-windows-msvc | tarball | cargo-dist-v0.0.6-prerelease.6-x86_64-pc-windows-msvc.zip |
x86_64-unknown-linux-gnu | tarball | cargo-dist-v0.0.6-prerelease.6-x86_64-unknown-linux-gnu.tar.xz |
Version 0.0.6-prerelease.5 (under development)
Release Notes
TODO: generate proper release notes for:
- fix typo at README.md: #203
- factor out and use axoproject: #207
- factor out and use axocli: #209
- unlocked archive formats: #211
- npm installer: #210
Install cargo-dist 0.0.6-prerelease.5
Install prebuilt binaries via shell script
# WARNING: this installer is experimental
curl --proto '=https' --tlsv1.2 -LsSf https://github.com/axodotdev/cargo-dist/releases/download/v0.0.6-prerelease.5/cargo-dist-v0.0.6-prerelease.5-installer.sh | sh
Install prebuilt binaries via powershell script
# WARNING: this installer is experimental
irm https://github.com/axodotdev/cargo-dist/releases/download/v0.0.6-prerelease.5/cargo-dist-v0.0.6-prerelease.5-installer.ps1 | iex
Download cargo-dist 0.0.6-prerelease.5
target | kind | download |
---|---|---|
aarch64-apple-darwin | tarball | cargo-dist-v0.0.6-prerelease.5-aarch64-apple-darwin.tar.xz |
x86_64-apple-darwin | tarball | cargo-dist-v0.0.6-prerelease.5-x86_64-apple-darwin.tar.xz |
x86_64-pc-windows-msvc | tarball | cargo-dist-v0.0.6-prerelease.5-x86_64-pc-windows-msvc.zip |
x86_64-unknown-linux-gnu | tarball | cargo-dist-v0.0.6-prerelease.5-x86_64-unknown-linux-gnu.tar.xz |
Version 0.0.6-prerelease.4 (under development)
Release Notes
TODO: generate proper release notes for:
- fix typo at README.md: #203
- factor out and use axoproject: #207
- factor out and use axocli: #209
- unlocked archive formats: #211
- npm installer: #210
Install cargo-dist 0.0.6-prerelease.4
Install prebuilt binaries via shell script
# WARNING: this installer is experimental
curl --proto '=https' --tlsv1.2 -LsSf https://github.com/axodotdev/cargo-dist/releases/download/v0.0.6-prerelease.4/cargo-dist-v0.0.6-prerelease.4-installer.sh | sh
Install prebuilt binaries via powershell script
# WARNING: this installer is experimental
irm https://github.com/axodotdev/cargo-dist/releases/download/v0.0.6-prerelease.4/cargo-dist-v0.0.6-prerelease.4-installer.ps1 | iex
Download cargo-dist 0.0.6-prerelease.4
target | kind | download |
---|---|---|
aarch64-apple-darwin | tarball | cargo-dist-v0.0.6-prerelease.4-aarch64-apple-darwin.tar.xz |
x86_64-apple-darwin | tarball | cargo-dist-v0.0.6-prerelease.4-x86_64-apple-darwin.tar.xz |
x86_64-pc-windows-msvc | tarball | cargo-dist-v0.0.6-prerelease.4-x86_64-pc-windows-msvc.zip |
x86_64-unknown-linux-gnu | tarball | cargo-dist-v0.0.6-prerelease.4-x86_64-unknown-linux-gnu.tar.xz |
Version 0.0.6-prerelease.3 (under development)
Release Notes
TODO: generate proper release notes for:
- fix typo at README.md: #203
- factor out and use axoproject: #207
- factor out and use axocli: #209
- unlocked archive formats: #211
- npm installer: #210
Install cargo-dist 0.0.6-prerelease.3
Install prebuilt binaries via shell script
# WARNING: this installer is experimental
curl --proto '=https' --tlsv1.2 -LsSf https://github.com/axodotdev/cargo-dist/releases/download/v0.0.6-prerelease.3/cargo-dist-v0.0.6-prerelease.3-installer.sh | sh
Install prebuilt binaries via powershell script
# WARNING: this installer is experimental
irm https://github.com/axodotdev/cargo-dist/releases/download/v0.0.6-prerelease.3/cargo-dist-v0.0.6-prerelease.3-installer.ps1 | iex
Download cargo-dist 0.0.6-prerelease.3
target | kind | download |
---|---|---|
aarch64-apple-darwin | tarball | cargo-dist-v0.0.6-prerelease.3-aarch64-apple-darwin.tar.xz |
x86_64-apple-darwin | tarball | cargo-dist-v0.0.6-prerelease.3-x86_64-apple-darwin.tar.xz |
x86_64-pc-windows-msvc | tarball | cargo-dist-v0.0.6-prerelease.3-x86_64-pc-windows-msvc.zip |
x86_64-unknown-linux-gnu | tarball | cargo-dist-v0.0.6-prerelease.3-x86_64-unknown-linux-gnu.tar.xz |
Version 0.0.6-prerelease.2 (under development)
Release Notes
TODO: generate proper release notes for:
- fix typo at README.md: #203
- factor out and use axoproject: #207
- factor out and use axocli: #209
- unlocked archive formats: #211
- npm installer: #210
Install cargo-dist 0.0.6-prerelease.2
Install prebuilt binaries via shell script
# WARNING: this installer is experimental
curl --proto '=https' --tlsv1.2 -LsSf https://github.com/axodotdev/cargo-dist/releases/download/v0.0.6-prerelease.2/cargo-dist-v0.0.6-prerelease.2-installer.sh | sh
Install prebuilt binaries via powershell script
# WARNING: this installer is experimental
irm https://github.com/axodotdev/cargo-dist/releases/download/v0.0.6-prerelease.2/cargo-dist-v0.0.6-prerelease.2-installer.ps1 | iex
Download cargo-dist 0.0.6-prerelease.2
target | kind | download |
---|---|---|
aarch64-apple-darwin | tarball | cargo-dist-v0.0.6-prerelease.2-aarch64-apple-darwin.tar.xz |
x86_64-apple-darwin | tarball | cargo-dist-v0.0.6-prerelease.2-x86_64-apple-darwin.tar.xz |
x86_64-pc-windows-msvc | tarball | cargo-dist-v0.0.6-prerelease.2-x86_64-pc-windows-msvc.zip |
x86_64-unknown-linux-gnu | tarball | cargo-dist-v0.0.6-prerelease.2-x86_64-unknown-linux-gnu.tar.xz |
Version 0.0.5 (2023-03-15)
Release Notes
This is a bug-fix release for an issue with cross-platform line endings that affected
users who installed cargo-dist with cargo install
. Prebuilt binaries were unaffected.
Specifically folks reported in [#181] that they were seeing the Shell installer (for Mac and Linux)
be generated with mixed CRLF and LF line endings, which was causing both functionality
and development issues (git churn).
For those unfamiliar- the line endings on Windows machines are different than those
on Mac and Linux ones and it can cause a lot of unfortunate chaos.
There are 2 styles of control characters to mark a line break in a text file:
LF
, (\n
), Linux/Mac:LF
stands for "Line Feed"CRLF
, (\r\n
), Windows:CR
stands for "Carriage Return"
The presence of CRLF line endings in a shell script will cause issues. Similarly LF
line endings in a powershell script will cause issues. (Citation needed on the powershell
thing but sure let's play it safe/idiomatic here.)
The problem was that the .crate
uploaded to crates.io had CRLF endings in some templates
because cargo publish
was run on windows and the git repo was configured to checkout files
with platform-specific endings. The prebuilt binaries were checked out and built on linux
(Github CI), and so only used LF endings.
The reason we got mixed LF and CRLF is because the contents of the installer scripts come from
mixed sources: the bulk comes from template files on disk, but a few key lines are injected
programmatically by rust code with writeln
(and write
with manual \n
). Note that Rust's
println/writeln are guaranteed to emit LF on all platforms (because really CRLF should just be
fazed out and platform-specific writeln would be a mess). This was good and desirable, the
main screw up was the line endings in the stored template being forwarded verbatim instead
of all being rewritten to LF.
To be EXTRA SURE this doesn't happen in the future we just straight up rewrite all newlines
before writing the final result, making the newlines stored in cargo-dist's git repo irrelevant.
Install cargo-dist 0.0.5
Install prebuilt binaries via shell script
# WARNING: this installer is experimental
curl --proto '=https' --tlsv1.2 -LsSf https://github.com/axodotdev/cargo-dist/releases/download/v0.0.5/cargo-dist-v0.0.5-installer.sh | sh
Install prebuilt binaries via powershell script
# WARNING: this installer is experimental
irm https://github.com/axodotdev/cargo-dist/releases/download/v0.0.5/cargo-dist-v0.0.5-installer.ps1 | iex
Download cargo-dist 0.0.5
target | kind | download |
---|---|---|
aarch64-apple-darwin | tarball | cargo-dist-v0.0.5-aarch64-apple-darwin.tar.xz |
x86_64-apple-darwin | tarball | cargo-dist-v0.0.5-x86_64-apple-darwin.tar.xz |
x86_64-pc-windows-msvc | tarball | cargo-dist-v0.0.5-x86_64-pc-windows-msvc.zip |
x86_64-unknown-linux-gnu | tarball | cargo-dist-v0.0.5-x86_64-unknown-linux-gnu.tar.xz |
Version 0.0.5-prerelease.2 (2023-03-07)
Release Notes
This is a bug-fix release for an issue with cross-platform line endings. Specifically
folks reported in [#181] that they were seeing the Shell installer (for Mac and Linux)
be generated with mixed CRLF and LF line endings, which was causing both functionality
and development issues (git churn).
For those unfamiliar- the line endings on Windows machines are different than those
on Mac and Linux ones and it can cause a lot of unfortunate chaos.
There are 2 styles of control characters to mark a line break in a text file:
LF
, (\n
), Linux/Mac:LF
stands for "Line Feed"CRLF
, (\r\n
), Windows:CR
stands for "Carriage Return"
The presence of CRLF line endings in a shell script will cause issues. Similarly LF
line endings in a powershell script will cause issues. In some cases, users have
had shell scripts generate with some CRLF line endings and so we are trying to
fix that :)
Install cargo-dist 0.0.5-prerelease.2
Install prebuilt binaries via shell script
# WARNING: this installer is experimental
curl --proto '=https' --tlsv1.2 -LsSf https://github.com/axodotdev/cargo-dist/releases/download/v0.0.5-prerelease.2/cargo-dist-v0.0.5-prerelease.2-installer.sh | sh
Install prebuilt binaries via powershell script
# WARNING: this installer is experimental
irm https://github.com/axodotdev/cargo-dist/releases/download/v0.0.5-prerelease.2/cargo-dist-v0.0.5-prerelease.2-installer.ps1 | iex
Download cargo-dist 0.0.5-prerelease.2
target | kind | download |
---|---|---|
aarch64-apple-darwin | tarball | cargo-dist-v0.0.5-prerelease.2-aarch64-apple-darwin.tar.xz |
x86_64-apple-darwin | tarball | cargo-dist-v0.0.5-prerelease.2-x86_64-apple-darwin.tar.xz |
x86_64-pc-windows-msvc | tarball | cargo-dist-v0.0.5-prerelease.2-x86_64-pc-windows-msvc.zip |
x86_64-unknown-linux-gnu | tarball | cargo-dist-v0.0.5-prerelease.2-x86_64-unknown-linux-gnu.tar.xz |
Version 0.0.5-prerelease.1 (2023-03-07)
Release Notes
This is a bug-fix release for an issue with cross-platform line endings. Specifically
folks reported in [#181] that they were seeing the Shell installer (for Mac and Linux)
be generated with mixed CRLF and LF line endings, which was causing both functionality
and development issues (git churn).
For those unfamiliar- the line endings on Windows machines are different than those
on Mac and Linux ones and it can cause a lot of unfortunate chaos.
There are 2 styles of control characters to mark a line break in a text file:
LF
, (\n
), Linux/Mac:LF
stands for "Line Feed"CRLF
, (\r\n
), Windows:CR
stands for "Carriage Return"
The presence of CRLF line endings in a shell script will cause issues. Similarly LF
line endings in a powershell script will cause issues. In some cases, users have
had shell scripts generate with some CRLF line endings and so we are trying to
fix that :)
Install cargo-dist 0.0.5-prerelease.1
Install prebuilt binaries via shell script
# WARNING: this installer is experimental
curl --proto '=https' --tlsv1.2 -LsSf https://github.com/axodotdev/cargo-dist/releases/download/v0.0.5-prerelease.1/cargo-dist-v0.0.5-prerelease.1-installer.sh | sh
Install prebuilt binaries via powershell script
# WARNING: this installer is experimental
irm https://github.com/axodotdev/cargo-dist/releases/download/v0.0.5-prerelease.1/cargo-dist-v0.0.5-prerelease.1-installer.ps1 | iex
Download cargo-dist 0.0.5-prerelease.1
target | kind | download |
---|---|---|
aarch64-apple-darwin | tarball | cargo-dist-v0.0.5-prerelease.1-aarch64-apple-darwin.tar.xz |
x86_64-apple-darwin | tarball | cargo-dist-v0.0.5-prerelease.1-x86_64-apple-darwin.tar.xz |
x86_64-pc-windows-msvc | tarball | cargo-dist-v0.0.5-prerelease.1-x86_64-pc-windows-msvc.zip |
x86_64-unknown-linux-gnu | tarball | cargo-dist-v0.0.5-prerelease.1-x86_64-unknown-linux-gnu.tar.xz |
Version 0.0.4 (2023-03-03)
Release Notes
This is a smaller release than originally planned to get some platform support that was blocking folks out the door. Features that were originally planned for this one will ideally be part of the next release.
-
aarch64-apple-darwin ("apple silicon"/"arm64 macos") is now properly supported, and can be cross-compiled from x64 macos (and x64 can be crossed from arm64)
- if you have rustup installed we will
rustup target add
before attempting the build, as this is the only requirement (thanks for making it easy, Apple!) - add this target to your Cargo.toml before you
cargo dist regenerate-ci
to make sure the CI knows to build it! - currently both mac builds will be multiplexed onto the same runner. this will increase latency of your releases but should reduce the total resource usage of your CI (by avoiding fixed overheads). We might make this configurable in the future, but if you care about Universal MacOS binaries which staple x64 and arm64 together, your build will end up looking like this anyway (not yet implemented).
- if you have rustup installed we will
-
added rosetta-style "you don't have an arm64 build but you do have an x64 one, so we'll use that" fallback to the powershell installer, as arm64 windows supports automatic emulation (and folks seems to recommend relying on that over bothering with arm64 windows builds at this point?)
Install cargo-dist 0.0.4
Install prebuilt binaries via shell script
# WARNING: this installer is experimental
curl --proto '=https' --tlsv1.2 -LsSf https://github.com/axodotdev/cargo-dist/releases/download/v0.0.4/cargo-dist-v0.0.4-installer.sh | sh
Install prebuilt binaries via powershell script
# WARNING: this installer is experimental
irm https://github.com/axodotdev/cargo-dist/releases/download/v0.0.4/cargo-dist-v0.0.4-installer.ps1 | iex
Download cargo-dist 0.0.4
target | kind | download |
---|---|---|
aarch64-apple-darwin | tarball | cargo-dist-v0.0.4-aarch64-apple-darwin.tar.xz |
x86_64-apple-darwin | tarball | cargo-dist-v0.0.4-x86_64-apple-darwin.tar.xz |
x86_64-pc-windows-msvc | tarball | cargo-dist-v0.0.4-x86_64-pc-windows-msvc.zip |
x86_64-unknown-linux-gnu | tarball | cargo-dist-v0.0.4-x86_64-unknown-linux-gnu.tar.xz |