Skip to content
This repository has been archived by the owner on Feb 26, 2024. It is now read-only.

Releases: trufflesuite/ganache

v2.5.3 - Hot Fix 🔥

02 Mar 14:41
v2.5.3
e3c8393
Compare
Choose a tag to compare

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! ⋔

28 Feb 01:40
v2.5.1
b9bf54b
Compare
Choose a tag to compare

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 [email protected] 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 and miner_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 in README.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! ⋔

28 Feb 01:40
v2.5.0
53d2d82
Compare
Choose a tag to compare

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 [email protected] 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 and miner_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 in README.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̶ 🌿

30 Jan 02:29
v2.4.0
ea6090d
Compare
Choose a tag to compare

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:

  • Constantinople support (#274)
  • Expose database directory for easy lookup (#271)

Bug Fixes:

This release also contains some bug fixes!

  • Make sure eth_call, eth_estimateGas, and debug_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

24 Jan 21:29
26595eb
Compare
Choose a tag to compare

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


[email protected] release notes

v2.5.0-eip1283.0 - Constantinople w/ EIP 1283 Removed

24 Jan 21:27
98021dc
Compare
Choose a tag to compare

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 🏟

10 Jan 00:19
afad9c6
Compare
Choose a tag to compare
Pre-release

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 🔥

20 Dec 16:35
v2.3.3
2f86953
Compare
Choose a tag to compare

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 🐛

17 Dec 23:19
v2.3.2
870a8a7
Compare
Choose a tag to compare

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:

Bug fixes:

  • Upgrades ethereumjs-block to latest, fixing a bug causing incorrect block hash calculations (#237) PR: #238

v2.3.2-beta.6 - Regression Fixes 🐛

17 Dec 23:13
c849ace
Compare
Choose a tag to compare
Pre-release

Release Highlights

  • Make sure we maintain backward compatibility with older database schemas. #257