Skip to content

4.0.0

Choose a tag to compare

@ggoranov-smar ggoranov-smar released this 08 Jun 08:54
· 57 commits to mainline since this release
e6f2690

⚠️ Note: This release is broken due to a packaging bug (#144). Please use v4.0.1!

[4.0.0] - 2026-06-08

Added

  • Added object_id_str field to Event model to support alphanumeric object identifiers (AUD-902)
  • SDK architecte details in ADVANCED.md
  • SDK testing standards in TESTING.md

Removed

  • ⚠️ BREAKING: Removed deprecated include_all parameter from list_webhooks. This was deprecated by the Smartsheet API (sunset Jun-03-2026). Use offset-based pagination via page and page_size (server-capped at 10,000).
  • ⚠️ BREAKING: Removed deprecated include_all, page, page_size, modified_since, and pagination_type parameters from list_sights. These were deprecated by the Smartsheet API (sunset Jun-03-2026). list_sights now uses token-based pagination exclusively and returns TokenPaginatedResult[Sight]. Use max_items and last_key instead.
  • ⚠️ BREAKING: Removed deprecated include_all, page, page_size, and pagination_type parameters from list_workspaces. These were deprecated by the Smartsheet API (sunset Jun-03-2026). list_workspaces now uses token-based pagination exclusively and returns TokenPaginatedResult[Workspace]. The response no longer exposes page_number, page_size, total_count, or total_pages. Use max_items and last_key instead. The new shape mirrors list_sights.
  • ⚠️ BREAKING: Removed list_public_templates and list_user_created_templates from the Templates class. The Templates class and Smartsheet.Templates accessor have been removed entirely. The underlying GET /templates and GET /templates/public endpoints were deprecated by the Smartsheet API (sunset Jun-03-2026). Migrate to get_workspace_children / get_folder_children with children_resource_types including ['sheets', 'templates'] to list templates within a specific workspace or folder.
  • ⚠️ BREAKING: Removed get_folder and list_folders from the Folders class, and get_workspace and list_folders from the Workspaces class. The underlying GET /folders/{folderId}, GET /folders/{folderId}/folders, GET /workspaces/{workspaceId}, and GET /workspaces/{workspaceId}/folders endpoints were deprecated by the Smartsheet API (sunset Jun-03-2026). Migrate to get_folder_metadata + get_folder_children and get_workspace_metadata + get_workspace_children. Use children_resource_types to filter the children response (e.g., folders to replicate the old list-folders behavior).
  • ⚠️ BREAKING: Removed the deprecated share methods (share_sheet/share_report/share_sight/share_workspace, list_shares, get_share, update_share, delete_share) from the Sheets, Reports, Sights, and Workspaces classes. The underlying asset-specific sharing endpoints were deprecated by the Smartsheet API (sunset Jun-03-2026). Migrate to client.Sharing (list_asset_shares, get_asset_share, share_asset, update_asset_share, delete_asset_share), passing asset_type and asset_id. Note updates now use PATCH instead of PUT.

Changed

  • list_webhooks: server-side behavior changes documented in the docstring. As of the Jun-03-2026 sunset date, page_size is server-capped at 10,000, total_count and total_pages return -1, and results are sorted by creation date (most recent first) instead of name. SDK signature unchanged. See Smartsheet API changelog 2025-08-04.

Fixed

  • Aligned the reports mock api tests with the testing standards.
  • Fixed access_level property of CreateReportResult to return EnumeratedValue instead of the raw enum itselt.
  • Fixed destination_type property of ReportDestination to return EnumeratedValue instead of the raw enum itselt.
  • Fixed asset_type property of ReportScopeInclusion to return EnumeratedValue instead of the raw enum itselt.
  • Fixed EnumeratedValue.__str__ to return value if the underlying enum inherits from str.
  • Fixed serialize function to use EnumeratedValue.value.value if the underlying enum inherits from str.