Vyper

Latest version: v0.3.10

Safety actively analyzes 630450 Python packages for vulnerabilities to keep your Python projects secure.

Scan your dependencies

Page 4 of 8

0.3.8

Not secure
What's Changed

Non-breaking changes and improvements:
* `transient` storage keyword (https://github.com/vyperlang/vyper/pull/3373)
* ternary operators (https://github.com/vyperlang/vyper/pull/3398)
* `raw_revert()` builtin (https://github.com/vyperlang/vyper/pull/3136)
* shift operators (https://github.com/vyperlang/vyper/pull/3019)
* make `send()` gas stipend configurable (https://github.com/vyperlang/vyper/pull/3158)
* use new `push0` opcode (https://github.com/vyperlang/vyper/pull/3361)
* python 3.11 support (https://github.com/vyperlang/vyper/pull/3129)
* drop support for python 3.8 and 3.9 (https://github.com/vyperlang/vyper/pull/3325)
* build for `aarch64` (https://github.com/vyperlang/vyper/pull/2687)

Major refactoring PRs:
* refactor front-end type system (https://github.com/vyperlang/vyper/pull/2974)
* merge front-end and codegen type systems (https://github.com/vyperlang/vyper/pull/3182)
* simplify `GlobalContext` (https://github.com/vyperlang/vyper/pull/3209)
* remove `FunctionSignature` (https://github.com/vyperlang/vyper/pull/3390)

Notable fixes:
* assignment when rhs is complex type and references lhs (https://github.com/vyperlang/vyper/pull/3410)
* uninitialized immutable values (https://github.com/vyperlang/vyper/pull/3409)
* success value when mixing `max_outsize=0` and `revert_on_failure=False` (https://github.com/vyperlang/vyper/security/advisories/GHSA-w9g2-3w7p-72g9)
* block certain kinds of storage allocator overflows (https://github.com/vyperlang/vyper/security/advisories/GHSA-mgv8-gggw-mrg6)
* store-before-load when a dynarray appears on both sides of an assignment (https://github.com/vyperlang/vyper/security/advisories/GHSA-3p37-3636-q8wv)
* bounds check for loops of the form `for i in range(x, x+N)` (https://github.com/vyperlang/vyper/security/advisories/GHSA-6r8q-pfpv-7cgj)
* alignment of call-site posargs and kwargs for internal functions (https://github.com/vyperlang/vyper/security/advisories/GHSA-ph9x-4vc9-m39g)
* batch nonpayable check for default functions calldatasize < 4 in (https://github.com/vyperlang/vyper/pull/3104, https://github.com/vyperlang/vyper/pull/3408, cf. https://github.com/vyperlang/vyper/security/advisories/GHSA-vxmm-cwh2-q762)

Other docs updates, chores and fixes:
* call graph stability (https://github.com/vyperlang/vyper/pull/3370)
* fix `vyper-serve` output (https://github.com/vyperlang/vyper/pull/3338)
* add `custom:` natspec tags (https://github.com/vyperlang/vyper/pull/3403)
* add missing pc maps to `vyper_json` output (https://github.com/vyperlang/vyper/pull/3333)
* fix constructor context for internal functions (https://github.com/vyperlang/vyper/pull/3388)
* add deprecation warning for `selfdestruct` usage (https://github.com/vyperlang/vyper/pull/3372)
* add bytecode metadata option to vyper-json (https://github.com/vyperlang/vyper/pull/3117)
* fix compiler panic when a `break` is outside of a loop (https://github.com/vyperlang/vyper/pull/3177)
* fix complex arguments to builtin functions (https://github.com/vyperlang/vyper/pull/3167)
* add support for all types in ABI imports (https://github.com/vyperlang/vyper/pull/3154)
* disable uadd operator (https://github.com/vyperlang/vyper/pull/3174)
* block bitwise ops on decimals (https://github.com/vyperlang/vyper/pull/3219)
* raise `UNREACHABLE` (https://github.com/vyperlang/vyper/pull/3194)
* allow enum as mapping key (https://github.com/vyperlang/vyper/pull/3256)
* block boolean `not` operator on numeric types (https://github.com/vyperlang/vyper/pull/3231)
* enforce that loop's iterators are valid names (https://github.com/vyperlang/vyper/pull/3242)
* fix typechecker hotspot (https://github.com/vyperlang/vyper/pull/3318)
* rewrite typechecker journal to handle nested commits (https://github.com/vyperlang/vyper/pull/3375)
* fix missing pc map for empty functions (https://github.com/vyperlang/vyper/pull/3202)
* guard against iterating over empty list in for loop (https://github.com/vyperlang/vyper/pull/3197)
* skip enum members during constant folding (https://github.com/vyperlang/vyper/pull/3235)
* bitwise `not` constant folding (https://github.com/vyperlang/vyper/pull/3222)
* allow accessing members of constant address (https://github.com/vyperlang/vyper/pull/3261)
* guard against decorators in interface (https://github.com/vyperlang/vyper/pull/3266)
* fix bounds for decimals in some builtins (https://github.com/vyperlang/vyper/pull/3283)
* length of literal empty bytestrings (https://github.com/vyperlang/vyper/pull/3276)
* block `empty()` for HashMaps (https://github.com/vyperlang/vyper/pull/3303)
* fix type inference for empty lists (https://github.com/vyperlang/vyper/pull/3377)
* disallow logging from `pure`, `view` functions (https://github.com/vyperlang/vyper/pull/3424)
* improve optimizer rules for comparison operators (https://github.com/vyperlang/vyper/pull/3412)
* deploy to ghcr on push (https://github.com/vyperlang/vyper/pull/3435)
* add note on return value bounds in interfaces (https://github.com/vyperlang/vyper/pull/3205)
* index `id` param in `URI` event of `ERC1155ownable` (https://github.com/vyperlang/vyper/pull/3203)
* add missing `asset` function to `ERC4626` built-in interface (https://github.com/vyperlang/vyper/pull/3295)
* clarify `skip_contract_check=True` can result in undefined behavior (https://github.com/vyperlang/vyper/pull/3386)
* add `custom` NatSpec tag to docs (https://github.com/vyperlang/vyper/pull/3404)
* fix `uint256_addmod` doc (https://github.com/vyperlang/vyper/pull/3300)
* document optional kwargs for external calls (https://github.com/vyperlang/vyper/pull/3122)
* remove `slice()` length documentation caveats (https://github.com/vyperlang/vyper/pull/3152)
* fix docs of `blockhash` to reflect revert behaviour (https://github.com/vyperlang/vyper/pull/3168)
* improvements to compiler error messages by (https://github.com/vyperlang/vyper/pull/3121, https://github.com/vyperlang/vyper/pull/3134, https://github.com/vyperlang/vyper/pull/3312, https://github.com/vyperlang/vyper/pull/3304, https://github.com/vyperlang/vyper/pull/3240, https://github.com/vyperlang/vyper/pull/3264, https://github.com/vyperlang/vyper/pull/3343, https://github.com/vyperlang/vyper/pull/3307, https://github.com/vyperlang/vyper/pull/3313 and https://github.com/vyperlang/vyper/pull/3215)

These are really just the highlights, as many other bugfixes, docs updates and refactoring (over 150 commits!) made it into this release! Special thanks to contributions from tserg, trocher, z80dev, emc415 and benber86

New Contributors
* omahs made their first contribution in https://github.com/vyperlang/vyper/pull/3128
* ObiajuluM made their first contribution in https://github.com/vyperlang/vyper/pull/3124
* trocher made their first contribution in https://github.com/vyperlang/vyper/pull/3134
* ozmium22 made their first contribution in https://github.com/vyperlang/vyper/pull/3149
* ToonVanHove made their first contribution in https://github.com/vyperlang/vyper/pull/3168
* emc415 made their first contribution in https://github.com/vyperlang/vyper/pull/3158
* lgtm-com made their first contribution in https://github.com/vyperlang/vyper/pull/3147
* tdurieux made their first contribution in https://github.com/vyperlang/vyper/pull/3224
* victor-ego made their first contribution in https://github.com/vyperlang/vyper/pull/3263
* miohtama made their first contribution in https://github.com/vyperlang/vyper/pull/3257
* kelvinfan001 made their first contribution in https://github.com/vyperlang/vyper/pull/2687


**Full Changelog**: https://github.com/vyperlang/vyper/compare/v0.3.7...v0.3.8

0.3.7

Not secure
What's Changed

Date released: 2022-09-26

Breaking changes:

- chore: drop python 3.7 support (3071)
- fix: relax check for statically sized calldata (3090)

Non-breaking changes and improvements:

- fix: assert description in Crowdfund.finalize() (3058)
- fix: change mutability of example ERC721 interface (3076)
- chore: improve error message for non-checksummed address literal (3065)
- feat: isqrt built-in (3074) (3069)
- feat: add `block.prevrandao` as alias for `block.difficulty` (3085)
- feat: epsilon builtin (3057)
- feat: extend ecrecover signature to accept additional parameter types (3084)
- feat: allow constant and immutable variables to be declared public (3024)
- feat: optionally disable metadata in bytecode (3107)

Bugfixes:

- fix: empty nested dynamic arrays (3061)
- fix: foldable builtin default args in imports (3079) (3077)

Additional changes and improvements:

- doc: update broken links in SECURITY.md (3095)
- chore: update discord link in docs (3031)
- fix: broken links in various READMEs (3072)
- chore: fix compile warnings in examples (3033)
- feat: append lineno to the filename in error messages (3092)
- chore: migrate lark grammar (3082)
- chore: loosen and upgrade semantic version (3106)

New Contributors

- emilianobonassi made their first contribution in 3107
- unparalleled-js made their first contribution in 3106
- pcaversaccio made their first contribution in 3085
- nfwsncked made their first contribution in 3058
- z80 made their first contribution in 3057
- Benny made their first contribution in 3024
- cairo made their first contribution in 3072
- fiddy made their first contribution in 3069

Special thanks to returning contributors tserg, pandadefi, and delaaxe.

0.3.6

Not secure
What's Changed
Date released: 2022-08-07

Bugfixes:
- Fix `in` expressions for list literals when list members are variables ([3035](https://github.com/vyperlang/vyper/pull/3035))

New Contributors
* delaaxe made their first contribution in https://github.com/vyperlang/vyper/pull/3032

**Full Changelog**: https://github.com/vyperlang/vyper/compare/v0.3.5...v0.3.6

0.3.5

Not secure
What's Changed
Date released: 2022-08-05

Non-breaking changes and improvements:

- Add blueprint deployer output format ([3001](https://github.com/vyperlang/vyper/pull/3001))
- Allow arbitrary data to be passed to `create_from_blueprint` ([2996](https://github.com/vyperlang/vyper/pull/2996))
- Add CBOR length to bytecode for decoders ([3010](https://github.com/vyperlang/vyper/pull/3010))
- Fix compiler panic when accessing enum storage vars via `self` ([2998](https://github.com/vyperlang/vyper/pull/2998))
- Fix: allow `empty()` in constant definitions and in default argument position ([3008](https://github.com/vyperlang/vyper/pull/3008))
- Fix: disallow `self` address in pure functions ([3027](https://github.com/vyperlang/vyper/pull/3027))

New Contributors
* merc1er made their first contribution in https://github.com/vyperlang/vyper/pull/3007
* eltociear made their first contribution in https://github.com/vyperlang/vyper/pull/3015
* transmissions11 made their first contribution in https://github.com/vyperlang/vyper/pull/3013
* altugbakan made their first contribution in https://github.com/vyperlang/vyper/pull/3018
* jaglinux made their first contribution in https://github.com/vyperlang/vyper/pull/3020

**Full Changelog**: https://github.com/vyperlang/vyper/compare/v0.3.4...v0.3.5

0.3.4

Not secure
What's Changed

Non-breaking changes and improvements:

- Add enum types ([2874](https://github.com/vyperlang/vyper/pull/2874), [#2915](https://github.com/vyperlang/vyper/pull/2915), [#2925](https://github.com/vyperlang/vyper/pull/2925), [#2977](https://github.com/vyperlang/vyper/pull/2977))
- Add `_abi_decode` builtin ([2882](https://github.com/vyperlang/vyper/pull/2882))
- Add `create_from_blueprint` and `create_copy_of` builtins ([2895](https://github.com/vyperlang/vyper/pull/2895))
- Add `default_return_value` kwarg for calls ([2839](https://github.com/vyperlang/vyper/pull/2839))
- Add `min_value` and `max_value` builtins for numeric types ([2935](https://github.com/vyperlang/vyper/pull/2935))
- Add `uint2str` builtin ([2879](https://github.com/vyperlang/vyper/pull/2879))
- Add vyper signature to bytecode ([2860](https://github.com/vyperlang/vyper/pull/2860))

Other fixes and improvements:

- Call internal functions from constructor ([2496](https://github.com/vyperlang/vyper/pull/2496))
- Arithmetic for new int types ([2843](https://github.com/vyperlang/vyper/pull/2843))
- Allow `msg.data` in `raw_call` without `slice` ([2902](https://github.com/vyperlang/vyper/pull/2902))
- Per-method calldatasize checks ([2911](https://github.com/vyperlang/vyper/pull/2911))
- Type inference and annotation of arguments for builtin functions ([2817](https://github.com/vyperlang/vyper/pull/2817))
- Allow varargs for `print` ([2833](https://github.com/vyperlang/vyper/pull/2833))
- Add `error_map` output format for tooling consumption ([2939](https://github.com/vyperlang/vyper/pull/2939))
- Multiple evaluation of contract address in call ([GHSA-4v9q-cgpw-cf38](https://github.com/vyperlang/vyper/security/advisories/GHSA-4v9q-cgpw-cf38))
- Improve ast output ([2824](https://github.com/vyperlang/vyper/pull/2824))
- Allow `nonreentrant` on view functions ([2921](https://github.com/vyperlang/vyper/pull/2921))
- Add `shift()` support for signed integers ([2964](https://github.com/vyperlang/vyper/pull/2964))
- Enable dynarrays of strings ([2922](https://github.com/vyperlang/vyper/pull/2922))
- Fix off-by-one bounds check in certain safepow cases ([2983](https://github.com/vyperlang/vyper/pull/2983))
- Optimizer improvements ([2647](https://github.com/vyperlang/vyper/pull/2647), [#2868](https://github.com/vyperlang/vyper/pull/2868), [#2914](https://github.com/vyperlang/vyper/pull/2914), [#2843](https://github.com/vyperlang/vyper/pull/2843), [#2944](https://github.com/vyperlang/vyper/pull/2944))
- Reverse order in which exceptions are reported ([2838](https://github.com/vyperlang/vyper/pull/2838))
- Fix compile-time blowup for large contracts ([2981](https://github.com/vyperlang/vyper/pull/2981))
- Rename `vyper-ir` binary to `fang` ([2936](https://github.com/vyperlang/vyper/pull/2936))

Many other small bugfixes, optimizations and refactoring also made it into this release! Special thanks to tserg and pandadefi for contributing several important bugfixes, refactoring and features to this release!

New Contributors
* code-review-doctor made their first contribution in https://github.com/vyperlang/vyper/pull/2826
* big-tech-sux made their first contribution in https://github.com/vyperlang/vyper/pull/2837
* Doc-Pixel made their first contribution in https://github.com/vyperlang/vyper/pull/2807
* 0xMaka made their first contribution in https://github.com/vyperlang/vyper/pull/2861
* McCoady made their first contribution in https://github.com/vyperlang/vyper/pull/2884
* pandadefi made their first contribution in https://github.com/vyperlang/vyper/pull/2874
* diogoperillo made their first contribution in https://github.com/vyperlang/vyper/pull/2906
* adam429 made their first contribution in https://github.com/vyperlang/vyper/pull/2946
* challet made their first contribution in https://github.com/vyperlang/vyper/pull/2978
* r4VP4 made their first contribution in https://github.com/vyperlang/vyper/pull/2980
* krakxn made their first contribution in https://github.com/vyperlang/vyper/pull/2990

**Full Changelog**: https://github.com/vyperlang/vyper/compare/v0.3.3...v0.3.4

0.3.3

Not secure
What's Changed
This is a bugfix release. It patches an off-by-one error in the storage allocation mechanism for dynamic arrays reported by haltman-at in [2820](https://github.com/vyperlang/vyper/issues/2820)

Other fixes and improvements:
- Add a print built-in which allows printing debugging messages in hardhat. ([2818](https://github.com/vyperlang/vyper/pull/2818))
- Fix various error messages ([2798](https://github.com/vyperlang/vyper/pull/2798), [#2805](https://github.com/vyperlang/vyper/pull/2805))

New Contributors
* ngmisl made their first contribution in https://github.com/vyperlang/vyper/pull/2815

**Full Changelog**: https://github.com/vyperlang/vyper/compare/v0.3.2...v0.3.3

Page 4 of 8

© 2024 Safety CLI Cybersecurity Inc. All Rights Reserved.