Skip to content

Releases: vyperlang/vyper

v0.4.0b3

06 Mar 20:53
895b38a
Compare
Choose a tag to compare
v0.4.0b3 Pre-release
Pre-release

What's Changed

Full Changelog: v0.4.0b2...v0.4.0b3

v0.4.0b2

05 Mar 19:02
327e95a
Compare
Choose a tag to compare
v0.4.0b2 Pre-release
Pre-release

What's Changed

Full Changelog: v0.4.0b1...v0.4.0b2

v0.4.0b1 (“Nagini”)

26 Feb 19:45
6fb750a
Compare
Choose a tag to compare
Pre-release

v0.4.0 represents a major overhaul to the Vyper language. Notably, it overhauls the import system and adds support for code reuse. It also adds a new, experimental backend to Vyper which lays the foundation for improved analysis, optimization and integration with third party tools.

What's Changed

Read more

v0.3.10 ("Black Adder")

04 Oct 17:16
9136169
Compare
Choose a tag to compare

v0.3.10 is a performance focused release that additionally ships numerous bugfixes. It adds a codesize optimization mode (#3493), adds new vyper-specific #pragma directives (#3493), uses Cancun’s MCOPY opcode for some compiler generated code (#3483), and generates selector tables which now feature O(1) performance (#3496).

Breaking changes

  • add runtime code layout to initcode (#3584)
  • drop evm versions through istanbul (#3470)
  • remove vyper signature from runtime (#3471)
  • only allow valid identifiers to be nonreentrant keys (#3605)

Non-breaking changes and improvements

Notable fixes

  • fix ecrecover() behavior when signature is invalid (GHSA-f5x6-7qgp-jhf3, #3586)
  • fix: order of evaluation for some builtins (#3583, #3587)
  • fix: memory allocation in certain builtins using msize (#3610)
  • fix: _abi_decode() input validation in certain complex expressions (#3626)
  • fix: pycryptodome for arm builds (#3485)
  • let params of internal functions be mutable (#3473)
  • typechecking of folded builtins in (#3490)
  • update tload/tstore opcodes per latest 1153 EIP spec (#3484)
  • fix: raw_call type when max_outsize=0 is set (#3572)
  • fix: implements check for indexed event arguments (#3570)
  • fix: type-checking for _abi_decode() arguments (#3626)

Other docs updates, chores and fixes

  • relax restrictions on internal function signatures (#3573)
  • note on security advisory in release notes for versions 0.2.15, 0.2.16, and 0.3.0 (#3553)
  • fix: yanked version in release notes (#3545)
  • update release notes on yanked versions (#3547)
  • improve error message for conflicting methods IDs (#3491)
  • document epsilon builtin (#3552)
  • relax version pragma parsing (#3511)
  • fix: issue with finding installed packages in editable mode (#3510)
  • add note on security advisory for ecrecover in docs (#3539)
  • add asm option to cli help (#3585)
  • add message to error map for repeat range check (#3542)
  • fix: public constant arrays (#3536)

New Contributors

Full Changelog: v0.3.9...v0.3.10

v0.3.10rc5

28 Sep 22:28
4281780
Compare
Choose a tag to compare
v0.3.10rc5 Pre-release
Pre-release

What's Changed

Full Changelog: v0.3.10rc4...v0.3.10rc5

v0.3.10rc4

27 Sep 20:24
2bdbd84
Compare
Choose a tag to compare
v0.3.10rc4 Pre-release
Pre-release

What's Changed

Full Changelog: v0.3.10rc3...v0.3.10rc4

v0.3.10rc3

08 Sep 14:29
3b310d5
Compare
Choose a tag to compare
v0.3.10rc3 Pre-release
Pre-release
chore(ci): fix binary names in release asset upload (#3597)

rename binary during asset upload to properly escape the filename for
the github API call.

(Github API states:
> GitHub renames asset filenames that have special characters,
non-alphanumeric characters, and leading or trailing periods. The "List
release assets" endpoint lists the renamed filenames. For more
information and help, contact GitHub Support.
)

v0.3.10rc2

06 Sep 21:57
0cb37e3
Compare
Choose a tag to compare
v0.3.10rc2 Pre-release
Pre-release

This release candidate fixes a binary packaging issue from https://github.com/vyperlang/vyper/releases/tag/v0.3.10rc1.
The fix was applied in #3594.

What's Changed

Full Changelog: v0.3.10rc1...v0.3.10rc2

v0.3.10rc1

06 Sep 20:48
bb6e69a
Compare
Choose a tag to compare
v0.3.10rc1 Pre-release
Pre-release

Release candidate for https://github.com/vyperlang/vyper/releases/tag/v0.3.10, the below changes are a subset of those documented in the v0.3.10 release notes.

v0.3.10 is a performance focused release. It adds a codesize optimization mode (#3493), adds new vyper-specific #pragma directives (#3493), uses Cancun’s MCOPY opcode for some compiler generated code (#3483), and generates selector tables which now feature O(1) performance (#3496).

Breaking changes

  • add runtime code layout to initcode (#3584)
  • drop evm versions through istanbul (#3470)
  • remove vyper signature from runtime (#3471)

Non-breaking changes and improvements

Notable fixes:

  • fix ecrecover() behavior when signature is invalid (GHSA-f5x6-7qgp-jhf3, #3586)
  • fix: order of evaluation for some builtins (#3583, #3587)
  • fix: pycryptodome for arm builds (#3485)
  • let params of internal functions be mutable (#3473)
  • typechecking of folded builtins in (#3490)
  • update tload/tstore opcodes per latest 1153 EIP spec (#3484)
  • fix: raw_call type when max_outsize=0 is set (#3572)
  • fix: implements check for indexed event arguments (#3570)

Other docs updates, chores and fixes:

  • relax restrictions on internal function signatures (#3573)
  • note on security advisory in release notes for versions 0.2.15, 0.2.16, and 0.3.0 (#3553)
  • fix: yanked version in release notes (#3545)
  • update release notes on yanked versions (#3547)
  • improve error message for conflicting methods IDs (#3491)
  • document epsilon builtin (#3552)
  • relax version pragma parsing (#3511)
  • fix: issue with finding installed packages in editable mode (#3510)
  • add note on security advisory for ecrecover in docs (#3539)
  • add asm option to cli help (#3585)
  • add message to error map for repeat range check (#3542)
  • fix: public constant arrays (#3536)

New Contributors

Full Changelog: v0.3.9...v0.3.10rc1

v0.3.9 ("Common Adder")

29 May 15:36
66b9670
Compare
Choose a tag to compare

What's Changed

Date released: 2023-05-29

This is a patch release fix for v0.3.8. @bout3fiddy discovered a codesize regression for blueprint contracts in v0.3.8 which is fixed in this release. @bout3fiddy also discovered a runtime performance (gas) regression for default functions in v0.3.8 which is fixed in this release.

Fixes:

  • initcode codesize blowup (#3450)
  • add back global calldatasize check for contracts with default fn (#3463)

Full Changelog: v0.3.8...v0.3.9