Skip to content

Latest commit

 

History

History
376 lines (241 loc) · 13.7 KB

CHANGELOG.md

File metadata and controls

376 lines (241 loc) · 13.7 KB

Changelog

All notable changes to this project will be documented in this file.

This project adheres to Semantic Versioning.

1.27.0 - 2025-01-18

  • Support aarch64/armv7hf linux-gnu targets on new GitHub-hosted AArch64 Linux runners (ubuntu-22.04-arm, ubuntu-24.04-arm). (#25)

    The following targets are supported and tested for native execution:

    • aarch64-unknown-linux-gnu
    • armv7-unknown-linux-gnueabihf
    • thumbv7neon-unknown-linux-gnueabihf

    Other targets may also be work on GitHub-hosted AArch64 Linux runners using QEMU or other runner, but have not yet been tested and support is not guaranteed.

  • Allow cross-compile to arbitrary Apple targets from macOS. (#25)

    GitHub-provided macOS runners support cross-compile for other targets, so this action just runs rustup target add and/or sets some environment variables.

1.26.0 - 2024-12-25

  • Support windows-gnu/windows-gnullvm targets on ubuntu-24.04.

1.25.0 - 2024-12-25

  • Document that the following targets are also supported.

    • wasm32-wasip1-threads (on Linux)
    • wasm32-wasip2 (on Linux)
  • Update the default QEMU version from 9.1 to 9.2.

1.24.0 - 2024-09-07

  • Support Mac Catalyst targets on macOS host.

    • aarch64-apple-ios-macabi
    • x86_64-apple-ios-macabi

    GitHub-provided macOS runners support cross-compile for other targets, so this action just runs rustup target add and/or sets some environment variables.

  • Update the default QEMU version from 9.0 to 9.1.

1.23.2 - 2024-08-23

  • Work around qemu-armeb 9.0 bug.

1.23.1 - 2024-08-11

1.23.0 - 2024-07-12

  • Support x86_64-unknown-illumos (build-only). (#22, thanks @zeeshanlakhani)

  • Update the default QEMU version from 8.2 to 9.0.

1.22.0 - 2024-06-01

  • Partially support /system/bin/sh on Android.

1.21.1 - 2024-05-03

  • Document support status for ubuntu-24.04.

1.21.0 - 2024-04-13

  • Support containers.

    Note:

    • Only Ubuntu and Debian containers are currently supported.

    • Not fully supported for some targets.

    • --privileged option is currently required (due to binfmt).

      container:
        image: '...'
        options: --privileged
  • Improve robustness of installation.

1.20.0 - 2024-01-25

  • Update the default Wine version from 8.0 to 9.0.

1.19.0 - 2024-01-25

  • Update the default QEMU version from 8.1 to 8.2.

1.18.0 - 2023-09-22

  • Support i686-pc-windows-gnullvm.
  • Support sparc-unknown-linux-gnu (experimental).

1.17.0 - 2023-08-24

  • Update the default QEMU version from 8.0 to 8.1.

1.16.0 - 2023-08-11

  • Support specifying the QEMU version by using qemu input option, or @ syntax in runner input option (if both are set, the latter is preferred).

    For example:

    - uses: taiki-e/setup-cross-toolchain-action@v1
      with:
        target: aarch64-unknown-linux-gnu
        qemu: '7.2'
    - uses: taiki-e/setup-cross-toolchain-action@v1
      with:
        target: aarch64-unknown-linux-gnu
        runner: qemu@8.1
  • Support specifying the Wine version by using wine input option. Previously only @ syntax in runner input option was supported.

  • Update the default Wine version to 8.0.0, which is the latest stable version.

1.15.0 - 2023-08-02

  • Support windows-gnullvm targets on Linux host.

    • aarch64-pc-windows-gnullvm
    • x86_64-pc-windows-gnullvm

    Running tests is supported on both targets.

1.14.0 - 2023-07-28

  • Support Windows targets on Windows host.

    • aarch64-pc-windows-msvc (build-only)
    • i586-pc-windows-msvc
    • i686-pc-windows-msvc
    • x86_64-pc-windows-msvc
    • x86_64-pc-windows-gnu

    GitHub-provided Windows runners support cross-compile for other architectures or environments, so this action just runs rustup target add and/or sets some environment variables.

    (Other Windows targets may also work, although this action's CI has not tested them.)

1.13.0 - 2023-07-28

  • Support running WASI and Windows binaries directly on Linux host (via binfmt).

  • Support Android targets. (#13)

    All builtin Android targets are now supported:

    • aarch64-linux-android
    • arm-linux-androideabi
    • armv7-linux-androideabi
    • i686-linux-android
    • thumbv7neon-linux-androideabi
    • x86_64-linux-android
  • Support linux-uclibc targets. (#13)

    All builtin linux-uclibc targets are now supported:

    • armv5te-unknown-linux-uclibceabi
    • armv7-unknown-linux-uclibceabi
    • armv7-unknown-linux-uclibceabihf
    • mips-unknown-linux-uclibc
    • mipsel-unknown-linux-uclibc
  • Set BINDGEN_EXTRA_CLANG_ARGS_<target> environment variable.

1.12.1 - 2023-07-28

  • Work around LLVM installation failure. (#15)

1.12.0 - 2023-07-25

  • Support loongarch64-unknown-linux-gnu (experimental).

  • Performance Improvements.

1.11.2 - 2023-07-18

  • This action no longer sets PKG_CONFIG_ALLOW_CROSS=1 environment variable. This was added in 1.10.0, but introduced a regression.

1.11.1 - 2023-07-11

  • Only set PKG_CONFIG_ALLOW_CROSS=1 environment variable when PKG_CONFIG_PATH environment variable is set by this action or users. This fixes a regression introduced in 1.10.0.

1.11.0 - 2023-07-11

  • Support macOS targets on macOS host.

    • aarch64-apple-darwin (build-only)
    • x86_64-apple-darwin
    • x86_64h-apple-darwin (build-only due to the CPU of GitHub-provided macOS runners is older than haswell. If you use a large runner, you may be able to run the test.)

    GitHub-provided macOS runners support cross-compile for other architectures or environments, so this action just runs rustup target add and/or sets some environment variables.

    (Other macOS targets may also work, although this action's CI has not tested them.)

  • Set PKG_CONFIG_PATH for most linux-gnu targets.

  • This action no longer sets PKG_CONFIG_ALLOW_CROSS=1 environment variable if PKG_CONFIG_ALLOW_CROSS environment variable is already set.

1.10.0 - 2023-07-10

  • Support linux-musl targets. (#12)

    All tier 1 or 2 linux-musl targets are now supported:

    • aarch64-unknown-linux-musl
    • arm-unknown-linux-musleabi
    • arm-unknown-linux-musleabihf
    • armv5te-unknown-linux-musleabi
    • armv7-unknown-linux-musleabi
    • armv7-unknown-linux-musleabihf
    • i586-unknown-linux-musl
    • i686-unknown-linux-musl
    • mips-unknown-linux-musl
    • mips64-unknown-linux-muslabi64
    • mips64el-unknown-linux-muslabi64
    • mipsel-unknown-linux-musl
    • x86_64-unknown-linux-musl

    (Other linux-musl targets supported by rust-cross-toolchain may also work, although this action's CI has not tested them.)

  • Add document about cross-compilation of tier 3 targets.

  • Set PKG_CONFIG_ALLOW_CROSS=1 environment variable when the target triple and host triple is different.

1.9.0 - 2023-07-09

  • Support more targets:

    • Linux (GNU)
      • armeb-unknown-linux-gnueabi
    • FreeBSD
      • aarch64-unknown-freebsd (build-only)
    • NetBSD
      • aarch64-unknown-netbsd (build-only)
      • x86_64-unknown-netbsd (build-only)
  • Support specifying OS version for FreeBSD/NetBSD.

    - uses: taiki-e/setup-cross-toolchain-action@v1
      with:
        target: x86_64-unknown-freebsd@13
    - uses: taiki-e/setup-cross-toolchain-action@v1
      with:
        target: x86_64-unknown-netbsd@9
  • Set RUST_TEST_THREADS=1 environment variable when QEMU is used as a runner.

    QEMU's multi-threading support is incomplete and slow.

1.8.0 - 2023-05-30

  • setup-cross-toolchain-action now sets RANLIB_<target> environment variable.

  • Diagnostic improvements.

1.7.0 - 2023-03-12

  • setup-cross-toolchain-action no longer sets QEMU_CPU for 32-bit Arm targets by default.

    It was causing problems when running tests that create many threads.

1.6.2 - 2023-03-12

  • Fix linker error for wasm32-wasi on Rust 1.68.0. This was due to rustc regression and has been fixed in 1.68.1.

  • Switch to composite action.

1.6.1 - 2022-12-13

  • Improve robustness for temporary network failures.

1.6.0 - 2022-12-04

  • Support x86_64-unknown-freebsd and i686-unknown-freebsd. (build-only)

  • Fix bug in handling of runner input option.

1.5.0 - 2022-12-02

  • Support wasm32-wasi.

1.4.1 - 2022-11-30

  • Improve support for C/C++ dependencies on windows-gnu targets.

1.4.0 - 2022-11-30

  • Support x86_64-pc-windows-gnu on Linux host.

1.3.0 - 2022-07-10

  • Support aarch64_be-unknown-linux-gnu, riscv32gc-unknown-linux-gnu, mipsisa32r6-unknown-linux-gnu, and mipsisa64r6-unknown-linux-gnuabi64.

  • Document support status for ubuntu-22.04.

1.2.0 - 2022-02-23

  • Change default runner of i586 to qemu-user. (#5)

1.1.1 - 2022-02-23

  • Fix the DOCTEST_XCOMPILE environment variable.

1.1.0 - 2022-02-22

  • Support binfmt. This allows running the cross-compiled binaries directly. (#3)

  • Set the DOCTEST_XCOMPILE environment variable to easily run cross-testing of doctest. (#3)

  • Add runner input option. (#3)

1.0.0 - 2022-02-20

Initial release