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