Skip to content

v1.0.0-rc.9

Pre-release
Pre-release
Compare
Choose a tag to compare
@roman-khimov roman-khimov released this 29 May 15:52
· 570 commits to master since this release
515748d

A number of API simplifications (with ResolveNeoFSFailures being the most important one) goes with this version of SDK as well as a very significant change in the form of subnet support removal. Subnets are deprecated and to be removed from the protocol (there are zero subnet users, so it doesn't affect anyone), therefore SDK won't support them starting with this release.

Behaviour changes:

  • IsErr* functions are removed from client, please use standard errors.Is (#407)
  • ResolveNeoFSFailures is removed from the client, all protocol errors are translated into Go errors and returns as errors, (that can be used with errors.Is or errors.As to detect NeoFS API-level problems, #413)
  • client no longer panics on invalid parameters (#414, #422)
  • RFC6979 signer is mandatory for container-specific operations, so it's also mandatory for default client/pool use (but can be overridden for specific operation if needed, #418)
  • apistatus package now provides ErrorFromV2/ErrorToV2 functions to translate v2 API statuses into/from errors, IsSuccessful/ErrToStatus/ErrFromStatus functions are gone (and not needed after ResolveNeoFSFailures change, #419)
  • removal of subnet support (#420)
  • Client methods now accept mandatory paramerters as explicit arguments (not hidden in Prm* structures, #424, #425)
  • Client methods now return plain resulting structures where possible (#426)

Improvements:

  • oid.Address can be passed directly into PrmObject* structs (#408)
  • object.Range can be passed directly into the PrmObjectRange (#408)
  • proper handling of protocol violations in the client (#410)
  • updated tzhash dependency (#415)
  • better error handling for some conversions (#423)

Bugs fixed:

  • broken object metadata produced by slicer code in some cases (#427)