diff --git a/docs/changelog.md b/docs/changelog.md index dfa121cd4..b17039983 100644 --- a/docs/changelog.md +++ b/docs/changelog.md @@ -6,7 +6,35 @@ small.label { } -## 4.9.0 (Apr 25, 2024) +## 4.10.0 (Jun 11, 2024) { id="4.10.0" } + +Features & improvements: + +- implemented abi encoding & decoding of errors [testing framework] +- included standard Solidity interfaces, Create3 deployer and ERC-1967 factory into bundled-in contracts [testing framework] +- detectors & printers now run in subprocesses in LSP [language server] +- implemented LSP workspace symbols feature [language server] +- added support for Solidity 0.8.26 [core] +- implemented `exclude` and `only` config options for printers [core] + +Changes: + +- improved `random_int` documentation & incorrect value checking [testing framework] +- changed `__str__` and `__repr__` of `Account` for easier debugging [testing framework] +- code lens LSP features re-implemented as LSP printers + created docs [language server] +- dropped support for Python 3.7 [core] +- upgraded pydantic to 2.x [core] + +Fixes: + +- fixed pickling error when encoding dataclasses using new abi encoder [testing framework] +- fixed file descriptors leak in LSP [language server] +- fixed misbehavior of LSP configuration key removal [language server] +- fixed LSP connection crash due to incorrect content length with unicode characters [language server] +- fixed rare compilation pipeline crash with multiple solc versions [core] +- fixed `wake detect` & `wake print` commands with latest `rich-click` [cli] + +## 4.9.0 (Apr 25, 2024) { id="4.9.0" } Features & improvements: @@ -25,7 +53,7 @@ Fixes: - fixed recursion in `expression_is_only_owner` function [static analysis] - fixed regex parsing from source code containing comments [core] -## 4.8.0 (Apr 5, 2024) +## 4.8.0 (Apr 5, 2024) { id="4.8.0" } Features & improvements: @@ -45,7 +73,7 @@ Fixes: - primitive types (e.g. `bytes32`) are now returned from `keccak256` and `read_storage_variable` - fixed `get_variable_declarations_from_expression` recursion bug -## 4.7.0 (Mar 16, 2024) +## 4.7.0 (Mar 16, 2024) { id="4.7.0" } Features: @@ -58,7 +86,7 @@ Fixes: - fixed `random` affected by `logging` - created custom `Random` instance - fixed compilation crashes in AST validation with Solidity <= 0.7.2 -## 4.6.0 (Mar 13, 2024) +## 4.6.0 (Mar 13, 2024) { id="4.6.0" } Features: @@ -76,14 +104,14 @@ Fixes: - fixed the type of `.min` `.max` members of primitive integer types - fixed `is_reachable` helper function in `ControlFlowGraph` -## 4.5.1 (Feb 17, 2024) +## 4.5.1 (Feb 17, 2024) { id="4.5.1" } Fixes: - `ValueError` is no longer raised for experimental `abi.encode_with_signature` and `abi.encode_call` with ambiguous integers - fixed `mint_erc20`/`burn_erc20` for most tokens -## 4.5.0 (Feb 12, 2024) +## 4.5.0 (Feb 12, 2024) { id="4.5.0" } Features: @@ -103,7 +131,7 @@ Fixes: - fixed ERC- slots detection using storage layout - fixed debugger attachment when chain is not connected -## 4.4.1 (Jan 30, 2024) +## 4.4.1 (Jan 30, 2024) { id="4.4.1" } Fixes: @@ -111,7 +139,7 @@ Fixes: - fixes `OSError(30, 'Read-only file system')` error messages in LSP on macOS - fixed compiling projects from sources on Etherscan-like explorers in testing framework helper functions -## 4.4.0 (Jan 27, 2024) +## 4.4.0 (Jan 27, 2024) { id="4.4.0" } Features: @@ -124,14 +152,14 @@ Fixes: - fixed `pair_function_call_arguments` - struct construction with (possibly nested) mapping in Solidity < 0.7 - fixed LSP crash on file opened but not saved on disk -## 4.3.2 (Jan 23, 2024) +## 4.3.2 (Jan 23, 2024) { id="4.3.2" } Fixes: - fixed issue when generating pytypes for cyclically imported Solidity files with inheritance - fixed `wake test` multiprocessing mode on macOS and Windows -## 4.3.1 (Jan 9, 2024) +## 4.3.1 (Jan 9, 2024) { id="4.3.1" } Fixes: @@ -139,7 +167,7 @@ Fixes: - fixed global TOML config file not always loaded with local `wake.toml` in LSP - fixed counter example README -## 4.3.0 (Dec 24, 2023) +## 4.3.0 (Dec 24, 2023) { id="4.3.0" } Features: @@ -156,7 +184,7 @@ Fixes: - fixed detectors were not re-run after changing a detector-specific setting - bumped `abch-tree-sitter` minimal version, fixing the language server crashes caused by `distutils` not being available in Python 3.12 -## 4.2.0 (Dec 11, 2023) +## 4.2.0 (Dec 11, 2023) { id="4.2.0" } Features: @@ -174,19 +202,19 @@ Fixes: - fixed compiler crashes when using SMTChecker -## 4.1.2 (Dec 3 , 2023) +## 4.1.2 (Dec 3 , 2023) { id="4.1.2" } Fixes: - `solc` binaries are automatically re-installed if corrupted - added `--silent` mode to fix LSP server crashes on Windows because of unicode -## 4.1.1 (Nov 28, 2023) +## 4.1.1 (Nov 28, 2023) { id="4.1.1" } - fixed script responsible for migration to XDG paths when the global config file already exists - fixed assertion error in ownable pattern detection, manifested mainly by `reentrancy` detector crashes -## 4.1.0 (Nov 28, 2023) +## 4.1.0 (Nov 28, 2023) { id="4.1.0" } - added new printers: - `control-flow-graph` @@ -202,14 +230,14 @@ Fixes: - state changes are now evaluated even for Yul blocks - fixed crashes caused by `YulLiteral.value` being unset -## 4.0.1 (Nov 22, 2023) +## 4.0.1 (Nov 22, 2023) { id="4.0.1" } - fixed SARIF export crashing in Github action - fixed `wake detect` incorrect exit codes - fixed exporting ignored detections in SARIF format - minor changes to the documentation -## 4.0.0 (Nov 20, 2023) +## 4.0.0 (Nov 20, 2023) { id="4.0.0" } - reviewed, updated and documented IR model - all IR nodes are now documented, generated docs available in [API reference](./api-reference/ir/abc.md) section diff --git a/mkdocs.yml b/mkdocs.yml index fea3398c5..2036358d6 100644 --- a/mkdocs.yml +++ b/mkdocs.yml @@ -261,6 +261,7 @@ plugins: color: "#FFFFFF" markdown_extensions: + - attr_list - def_list - admonition - toc: diff --git a/pyproject.toml b/pyproject.toml index 61f90c17a..6f6246047 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -1,6 +1,6 @@ [tool.poetry] name = "eth-wake" -version = "4.9.0" +version = "4.10.0" description = "Wake is a Python-based Solidity development and testing framework with built-in vulnerability detectors." license = "ISC" authors = ["Ackee Blockchain"]