⚠️ 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.