Releases: trufflesuite/ganache
v2.3.2-beta.5 - Regression Fixes 🐛
Release Highlights
- Make sure we maintain backward compatibility with older database schemas. #257
v2.3.2-beta.4 - 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
- Revert State Trie and VM Changes: (#600, #603, #255) PR: #254
- Fix persisted db issue: (#597) PR:#251
Bug fixes:
v2.3.0 – New Features, Performance Improvements, & Bug Fixes – Spicy Maple Bacon 🥓
v2.3.0 Spicy Maple Bacon 🥓
Hot out of the oven with a new minor version release! It's been a while since the last ganache-core release, but we haven't been idle. This time around we've made things spicy (with some performance improvements) and sweetened the recipe (by adding a new feature) – and we've also sprinkled in plenty of bug fixes!
Release Highlights
This release is mostly bug fixes, but there are some huge performance improvements as well, most importantly we've finally re-enabled async request processing! Thank you everyone who contributed to the research, commits, conversations, and PRs behind the fix for the race condition bug we've been working on since 2017.
You shouldn't have any issues when upgrading from a v2.*.*
to v2.3.0
, but if you do please let us know by filing an issue.
Commits
New Features:
- Add a new option for HTTP Server
keepAliveTimeout
48028c7
Performance:
- Enable async request processing: 312902f
- Optimize
sortbyPriceAndNonce
: 398125f - Default to using native dependencies where possible, falling back to JS implementations where native isn’t available. 22e3af6
Bug Fixes:
- Don’t assume that every transaction with data is a contract call f52e1ab
eth_getCompilers
now returns empty array instead of["solidity"]
a3638a5- Add
v
,r
, ands
parameters ingetTransaction
5dc6510 - Return RPC quantity encoded hex strings for
logIndex
andtransactionIndex
in logs: abb0a7e - Return properly encoded RPC hex strings for transactions: 24eb4bc
- Fix handling of
0x0
,0x
,0x00
, andnull
in JSON RPC responses: 3efcab4, and 9a4cb88 - Fix multi-transactions per block gas-usage & cumulative gas-usage 72efbd7
- Fix Merkle Patricia Tree race condition and forked debugging: af98663
- Add
to
andfrom
fields to transaction receipts: 4d3c606 - Update statemanager to handle requests with block numbers higher than latest: c02be96
- Fix hash collision issue and update ethereumjs-tx: 7f837ab
- Fix issue where interval mining wouldn’t stop after the provider/server was closed: 0c3979d
Maintenance:
- Add eslint and formatting rules: 7fb71a8 and 5edd2a8
- Log reason string on transaction failure 8d311f3
More steady releases to come in the future so keep on filing issues and submitting PRs!
💖 The Truffle Team
v2.2.1 - Hot Fix 🔥
Release Highlights
Hotfix for a breaking change introduced in v2.2.1 in the new eth_estimateGas
implementation.
Release Highlights from v2.2.0:
- Added
evm_setTime
method to enable setting the time. eth_estimateGas
now returns more accurate estimate when a transaction has a gas refund.evm_mine
now accepts atimestamp
parameter.- Includes
revert
reason string in result error message, when applicable. - Add
user-agent
to CORS "Access-Control-Allow-Headers" response to an fix issue in Firefox. - Fixes issue where transactions without a
gasPrice
may default to agasPrice
of0x1
instead of the ganache provider/server's default/specifiedgasPrice
. - Changes the default gasPrice from
0x4A817C800
(20 gwei) to a more reasonable value of0x77359400
(2 gwei). - Add experimental
eth_signTypedData
method. This implementation will likely change in future versions.
v2.2.0 - New Features & Bug Fixes 🕒
Release Highlights
- Added
evm_setTime
method to enable setting the time. eth_estimateGas
now returns more accurate estimate when a transaction has a gas refund.evm_mine
now accepts atimestamp
parameter.- Includes
revert
reason string in result error message, when applicable. - Add
user-agent
to CORS "Access-Control-Allow-Headers" response to an fix issue in Firefox. - Fixes issue where transactions without a
gasPrice
may default to agasPrice
of0x1
instead of the ganache provider/server's default/specifiedgasPrice
. - Changes the default gasPrice from
0x4A817C800
(20 gwei) to a more reasonable value of0x77359400
(2 gwei). - Add experimental
eth_signTypedData
method. This implementation will likely change in future versions.
v2.1.6 - Bug Fixes 🐛
Release Highlights
- Pins
ethereumjs-wallet
to v0.6.0, to work around a problem with this dependency which broke HD Wallet support. - Switches project to use
npm-shrinkwrap.json
instead ofpackage-lock.json
so that projects which depend onganache-core
are getting the same dependency versions we test against. - Fixes a bug wherein the provider engine wasn't being stopped when the
ganache-core
was provider was stopped, which makes ganache-core more useful in contexts where it might need to be spun up multiple times in a single process.
v2.1.5 - Bug Fixes 🐛
Release Highlights
- Pins
ethereumjs-tx
to v1.3.4, to work around a problem with this dependency which brokeeth_sendRawTransaction
. See ethereumjs/ethereumjs-tx#113 for more info.
Note that upgrading to this release is only necessary if you're having issues with eth_sendRawTransaction
in a project which depends on ganache-core
.
v2.1.4 - Bug Fixes 🐛
Release highlights
- Fixes bug causing value sent to a contract created on a forked chain to not persist.
- Adds boolean
allowUnlimitedContractSize
option, which allows a contract to be created regardless of size limits. - Fixes bug causing incorrect balances on accounts from the parent chain when using the forking feature.
- Fixes filter.address to work with a single value or an array, in compliance with the JSON RPC wiki.
- Fixes
send
method inProvider
to throw when no callback is specified.
v2.1.3 - Bug Fixes 🐛
Release highlights
- Completes fix from previous release for less strict checks on filter/subscription IDs and on addresses specified in log filters/subscriptions to allow for mixed case hex encoding.
- Removes vulnerability caused by transitive dependency on
hoek
v2.1.1 - Bug Fixes 🐛
Release highlights
- Minimum required version of node is now 8.9.0
- Allows us to use the async/await keywords or dependencies which use these keywords
- Makes it possible to fetch
revert
orrequire
reason strings whenvmErrorsOnRpcResponse
isfalse
- Correctly restores time deltas on snapshot/revert
- Preserves transaction signatures sent along with
eth_sendRawTransaction
- Makes it possible to disable storage/memory/stack output in
debug_traceTransaction
(useful for code coverage tooling) - Fixes JSON encoding of log & receipt types, respecting the data/quantity format types specified in the RPC wiki.
- Less strict checks on filter/subscription IDs and on addresses specified in log filters/subscriptions to allow for mixed case hex encoding.
- Renamed
blocktime
toblockTime
to follow ganache-cli changes. - Fixes
Server.listen
so that it now passes theSateManager
in its callback. - Returns more helpful error message when
eth_getTransactionCount
is called with a bad block number.