Skip to content

Releases: CityOfZion/neo3-boa

v1.2.1

03 Jun 20:40
Compare
Choose a tag to compare

Fixed

  • Updated dependencies
  • Fixed @public description with inconsistent values

v1.2.0

08 May 19:44
Compare
Choose a tag to compare

Added

  • Included boa-test-constructor to the installation.
    • Install it by using pip install neo3-boa[test]
  • Support to type union annotations using | operator

Changed

  • Changed all unit tests to use boa-test-constructor in place of NeoTestRunner
  • Raise deprecated warning when using deprecated typing aliases and removed their uses from the compiler code
    Deprecated symbols from typing:
    • List, Dict, Tuple (use the builtins instead)
    • Collection, Mapping, MutableSequence, Sequence (import from collections.abc instead)
  • Changed NeoMetadata.add_permission function signature to be more intuitive to add multiple methods permissions

Removed

  • Dropped support to Python 3.10
  • Removed @metadata decorator to identify metadata function. Use NeoMetadata as function return instead.

Fixed

  • Fixed tuple annotation behavior
  • runtime.script_container returns a Transaction instead of Any
  • Removed empty lines that were logged when compiling a smart contract

v1.1.1

02 Feb 16:00
Compare
Choose a tag to compare

Added

  • Support to Python 3.12
  • Included Nep17Contract interface
  • Support to Python's builtins:
    • fstrings and match-case with primitive types (bool, int and str)
    • str.replace and list.sort methods

Deprecated

  • Deprecated @metadata decorator to identify metadata function.

Fixed

  • Changed exit code on compilation error
  • Fixed notify not being executed when calling it from the imported package
  • Changed manifest abi types related to Optional and Union with None types

v1.1.0

17 Oct 17:52
Compare
Choose a tag to compare

Added

  • Support to Neo features up to Neo 3.6
    • Added zero knowledge proof methods to CryptoLib interface
    • Support to ASSERTMSG and ABORTMSG opcodes
  • to_hex_str method to convert bytes into printable strings

Changed

  • Included msg optional argument to abort
  • Validate if given .nef files exists before running TestRunner

Removed

  • Dropped support to Python versions prior to 3.10

Fixed

  • Removed incorrect requirement of filelock to use NeoTestRunner class
  • Fixed imported variable value generation when it has the same identifier of a local variable
  • Fixed NEP-11 validator to handle divisible NFT standard

v1.0.1

02 Aug 15:43
Compare
Choose a tag to compare
Bump version: 1.0.0 → 1.0.1

v1.0.0

10 Jul 15:08
Compare
Choose a tag to compare

Added

  • Included an environment parameter to compilation that is accessible in the smart contract
  • Added hash property to classes with @contract decorator
  • New optional argument to stop compilation on first error found

Changed

  • Changed the cli command to compile from neo3-boa to neo3-boa compile
  • Limit logs to ERROR by default
  • Support to int constructor with str argument
  • Change NEP-11 validator to accept both str and bytes as argument types in some methods

Removed

Fixed

  • Fixed type warnings shown by IDEs
  • Fixed Interop type check in event interfaces
  • Fixed compilation to stop with keyboard interruption on cli
  • Fixed compilation error with metadata and imported contract interfaces
  • Fixed incorrect stack when calling call_contract

v0.14.0

20 Jun 20:43
Compare
Choose a tag to compare

This version has breaking changes. Please refer to our migration guide to update your smart contracts.

Changed

  • Moved ByteString class methods to_int, to_str, to_bytes and to_bool to the module boa3.builtin.type.helper

Removed

  • Removed ByteString type.
  • Removed to_int implementation from str and bytes types.
  • Removed to_bytes implementation from int and bytes types.
  • Removed to_str implementation from bytes types.
  • Removed to_bool implementation from bytes type.

Fixed

  • Fixed debugging information for symbols of imported modules.
  • Fixed incorrect import error caused by root folder path.
  • Fixed generation of static variables that were duplicated.
  • Fixed code generation for method calls on return statements in void methods.
  • Fixed compilation failure caused by imports in the file where NeoMetadata is defined.
  • Fixed standard validations when using imported symbols.

v0.13.1

29 May 17:23
Compare
Choose a tag to compare

Changed

  • Imported contract interfaces are included on metadata permissions to ensure the expected executing behavior

Fixed

  • Fixed inconsistent behavior on metadata permission

v0.13.0

08 May 15:52
Compare
Choose a tag to compare

Added

Deprecated

v0.12.3

26 Apr 17:16
Compare
Choose a tag to compare

Fixed

  • Fixed incorrect import error raised when importing modules in the same directory of the importer file