- Fixed conda installation verification
- Implemented a new status bar hover window displaying current Wake and Anvil versions with compatibility status indicators
- Show autosave toggle only when chain persistance is enabled
- Added Anvil version tracking
- Updated analytics with dependency version tracking information
- Resolved race condition during chain initialization that prevented reliable creation of the default initial chain
- Fixed compilation issues caused by unreliable
remappings.txtfiles in Foundry projects
- Added Wake version information to the bottom status bar
- Implemented filtering for ignored detections in the detections UI
- Store ignored detections toggle setting in workspace storage for better persistence
- Fixed state loading issues and disabled autosave by default
- Introduced pre-configured chains, such as Ethereum Mainnet and popular L2 networks (Optimism, Arbitrum, Base, Polygon, etc.), significantly streamlining the forking process
- Integrated Prettier for automatic code formatting on save, enhancing code quality and consistency
- Added support for the
OsakaEVM version - Implemented support for
transientstorage andlayout atsyntax in Solidity grammar
- Multiple grammar fixes
- Added chain preconfigurations, speeding up forking Mainnet or common L2s (Optimism, Arbitrum, Base, Polygon, ...)
- Official stable release of version 1.17.0 (previously available as pre-release)
- Added compatibility with Wake's new code coverage format
- Enhanced analytics and telemetry capabilities
- Refreshed README documentation and extension marketplace description
- Resolved an issue where Wake response parsing could cause extension failures
- Added onchain contract ABI fetching
- Implemented proxy contract support with implementation ABI integration
- Added chain forking capabilities for local development
- Added support for connecting to existing local chain nodes
- Integrated transaction event displays in output view
- Enhanced UX with input tooltips and loading indicators
- Implemented configurable automatic chain state persistence
- Added a new Chain navigator UI element with chain information display
- Improved contract interaction feedback with visual loading states
- Fixed contract compilation expansion issues
- Resolved UI theme consistency issues
- Fixed empty
calldatahandling in function calls - Corrected
bigintserialization and processing - Fixed integer overflow handling in inputs
- Improved type safety in
bigintoperations - Reduced extension startup messages
- Optimized handling of large transaction values
- Cleaned up residual messages in output view
- Improved chain state persistence reliability
- Fixed chain session stability issues
- Updated Wake dependency to 4.14.0
- Refactored codebase
- Added support for multiple chain sessions
- Added automatic chain state saving when extension is deactivated, and restoring it on activation
- Refactored the extension's architecture
- Added new error messages to the UI
- Improved error handling on unexpected LSP server crashes
- Minor fixes
- The extension is now being published also to the Open VSX Registry
- Minor UI fixes
- Fixed the extension not being available on Open VSX
- Improved the UI of the Deploy and Interact tab
- Fixed language server with conda installation crashing due to colliding Python packages being installed in user site-packages
- Fixed various compilation issues
- Increased timeouts to download solc binaries
- Anvil is now also being detected in standard
~/.foundry/bindirectory
- Python environment variables are now being unset before activating conda environment
- Added auto-importing of Foundry remappings
- Added support for decoding structs in transaction output
- Added option for upcoming Prague EVM version in settings
- Improved error messaging when Wake installation via conda fails
- Refined descriptions for various settings
- Resolved anonymous authentication issues when downloading Wake (conda installation)
- The extension is being rebranded as Solidity for VS Code
- Introducing Deploy and Interact UI - test and interact with your smart contracts on a local node
- Language server now watches for external changes to Solidity files and recompiles automatically
- Improved LSP responsiveness and RAM usage
- Fixed multiple memory leaks in LSP
- Fixed sending compilation build to detectors/printers subprocess causing crashes due to build size & cyclic references
- Fixed multiple minor LSP issues
- Added workspace symbols feature
- Detectors & printers now run in subprocesses, making the language server more responsive
- Re-implemented code lens af LSP printers, making them more configurable (incl. on/off switch via
onlyandexcludeconfig options) - Dropped support for Python 3.7
- Bugfixes & stability improvements
- Fixed possible
eth-wakeinstallation issues
- Added option to disable certain compiler warnings (thanks to @DrakeEvans)
- Improved crash logs
- Fixed language server & detector crashes
- Implemented the initial set of LSP callback features
- Implemented new
eth-wakeinstallation method (installation into venv) as a fallback - Fixed language server crashes caused by Wake config changes
- Improved error handling
- Fixed Wake stdout buffer overflow
- Detections UI - Sorting/filtering indicators, state persistence (workspace scoped)
- Wake LSP crashlog
- Fixed language server crashes caused by
distutilsnot being available in Python 3.12
- Fixed issue caused by dependent extension for Graphviz preview being removed from the marketplace
solcbinaries are automatically re-installed if corrupted- Fixed language server crashes on Windows caused by unicode characters in printed messages
- Fixed
wakepath detection when usingpipx
- Wake Detections UI in Activity Bar
- Ignore detections
- Support auto-installation using pipx
- Woke -> Wake migration
- Fixed language server crashes caused by overloaded functions imported in import directives
- Fixed language server crashes caused by new expressions being top-level expressions in expression statements
- Fixed language server crashes caused by
wokeprocess stdout/stderr buffer overflow
- Fixed compilation crashes
- Fixed secondary locations of solc compiler errors not provided
- Fixed vulnerability detectors causing crashes
- Fixed language server crashes on macOS and Windows
- Implemented hover with helper text for Yul instructions
- Implemented auto-completions for imports
- Implemented quick-fixes for some compiler warnings and errors
- References count in code lens is now clickable
- Document links for imports now work even with compilation errors
- Fixed LSP crashes caused by source unit aliases created in import directives
- Configured
autoClosingPairs(brackets, quotes, multi-line comments) for Solidity files - Fixed LSP crash when an identifier path part references a source unit
- Added
Tools for Solidity: Show CoverageandTools for Solidity: Hide Coveragecommands to show/hide coverage information generated by the Woke development and testing framework
- Fixed an issue when the first
wokeinstallation found was taken as canonical instead of searching for other installation locations
- Added experimental support for Python 3.11
- Fixed potential problems with
wokeinstallation, especially on macOS
- Added support for Solidity 0.8.19
- Added new command
Tools for Solidity: Generate Imports Graph - Improved highlighted range of some vulnerability/code quality detections
- Updated minimal version of Woke to 2.0.0
- Some LSP features may be available during compilation
- Stability improvements
- Added
woke.detectors.ignore_pathsandwoke.lsp.compilation_delayconfig options - Added
venvtowoke.compiler.ignore_pathsconfig default value - Added
joaompinto.vscode-graphvizto extension dependencies
- Introduced new
Tools for Solidity: Import Foundry Remappingscommand to automatically configure remappings for Foundry projects - Added
libdirectory to defaultignore_paths - Fixed an issue when
wokeinstances would have been left running on an LSP server crash
- Fixed Woke auto-install not working with
pythonexecutable (withoutpython3alias) - Fixed reusing LSP build artifacts causing code lens glitches
- EXPERIMENTAL: Use old LSP compilation artifacts when cannot successfully compile current version of sources
- Implemented for
Go to definition,Document links(imports),HoverandGo to type definition
- Implemented for
- Reduced LSP server compilation time by merging compilation units
- Ignore all detections originating in
ignore_pathsand having all subdetections also inignore_paths - Fixed re-entrancy detector not able to detect issues in overridden functions
- Fixed LSP list config options parsing issue
- Fixed
unsafe-address-balance-usedetector reporting alladdr.balanceuses
- Added new Head Overflow Calldata Tuple ABI-Reencoding Bug detector
- Added
woke.detectors.excludeandwoke.detectors.onlyconfig options to exclude some detectors from the analysis / to only run certain detectors - Added new Axelar
contractIddetector - Added LSP code lens with click-to-copy selectors above each (public/external) function / variable / error / event declaration
- LSP diagnostics originating from the solc compiler run are now marked with the
Woke(solc)label - Added
woke.lsp.force_rerun_detectorsLSP command - Improved detection of ownable pattern
- Implemented LSP commands to generate:
- function control flow graphs
- contract inheritance graph
- contract C3 linearized inheritance graph
- inheritance graph of a whole project
- Improved re-entrancy and ownable detectors
- LSP code lens no longer disappear when editing a file
- enabled LSP code lens by default
- Fixed a compilation bug when a project contains multiple files with the same content
- Other small fixes
- Extension description updated
- Fixed LSP features for Solidity symbols in inline assembly blocks not working
- Fixed compiler errors not properly cleared
- Initial release