Skip to content

Releases: cross-rs/cross

v0.2.5

04 Feb 17:27
88f49ff
Compare
Choose a tag to compare

What's Changed

Fixed

#962 - fix SELinux labels to allow use in multiple containers and/or the host filesystem.
#1166 - freebsd: include memstat in build image to fix build with libc 0.2.138 and up.
#1183 - resolve issue when using pre-build in Cargo.toml

Full Changelog: v0.2.4...v0.2.5

v0.2.4

10 Jul 18:02
v0.2.4
4645d93
Compare
Choose a tag to compare

[v0.2.4] - 2022-07-10

Fixed

  • #930 - fix any parsing of 1-character subcommands
  • #929 - Fixed issue where --verbose would not output data when it should

v0.2.3

09 Jul 18:59
v0.2.3
55f43e0
Compare
Choose a tag to compare

[v0.2.3] - 2022-07-09

Added

  • #921 - use CARGO_TERM_VERBOSE, CARGO_TERM_QUIET, and CARGO_TERM_COLOR environment variables for cross terminal output.
  • #913 - added the x86_64-unknown-illumos target.
  • #910 - pre-build can now take a string pointing to a script file to run.
  • #905 - added qemu-runner for musl images, allowing use of native or emulated runners.
  • #905 - added qemu emulation to i586-unknown-linux-gnu, i686-unknown-linux-musl, and i586-unknown-linux-gnu, so they can run on an x86 CPU, rather than an x86_64 CPU.
  • #900 - add the option to skip copying build artifacts back to host when using remote cross via CROSS_REMOTE_SKIP_BUILD_ARTIFACTS.
  • #891 - support custom user namespace overrides by setting the CROSS_CONTAINER_USER_NAMESPACE environment variable.
  • #890 - support rootless docker via the CROSS_ROOTLESS_CONTAINER_ENGINE environment variable.
  • #878 - added an image ghcr.io/cross-rs/cross containing cross.

Changed

  • #869 - ensure cargo configuration environment variable flags are passed to the docker container.
  • #859 - added color diagnostic output and error messages.

Fixed

  • #905 - fixed running dynamically-linked libraries for all musl targets except x86_64-unknown-linux-musl.
  • #904 - ensure cargo metadata works by using the same channel.
  • #904 - fixed the path for workspace volumes and passthrough volumes with docker-in-docker.
  • #898 - fix the path to the mount root with docker-in-docker if mounting volumes.
  • #897 - ensure target.$(...) config options override build ones when parsing strings and vecs.
  • #895 - convert filenames in docker tags to ASCII lowercase and ignore invalid characters
  • #885 - handle symlinks when using remote docker.
  • #868 - ignore the CARGO environment variable.
  • #867 - fixed parsing of build.env.passthrough config values.

What's Changed

Full Changelog: v0.2.2...v0.2.3

v0.2.2

25 Jun 00:43
v0.2.2
48d2b7b
Compare
Choose a tag to compare

After almost two years, cross finally has a new version available!

Major features of this release are:

  • Remote container engines support via environment variable CROSS_REMOTE. See the wiki
  • Support for pre-build hooks and automatically building dockerfiles.
  • Support configuration from Cargo.toml metadata as well as Cross.toml.

What's next? We've got some breaking changes for v0.3.0, including updating the base Ubuntu versions for our images from 16.04 to 20.04. Although using older glibc versions is great for backwards compatibility, many of us are working on newer codebases where binary compatibility with old glibc versions isn't required, so you can install a more modern toolset from the system package manager.

Added

  • #803 - added CROSS_CUSTOM_TOOLCHAIN to disable automatic installation of components for use with tools like cargo-bisect-rustc
  • #795 - added images for additional toolchains maintained by cross-rs.
  • #792 - added CROSS_CONTAINER_IN_CONTAINER environment variable to replace CROSS_DOCKER_IN_DOCKER.
  • #785 - added support for remote container engines through data volumes through setting the CROSS_REMOTE environment variable. also adds in utility commands to create and remove persistent data volumes.
  • #782 - added build-std config option, which builds the rust standard library from source if enabled.
  • #678 - Add optional target.{target}.dockerfile[.file], target.{target}.dockerfile.context and target.{target}.dockerfile.build-args to invoke docker/podman build before using an image.
  • #678 - Add target.{target}.pre-build config for running commands before building the image.
  • #772 - added CROSS_CONTAINER_OPTS environment variable to replace DOCKER_OPTS.
  • #767, #788 - added the cross-util and xtask commands.
  • #842 - Add Cargo.toml as configuration source
  • #745 - added thumbv7neon-* targets.
  • #741 - added armv7-unknown-linux-gnueabi and armv7-unknown-linux-musleabi targets.
  • #721 - add support for running doctests on nightly if CROSS_UNSTABLE_ENABLE_DOCTESTS=true.
  • #719 - add --list to known subcommands.
  • #681 - Warn on unknown fields and confusable targets
  • #624 - Add build.default-target
  • #647 - Add mips64-unknown-linux-muslabi64 and mips64el-unknown-linux-muslabi64 support
  • #543 - Added environment variables to control the UID and GID in the container
  • #524 - docker: Add Nix Store volume support
  • Added support for mounting volumes.
  • #684 - Enable cargo workspaces to work from any path in the workspace, and make path dependencies mount seamlessly. Also added support for private SSH dependencies.

