Skip to content

Releases: near/near-sdk-rs

near-sdk-v5.0.0-alpha.1

19 Nov 12:23
12a9965
Compare
Choose a tag to compare

Added

  • adding nep-0330 contract source metadata info (#1106)
  • Support Result types in #[handle_result] regardless of how they're referred to (#1099)
  • accumulate compilation errors to provide them all at once (#1097)
  • [breaking] prohibit Self in non-init methods to prevent common footguns (#1073)
  • [breaking] Make PromiseIndex a newtype, so it cannot be misused (#1066)
  • Expose alt_bn128 curve host functions via near_sdk::env (#1028)
  • Deprecate Self in non-init function's return type (#1030)
  • new near_sdk::store::UnorderedMap::defrag method useful for gas tuning (#1023)
  • add ed25519_verify host function (#1010)
  • add Default implementation to JSON types (#1018)

Fixed

  • Fixed compilation-tests after stable Rust release 1.72 (#1081)
  • Un-deprecate private init functions (#1074)
  • (store::TreeMap) remove of the entry API now correctly updates the tree root when changed (#995)
  • strip return types of lifetimes (#982)
  • prohibit NEAR function generics (#980)
  • concretize Self references in method signatures (#1001)
  • make event emit public (#975)
  • Exposed missing iterator types used in near_sdk::store::UnorderedSet (#961)
  • add compiler error for using Result with init (#1024)
  • fully qualify the schema_container method call (#1003)
  • __abi-embed compilation error (#971)

Other

  • [breaking] Use type-safe NearToken instead of u128/U128 (#1104)
  • migrate to a external near-account-id crate for reusable AccountId type (#1108)
  • [breaking] Delete the deprecated metadata module from near-sdk-macros in favor of near-abi (#1098)
  • documented env::random_seed (#1096)
  • Update borsh to 1.0.0 (#1075)
  • bump version of near-workspaces (#1094)
  • upgrade syn crate from version 1 to 2 (#1088)
  • Move from Gas to NearGas from near-gas crate (#1082)
  • Respect {{ matrix.toolchain }} in "Test Core: test" job (#1085)
  • Add release-plz to automate releases (#1069)
  • add add_access_key test coverage (#1029)
  • disentangle bindgen extractor logic (#1025)
  • Bumped supported rust version to minimum 1.68 - reflected in BuildKite (#1014)
  • Update visibility of FreeList and method (#998)
  • Add documentation to collection cache types (#997)
  • abstract common functions in Keys and KeysRange (#989)
  • perf (TreeMap.range): Update the TreeMap->Range logic (#964)
  • Took out a footgun with allowances (#976)
  • Depreciated legacy tree map (#963)
  • Removed the not ready enum type (#977)
  • use insta crate for testing macro generated code (#1090)
  • Use global paths in macro expansions (#1060)
  • fix typo (#1052)
  • change private init method from error to warning (#1043)
  • cover all features with clippy (#1044)
  • use attr sig info in abi generator (#1036)
  • disentangle bindgen code generation (#1033)

near-sdk-macros-v5.0.0-alpha.1

19 Nov 12:22
12a9965
Compare
Choose a tag to compare
chore: release v5.0.0-alpha.1 (#1070)

near-contract-standards-v5.0.0-alpha.1

19 Nov 12:24
12a9965
Compare
Choose a tag to compare

Added

  • adding nep-0330 contract source metadata info (#1106)

Fixed

  • remove receiver approval (#1020)
  • rename param approvals to approved_account_ids (#1019)
  • Properly report an error when Approval Extension is not enabled vs when account is not approved (#1021)

Other

  • [breaking] Use type-safe NearToken instead of u128/U128 (#1104)
  • migrate to a external near-account-id crate for reusable AccountId type (#1108)
  • Update borsh to 1.0.0 (#1075)
  • Move from Gas to NearGas from near-gas crate (#1082)
  • Deprecate Fungible Token declarative macros. (#1054)
  • Add release-plz to automate releases (#1069)
  • (contract-standards) deprecate declarative macros in NFT helpers, promote explicit trait implementations instead (#1042)
  • Added a default method for TokenMetadata (#978)
  • Removed the not ready enum type (#977)
  • Fix empty owner tokens start_index error (#962)

4.1.1

10 Nov 17:14
55020df
Compare
Choose a tag to compare

This release fixes compilation for using the SDK without the "legacy" feature flag

Fixed

  • Fixed invalid import from "legacy" feature flag from stabilized collection. PR 960

4.1.0

09 Nov 18:42
Compare
Choose a tag to compare

The primary changes in this release from 4.0.0 are adding support for near ABI through cargo-near as well as moving near_sdk::store collections from being under the unstable feature flag.

To see all changes since 4.1.0, the releases or changelog should be used.

Changes since 4.1.0-pre.3:

Added

  • Added near_sdk::NearSchema derive macro for convenience in implementing schema types for abi. PR 891.
  • Added support for custom events with #[near_bindgen(event_json(standard = "___"))] syntax. PR 934

Changed

  • Added new legacy feature flag and put near_sdk::collections under it. near_sdk::store will be replacing them. PR 923.
  • Stabilize store::LookupMap and store::UnorderedMap collections. PR 922.
  • Stabilize store::LookupSet and store::UnorderedSet collections. PR 924.
  • abi feature flag is now enabled by default. PR 956.
  • Updated near-abi version to 0.3.0. PR 954.

Removed

Fixes

  • Updated the associated error type for Base58CryptoHash parsing through TryFrom to concrete type. PR 919

4.1.0-pre.3

30 Aug 16:10
Compare
Choose a tag to compare
4.1.0-pre.3 Pre-release
Pre-release

Added

  • Enabled ABI embedding in contract through __abi-embed feature and cargo-near. PR 893
  • Added schemars::JsonSchema implementations for NFT contract standard types to enable ABI generation. PR 904

Changed

  • Stabilized store::Lazy and store::LazyOption types and updated their debug implementations. PR 897 PR 888

4.1.0-pre.2

26 Aug 18:17
Compare
Choose a tag to compare
4.1.0-pre.2 Pre-release
Pre-release

Added

  • Support newly stabilized alt_bn128 host functions that were recently stabilized. PR 885
  • Added Eq implementations for various types. PR 887
  • alt_bn128 host functions supported in testing utils. PR 885

Fixes

  • Standards: NFT storage estimation bug fix and fix retrieval requiring enum and enumeration standard implementation. PR 843

Changed

4.1.0-pre.1

05 Aug 15:11
aa15159
Compare
Choose a tag to compare
4.1.0-pre.1 Pre-release
Pre-release

Added

  • Exposed Rustdocs to exposed ABI type. PR 876

Changed

  • Updated nearcore dependencies used for unit testing to 0.14. PR 875

Fixed

  • Handling of certain types through ABI macros. PR 877

4.1.0-pre.0

02 Aug 00:01
1a0344f
Compare
Choose a tag to compare
4.1.0-pre.0 Pre-release
Pre-release

Added

  • abi feature to expose metadata about contract and functions to be consumed by cargo-near. PR 831, PR 863, PR 858
  • Exposed ext_ft_metadata to call FungibleTokenMetadataProvider trait from an external contract. PR 836

Fixed

  • Safe math fixes for fungible token standard. PR 830
    • This just ensures that there is no overflow if overflow-checks is not enabled by cargo

Changed

  • Enabled const-generics feature by default on borsh. PR 828
  • License changed from GPL-3 to MIT or Apache. PR 837
  • Put unit-testing logic behind unit-testing flag, which is enabled by default. PR 870
    • This pulls in nearcore dependencies to mock the VM, so can turn off default-features to compile faster

Removed

  • Deprecated near_contract_standards::upgrade. PR 856
    • Implementation did not match any NEAR standard and was not correct

4.0.0

25 May 13:41
Compare
Choose a tag to compare

4.0.0 Stable Release

This release was delayed to be able to incorporate a better cross-contract API, in the future these stable releases will come more frequently.

There has been a lot changed since the last stable version (3.1.0) so to track changes, the releases or changelog should be used.

A high-level explanation of the changes can be found in this discussion and a link to a migration document will be added here once completed.

Changes since 4.0.0-pre.9

Added

  • Added Eq, PartialOrd, Ord to json_types integer types. PR 823

Changed

  • Updated cross-contract, ext API for new NEP264 functionality. PR 742
    • More details on the API change can be found here
    • This API uses a default weight of 1 with no static gas, but this weight, the static gas, and the attached deposit can all be modified on any external call
    • ext methods are added to each #[near_bindgen] contract struct by default and for each method for convenience
  • Updated nearcore crates used for unit testing to version 0.13.0. PR 820
    • Removed outcome function from MockedBlockchain (incomplete and misleading data)
    • Changed created_receipts to return owned Vec instead of reference to one
    • receipt_indices field was removed from Receipt type in testing utils
  • Deprecate and remove near-sdk-sim. Removes sim proxy struct from #[near_bindgen]. PR 817
    • If near-sdk-sim tests can't be migrated to workspaces-rs, 4.0.0-pre.9 version of near-sdk-rs and near-sdk-sim should be used
  • Optimized read_register to read to non-zeroed buffer. PR 804
  • Switched Rust edition for libraries to 2021. PR 669

Fixes

  • Avoid loading result bytes with near_sdk::is_promise_success(). PR 816