COZ has released Boa v1.2.0, the latest version of its Python smart contract compiler for the Neo N3 blockchain. This update introduces several key features and improvements aimed at enhancing the development experience.

Most notable in v1.2.0 is the introduction of the boa-test-constructor, which can be installed with `pip install neo3-boa[test]` and is now used in place of NeoTestRunner for unit testing. This update also includes support for type union annotations using the pipe operator, providing developers with more flexibility in their code.

The update introduces several deprecations to streamline coding practices. Deprecated warnings are now issued for typing aliases, and the use of List, Dict, and Tuple from the typing module is deprecated in favor of built-in types. Similarly, Collection, Mapping, MutableSequence, and Sequence should now be imported from collections.abc.

Additionally, the NeoMetadata.add_permission function signature has been updated to be more intuitive, easing the addition of multiple method permissions. The @metadata decorator has also been removed. The metadata function will now be identified by use of the `NeoMetadata` as the function return type.

Version 1.2.0 also brings several fixes and removals. Support for Python 3.10 has been dropped, tuple annotation behavior has been corrected, and the runtime.script_container now properly returns the transaction type, removing the need for casting.

The full release notes may be found at the following link:
https://github.com/CityOfZion/neo3-boa/releases/tag/v1.2.0