Changed

  • #838 - re-enabled the solaris targets.
  • #807 - update Qemu to 6.1.0 on images using Ubuntu 18.04+ with python3.6+.
  • #775 - forward Cargo exit code to host
  • #762 - re-enabled x86_64-unknown-dragonfly target.
  • #747 - reduced android image sizes.
  • #746 - limit image permissions for android images.
  • #377 - update WINE versions to 7.0.
  • #734 - patch arm-unknown-linux-gnueabihf to build for ARMv6, and add architecture for crosstool-ng-based images.
  • #709 - Update Emscripten targets to emcc version 3.1.10
  • #707, #708 - Set BINDGEN_EXTRA_CLANG_ARGS environment variable to pass sysroot to rust-bindgen
  • #696 - bump freebsd to 12.3
  • #629 - Update Android NDK version and API version
  • #497 - don't set RUSTFLAGS in aarch64-musl image
  • #492 - Add cmake to FreeBSD images
  • #748 - allow definitions in the environment variable passthrough

Fixed

  • #836 - write a CACHEDIR.TAG when creating the target directory, similar to cargo.
  • #804 - allow usage of env CARGO_BUILD_TARGET as an alias for CROSS_BUILD_TARGET
  • #792 - fixed container-in-container support when using podman.
  • #781 - ensure target.$(...) config options override build ones.
  • #771 - fix parsing of DOCKER_OPTS.
  • #727 - add PKG_CONFIG_PATH to all *-linux-gnu images.
  • #722 - boolean environment variables are evaluated as truthy or falsey.
  • #720 - add android runner to preload libc++_shared.so.
  • #725 - support CROSS_DEBUG and CROSS_RUNNER on android images.
  • #714 - use host target directory when falling back to host cargo.
  • #713 - convert relative target directories to absolute paths.
  • #501 (reverted, see #764) - x86_64-linux: lower glibc version requirement to 2.17 (compatible with centos 7)
  • #500 - use runner setting specified in Cross.toml
  • #498 - bump linux-image version to fix CI
  • Re-enabled powerpc64-unknown-linux-gnu image
  • Re-enabled sparc64-unknown-linux-gnu image
  • #582 - Added libprocstat.so to FreeBSD images
  • #665 - when not using env.volumes, mount project in /project
  • #494 - Parse Cargo's --manifest-path option to determine mounted docker root

Removed

  • #718 - remove deb subcommand.

Internal

  • #856 - remove use of external wslpath and create internal helper that properly handles UNC paths.
  • #828 - assume paths are Unicode and provide better error messages for path encoding errors.
  • #787 - add installer for git hooks.
  • #786, #791 - Migrate build script to rust: cargo build-docker-image $TARGET
  • #730 - make FreeBSD builds more resilient.
  • #670 - Use serde for deserialization of Cross.toml
  • Change rust edition to 2021 and bump MSRV for the cross binary to 1.58.1
  • #654 - Use color-eyre for error reporting
  • #658 - Upgrade dependencies
  • #652 - Allow trying individual targets via bors.
  • #650 - Improve Docker caching.
  • #609 - Switch to Github Actions and GHCR.
  • #588 - fix ci: bump openssl version in freebsd again
  • #552 - Added CHANGELOG.md automation
  • #534 - fix image builds with update of dependencies
  • #502 - fix ci: bump openssl version in freebsd
  • #489 - Add support for more hosts and simplify/unify host support checks
  • #477 - Fix Docker/Podman links in README
  • #476 - Use Rustlang mirror for Sabotage linux tarbals
  • Bump nix dependency to 0.22.1
  • Bump musl version to 1.1.24.

New Contributors

Full Changelog: v0.2.1...v0.2.2

v0.2.2-rc.1

24 Jun 23:27
v0.2.2-rc.1
345f5fc
Compare
Choose a tag to compare
v0.2.2-rc.1 Pre-release
Pre-release

Added

  • #803 - added CROSS_CUSTOM_TOOLCHAIN to disable automatic installation of components for use with tools like cargo-bisect-rustc
  • #795 - added images for additional toolchains maintained by cross-rs.
  • #792 - added CROSS_CONTAINER_IN_CONTAINER environment variable to replace CROSS_DOCKER_IN_DOCKER.
  • #785 - added support for remote container engines through data volumes through setting the CROSS_REMOTE environment variable. also adds in utility commands to create and remove persistent data volumes.
  • #782 - added build-std config option, which builds the rust standard library from source if enabled.
  • #678 - Add optional target.{target}.dockerfile[.file], target.{target}.dockerfile.context and target.{target}.dockerfile.build-args to invoke docker/podman build before using an image.
  • #678 - Add target.{target}.pre-build config for running commands before building the image.
  • #772 - added CROSS_CONTAINER_OPTS environment variable to replace DOCKER_OPTS.
  • #767, #788 - added the cross-util and xtask commands.
  • #842 - Add Cargo.toml as configuration source
  • #745 - added thumbv7neon-* targets.
  • #741 - added armv7-unknown-linux-gnueabi and armv7-unknown-linux-musleabi targets.
  • #721 - add support for running doctests on nightly if CROSS_UNSTABLE_ENABLE_DOCTESTS=true.
  • #719 - add --list to known subcommands.
  • #681 - Warn on unknown fields and confusable targets
  • #624 - Add build.default-target
  • #647 - Add mips64-unknown-linux-muslabi64 and mips64el-unknown-linux-muslabi64 support
  • #543 - Added environment variables to control the UID and GID in the container
  • #524 - docker: Add Nix Store volume support
  • Added support for mounting volumes.
  • #684 - Enable cargo workspaces to work from any path in the workspace, and make path dependencies mount seamlessly. Also added support for private SSH dependencies.

