What's Changed
- fix[venom]: only kill mem liveness on must-write stores by @banteg in #5089
- fix[venom]: resolve chained label replacements transitively by @banteg in #5086
- fix[venom]: fix bad uses in dload/mstore merge by @banteg in #5088
- chore[docs]: use an SVG for the deep verification layers diagram by @lufa23 in #5102
- fix[venom]: do not elide self-overlapping mcopy by @banteg in #5087
- fix[tool]: make decimal precision thread-independent by @banteg in #5108
- fix[venom]: reject
abi_encodewith no arguments by @banteg in #5092 - fix[docs]: add
html_static_pathconfig by @hwhsu1231 in #5037 - fix[ci]: harden workflow trust boundaries by @banteg in #5003
- fix[venom]: do not coalesce gas reads in CSE by @banteg in #5083
- perf[venom]: fast path for empty dynarray assignment by @banteg in #5097
- fix[venom]: apply write effects of multi-output instructions in CSE by @banteg in #5096
- fix[tool]: update gas delta table format by @harkal in #5129
- chore[build]: bump github-actions group by @dependabot[bot] in #5128
- chore[ci]: remove Era compiler tester workflow by @banteg in #5135
- fix[ux]: panic explicitly in
safe_pow()for two-variable case by @UnknownHacker1 in #5134 - feat[lang]: allow conversions from flag to bytes32 by @Sporarum in #5160
- fix[lang]: method_id panic on non-constant by @Sporarum in #5156
- fix[lang]: missing no-return implements check by @Sporarum in #5149
- chore[ci]: limit test push trigger to master by @devin-ai-integration[bot] in #5164
- chore[tool]: remove stale pre-commit config by @devin-ai-integration[bot] in #5163
- chore[ci]: bump
actions/checkoutfrom 6.0.3 to 7.0.0 in the github-actions group by @dependabot[bot] in #5158 - chore[ci]: pin snekmate to
mainby @pcaversaccio in #5170 - fix[lang]!: reserve
unreachablekeyword by @Sporarum in #5159 - fix[lang]: fix regression on method_id by @Sporarum in #5167
- fix[lang]: fix
pow_mod256raising raw python exception by @Sporarum in #5180 - feat[lang]: access immutables through
selfby @Sporarum in #5035 - fix[venom]: make truthy or rule wrap-aware by @banteg in #5082
- chore[ci]: bump the
github-actionsgroup by @dependabot[bot] in #5182 - fix[parser]: reject bare await keyword by @Functionhx in #5185
- feat[venom]: reduce spilling for deep dups by @harkal in #5188
- feat[venom]: add
noinlinefunction annotation by @harkal in #5186 - fix[ci]: classify fuzz tests via forge result kind in gas measurement by @harkal in #5190
- chore[ci]: bump the
github-actionsgroup by @dependabot[bot] in #5192 - fix[ux]: improve error message for exprs in type position by @rafael-abuawad in #4898
- fix[stdlib]: fix panic in
abi_encodeby @Sporarum in #5154 - fix[venom]: match legacy leniency for in-place ABI decode offsets by @harkal in #5184
- fix[docs]: warn when latest vs stable docs by @luksgrin in #5187
- fix[venom]: guard sdiv/smod range eval at sign boundary by @banteg in #5093
- fix[venom]: track multi-output phi origins by variable by @banteg in #5091
- fix[lang]: fix panic on function named
addressby @Sporarum in #5196 - fix[lang]: reject over-long string-literal revert reasons by @cristianizzo in #5203
- feat[venom]: halting paths stack optimization by @harkal in #5189
- fix[venom]: fix tuple unpack of single-word complex types by @harkal in #5207
- refactor[tool]: reduce docker image size by @Sporarum in #5214
- fix[venom]: support
O1minimal passes by @harkal in #5210 - fix[lang]: constant fold tuple indexes by @Sporarum in #5200
- chore[ci]: bump the
github-actionsgroup by @dependabot[bot] in #5205 - feat[lang]: add bottom type and simplify list type checking by @Sporarum in #5177
- fix[ux]: handle missing inputs/outputs keys in ABI JSON interface by @yasumorishima in #4904
- refactor[parser]: separate
visit_docstringconcerns by @Sporarum in #5211 - fix[builtins]: fix panic in
shift()negative value folds by @banteg in #5109 - fix[venom]: assert staticcall in constant context by @banteg in #5090
- refactor[codegen]: remove dead debugger code by @Sporarum in #5216
- fix[venom]: check operand position in mem2var promotion by @banteg in #5085
- feat[docs]: add code editors to
Resourcessection by @miohtama in #3672 - fix[venom]: fix stack ordering pass for phi instructions by @HodanPlodky in #5183
- refactor[venom]: remove dead IRFunction/IRBasicBlock
copy()method by @harkal in #5225 - chore[docs]: add explanatory comments to opcode offset constants by @DeVikingMark in #4760
- chore[docs]: fix stale abi docs link by @NikolaiKryshnev in #4738
- fix[docs]: update references in
vyper/ast/README.mdby @GarmashAlex in #4731 - fix[tool]: relax validation of solc json paths by @charles-cooper in #4553
- feat[venom]: elide full-allocation memory copies by @HodanPlodky in #4851
- chore[test]: add another double eval test for pop by @harkal in #4130
- feat[venom]: fold var-vs-var comparisons via range analysis by @harkal in #4827
- chore[ci]: bump the
github-actionsgroup by @dependabot[bot] in #5224 - fix[tool]: report output bundle path errors by @charles-cooper in #5227
- fix[venom]: ctor return empty deploy fixes #5048 by @harkal in #5208
- feat[docs]: add projects using Vyper to resources section by @miohtama in #3628
- feat[venom]: add redundant memory copy forwarding pass by @harkal in #5171
- feat[venom]: wire up dyn allocations by @harkal in #5127
- fix[codegen]: preserve consts when pruning dead code by @harkal in #5229
New Contributors
- @dependabot[bot] made their first contribution in #5128
- @UnknownHacker1 made their first contribution in #5134
- @devin-ai-integration[bot] made their first contribution in #5164
- @Functionhx made their first contribution in #5185
- @luksgrin made their first contribution in #5187
- @cristianizzo made their first contribution in #5203
- @DeVikingMark made their first contribution in #4760
- @NikolaiKryshnev made their first contribution in #4738
- @GarmashAlex made their first contribution in #4731
Full Changelog: v0.5.0a3...v0.5.0b1