- Add Lookback Window advanced config option for incremental syncs #135
- Handle muliline critical error messages #137
- Fix interruptible full table bookmarking strategy for bulk API #138
- Add Date Windowing #140
- Increase request timeout to 5 minutes from 30 seconds to support certain objects that take a bit longer to return during discovery in some cases #126
- Added a condition to make sure batches are not empty list within a given job ID #124
- Forces
LightningUriEvent
,UriEvent
,LogoutEvent
,ReportEvent
streams to full table replication #123
- Captures
stateMessage
attribute for PK-Chunked batches that fail to process and persists it through a modified exception #120
- Bumps Salesforce api from v41 to v52, this includes new streams and some permission changes on existing streams #116
- Add a 30 second timeout to all requests #114
- Makes timer thread a daemon thread so that when main thread exits it's ensured that the process exits #112
- Remove support for FieldHistoryArchive because we don't query for it properly #101
- Modifies error message for OPERATION_TOO_LARGE errors #98
- Modifies sync stream error message format #96
- added NetworkUserHistory to objects blacklist #86
- Add DataType to the set of QUERY_INCOMPATIBLE objects to sync #84
- Force LoginEvent to have a replication method of Full Table #80
- Extend bulk API PK chunking trigger to cover more error messages #76
- Mark
location
type fields as unsupported with the Bulk API #75
- Check for bulk API permissions during discovery #70
- Mark
SiteDetail
as query-incompatible #68
- Integer fields in BULK API responses with a value of
'0.0'
will now be converted to'0'
#67
- Improve error messaging when login fails #66
- Mark
Announcement
as query-incompatible #64
- Mark json fields as
unsupported
instead of throwing exception. If, in the future, we find streams with json fields that have records, we can consider supporting the json field type. commit
- Protect against empty strings for quota config fields commit
- Filter out *ChangeEvent tables from discovery as neither REST nor BULK can sync them #62
- Move the transformer outside of the record write-loop to quiet logging #61
- (Bulk Rest API) Sync the second half of the date range After a timeout occurs and the date window is halved #60
- (Bulk API) Removes failed jobs that don't exists in Salesforce from state when encountered #57
- (All APIs) Makes
BackgroundOperationResult
sync full table, since it cannot be sorted byCreatedDate
#58 - Update version of
requests
to2.20.0
in response to CVE 2018-18074 #59
- Increases the
field_size_limit
on the CSV reader to enable larger fields coming through without error #53
- Adds the suffix "FieldHistory" to those checked for when finding the parent object to fix the
OpportunityFieldHistory
stream #52
- Fixes a few bugs with PK chunking including allowing a custom table to be chunked by its parent table #51
- Added a correct else condition to fix an error being raised during the PK Chunking query #50
- Updated the usage of singer-python's Transformer to reduce its scope #48
- Updated the JSON schema generated for Salesforce Date types to use
anyOf
so when a bad date comes through we use the String instead #47
- Bug fix for metadata when resuming bulk sync jobs.
- Moved ContentFolderItem to query restricted objects list since the REST API requires specific IDs to query this object.
- Read replication-method, replication-key from metadata instead of Catalog. Publish key-properties as table-key-properties metadata instead of including on the Catalog.
- Fixes logging output when an HTTP error occurs
- Bumps singer-python dependency to help with formatting dates < 1000
- Fixes a bug with datetime conversion during the generation of the SF query string #40
- Fixes more bugs with exception handling where the REST API was not capturing the correct error #39
- Fixes a schema issue with 'location' fields that come back as JSON objects #36
- Fixes a bug where a
"version"
in the state would not be preserved due to truthiness #37 - Fixes a bug in exception handling where rendering an exception as a string would cause an additional exception #38
- Fixes automatic property selection when select-fields-by-default is true #35
- Adds the
AttachedContentNote
andQuoteTemplateRichTextData
objects to the list of query-incompatible Salesforce objects so they are excluded from discovery / catalogs #34
- Adds backoff for the
_make_request
function to prevent failures in certain cases #33
- Adds detection for certain SF Objects whose parents can be used as the parent during PK Chunking #32
- Fixes a logic bug in the build_state function
- Improves upon streaming bulk results by first writing the file to a tempfile and then consuming it #31
- Updates the retrieval of a bulk result set to be downloaded entirely instead of streaming #30
- Removes
multipleOf
JSON Schema parameters for latitude / longitude fields that are part of an Address object
- Adds a check to make sure the start_date has time information associated with it
- Adds more robust parsing for select_fields_by_default
- Fixes a bug with running the tap when provided a Catalog containing streams without a replication key #27
- Bumps the dependency singer-python's version to 5.0.4
- Fixes a bug where bookmark state would not get set after resuming a PK Chunked Bulk Sync #24
- Adds additional logging and state management during a PK Chunked Bulk Sync
- Fixes a bad variable name
- Uses the correct datetime to string function for chunked bookmarks
- Adds a feature for resuming a PK-Chunked Bulk API job #22
- Fixes an issue where a Salesforce's field data containing NULL bytes would cause an error reading the CSV response #21
- Fixes an issue where the timed
login()
thread could die and never call a new login #20
- Fixes a bug with with yield records when the Bulk job is successful #19
- Fixes a bug with a missing pk_chunking attribute
- Adds support for Bulk API jobs which time out to be retried with Salesforce's PK Chunking feature enabled
- Allows compound fields to be supported with the exception of "address" types
- Adds additional unsupported Bulk API Objects
- Support for time_extracted property on Singer messages
- Initial release