Skip to content

v11.0.0

Choose a tag to compare

@ryanio ryanio released this 27 May 02:22
· 39 commits to main since this release

What's Changed

Major

  • Rebuild the SDK's type layer on @opensea/api-types with automatic case translation at the fetcher boundary (#336, #339). Consumer API stays camelCase; the fetcher snakeizes outgoing query params + POST bodies and camelizes responses, so the SDK no longer ships hand-rolled response shapes. utils/converters.ts is gone. See the changelog for the full shape-change list — notably:
    • Order.protocolData / Order.protocolAddress are now optional (profile endpoints intentionally null them out for performance — code reading them unconditionally needs a guard).
    • Order base type no longer carries price; only Offer and Listing do.
    • Offer / Listing gain remainingQuantity, orderCreatedAt, asset?: OrderAsset.
    • NFT is now NftDetailed — gains displayImageUrl, displayAnimationUrl, originalImageUrl, originalAnimationUrl, animationUrl, isSuspicious, subscription.
    • Breaking renames from acronym normalization: paymentToken.imageUrl → paymentToken.image, collection.isNSFW → collection.isNsfw, rarity.calculatedAt/maxRank/tokensScored dropped (weren't actually in the spec).

Patch

  • Source EventPayment, EventAsset, GetNFTResponse, BuildOfferResponse, and CancelOrderResponse from @opensea/api-types instead of hand-rolling them (#343).
  • Critical fix: mixed-casing wire-shape regression (#344). The OpenSea OpenAPI spec uses mixed casing — outer envelope keys are snake_case but inner Seaport struct keys (parameters.startTime, parameters.itemType, parameters.offerer, etc.), CancelRequest.offererSignature, and CriteriaObject.numericTraits are camelCase. The new snakeizeKeysDeep was rewriting them all to snake_case, breaking postListing / postOffer / offchainCancelOrder / buildOffer / postCollectionOffer. Fix adds a snakeizeBody?: boolean opt-out on Fetcher.post() and updates internal callsites to emit bodies in exact wire shape. Also camelizes requestInstantApiKey + error envelopes, adds null-safe socialMediaAccounts, fixes camelToSnake leading-underscore for PascalCase keys, drops dead OrderV2/Order casts, and ships 12 new unit tests + a new nightly SDK integration workflow.

Full Changelog: v10.5.0...v11.0.0