All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog and this project adheres to Semantic Versioning.
- new field for the resourceManagementType
- updated several dependencies to remove vulnerabilities
- add support for column formulas
- add missing 'ADMIN_SIGHTS
and
READ_CONTACTS`
- add missing scopes
READ_CONTACTS
andADMIN_SIGHTS
- fix typo in
image
- build(deps-dev): bump jetty-server
- update jackson-databind to resolve security vulnerability
- build(deps-dev): bump junit from 4.12 to 4.13.1
- build(deps-dev): bump jetty-server
- add missing
rules
andruleRecipients
to create from template
- fix the double encoding of search terms
- Separate ProfileImage model from Image model
- add support for Webhook subscope
- add overloads to addCellImage and addSheetSummaryFieldImage to take a File or InputStream.
- fix NPE if failedItems is null
- type and object definitions to support multi-picklist columns
- add format and objectValue to CellHistoryInclusion
- additions to CellDataItem widget contents to support METRIC widgets containing sheet summary fields
- dashboards widget model to support widgets that are in an error state
- listColumns needs level support
- support for sheet summary
- add dateFormat to format tables.
- add support for includes argument for ListUsers
- add column description property
- implement addRow, updateRow interfaces that allow includes and excludes
- significant overhaul to Sights
- deprecated copyFolder, copyWorkspace methods with unsupported excludes
- serialize dates using ISO-8601 formatting
- resolve jackson-databind security vulnerability
- removed errant plugin dependency
- Initial support for an Android http client
- add CARD_DONE tag to supported list of column tags
- Resolved Jackson security vulnerability
- Travis build automation
- Implement Event Reporting
- Added BASE URI definition for Smartsheetgov
- Added group inclusion for GetCurrentUser
- Updated versions of Jackson in the POM to resolve security vulnerabilities
- Updated versions of Jetty and Jackson in the POM to resolve security vulnerabilities
- Multi-contact list
- Sheet import for XLSX and CSV (includes methods to import into Folders and Workspaces)
- Limited support for CHART widget types
- Removed old Link model which was replaced by Hyperlink and CellLink
- Hyperlink and HyperlinkSerializer were missing the sightId property
- SmartsheetFactory for creating Smartsheet client objects
- Automation rules
- Cross sheet references
- Passthrough mechanism to pass raw JSON requests through to the API (documented in the README)
- Sheet filter implementation
- Row sort feature
- User profile properties (including profileImage) to UserModel
- Scope, location and favoriteFlag inclusion to search
- getSheet() ifVersionAfter parameter
- Client method to modify HTTP User-Agent header
- Bulk access to sheet version through sheetVersion inclusion
- Missing title widget for Sights
- Deserialization of error detail
- Logging examples for SimpleLogger and Log4j
- HttpClient interface to allow SDK users to inject HTTP headers or implement an HTTP proxy by extending DefaultHttpClient (a proxy sample is provided in the README)
- Removed ShouldRetry and CalcBackoff interfaces and replaced with HttpClient interface methods. You can now customize shouldRetry or calcBackoff using the same method as proxy or request header injection (i.e. extend DefaultHttpClient).
- Several deserialization issues with Sights
- Share builders were improperly setting share type
- The rate-limit/backoff retry scenario did not work if the request contained a body because the body stream had not been reset prior to the retry (PUT/POST). The Apache HttpClient will raise a NonRepeatableRequestException that is now handled by the SDK (which resets the body content stream).
- There is a keep-alive race condition that exists when the server disconnects idle connections. If a request is made in the window in between when the server has disconnected, but before the client has detected the disconnect, it looks to the client as if the server returned a blank HTTP status line. Idempotent methods (PUT, DELETE, GET) are retried automatically. A POST request will not be retried automatically by the Apache HttpClient. This fix will handle NoHttpResponseException exceptions and retry POSTs automatically after resetting the body content stream.
- New
attachFile
overloads that accept aninputStream
- Constructors that accept object Id for Cell, Row, and Column
- Additional options when publishing Sheets or Reports
- Mock tests
- Logging improvements
- Fixed flags for Folder/Workspace Copy or Remap
-
Logging
-
Chained setters
-
Sheet.ProjectSettings
-
First class support for
PredecessorList
as an implementation ofObjectValue
This is a breaking change if you use PredecessorList
This code sample shows how to update PredecessorList after updating to 2.2.0:
Predecessor predecessor = new Predecessor(); predecessor.setRowId(265775251515268L); // Id of row to depend on predecessor.setType("FS"); PredecessorList pl = new PredecessorList(new ArrayList<Predecessor>(Arrays.asList(predecessor))); Cell cell = new Cell(); cell.setColumnId(7984328786372484L); // Id of 'Predecessors' column cell.setObjectValue(pl); Row row = new Row(); row.setId(6146602304857988L); // Id of row to update row.setCells(new ArrayList<Cell>(Arrays.asList(cell))); ArrayList<Row> rows = new ArrayList<Row>(Arrays.asList(row)); smartsheet.sheetResources().rowResources().updateRows(3102146867554180L, rows); // Id of sheet
- Documented in Github releases page