Skip to content

Releases: axodotdev/cargo-dist

Version 0.0.6-prerelease.7 (under development)

03 May 18:00
Compare
Choose a tag to compare

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 updates
  • cargo dist plan added
  • bare cargo dist is no longer a synonym for cargo 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)

03 May 15:31
Compare
Choose a tag to compare

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 updates
  • cargo dist plan added
  • bare cargo dist is no longer a synonym for cargo 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)

03 May 01:24
Compare
Choose a tag to compare

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)

25 Apr 02:13
Compare
Choose a tag to compare

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)

18 Apr 19:16
Compare
Choose a tag to compare

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)

17 Apr 17:24
Compare
Choose a tag to compare

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)

15 Mar 19:17
Compare
Choose a tag to compare

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)

07 Mar 21:34
Compare
Choose a tag to compare
Pre-release

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)

07 Mar 19:55
Compare
Choose a tag to compare
Pre-release

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)

03 Mar 15:14
Compare
Choose a tag to compare

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).
  • 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