Skip to content

Releases: Ackee-Blockchain/wake

v4.22.1

02 Mar 14:42

Choose a tag to compare

Fixes & improvements:

  • added support for Solidity 0.8.34 [core]
  • fixed solc JSON list fetching crashing due to missing User-Agent header [core]
  • fixed remapping rules inconsistent with solc leading to compilation crashes [core]
  • fixed compilation crashes caused by multiple symlinks pointing to the same file [core]
  • fixed AbstractChildWatcher no longer present in Python 3.14 [core]

v4.22.0

03 Jan 16:33

Choose a tag to compare

Features & improvements:

  • added support for Solidity 0.8.31, 0.8.32 and 0.8.33 [core]
  • improved warning compilation messages when files cannot be compiled together due to version constraints [core]
  • improved warning compilation messages when a file from a subproject is included into a different subproject [core]
  • limited the maximum number of running solc instances in parallel to CPU count [core]
  • documented how to use contract-defined invariants in fuzz tests [documentation]

Fixes:

  • incremental compilation setting is now respected on compilation JSON import & export [core]
  • fixed read_storage_variable and write_storage_variable when working with contract and enum types [testing framework]

v5.0.0rc1

18 Nov 15:35

Choose a tag to compare

v5.0.0rc1 Pre-release
Pre-release
🔖 Version 5.0.0rc1

v4.21.0

17 Nov 14:59

Choose a tag to compare

Features & improvements:

  • Unified error messages in wake open [cli]
  • Implemented --import-json CLI option for wake compile [cli]
  • Increased solc JSON list fetching timeout [core]
  • Added support for parsing Solidity version specifiers with leading v [core]
  • via_IR is now auto-dropped with solc versions not supporting it [core]
  • Unknown Wake config options now raise a warning instead of an error [core]
  • Exported JSON detections now include new relative_path and contract optional fields [core]

Fixes:

  • fixed click >= 8.2 breaking change crashes [cli]
  • fixed pydantic >= 2.12 breaking change crashes [core]
  • fixed crashes on modifiers with @inheritdoc [core]
  • fixed source unit name resolving crashes with double slashes in paths [core]
  • fixed unnecessary recompilation on file open/close in CLI watchdog mode [core]
  • fixed state changes done through storage references not detected by modifies_state logic [static analysis]
  • fixed origin missing on tx.raw_events [testing & deployment framework]

v5.0.0rc0

04 Aug 18:35

Choose a tag to compare

v5.0.0rc0 Pre-release
Pre-release
💚 Fix release CI

v4.20.1

04 Aug 15:36

Choose a tag to compare

Fixes:

  • fixed JSON-RPC error when call/estimate/access list is requested for a historical block, caused by gasPrice/baseFeePerGas being too low compared to the block's base fee [deployment framework]
  • fixed pytypes resolving of errors defined in base contracts (compared to the contract raising them) [testing & deployment framework]

v4.20.0

27 Jul 20:09

Choose a tag to compare

Features & improvements:

  • wake up now uses the same config options as wake compile [core]
    • more specifically, it does not adjust current config options unless wake.toml doesn't exist or --force was passed
  • JSON detections export now includes even detections disabled with // wake-disable comments, along with a boolean suppressed flag [core]
  • improved wake open CLI messages when source code cannot be found [core]
  • variables in NatSpec comments are now also updated on LSP rename [language server]
  • removed the requirement for valid Solidity identifiers when using LSP rename [language server]
  • implemented fuzzing statistics collection and summary [testing]
  • debugger responses are now formatted with Rich [testing]
  • added a new boolean optimistic_pytypes_resolving attribute to Chain [testing & deployment framework]
    • it enforces resolving of pytypes events & errors to the first available definition (using fully qualified contract names sorted alphabetically) if multiple pytypes definitions are available
  • wake print storage-layout doesn't print storage layout for contracts that don't have any storage variables [static analysis]
  • ControlFlowGraph.graph is no longer copied upon access for performance reasons [static analysis]
  • added new invalid-memory-safe-assembly detector [static analysis]
  • added new array-delete-nullification detector [static analysis]
  • added new contract-size printer [static analysis]
  • added new --keep-folders option to abi printer [static analysis]

Fixes:

  • fixed compilation crash on using any other assembly flag than memory-safe [core]
  • fixed compilation issues sometimes triggered when a file was compiled under multiple source unit names [core]
  • fixed issue where code (IR nodes) was ignored inside StorageLayoutSpecifier [core]
  • changed how pytypes errors are resolved to correctly handle require(condition, CustomError()) [testing & deployment framework]

v4.19.0

17 Jun 17:04

Choose a tag to compare

Features & improvements:

  • added new lsp-public-functions printer that lists all public functions of a contract when triggered from the code lens button [language server]
  • EIP-7702 code delegations are now automatically unset for chain testing accounts on forking [testing framework]

v4.18.1

20 May 18:28

Choose a tag to compare

Fixes & improvements:

  • fixed missing import when accessing VariableDeclaration.declaration_string, which mainly manifested as language server crashes [core]
  • removed mistakenly leftover debugging prints from the IR [core]
  • LSP document symbols and workspace symbols now use function declarations with parameter types to avoid deduplication on the LSP client side [language server]
  • fixed LSP document symbols' last changed declaration not being propagated due to aggressive caching [language server]
  • fixed LSP compilation errors not being cleared for deleted files [language server]
  • changed command-line relevant code highlighting from color to underline [static analysis]
  • added missing burn_erc1155 import to wake.testing [testing framework]
  • fixed ValueError occurring on failing chain connections [testing framework]

v4.18.0

08 May 15:59

Choose a tag to compare

Features & improvements:

  • added support for Solidity 0.8.30 [core]
  • improved LSP hover text for declarations [language server]
    • added missing NatSpec documentation to enums and structs
    • added indexed keyword to event parameters
  • go to definition and hover LSP features now point to contract's constructor instead of the contract where appropriate [language server]
  • @inheritdoc is now expanded in LSP hover [language server]
  • added highlighting of relevant code for command-line detections output [static analysis]
  • implemented chainlink-deprecated-function, unused-error, and unused-event detectors [static analysis]

Fixes:

  • fixed compilation of files with structurally different ASTs [core]
  • extra dictionary is no longer cleared after LSP printers run as it may be used by command callbacks [language server]