Skip to content

4.0.0-pre.8

Pre-release
Pre-release
Compare
Choose a tag to compare
@austinabell austinabell released this 19 Apr 15:55
d932e3a

Added

  • Added Debug and PartialEq implementations for PromiseError. PR 728.
  • Added convenience function env::block_timestamp_ms to return ms since 1970. PR 736
  • Added an optional way to handle contract errors with Result. PR 745, PR 754 and PR 757.
  • Added support for using #[callback_result] with a function that doesn't have a return. PR 738
  • Support for multi-architecture docker builds and updated Rust version to 1.56 with latest contract builder. PR 751

Fixes

  • Disallow invalid Promise::then chains. Will now panic with promise_1.then(promise_2.then(promise_3)) syntax. PR 410
    • Current implementation will schedule these promises in the incorrect order. With this format, it's unclear where the result from promise_1 will be used, so it will panic at runtime.
  • Fixed signer_account_pk from mocked implementation. PR 785

Changed

  • Deprecate callback, callback_vec, result_serializer, init proc macro attributes and remove exports from near-sdk. PR 770
    • They are not needed to be imported and are handled specifically within #[near_bindgen]
  • Fixed gas assertion in *_transfer_call implementations of FT and NFT standards to only require what's needed. PR 760
  • Fixed events being emitted in FT standard to include refund transfers and burn events. PR 752
  • Moved VMContext to a local type defined in SDK to avoid duplicate types. PR 785
  • Moved Metadata and MethodMetadata to a pseudo-private module as these are just types used within macros and not stable. PR 771

Removed

  • Remove Clone implementation for Promise (error prone) #783