Skip to content

v2.0.0

Choose a tag to compare

@github-actions github-actions released this 07 Sep 09:57
· 1 commit to master since this release

Added

  • The AmazonSpClients::V2 namespace (require 'amazon_sp_clients/v2'):
    a per-merchant Client with an explicit, frozen Config instead of
    the thread-local global; a thread-safe token source (a callback, or
    LWA refresh with one exchange per expiry); restricted data tokens as
    an rdt: argument with per-resource caching; typed errors under
    V2::Error; and one generated class per API module, for the same 14
    modules. Responses are the same ApiResponse. The README has the
    usage and the v1 to V2 migration table.
  • Feed upload, feed result download and report download on the V2
    client. Report documents come back gunzipped and UTF-8 tagged when
    Amazon gzipped them.
  • RDT.report_document(id), the resource list for a restricted report
    document, next to the ORDERS and ORDERS_AND_ITEMS presets.
  • rake yard:verify and a CI job that fail when a public V2 object
    has no doc comment.
  • A second template set in the generator. Each codegen-config.yml
    entry lists its template sets. Generation now refuses to run while
    tracked generated files belong to no configured module, and fails on
    names that Ruby or the V2 method signature already use.
  • A release workflow. Pushing a v* tag publishes the gem to
    rubygems.org through Trusted Publishing and opens a GitHub Release
    with the CHANGELOG entry. rake release is disabled.

Changed

  • The gem is named sp_api_clients on rubygems.org; the old name
    started with a company name that is not ours. The AmazonSpClients
    namespace and the amazon_sp_clients/... require paths are
    unchanged, and require 'sp_api_clients' loads the v1 entry point.
    A host that still installs amazon_sp_clients from git must drop
    that line when it takes this gem: Bundler treats them as two gems,
    and both ship the same files. The V2 default User-Agent names the
    gem, so it changes too.
  • The built gem ships only lib/, vendor/, the gemspec and the
    top-level docs. Tests, the generator, CI config and dev tooling stay
    out of it.
  • The deprecated AWS IAM and logger settings stay as no-ops. They were
    announced for removal in 2.0, but every consumer still sets them, so
    they leave together with the v1 API in a later major.
  • The Faraday requirement is unchanged (>= 1.10, < 3). The major
    version marks the new namespace, not a dependency change. v1 is
    unchanged.