Releases: trufflesuite/ganache
v2.5.3 - Hot Fix 🔥
Release Highlights
Fixes an issue where a ganache-core
websocket server may crash when closing the server connection while eth_unsubscribe
calls are still in flight. PR: #347
Related Releases
v2.5.1 - Petersburg fork & More! ⋔
v2.5.1 - Petersburg fork & More! ⋔
The Petersburg hardfork is scheduled to go live on mainnet on block number 7,280,000, estimated to occur on February 28th. This hardfork removes the reentrancy attack vector introduced in the Constantinople hardfork (which also goes live on mainnet on block 7,280,000). This release includes ethereumjs-vm@2.6.0
which includes support for the Petersburg hardfork. Also: bug fixes!
Release Highlights
The default hardfork in ganache-core
and ganache-cli
is now petersburg
. We also fixed lots of bugs and paid off some technical debt!
New Features:
- Add support for the Petersburg fork (#323)
Bug Fixes:
This release also contains some bug fixes!
- Make sure
miner_start
andminer_stop
are asynchronous (#322) - Fix bug for transaction receipts with multiple transactions in one block (#268)
- Handle invalid block numbers in
eth_getTransactionCount
(#291) - Return correct transaction and receipt trie roots (#231 and #331)
- Fix contract storage access issue when using snapshot and revert (#329)
- Fix bug when accessing storage state in
debug_traceTransaction
(#330) - Fix regression causing
fork_block_number
option to be ignored (#342)
Maintenance and Testing:
- Refactor gas tests (#289)
- Enable process listeners for uncaught exceptions in tests (#301)
- Remove extra test run from coverall support (#299)
- Update lodash (#303)
- Add tests for external library function calls (#225)
- Improve websocket test coverage (#310)
- Update ethers test and ethers.js in package.json so the tests work again (#345)
Documentation:
- Clarify
evm_snapshot
behavior inREADME.md
(#284)
More steady releases to come in the future so keep on filing issues and submitting PRs!
💖 The Truffle Team
Related Releases
v2.5.0 - Petersburg fork & More! ⋔
v2.5.0 - Petersburg fork & More! ⋔
This build shipped with invalid dependency urls in its npm-shrinkwrap.json file and was incompatible with npm because of it. Please use v2.5.1 or later instead.
The Petersburg hardfork is scheduled to go live on mainnet on block number 7,280,000, estimated to occur on February 28th. This hardfork removes the reentrancy attack vector introduced in the Constantinople hardfork (which also goes live on mainnet on block 7,280,000). This release includes ethereumjs-vm@2.6.0
which includes support for the Petersburg hardfork. Also: bug fixes!
Release Highlights
The default hardfork in ganache-core
and ganache-cli
is now petersburg
. We also fixed lots of bugs and paid off some technical debt!
New Features:
- Add support for the Petersburg fork (#323)
Bug Fixes:
This release also contains some bug fixes!
- Make sure
miner_start
andminer_stop
are asynchronous (#322) - Fix bug for transaction receipts with multiple transactions in one block (#268)
- Handle invalid block numbers in
eth_getTransactionCount
(#291) - Return correct transaction and receipt trie roots (#231 and #331)
- Fix contract storage access issue when using snapshot and revert (#329)
- Fix bug when accessing storage state in
debug_traceTransaction
(#330) - Fix regression causing
fork_block_number
option to be ignored (#342)
Maintenance and Testing
- Refactor gas tests (#289)
- Enable process listeners for uncaught exceptions in tests (#301)
- Remove extra test run from coverall support (#299)
- Update lodash (#303)
- Add tests for external library function calls (#225)
- Improve websocket test coverage (#310)
- Update ethers test and ethers.js in package.json so the tests work again (#345)
Documentation:
- Clarify
evm_snapshot
behavior inREADME.md
(#284)
More steady releases to come in the future so keep on filing issues and submitting PRs!
💖 The Truffle Team
v2.4.0 - C̶o̶n̶s̶t̶a̶n̶t̶i̶n̶o̶p̶l̶e̶ 🌿
v2.4.0 - C̶o̶n̶s̶t̶a̶n̶t̶i̶n̶o̶p̶l̶e̶ 🌿
Let's talk about that constantinople
bug that was discovered in the 11th hour, shall we? We are proud to have created software that played a roll in the discovery of the attack and love the way the community of builders (and buidlers!) worked together to postpone the hardfork and come up with a solution!
This release contains the original Constantinople hardfork implementation and is now the default hardfork in ganache-core.
It is safe and recommended to test your contracts using the default "constantinople"
hardfork available in this release of ganache-core. The only expected difference between the hardfork in this release and the proposed Petersburg hardfork is that some transactions under Petersburg will cost more in gas due to the removal of the vulnerable EIP.
Release Highlights
Implements EIP-1013, Hardfork: Constantinople behind a new flag, hardfork
. Valid values are currently "byzantium"
and "constantinople"
. The default value is "constantinople"
.
This version contains the Constantinople hardfork implementation as it was originally intended by EIP-1013. This hardfork did not go live on Mainnet as planned due to a reentrancy attack discovered by ChainSecurity.
We are expecting a variant of Constantinople, currently named Petersburg, with the reentrancy attack vector removed to go live on Mainnet a few weeks from now (EIP PR: ethereum/EIPs#1716). The proposed change from the original Constantinople hardfork is to remove the offending EIP, EIP-1283.
New Features:
Bug Fixes:
This release also contains some bug fixes!
- Make sure
eth_call
,eth_estimateGas
, anddebug_traceTransaction
can't modify state or the state cache (e9a54a4) - Don't allow subscription attempts over HTTP (#252)
- Ensure block numbers specified after
latest
match other EVM implementations (#228) - Allow dynamic responses in CORS requests (#226)
- Allow CORS requests to access cookies (ganache-core doesn't set cookies, but web3 still requires access to them in some browsers) (9633943, 71cc77f)
- Fix pending transactions responses to conform to the JSON-RPC spec (#227)
Documentation:
- Clarify
accounts
usage in options (e13effd)
More steady releases to come in the future so keep on filing issues and submitting PRs!
💖 The Truffle Team
Related Releases
v2.5.0-eip1283.1 - Constantinople w/ EIP 1283 Removed
This version contains an experimental build of the ethereumjs-vm with EIP-1283 changes removed.
This version adds a new hardfork option constantinople-1283-removed
. The default hardfork in this experimental build is now constantinople-1283-removed
.
To test the original constantinople
hardfork set the hardfork
option as in your options as follows:
const provider = Ganache.provider({ hardfork: "constantinople" });
This version fixes a bug in v2.5.0-eip1283.0
where reverting after a snapshot may sometimes result in stale data being left in the EVM's cache which could then be retrieved erroneously by later transactions.
Installation
This is a tagged release specifically for the Ethereum protocol development community. you'll need to specify the specific version of this release when installing. To do this, run npm install ganache-core@eip1283
and not the usual command npm install -g ganache-core
v2.5.0-eip1283.0 - Constantinople w/ EIP 1283 Removed
This version contains an experimental build of the ethereumjs-vm with EIP-1283 changes removed.
This version adds a new hardfork option constantinople-1283-removed
. The default hardfork is currently constantinople
.
To test the constantinople-1283-removed
hardfork set the hardfork
option as in your options as follows:
const provider = Ganache.provider({ hardfork: "constantinople-1283-removed" });
v2.4.0-beta.0 - Constantinople 🏟
Release Highlights
Implements EIP-1013, Hardfork: Constantinople behind a new flag, hardfork
. Valid values are currently "byzantium"
and "constantinople"
. The default value remains "byzantium"
; the release version of 2.4.0 is slated to be released with "constantinople"
as the default value.
v2.3.3 - Hot Fix 🔥
Release Highlights
Fixes an issue where RPC calls to net_version
might return "undefined"
when the provider is configured to use forking. PR: #264
v2.3.2 - Bug & Regression Fixes 🐛
Release Highlights
This is a fix for regressions found in v2.3.0. This release also fixes a block hash bug.
Asynchronous request processing, enabled in 2.3.0, has been put back to disabled while we continue to work on the underlying issue.
Fixes the following regressions:
- Fix Incorrect Transaction Hashes: (#387, #598, #403) PR: #243, #261
- Revert State Trie and VM Changes: (#600, #603, #255) PR: #254
- Fix persisted db issue: (#597) PR:#251
Bug fixes:
v2.3.2-beta.6 - Regression Fixes 🐛
Release Highlights
- Make sure we maintain backward compatibility with older database schemas. #257