Skip to content

v4.0.0-beta.1

Pre-release
Pre-release

Choose a tag to compare

@seambot seambot released this 13 Aug 04:30
· 89 commits to main since this release
v4.0.0-beta.1
2c92208

Bug Fixes

  • keep a retried request from duplicating a write (0dfb886)
  • lock dependencies against the minimum supported PHP (4ed18b3)
  • namespace the generated nested resource classes (1236f7b)
  • reject an option that a preconfigured client would silently discard (c83b3ed)
  • return a list of action attempts as a list (aba2adf)

Code Refactoring

  • make the client the Guzzle client (c13b28d)

Features

  • drop support for PHP 8.1 (76ae49f)
  • read the personal access token and workspace id from the environment (6d25d51)
  • remove the lts_version method (c2602db)
  • unify the SDK with the Seam SDKs for other languages (c760d61)

BREAKING CHANGES

  • lts_version() is removed from Seam and
    SeamWithoutWorkspace. Read the LTS_VERSION class constant instead.

Co-Authored-By: Claude Opus 5 noreply@anthropic.com
Claude-Session: https://claude.ai/code/session_01Fwgphpc9YhtxBbxuxppy8m

  • $seam->client is now the Guzzle client, so
    $seam->client->get_client() no longer exists, and Seam\Http\SeamHttpClient is
    replaced by Seam\Http\ClientFactory. Seam::request() is removed. Requests now
    time out after 30 seconds rather than 60.

Co-Authored-By: Claude Opus 5 noreply@anthropic.com
Claude-Session: https://claude.ai/code/session_01Fwgphpc9YhtxBbxuxppy8m

  • PHP 8.2 or later is required.

Co-Authored-By: Claude Opus 5 noreply@anthropic.com
Claude-Session: https://claude.ai/code/session_01Fwgphpc9YhtxBbxuxppy8m

  • The client is Seam\Seam; Seam\SeamClient remains as a
    deprecated alias. The constructor takes named options, so endpoint is no
    longer the second positional argument, and throw_http_errors is removed.
    Exceptions moved to the Seam\Exceptions namespace. poll_until_ready is
    removed in favor of wait_for_action_attempt, whose defaults change from
    20s/0.4s to 10s/1s. $seam->client is a Seam\Http\SeamHttpClient rather than a
    Guzzle client. The $api_key property and the global LTS_VERSION constant are
    removed. Responses in the 3xx range are no longer treated as successful.
    Requests are now retried. Pagination metadata is a Seam\Pagination object.
    PHP 8.1 or later is required, and svix/svix is a new dependency.

Co-Authored-By: Claude Opus 5 noreply@anthropic.com
Claude-Session: https://claude.ai/code/session_01Fwgphpc9YhtxBbxuxppy8m