Skip to content

Releases: Ackee-Blockchain/wake

v4.14.1

29 Jan 13:48
Compare
Choose a tag to compare

Fixes:

  • fixed compilation contract info missing (often manifesting as AssertionError) when compiling Solidity >= 0.8.28 [core]
  • fixed PermissionError when accessing "modified files" during compilation [core]
  • fixed fetching ABI from explorers in call traces [testing & deployment framework]
  • fixed ABI decoding in call traces with leftover bytes [testing & deployment framework]

v4.14.0

15 Jan 19:41
Compare
Choose a tag to compare

Features & improvements:

  • Sourcify is now used as alternative to Etherscan-like explorers as a source code provider [core]
  • Wake now connects to any Ethereum node, assuming Geth-like interface [deployment framework]
  • introduced Cookbook section in docs [docs]
  • link_format is now used in all LSP printers and commands [language server]
  • added new JSON-HTML detections export format [static analysis]
  • improved bytes representation in call traces and deployment tx confirmations [testing & deployment framework]
  • added events to call traces [testing & deployment framework]
  • introduced experimental fuzz test crash shrinking feature [testing framework]
  • added mint_erc1155 cheatcode [testing framework]

Changes:

  • removed unmaintained no-pytest testing mode [testing framework]

Fixes:

  • fixed SIGINT behavior in single-process testing [testing framework]

v4.13.2

14 Nov 20:55
Compare
Choose a tag to compare

Fixes:

  • fixed coverage collection in multiprocess testing [testing framework]

v4.13.1

04 Nov 18:29
Compare
Choose a tag to compare

Fixes:

  • fixed non-deterministic pytypes generation for source files under multiple different source unit names [testing & deployment framework]
  • fixed pytypes generation for source units with dots in their names [testing & deployment framework]
  • fixed tx not assigned on error that could not be resolved [testing & deployment framework]
  • fixed latest supported tx type not properly detected with Anvil caused by breaking change in Anvil [testing framework]
  • fixed base fee parsing with Anvil caused by breaking change in Anvil [testing framework]

v4.13.0

14 Oct 13:09
Compare
Choose a tag to compare

Features & improvements:

  • added support for Solidity 0.8.28 [core]
  • Github is now used as a secondary source of solc binaries [core]
  • added support for compilation metadata settings [core]
  • optimized compilation with solc >= 0.8.28 on CLI [core]

Fixes:

  • fixed language server crash on editing files removed on disk but still opened in IDE [language server]
  • fixed compilation of Etherscan contracts [testing framework]

v4.12.1

07 Oct 19:57
Compare
Choose a tag to compare

Fixes & improvements:

  • fixed removal of errored files from compilation build [core]
  • fixed AST node indexing of multiple structurally different ASTs [core]
  • fixed crashes on non-utf8 files present in workspace on compilation [core]
  • increased timeouts for solc binary installation [core]
  • fixed LSP features not available for files without workspace [language server]
  • improved error logging of LSP subprocesses [language server]
  • Anvil is now also being searched in standard ~/.foundry/bin directory [testing framework]

v4.12.0

02 Oct 18:37
Compare
Choose a tag to compare

Features & improvements:

  • added support for Solidity 0.8.27 [core]
  • implemented wake compile and wake detect JSON export [core]
  • introduced support for subprojects compilation [core]
  • added initial support for LSP 3.18 specification [language server]
  • injected wake_random_seed variable into debugger instances [testing framework]
  • transaction revert and EVM halt errors are now properly distinguished with Anvil [testing framework]

Fixes:

  • fixed wake detect detection code snippets trailing blank lines [core]
  • fixed Deploy & Interact compilation of contracts without provided bytecode [language server]
  • KeyboardInterrupt is now handled correctly in multiprocess testing [testing framework]
  • breakpoint is now supported in multiprocess testing [testing framework]

v4.11.1

26 Aug 19:51
Compare
Choose a tag to compare

Changes:

  • Wake now does not scan for Solidity files in hidden directories both in CLI and LSP [core]

Fixes:

  • fixed exception when accessing Assignment.assigned_variables for array access with base enclosed in parentheses [core]
  • fixed indexing of Solidity AST compiled with both >=0.8 and <0.8 versions with AST node represented by IdentifierPath in >=0.8 and Identifier in <0.8 [core]
  • fixed memory not always available in call traces in LSP contract deployment & interaction [language server]
  • fixed FileNotFoundError when scanning for Solidity files in LSP [language server]

v4.11.0 🍶

13 Aug 19:44
Compare
Choose a tag to compare

Features & improvements:

  • improved merging of compilation units in context of min. supported version and target version set in config [core]
  • CLI does not raise exception on compilation of files with Solidity version lower than min. supported version [core]
  • Wake IR now uses weak references to avoid cyclic references preventing garbage collection [core]
  • improved error messages when Rosetta is not enabled on macOS [core]
  • added optional --incremental CLI option to wake up commands [core]
  • introduced API for deployment & interaction with Solidity contracts through LSP [language server]
  • language server now watches for external changes to Solidity files (e.g. through git branch switch) and recompiles automatically [language server]
  • improved language server RAM usage [language server]
  • improved language server responsiveness, especially when recompiling [language server]
  • improved multiprocessing test status messages [testing framework]

Fixes:

  • added certifi dependency on macOS - should resolve SSL certificates error when downloading solc [core]
  • fixed imported source unit removed from build artifacts while importing source unit kept [core]
  • fixed variable name location parsing when variable has empty name [core]
  • fixed sending compilation build to detectors/printers subprocess causing crashes due to build size & cyclic references [language server]
  • fixed multiple memory leaks in LSP [language server]
  • fixed LSP mcopy definition - thanks to @madlabman [language server]
  • fixed language server crashes due to unexpected code action kinds [language server]
  • fixed race conditions when creating language server context and initialising server [language server]
  • fixed LSP watchdog URI format causing crashes in Neovim [language server]
  • fixed multiple other LSP compilation bugs [language server]
  • fixed max. supported tx type detection with DRPC node [deployment framework]
  • fixed .selector types in pytypes (bytes4 and bytes32 instead of bytes) [testing & deployment framework]

v4.10.1

11 Jun 20:05
Compare
Choose a tag to compare

Fixes:

  • fixed language server unicode decoding crash when trying to read from non-existent files [language server]
  • fixed Yul definitions of shl, shr and sar instructions in lsp-yul-definitions printer [language server]
  • fixed handling of language server subprocess crashes [language server]