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