All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
- Updated
cargo contract new
template dependencies to ink!3.0.0-rc8
- #402 - Reverted the disabled overflow checks in the
cargo contract new
template - #376 - Migrated to 2021 edition, enforcing MSRV of
1.56.1
- #360
- For contract size optimization added
workspace
section to override parentworkspace
- #378
- Updated
cargo contract new
template dependencies to ink!3.0.0-rc7
- #374 - Disabled overflow checks in the
cargo contract new
template - #372 - Use
-Clinker-plugin-lto
iflto
is enabled (reduces the size of a contract) - #358 - Deserialize metadata - #368
- Added a
--offline
flag to build contracts without network access - #356
- Update to
scale-info
1.0 and support new metadata versioning - #342 - Update
cargo contract new
template dependencies to ink!rc6
- #342
- Add option for JSON formatted output - #324
- Use new dependency resolver for template contract - #325
- Do not strip out panic messages in debug builds - #326
- Fixed a Windows issue with contract files in sub-folders - #313
- Convenient off-chain testing through
cargo contract test
- #283 - Build contracts in debug mode by default, add
--release
flag - #298 - Add
--keep-symbols
flag for better Wasm analysis capabilities - #302
- Change default optimizations pass to focus on code size - #305
- Suggest
binaryen
installation from GitHub release on outdated version - #274
- Always use library targets name for contract artifacts - #277
- Fixed
ERROR: The workspace root package should be a workspace member
when building a contract under Windows - #261
- Remove support for
--binaryen-as-dependency
- #251 - Remove support for the deprecated
cargo contract generate-metadata
command - #265 - Remove pinned
funty
dependency from "new project" template - #260
- Fix
wasm-opt --version
parsing - #248
- Improve error output for
wasm-opt
interaction - #244 - Check optimized Wasm output file exists - #243
- Detect
wasm-opt
version compatibility and improve error messages - #242 - Detect version mismatches of
parity-scale-codec
in contract and ink! dependency - #237 - Support specifying
optimization-passes
in the release profile - #231 - Support specifying
optimization-passes
on the CLI - #216 - Use
ink::test
attribute in "new project" template - #190
- Only allow new contract names beginning with an alphabetic character - #219
- Upgrade
cargo-metadata
and fix usages - #210
- no periods in new contract names - #192
- Update
cargo contract new
template dependencies forink!
rc3
- #204
- Fix linker error when building complex contracts - #199
- Implement Wasm validation for known issues/markers - #171
- Use either
binaryen-rs
dep orwasm-opt
binary - #168 - Update to scale-info 0.5 and codec 2.0 - #164
- Put build artifacts under
target/ink/
- #122
- Fix
wasm-opt
regression - #187 - Generate metadata explicitly for the contract which is build - #174
- Fix bug with empty Wasm file when using system binaryen for optimization - #179
- Suppress output on
--quiet
- #165 - Do not generate build artifacts under
target
forcheck
- #124 - update wasm-path usage name - #135
- Exit with 1 on Err #109
- Use package name instead of lib name for metadata dependency #107
- Do not prettify JSON for bundle #105
- Make
source.hash
non-optional, remove metadata-only #104 - Implement new commands
build
andcheck
+ introduce bundles (.contract files) #97 - Replace xbuild with cargo build-std #99
- Use binaryen-rs as dep instead of requiring manual wasm-opt installation #95
- Specify optional --manifest-path for build and generate-metadata #93
- Update new command template to ink! 3.0-rc2 #85
- Fix deprecation warnings #82
- Use ink 3.0.0-rc1 #82
- [template] now uses ink_env and ink_storage #81
- Update new command template to ink! 3.0 syntax #80
- Extract contract metadata to its own crate #69
- Fix ManifestPath compiler errors #73
- Upgrade cargo-xbuild and other dependencies #71
- Update subxt and async-std dependencies #66
- Generate extended contract metadata #62
- Autogenerate abi/metadata package #58
- Extract workspace to module directory #59
- Add preferred default release profile settings #55
- Add option to build with unmodified original manifest #51
- Update cargo-xbuild #54
- Fix LTO regressions in nightly toolchain #52
- First release to crates.io
- Use
subxt
release from crates.io
- Fix: fail the whole build process if the contract build fails.
- Minimize contract wasm binary size:
- Run
wasm-opt
on the contract Wasm binary. - Uses
cargo-xbuild
to build custom sysroot crates without panic string bloat. - Automatically removes the
rlib
crate type fromCargo.toml
, removing redundant metadata.
- Run
- Removes requirement for linker args specified in
.cargo/config
. - Added
--verbose
and--quiet
flags forbuild
andgenerate-metadata
commands.