Vyper

Latest version: v0.3.10

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

Scan your dependencies

Page 5 of 8

0.3.2

Not secure
Breaking changes:

* Increase the bounds of the decimal type ([2730](https://github.com/vyperlang/vyper/pull/2730))
* Generalize and simplify the semantics of the convert builtin ([2694](https://github.com/vyperlang/vyper/pull/2694))
* Restrict hex and bytes literals ([2736](https://github.com/vyperlang/vyper/pull/2736), [#2872](https://github.com/vyperlang/vyper/pull/2782))

Non-breaking changes and improvements:

* Implement dynamic arrays ([2556](https://github.com/vyperlang/vyper/pull/2556), [#2606](https://github.com/vyperlang/vyper/pull/2606), [#2615](https://github.com/vyperlang/vyper/pull/2615))
* Support all ABIv2 integer and bytes types ([2705](https://github.com/vyperlang/vyper/pull/2705))
* Add storage layout override mechanism ([2593](https://github.com/vyperlang/vyper/pull/2593))
* Support `<address>.code` attribute ([2583](https://github.com/vyperlang/vyper/pull/2583))
* Add `tx.gasprice` builtin ([2624](https://github.com/vyperlang/vyper/pull/2624))
* Allow structs as constant variables ([2617](https://github.com/vyperlang/vyper/pull/2617))
* Implement `skip_contract_check` kwarg ([2551](https://github.com/vyperlang/vyper/pull/2551))
* Support EIP-2678 ethPM manifest files ([2628](https://github.com/vyperlang/vyper/pull/2628))
* Add `metadata` output format ([2597](https://github.com/vyperlang/vyper/pull/2597))
* Allow `msg.*` variables in internal functions ([2632](https://github.com/vyperlang/vyper/pull/2632))
* Add `unsafe_` arithmetic builtins ([2629](https://github.com/vyperlang/vyper/pull/2629))
* Add subroutines to Vyper IR ([2598](https://github.com/vyperlang/vyper/pull/2598))
* Add `select` opcode to Vyper IR ([2690](https://github.com/vyperlang/vyper/pull/2690))
* Allow lists of any type as loop variables ([2616](https://github.com/vyperlang/vyper/pull/2616))
* Improve suggestions in error messages ([2806](https://github.com/vyperlang/vyper/pull/2806))

Notable fixes:

* Clamping of returndata from external calls in complex expressions ([GHSA-4mrx-6fxm-8jpg](https://github.com/vyperlang/vyper/security/advisories/GHSA-4mrx-6fxm-8jpg), [GHSA-j2x6-9323-fp7h](https://github.com/vyperlang/vyper/security/advisories/GHSA-j2x6-9323-fp7h))
* Bytestring equality for (`N<=32`) ([GHSA-7vrm-3jc8-5wwm](https://github.com/vyperlang/vyper/security/advisories/GHSA-7vrm-3jc8-5wwm))
* Typechecking of constant variables ([2580](https://github.com/vyperlang/vyper/pull/2580), [#2603](https://github.com/vyperlang/vyper/pull/2603))
* Referencing immutables in constructor ([2627](https://github.com/vyperlang/vyper/pull/2627))
* Arrays of interfaces in for loops ([2699](https://github.com/vyperlang/vyper/pull/2699))

Lots of optimizations, refactoring and other fixes made it into this release! For the full list, please see the [changelog](https://github.com/vyperlang/vyper/compare/v0.3.1...v0.3.2).

Special thanks to returning contributors tserg, skellet0r and fubuloubu!

New Contributors
* hi-ogawa made their first contribution in https://github.com/vyperlang/vyper/pull/2577
* abdullathedruid made their first contribution in https://github.com/vyperlang/vyper/pull/2593
* Sud0u53r made their first contribution in https://github.com/vyperlang/vyper/pull/2604
* davidhq made their first contribution in https://github.com/vyperlang/vyper/pull/2679
* onlymaresia made their first contribution in https://github.com/vyperlang/vyper/pull/2712
* hitsuzen-eth made their first contribution in https://github.com/vyperlang/vyper/pull/2729

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

0.3.1

Not secure
Breaking changes:
- Disallow changes to decimal precision when used as a library (2479)

Non-breaking changes and improvements:
- Add immutable variables (2466)
- Add uint8 type (2477)
- Add gaslimit and basefee env variables (2495)
- Enable checkable raw_call (2482)
- Propagate revert data when external call fails (2531)
- Improve LLL annotations (2486)
- Optimize short-circuiting boolean operations (2467, 2493)
- Optimize identity precompile usage (2488)
- Remove loaded limits for int128 and address (2506)
- Add machine readable ir_json format (2510)
- Optimize raw_call for the common case when the input is in memory (2481)
- Remove experimental OVM transpiler (2532)
- Add CLI flag to disable optimizer (2522)
- Add docs for LLL syntax and semantics (2494)

Fixes:

- Allow non-constant revert reason strings (2509)
- Allow slices of complex expressions (2500)
- Remove seq_unchecked from LLL codegen (2485)
- Fix external calls with default parameters (2526)
- Enable lists of structs as function arguments (2515)
- Fix .balance on constant addresses (2533)
- Allow variable indexing into constant/literal arrays (2534)
- Fix allocation of unused storage slots (2439, 2514)

Special thanks to skellet0r for some major features in this release!

0.3.0

Not secure
:warning: A critical security vulnerability has been discovered in this version and we strongly recommend using version [0.3.1](https://github.com/vyperlang/vyper/releases/tag/v0.3.1) or higher. For more information, please see the Security Advisory [GHSA-5824-cm3x-3c38](https://github.com/vyperlang/vyper/security/advisories/GHSA-5824-cm3x-3c38). :warning:

Breaking changes:

- Change ABI encoding of single-struct return values to be compatible with Solidity (2457)
- Drop Python 3.6 support (2462)

Non-breaking changes and improvements:

- Rewrite internal calling convention (2447)
- Allow any ABI-encodable type as function arguments and return types (2154, 2190)
- Add support for deterministic deployment of minimal proxies using CREATE2 (2460)
- Optimize code for certain copies (2468)
- Add -o CLI flag to redirect output to a file (2452)
- Other docs updates (2450)

Fixes:

- _abi_encode builtin evaluates arguments multiple times (2459)
- ABI length is too short for nested tuples (2458)
- Returndata is not clamped for certain numeric types (2454)
- `__default__` functions do not respect nonreentrancy keys (2455)
- Clamps for bytestrings in initcode are broken (2456)
- Missing clamps for decimal args in external functions (GHSA-c7pr-343r-5c46)
- Memory corruption when returning a literal struct with a private function call inside of it (GHSA-xv8x-pr4h-73jv)

Special thanks to contributions from skellet0r and benjyz for this release!

0.2.16

Not secure
⚠️ A critical security vulnerability has been discovered in this version and we strongly recommend using version [0.3.1](https://github.com/vyperlang/vyper/releases/tag/v0.3.1) or higher. For more information, please see the Security Advisory [GHSA-5824-cm3x-3c38](https://github.com/vyperlang/vyper/security/advisories/GHSA-5824-cm3x-3c38). ⚠️

**Non-breaking changes and improvements:**

- Expose _abi_encode as a user-facing builtin (2401)
- Export the storage layout as a compiler output option (2433)
- Add experimental OVM backend (2416)
- Allow any ABI-encodable type as event arguments (2403)
- Optimize int128 clamping (2411)
- Other docs updates (2405, 2422, 2425)

Fixes:

- Disallow nonreentrant decorator on constructors (2426)
- Fix bounds checks when handling msg.data (2419)
- Allow interfaces in lists, structs and maps (2397)
- Fix trailing newline parse bug (2412)

Special thanks to contributions from skellet0r, sambacha and milancermak for this release!

0.2.15

Not secure
:warning: A critical security vulnerability has been discovered in this version and we strongly recommend using version [0.3.1](https://github.com/vyperlang/vyper/releases/tag/v0.3.1) or higher. For more information, please see the Security Advisory [GHSA-5824-cm3x-3c38](https://github.com/vyperlang/vyper/security/advisories/GHSA-5824-cm3x-3c38). :warning:

Non-breaking changes and improvements
- Optimization when returning nested tuples ([2392](https://github.com/vyperlang/vyper/pull/2392))

Fixes
- Annotated kwargs for builtins ([2389](https://github.com/vyperlang/vyper/pull/2389))
- Storage slot allocation bug ([2391](https://github.com/vyperlang/vyper/pull/2391))

0.2.14

Not secure
Non-breaking changes and improvements
- Reduce bytecode by sharing code for clamps ([2387](https://github.com/vyperlang/vyper/pull/2387))

Fixes
- Storage corruption from re-entrancy locks ([2379](https://github.com/vyperlang/vyper/pull/2379))

Page 5 of 8

© 2024 Safety CLI Cybersecurity Inc. All Rights Reserved.