- Bump Rust to current stable 1.81.0
0.16.0 - 2024-06-06
- Bump Rust to current stable 1.78.0.
- Remove "-aarch64" suffix from filename when .wasm files are built on an ARM system. There is no good reason for those given that the builder images for ARM have a different name and each builder image produces different results. (#151)
- Allow configuring multiple builds in a codebase using
[package.metadata.optimizer]
settings inCargo.toml
(#148, #156). E.g.[package.metadata.optimizer] standard-build = true builds = [ { name = "debug", features = ["debug"] } { name = "tokenfactory", features = ["tokenfactory"], default-features = false }, ]
0.15.1 - 2024-02-25
- Bump Rust to current stable 1.75.0.
- Bump wasm-opt to version v116.
0.15.0 - 2023-11-13
-
cosmwasm/rust-optimizer and cosmwasm/workspace-optimizer were merged into cosmwasm/optimizer. The old image names are preserved but deprecated.
-
cosmwasm/rust-optimizer-arm64 and cosmwasm/workspace-optimizer-arm64 were merged into cosmwasm/optimizer-arm64. The old image names are preserved but deprecated.
-
Bump Rust to current stable 1.73.0.
-
Use builder tool
bob
for both single contract and workspace builds ([#134]) -
Remove sccache. This caching was only useful when compiling multiple independent Rust projects. cosmwasm/rust-optimizer currently supports that, but this feature is not needed anymore and should be removed. Instead, users can call rust-optimizer once for each contract or use workspace-optimizer.
-
Both rust-optimizer and workspace-optimizer now take exactly one path argument for the project to be built. The Docker images default to
.
if not set. This means calling rust-optimizer for multiple projects at once is now unsupported. You should either migrate to a workspace or change the call from:docker run --rm -v "$(pwd)":/code \ --mount type=volume,source="$(basename "$(pwd)")_cache",target=/target \ --mount type=volume,source=registry_cache,target=/usr/local/cargo/registry \ cosmwasm/rust-optimizer:0.14.0 ./contracts/*/
to
for contract_dir in contracts/*; do docker run --rm -v "$(pwd)":/code \ --mount type=volume,source="$(basename "$(pwd)")_cache",target=/target \ --mount type=volume,source=registry_cache,target=/usr/local/cargo/registry \ cosmwasm/rust-optimizer:0.15.0 "$contract_dir" done
0.14.0 - 2023-07-28
- Update to binaryen v114.
- Bump Rust to current stable v1.71.0.
- Add the
--signext-lowering
flag towasm-opt
. ([#127])
0.13.0 - 2023-06-20
-
Moved target folder from
/code/target
to/target
. To upgrade your caller code use one of those diffs. For rust-optimizer:docker run --rm -v "$(pwd)":/code \ - --mount type=volume,source="$(basename "$(pwd)")_cache",target=/code/target \ + --mount type=volume,source="$(basename "$(pwd)")_cache",target=/target \ --mount type=volume,source=registry_cache,target=/usr/local/cargo/registry \ - cosmwasm/rust-optimizer:0.12.13 + cosmwasm/rust-optimizer:0.13.0
or for workspace-optimizer:
docker run --rm -v "$(pwd)":/code \ - --mount type=volume,source="$(basename "$(pwd)")_cache",target=/code/target \ + --mount type=volume,source="$(basename "$(pwd)")_cache",target=/target \ --mount type=volume,source=registry_cache,target=/usr/local/cargo/registry \ - cosmwasm/workspace-optimizer:0.12.11 + cosmwasm/workspace-optimizer:0.13.0
-
Bump Rust to 1.69.0
0.12.13 - 2023-03-30
- Bump Rust to 1.68.2.
This contains cargo's sparse protocol support which is enabled here.
0.12.12 - 2023-03-06
- Bump Rust to 1.67.1
0.12.11 - 2022-12-22
- Bump Rust to 1.66.0
0.12.10 - 2022-11-18
- Update to binaryen v110.
- Bump Rust to current stable v1.65.0
- Bump Rust to current stable v1.64.0
- Add --lib to cargo build
- Support incremental workspace optimizations ([#84])
- Bump Rust to current stable v1.63.0.
- Bump Rust to current stable v1.60.0.
- Update to binaryen v105.
- Bump Rust to current stable v1.58.1.
- Update to binaryen v102. Build binaryen from sources and test it in both, Intel and Arm 64.
- Adds the "-arm64" suffix to Arm 64 image names. Also adds a suffix to non-x86_64 (Intel 64 bits) built artifacts.
- Add missing "is directory" check for build workspace, to avoid panic on extra typescript files.
- Port workspace-optimizer Python script to Rust to reduce image sizes.
- Bump Rust to 1.55.0
- Support for arm64 Docker images (not published; see (#60)).
- Use the Docker builder pattern to reduce image sizes by preventing temporary files from
entering the
cosmwasm/rust-optimizer
andcosmwasm/workspace-optimizer
images
- Reorganize project to use multi-stage builds instead of different docker files. This
way no
cosmwasm/base-optimizer
image is expected on DockerHub.
- Bump Rust to 1.54.0
- Bump Rust to 1.53.0
- Remove
-n
fromecho
to flush logs early. - Consolidate log style.
- Revert shell to
/bin/ash
.
- Fix target path for *.wasm files.
- Issues when running
workspace-optimizer
in CircleCI (cosmwasm-plus #273). Revert to using/bin/sh
for shell.
- Use precompiled sccache
- Reduce image size by deleting unnecessary files
cosmwasm/workspace-optimizer
: migrate from Rust nightly to stable (1.51.0)- Migrate to alpine-based Rust images for smaller images
cosmwasm/rust-optimizer
: bump Rust to 1.51.0
cosmwasm/rust-optimizer
: bump Rust to 1.50.0cosmwasm/workspace-optimizer
: bump Rust to nightly-2021-03-01
- Add shared build cache (sccache) to rust-optimizer
- Add support for building multiple non-workspace contracts at once (#25)
- Remove
trzeci/emscripten
dependency and installwasm-opt
manually - Upgrade
wasm-opt
to version 96
cosmwasm/rust-optimizer
: bump Rust to 1.47.0cosmwasm/workspace-optimizer
: bump Rust to nightly-2020-10-14
cosmwasm/rust-optimizer
: bump Rust to 1.45.2
- Bump Rust to 1.45.2
- Split into
cosmwasm/rust-optimizer
andcosmwasm/workspace-optimizer
to restore 0.9 stability for single contract builds while building adding support for monorepo builds.cosmwasm/workspace-optimizer
now uses Rustnightly-2020-08-20
.
- Rename
./artifacts/contracts.txt
to./artifacts/checksums.txt
.
- Initial attempt to support workspace repos. Contracts are now writtien to
./articfacts/{contract name}.wasm
and./artifacts/contracts.txt
.
- Bump Rust to 1.45.0
- Rename Github repo from
confio/cosmwasm-opt
toCosmWasm/rust-optimizer
- Rename Docker name from
confio/cosmwasm-opt
tocosmwasm/rust-optimizer
- Bump Rust to 1.43.1
- Avoid using CosmWasm shortcut
cargo wasm
since the config file.cargo/config
is not included in creates.io source code publications.
Note: This version cannot be used for reproducible builds from crates.io sources and should not be used. 0.7.0, 0.7.1 and 0.7.3 unaffected.
- Avoid using
web-pack
by doing the stripping directly. This removes the dependency inwasm-bindgen
in contracts. - Bump Rust to 1.41.1
- Avoid building schema during optimization. This belongs to the development flow, not to the reproducible build flow.
- Bump emscripten to 1.39.8-fastcomp
- Bump Rust to 1.41.0