New Features
Fixes
Miscellaneous
Changelog
Known Issues
Future Plans
Presenting the latest version of Ganache! This release brings a couple of important bug fixes and one new feature: the ability to specify a file path for Ganache to write logs to – handy when using detach mode, where the logs are not (yet) available.
If you have some time, we encourage you to browse our issues to find anything you'd like implemented/fixed sooner. Give them a +1 and we'll use this community feedback to help prioritize what we work on! Or better yet, open a new issue or open a PR to fix an existing issue.
We've changed 59 files across 14 merged pull requests, tallying 2485 additions and 563 deletions, since our last release.
- feat: add hardfork to cli output (#4343)
- feat: allow logs to be written to a file by providing the
--logging.file
argument (#4195)
feat: add hardfork to cli output (#4343)
Ganache now outputs the hardfork to the console along with the rest of the startup information:
Chain
==================
Hardfork: shanghai
Id: 1337
feat: allow logs to be written to a file by providing the --logging.file
argument (#4195)
Introducing the ability to specify a log file for Ganache to write its logs to. No more sifting through endless terminal output to find that one critical message you need. Just provide a path to your desired log file with ganache --logging.file <path-to-log-file>
, and you're all set! Now you can sit back, relax, and let Ganache do the heavy lifting while you focus on building awesome applications.
- fix: show a helpful message when
ganache instances
is executed without a subcommand (#4368) - fix: resolve hardfork for blocks by blocknumber and timestamp (#4455)
- fix: add support for
mergeForkIdTransition
(#4463) - fix: ensure clique-signer for PoA networks (#4465)
fix: show a helpful message when ganache instances
is executed without a subcommand (#4368)
When ganache instances
is executed, a subcommand must be provided.
Previously an unhelpful error was thrown, with this fix we output a simple error message, followed by the the help text for ganache instances
.
$ ganache instances
ganache instances requires a subcommand:
ganache instances
Manage instances of Ganache running in detached mode.
(Ganache can be run in detached mode by providing the --detach flag)
Commands:
ganache instances list List instances running in detached mode
ganache instances stop <name> Stop the instance specified by <name>
Options:
-?, --help Show help [boolean]
fixes: #4360
fix: resolve hardfork for blocks by blocknumber and timestamp (#4455)
Starting with Shanghai, hardforks are determined by timestamp, rather than block number. When resolving the hardfork to use for a given block, we now consider the blocknumber and the timestamp.
fixes: #4450 (in that the correct hardfork is now resolved, which is not mergeForkIdTransition
)
See #4463
fix: add support for mergeForkIdTransition
(#4463)
Add internal support for mergeForkIdTransition
"hardfork", which is presently live only on Sepolia, but assumedly will eventually happen on other networks.
This doesn't add any functionality, but fixes: #4450 for transactions happening on mergeForkIdTransition
hardfork.
See #4455
fix: ensure clique-signer for PoA networks (#4465)
Fixes #4359
- docs: update contributing guide for linux (#4358)
- chore: use
localhost
as hostname fordocs.preview
dev command (#4357) - test: ensure tests that are skipped in development are run in CI (#4353)
- docs: complete macOS node-gyp troubleshooting steps in CONTRIBUTING.md (#4036)
- perf: optimize account init logging (#4318)
- docs: make light-mode links slightly darker to meet WCAG 2 Level AA contrast goals (#4383)
- perf: optimize options normalization (#4317)
- docs: preloads docs assets (#4384)
docs: update contributing guide for linux (#4358)
Python 2.7 is no longer a requirement to build ganache, but make
is.
chore: use localhost
as hostname for docs.preview
dev command (#4357)
This is just to make ganache development from WSL easier.
test: ensure tests that are skipped in development are run in CI (#4353)
Previously, tests that depend on an INFURA_KEY would be skipped if it were not provided. After this change these tests will fail in CI if no INFURA_KEY is provided.
Additionally, a test which was previously skipped is now run on Windows and Linux agents in Github Actions only. ( > server > listens on given interface only
)
docs: complete macOS node-gyp troubleshooting steps in CONTRIBUTING.md (#4036)
Does what it says on the tin.
perf: optimize account init logging (#4318)
Minor performance improvement on startup.
docs: make light-mode links slightly darker to meet WCAG 2 Level AA contrast goals (#4383)
Changes the contrast on links on ganache.dev in light mode.
perf: optimize options normalization (#4317)
Minor performance improvement on start up.
docs: preloads docs assets (#4384)
Reduces page load time on ganache.dev by initiating downloads of assets that will get loaded from other CSS and JS files later.
- #4358 docs: update contributing guide for linux (@davidmurdoch)
- #4357 chore: use
localhost
as hostname fordocs.preview
dev command (@davidmurdoch) - #4353 test: ensure tests that are skipped in development are run in CI (@jeffsmale90)
- #4343 feat: add hardfork to cli output (@davidmurdoch)
- #4368 fix: show a helpful message when
ganache instances
is executed without a subcommand (@jeffsmale90) - #4036 docs: complete macOS node-gyp troubleshooting steps in CONTRIBUTING.md (@OnlyOneJMJQ)
- #4318 perf: optimize account init logging (@davidmurdoch)
- #4383 docs: make light-mode links slightly darker to meet WCAG 2 Level AA contrast goals (@davidmurdoch)
- #4317 perf: optimize options normalization (@davidmurdoch)
- #4195 feat: allow logs to be written to a file by providing the
--logging.file
argument (@jeffsmale90) - #4455 fix: resolve hardfork for blocks by blocknumber and timestamp (@jeffsmale90)
- #4463 fix: add support for
mergeForkIdTransition
(@jeffsmale90) - #4465 fix: ensure clique-signer for PoA networks (@davidmurdoch)
- #4384 docs: preloads docs assets (@davidmurdoch)
Top Priority:
- interactive documentation's
debug_storageRangeAt
doesn't work (#3203) - Add
eth_createAccessList
RPC method (#1056)
Coming Soon™:
- Implications failed: fork.headers -> url (#2627)
- In Geth chain-mode, logic to accept/reject transactions based on gas price/limit should match Geth (#2176)
evm_mine
andminer_start
don't respect --mode.instamine=eager (#2029)evm_setAccount*
is race-conditiony (#1646)@ganache/filecoin@alpha
doesn't work withganache@alpha
(#1150)- Launching ganache with fork is throwing revert errors when communicating with 3rd party contracts (#956)
- Build a real pending block! (#772)
- VM Exception when interfacing with Kyber contract (#606)
- After calling
evm_mine
,eth_getLogs
returns same logs for all blocks (#533) - personal_unlockAccount works with any password (#165)
- --db Option Requires Same Mnemonic and Network ID (#1030)
Top Priority:
- Accept a genesis.json file (#1042)
Coming Soon™:
- Switch to esbuild to make build times faster/reasonable (#1555)
- fork specific block & specific index (#952)
- Allow to sync forked chain to the latest block (#643)
- Implement a streaming trace capability (#381)
- Improve log performance when forking (#145)
- Log contract events (#45)
Open new issues to influence what we gets implemented and prioritized.
💖 The Truffle Team