Releases: paritytech/revive
v0.5.0
Changelog
This is a development pre-release.
Supported polkadot-sdk rev: 2509.0.0
Added
- Support for
SELFDESTRUCT.
Changed
- Emulated EVM heap memory accesses of zero length are never out of bounds.
- Switched to newer and cheaper storage syscalls (omits reads and writes of
0values).
Fixed
- Introduced a workaround avoiding compiler crashes caused by a bug in LLVM affecting
SDIV. - An off-by-one bug affecting
SDIVoverflow semantics.
Note for macOS Users
The macOS binary is unsigned and it needs to be made runnable using xattr -c resolc-universal-apple-darwin.
v0.4.1
Changelog
This is a development pre-release.
Supported polkadot-sdk rev: 2503.0.1
Changed
- The
astoutput is no longer pruned in standard JSON mode (required for foundry). - Support
standard_json.output_selectionto also look at per file 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.4.0
Changelog
This is a development pre-release.
Supported polkadot-sdk rev: 2503.0.1
Changed
- Remove the broken
--llvm-irmode. - Remove the unused fallback for size optimization setting.
- Unlinked contract binaries are emitted as raw ELF objects.
Added
- Line debug information per YUL builtin and for
ifstatements. - Column numbers in debug information.
- Support for the YUL optimizer details in the standard json input definition.
- The
revive-explorercompiler utility. revive-yul: The AST visitor interface.- The
--linkdeploy time linking mode.
Fixed
- The debug info source file matches the YUL path in
--debug-output-dir, allowing tools to display the source line. - Incosistent type forwarding in JSON output (empty string vs. null object).
- The solc automatic import resolution.
- Compiler panic on missing libraries definition.
Note for macOS Users
The macOS binary is unsigned and it needs to be made runnable using xattr -c resolc-universal-apple-darwin.
v0.3.0
Changelog
This is a development pre-release.
Supported polkadot-sdk rev: 2503.0.1
Fixed
- llvm-context: Bugfix the SAR YUL builtin translation.
- runtime-api: Add the missing
memsetbuiltin. - npm package: Bugfix the exports field defined in the
package.json.
Note for macOS Users
The macOS binary is unsigned and it needs to be made runnable using xattr -c resolc-universal-apple-darwin.
v0.2.0
Changelog
This is a development pre-release.
Supported polkadot-sdk rev: 2503.0.1
Changed
- Removed the license printer from the
resolcbinary. - EVM bytecode is no longer requested from solc (except in test utils) leading to less compilation work in the pipeline.
Fixed
- solc-json-interface: Serializing of any custom key in the JSON input is only skipped if not provided.
- npm package resolution no longer fails with an 'ERR_PACKAGE_PATH_NOT_EXPORTED' error for packages defining exports fields in the
package.json.
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
Changelog
This is a development pre-release.
Supported polkadot-sdk rev: 2503.0.1
Added
- Add the PolkaVM heap size, stack size and debug info CLI compiler options to the standard JSON settings. This makes the standard JSON input succint for reproducible builds.
Changed
- Supported
polkadot-sdkversion is now2503.0.1 - The
emsdkversion is now4.0.9
Fixed
llvm-18.1.8-revive.af39d50
LLVM is a dependency of revive. The LLVM releases are used by our CI to build 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/resolcwill 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/resolcwill 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.