v4.11.0 🍶
Features & improvements:
- improved merging of compilation units in context of min. supported version and target version set in config [core]
- CLI does not raise exception on compilation of files with Solidity version lower than min. supported version [core]
- Wake IR now uses weak references to avoid cyclic references preventing garbage collection [core]
- improved error messages when Rosetta is not enabled on macOS [core]
- added optional
--incremental
CLI option towake up
commands [core] - introduced API for deployment & interaction with Solidity contracts through LSP [language server]
- language server now watches for external changes to Solidity files (e.g. through git branch switch) and recompiles automatically [language server]
- improved language server RAM usage [language server]
- improved language server responsiveness, especially when recompiling [language server]
- improved multiprocessing test status messages [testing framework]
Fixes:
- added
certifi
dependency on macOS - should resolve SSL certificates error when downloading solc [core] - fixed imported source unit removed from build artifacts while importing source unit kept [core]
- fixed variable name location parsing when variable has empty name [core]
- fixed sending compilation build to detectors/printers subprocess causing crashes due to build size & cyclic references [language server]
- fixed multiple memory leaks in LSP [language server]
- fixed LSP
mcopy
definition - thanks to @madlabman [language server] - fixed language server crashes due to unexpected code action kinds [language server]
- fixed race conditions when creating language server context and initialising server [language server]
- fixed LSP watchdog URI format causing crashes in Neovim [language server]
- fixed multiple other LSP compilation bugs [language server]
- fixed max. supported tx type detection with DRPC node [deployment framework]
- fixed
.selector
types in pytypes (bytes4
andbytes32
instead ofbytes
) [testing & deployment framework]