Skip to content

Releases: Ackee-Blockchain/wake

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]

v4.17.2

29 Apr 19:57

Choose a tag to compare

Fixes:

  • added missing modifies_state.py file [core]
  • bumped typing-extension to >=4.12 to reflect recent changes [core]

v4.17.1 (yanked)

29 Apr 09:29

Choose a tag to compare

Fixes:

  • fixed compilation of injected contracts when target_version set [core]
  • fixed all detections without subdetections filtered out with known contracts filtering enabled [static analysis]

v4.17.0 (yanked)

28 Apr 14:51

Choose a tag to compare

Features & improvements:

  • implemented --no-logging CLI option [cli]
  • implemented --no-header CLI option for wake print [cli]
  • wake up pytypes now accepts paths to generate pytypes for [cli]
  • absolute paths are now supported in compilation [core]
  • exclude_paths and ignore_paths are now set accordingly when importing Foundry config [core]
  • evm_version is now auto-downgraded with a warning if not supported by the current solc [core]
  • added a database of known contracts and implemented automatic ignoring of detections in such contracts [static analysis]

Fixes:

  • fixed multiple sources of memory leaks [core]
  • fixed compilation crash on file removal regression [core]
  • fixed IR Module type and its attributes [core]
  • fixed progressive compilation (recompilation of all files except for errored ones) regression [language server]
  • fixed while loops in control flow graphs [static analysis]
  • fixed injected IERC20Metadata.sol compilation with older versions of solc [testing & deployment framework]

v4.16.1

10 Apr 18:26

Choose a tag to compare

Fixes:

  • fixed the appendCBOR compilation option being passed to solc versions not supporting it, causing a compilation error [core]
  • fixed compilation crash during subprojects compilation when files being imported from another subproject contain a compilation error [core]
  • fixed wake open incorrectly complaining about absolute paths when fetching from Etherscan with standard JSON format [core]
  • fixed control statements not indexed correctly in control flow graphs [static analysis]
  • fixed resolution of renamed events & errors causing AttributeError in some cases [testing & deployment framework]