Releases: paritytech/revive
v0.1.0-dev.16
Changelog
This is a development pre-release.
Supported polkadot-sdk
rev:c29e72a8628835e34deb6aa7db9a78a2e4eabcee
Added
- Move the npm package from paritytech/js-revive, into this repo. The package
@parity/resolc
will be deployed to npm for each release. - Support for solc v0.8.30
Changed
- By default, heavy size optimizations are applied.
Fixed
- @parity/resolc: The solc dependency package is constrained to the latest supported version, preventing breaking the package ever time a new solc package was released.
- The resolc npm package no longer ignores the optimizer settings
Note for macOS Users
The macOS binary is unsigned and it needs to be made runnable using xattr -c resolc-universal-apple-darwin
.
v0.1.0-dev.15
Changelog
This is a development pre-release.
Supported polkadot-sdk
rev:c29e72a8628835e34deb6aa7db9a78a2e4eabcee
Added
- Move the npm package from paritytech/js-revive, into this repo. The package
@parity/resolc
will be deployed to npm for each release. - Support for solc v0.8.30
Changed
- By default, heavy size optimizations are applied.
Fixed
- @parity/resolc: The solc dependency package is constrained to the latest supported version, preventing breaking the package ever time a new solc package was released.
- The resolc npm package no longer ignores the optimizer settings
Note for macOS Users
The macOS binary is unsigned and it needs to be made runnable using xattr -c resolc-universal-apple-darwin
.
llvm-18.1.8-revive.e3a9c95
LLVM is a dependency of revive. The LLVM releases are used by our CI to build revive.
v0.1.0-dev.14
Changelog
This is a development pre-release.
Supported polkadot-sdk
rev:c29e72a8628835e34deb6aa7db9a78a2e4eabcee
Added
- The
revive-runner
helper utility binary which helps to run contracts locally without a blockchain node. - Allow configuration of the EVM heap memory size and stack size via CLI flags and JSON input settings.
Changed
- The default PVM stack memory size was increased from 16kb to 32kb.
Fixed
- Constructors avoid storing zero sized immutable data on exit.
Note for macOS Users
The macOS binary is unsigned and it needs to be made runnable using xattr -c resolc-universal-apple-darwin
.
v0.1.0-dev.13
Changelog
This is a development pre-release.
Supported polkadot-sdk
rev:c29e72a8628835e34deb6aa7db9a78a2e4eabcee
Added
- Support for solc v0.8.29
- Decouples the solc JSON-input-output type definitions from the Solidity fronted and expose them via a dedicated crate.
--supported-solc-versions
forresolc
binary to return asemver
range of supportedsolc
versions.- Support for passing LLVM command line options via the prcoess input or providing one or more
--llvm-arg='..'
resolc CLI flag. This allows more fine-grained control over the LLVM backend configuration.
Changed
- Storage keys and values are big endian. This was a pre-mature optimization because for the contract itself it this is a no-op and thus not observable. However we should consider the storage layout as part of the contract ABI. The endianness of transient storage values are still kept as-is.
- Running
resolc
using webkit is no longer supported.
Fixed
- A missing byte swap for the create2 salt value.
Note for macOS Users
The macOS binary is unsigned and it needs to be made runnable using xattr -c resolc-universal-apple-darwin
.
v0.1.0-dev.12
Changelog
This is a development pre-release.
Supported polkadot-sdk
rev: 21f6f0705e53c15aa2b8a5706b208200447774a9
Added
- Per file output selection for
--standard-json
mode. - The
ir
output selection option for--standard-json
mode.
Changed
- Improved code size: Large contracts compile to smaller code blobs when enabling aggressive size optimizations (
-Oz
).
Fixed
Note for macOS Users
The macOS binary is unsigned and it needs to be made runnable using xattr -c resolc-universal-apple-darwin
.
llvm-18.1.8-revive.22f3ceb
LLVM is a dependency of revive. The LLVM releases are used by our CI to build revive.
LLVM binaries release: llvm-18.1.8-revive.48a019e
This release includes binaries of LLVM, used to compile revive itself
v0.1.0-dev.11
This is a development pre-release.
Supported polkadot-sdk
rev: 274a781e8ca1a9432c7ec87593bd93214abbff50
Added
Changed
Fixed
- A bug causing incorrect loads from the emulated EVM linear memory.
- A missing integer truncate after switching to 64bit.
v0.1.0-dev.10
This is a development pre-release.
Supported polkadot-sdk
rev: 274a781e8ca1a9432c7ec87593bd93214abbff50
Added
- Support for the
coinbase
opcode. - The resolc web JS version.
Changed
- Missing the
--overwrite
flag emits an error instead of a warning. - The
resolc
executable prints the help by default. - Removed support for legacy EVM assembly (EVMLA) translation.
- integration: identify cached code blobs on source code to fix potential confusions.
- Setting base, include or allow paths in emscripten is now a hard error.
- Employ a heuristic to detect
address.transfer
andaddress.send
calls.
If detected, the re-entrant call flag is not set and 0 deposit limit is endowed.
Fixed
- Solidity: Add the solc
--libraries
files to sources. - A data race in tests.
- Fix
broken pipe
errors. - llvm-builder: Allow warnings.
- solidity: Fix the custom compiler warning messages.