Releases: Ackee-Blockchain/wake
Releases · Ackee-Blockchain/wake
v4.22.1
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
AbstractChildWatcherno longer present in Python 3.14 [core]
v4.22.0
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:
incrementalcompilation setting is now respected on compilation JSON import & export [core]- fixed
read_storage_variableandwrite_storage_variablewhen working with contract and enum types [testing framework]
v5.0.0rc1
v4.21.0
Features & improvements:
- Unified error messages in
wake open[cli] - Implemented
--import-jsonCLI option forwake compile[cli] - Increased solc JSON list fetching timeout [core]
- Added support for parsing Solidity version specifiers with leading
v[core] via_IRis 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_pathandcontractoptional 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_statelogic [static analysis] - fixed
originmissing ontx.raw_events[testing & deployment framework]
v5.0.0rc0
v4.20.1
Fixes:
- fixed JSON-RPC error when call/estimate/access list is requested for a historical block, caused by
gasPrice/baseFeePerGasbeing 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
Features & improvements:
wake upnow uses the same config options aswake compile[core]- more specifically, it does not adjust current config options unless
wake.tomldoesn't exist or--forcewas passed
- more specifically, it does not adjust current config options unless
- JSON detections export now includes even detections disabled with
// wake-disablecomments, along with a booleansuppressedflag [core] - improved
wake openCLI 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_resolvingattribute toChain[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-layoutdoesn't print storage layout for contracts that don't have any storage variables [static analysis]ControlFlowGraph.graphis no longer copied upon access for performance reasons [static analysis]- added new
invalid-memory-safe-assemblydetector [static analysis] - added new
array-delete-nullificationdetector [static analysis] - added new
contract-sizeprinter [static analysis] - added new
--keep-foldersoption toabiprinter [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
Features & improvements:
- added new
lsp-public-functionsprinter 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
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_erc1155import towake.testing[testing framework] - fixed
ValueErroroccurring on failing chain connections [testing framework]
v4.18.0
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
indexedkeyword to event parameters
- go to definition and hover LSP features now point to contract's constructor instead of the contract where appropriate [language server]
@inheritdocis 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, andunused-eventdetectors [static analysis]
Fixes:
- fixed compilation of files with structurally different ASTs [core]
extradictionary is no longer cleared after LSP printers run as it may be used by command callbacks [language server]