Changed

  • #838 - re-enabled the solaris targets.
  • #807 - update Qemu to 6.1.0 on images using Ubuntu 18.04+ with python3.6+.
  • #775 - forward Cargo exit code to host
  • #762 - re-enabled x86_64-unknown-dragonfly target.
  • #747 - reduced android image sizes.
  • #746 - limit image permissions for android images.
  • #377 - update WINE versions to 7.0.
  • #734 - patch arm-unknown-linux-gnueabihf to build for ARMv6, and add architecture for crosstool-ng-based images.
  • #709 - Update Emscripten targets to emcc version 3.1.10
  • #707, #708 - Set BINDGEN_EXTRA_CLANG_ARGS environment variable to pass sysroot to rust-bindgen
  • #696 - bump freebsd to 12.3
  • #629 - Update Android NDK version and API version
  • #497 - don't set RUSTFLAGS in aarch64-musl image
  • #492 - Add cmake to FreeBSD images
  • #748 - allow definitions in the environment variable passthrough

Fixed

  • #836 - write a CACHEDIR.TAG when creating the target directory, similar to cargo.
  • #804 - allow usage of env CARGO_BUILD_TARGET as an alias for CROSS_BUILD_TARGET
  • #792 - fixed container-in-container support when using podman.
  • #781 - ensure target.$(...) config options override build ones.
  • #771 - fix parsing of DOCKER_OPTS.
  • #727 - add PKG_CONFIG_PATH to all *-linux-gnu images.
  • #722 - boolean environment variables are evaluated as truthy or falsey.
  • #720 - add android runner to preload libc++_shared.so.
  • #725 - support CROSS_DEBUG and CROSS_RUNNER on android images.
  • #714 - use host target directory when falling back to host cargo.
  • #713 - convert relative target directories to absolute paths.
  • #501 (reverted, see #764) - x86_64-linux: lower glibc version requirement to 2.17 (compatible with centos 7)
  • #500 - use runner setting specified in Cross.toml
  • #498 - bump linux-image version to fix CI
  • Re-enabled powerpc64-unknown-linux-gnu image
  • Re-enabled sparc64-unknown-linux-gnu image
  • #582 - Added libprocstat.so to FreeBSD images
  • #665 - when not using env.volumes, mount project in /project
  • #494 - Parse Cargo's --manifest-path option to determine mounted docker root

Removed

  • #718 - remove deb subcommand.

Internal

  • #856 - remove use of external wslpath and create internal helper that properly handles UNC paths.
  • #828 - assume paths are Unicode and provide better error messages for path encoding errors.
  • #787 - add installer for git hooks.
  • #786, #791 - Migrate build script to rust: cargo build-docker-image $TARGET
  • #730 - make FreeBSD builds more resilient.
  • #670 - Use serde for deserialization of Cross.toml
  • Change rust edition to 2021 and bump MSRV for the cross binary to 1.58.1
  • #654 - Use color-eyre for error reporting
  • #658 - Upgrade dependencies
  • #652 - Allow trying individual targets via bors.
  • #650 - Improve Docker caching.
  • #609 - Switch to Github Actions and GHCR.
  • #588 - fix ci: bump openssl version in freebsd again
  • #552 - Added CHANGELOG.md automation
  • #534 - fix image builds with update of dependencies
  • #502 - fix ci: bump openssl version in freebsd
  • #489 - Add support for more hosts and simplify/unify host support checks
  • #477 - Fix Docker/Podman links in README
  • #476 - Use Rustlang mirror for Sabotage linux tarbals
  • Bump nix dependency to 0.22.1
  • Bump musl version to 1.1.24.

New Contributors

Full Changelog: v0.2.1...v0.2.2-rc.1

v0.2.1

30 Jun 07:26
Compare
Choose a tag to compare

Changes:

See More

This list of changes was auto generated.

v0.2.0

22 Feb 23:52
Compare
Choose a tag to compare

Changes:

See More

This list of changes was auto generated.

v0.1.16

17 Sep 08:34
Compare
Choose a tag to compare

Changes:

See More

This list of changes was auto generated.

v0.1.15

06 Sep 07:53
Compare
Choose a tag to compare
Release 0.1.15

v0.1.14

21 Nov 23:33
Compare
Choose a tag to compare
v0.1.14