Changelog

Version 1.7.11

  • CC-13466: Bump connect-operation-http from 1.0.2 to 1.0.8
  • MINOR: upgrade connect-plugins-parent to upgrade jackson-databind

Version 1.7.10

  • CC-13448: Remove connect listener before disconnecting
  • CC-13448: null out streaming client after disconnect
  • CC-13448: Protect access to wrappedHttpClient

Version 1.7.9

  • CC-12793: Synchronize listener threads
  • CC-12831: Tight re-authentication loop causes leaked HttpClient thread to eventually OOM
  • CC-12920: Remove problematic logger

Version 1.7.8

  • CC-12920: Fix SSLSessionContext leak, try 3

Version 1.7.7

  • Fix for NumberFormatException while parsing dates

Version 1.7.6

  • Don’t stop the http client when disconnected

Version 1.7.5

  • MINOR: pin jetty to 9.4.33 for integration test
  • MINOR: fix the build
  • CC-12920: Fix leaking http client
  • Log exception detail when validating URL.
  • MINOR: bump cometd to bump jetty
  • Fix few CVEs in Salesforce connector
  • CC-11855: Salesforce connector uses POST HTTP request under the hood for a PATCH
  • MINOR: Remove dependency on guava shading and fix deprecated method

Version 1.7.4

  • MINOR: fix the build
  • CC-12349: User error for insufficient permissions for validations
  • CC-12344: only preserve reset replayId long enough for handshake client listener

Version 1.7.3

  • CC-12336: After processing each batch, check the record.size().
  • CC-12158,CC-12165: Attempt to close job on failure; Attempt to re-login on invalid session ID

Version 1.7.2

  • CC-12318: Fix DataException in SObject sink when event type is ignored

Version 1.7.1

  • Fixes CVEs CVE-2019-10172, CVE-2019-10086, CVE-2019-20444, CVE-2019-20445, CVE-2020-11612.

Version 1.7.0

  • Support OAuth token bearer flow implementation.
  • Salesforce Bulk API Source Connector: Added support for disabling pk chunking.
  • CC-11552: Create SubscribeClientListener with error handling
  • CC-11022: Adjust regex on Salesforce PE source connector to detect that committed replayID is purged from SF queues
  • CC-11479: Use proxy in salesforce cdc source validation if required
  • CC-10902: Add Validations for Salesforce CDC Connector
  • Adding implementation for supporting salesforce.ignore.fields and salesforce.ignore.reference.fields configuration.
  • Implementation for auto PushTopic creation by discarding textarea fields.

Version 1.6.16

  • CC-13448: Remove connect listener before disconnecting
  • CC-13448: null out streaming client after disconnect
  • CC-13448: Protect access to wrappedHttpClient
  • Update Docs URL update

Version 1.6.15

  • CC-12793: Synchronize listener threads
  • CC-12831: Tight re-authentication loop causes leaked HttpClient thread to eventually OOM
  • CC-12920: Remove problematic logger

Version 1.6.14

  • CC-12920: Fix SSLSessionContext leak, try 3

Version 1.6.13

No changes

Version 1.6.12

  • Fix for NumberFormatException while parsing dates

Version 1.6.11

  • Don’t stop the http client when disconnected

Version 1.6.10

  • MINOR: pin jetty to 9.4.33 for integration test
  • MINOR: fix the build
  • CC-12920: Fix leaking http client
  • Log exception detail when validating URL.
  • MINOR: bump cometd to bump jetty
  • Fix few CVEs in Salesforce connector
  • CC-11855: Salesforce connector uses POST HTTP request under the hood for a PATCH
  • MINOR: Remove dependency on guava shading and fix deprecated method

Version 1.6.9

  • CC-12349: User error for insufficient permissions for validations
  • CC-12344: only preserve reset replayId long enough for handshake client listener

Version 1.6.8

  • CC-12336: After processing each batch, check the record.size().
  • CC-12158,CC-12165: Attempt to close job on failure; Attempt to re-login on invalid session ID

Version 1.6.7

  • CC-12318: Fix DataException in SObject sink when event type is ignored

Version 1.6.6

  • Fixes CVEs CVE-2019-10172, CVE-2019-10086, CVE-2019-20444, CVE-2019-20445, CVE-2020-11612.
  • CC-11552: Create SubscribeClientListener with error handling

Version 1.6.5

  • CC-11022: Adjust regex on Salesforce PE source connector to detect that committed replayID is purged from SF queues
  • CC-11479: Use proxy in salesforce cdc source validation if required

Version 1.6.4

  • CC-10902: Add Validations for Salesforce CDC Connector

Version 1.6.3

  • CC-10902: Add validations to Salesforce CDC Source connector

Version 1.6.2

  • Adding implementation for supporting salesforce.ignore.fields and salesforce.ignore.reference.fields configuration.
  • Implementation for auto PushTopic creation by discarding textarea fields.

Version 1.6.1

  • Updated plugin description in manifest file.

Version 1.6.0

  • CC-9995: Fix multiple start bug for the CDC connector.
  • Added reporter implementation for Salesforce.

Version 1.5.18

No changes

Version 1.5.17

  • Fix for NumberFormatException while parsing dates
  • Don’t stop the http client when disconnected
  • MINOR: pin jetty to 9.4.33 for integration test
  • MINOR: fix the build
  • CC-12920: Fix leaking http client

Version 1.5.16

  • MINOR: bump cometd to bump jetty
  • Fix few CVEs in Salesforce connector

Version 1.5.15

  • CC-11855: Salesforce connector uses POST HTTP request under the hood for a PATCH
  • MINOR: Remove dependency on guava shading and fix deprecated method

Version 1.5.14

  • CC-12344: only preserve reset replayId long enough for handshake client listener

Version 1.5.13

  • CC-12336: After processing each batch, check the record.size()
  • CC-12158,CC-12165: Attempt to close job on failure; Attempt to re-login on invalid session ID

Version 1.5.12

  • CC-12318: Fix DataException in SObject sink when event type is ignored

Version 1.5.11

  • Fixes CVEs CVE-2019-10172, CVE-2019-10086, CVE-2019-20444, CVE-2019-20445, CVE-2020-11612.
  • CC-11552: Create SubscribeClientListener with error handling
  • CC-11022: Adjust regex on Salesforce PE source connector to detect that committed replayID is purged from SF queues
  • CC-9995: Fix multiple start bug for the CDC connector

Version 1.5.10

  • CC-9961: Salesforce Platform Event connector also should handle the purged replay ID case (fix from v1.5.8).
  • NTLM authentication support for Salesforce Bulk API source connector.

Version 1.5.9

  • CC-9704: Use Jackson 2.10.4 for all connectors, removing mixture of 2.10.4 and 2.9.10 libraries.

Version 1.5.8

  • CC-9633: When the connector automatically reconnects, it sends the replay ID for the most recently processed event. If this replay ID was purged from the Salesforce channel since the last connection (often when the channel is empty with no new events for some time), the replay ID will not be valid. In this case, the connector will automatically reconnect again with a replay ID of -2 to read all available events in the channel.

Version 1.5.7

  • No changes

Version 1.5.6

  • CC-9548: Added support for authenticating a proxy with basic auth in Salesforce Platform Events Source Connector.

Version 1.5.5

  • MINOR: Updated README.md
  • CC-9564: Removed custom external field id from the request body
  • MINOR: Fix tags
  • MINOR: Removed test that checks incorrect creds with SF in unit test
  • CC-9539: Changed SObjectHelper to not use a static date parser

Version 1.5.4

  • Fixed a bug where connectors would start multiple tasks if start() was called multiple times

Version 1.5.3

  • Upgraded Jackson to 2.10.4
  • Fixed Salesforce currency type parsing

Version 1.5.2

  • Upgraded Jackson to 2.9.10

Version 1.5.1

  • Ensure connection is always closed when task is stopped
  • Minor changes to configuration property titles

Version 1.5.0

  • Minor: Removed __e validator for PlatformEventName config to support standard events.
  • CC-8376: Allow max message size for long poll connections to Salesforce to be configurable
  • CC-8173: added reconnection logic to SalesforceSObjectSinkTask

Version 1.4.5

  • Fix for NumberFormatException while parsing dates
  • Don’t stop the http client when disconnected
  • CC-12920: Fix leaking http client
  • CC-11855: Salesforce connector uses POST HTTP request under the hood for a PATCH
  • MINOR: Remove dependency on guava shading and fix deprecated method

Version 1.4.4

  • CC-12336: After processing each batch, check the record.size()
  • CC-12158,CC-12165: Attempt to close job on failure; Attempt to re-login on invalid session ID
  • Fixes CVEs CVE-2019-10172, CVE-2019-10086
  • CC-9995: Fix multiple start bug for the CDC connector
  • CC-9564: remove custom external field id from the request content
  • CC-9539: change SObjectHelper to not use a static date parser
  • CC-9995: fix connectors starting multiple tasks when start() is called multiple times

Version 1.4.3

  • CC-9165: fix salesforce currency type parsing
  • CC-8915: Bump jackson dependency version for Salesforce connector
  • CC-8277: Salesforce Source Connector - Minor typo in timeout log message
  • COPS feedback (HCD -327)
  • Removed __e validator for PlatformEventName config to support standard events. (Backport to 1.1.x)
  • CC-8376: Allow max message size for long poll connections to Salesforce to be configurable
  • MINOR: fixing a style problem in PR #178
  • CC-8173: added reconnection logic to SalesforceSObjectSinkTask

Version 1.4.2

  • Cherry-pick HCD-307 back to 1.4.x
  • CC-8242: fix updateable

Version 1.4.1

  • MINOR: Remove unused generic type for patchAndParse method
  • Added support for custom fields

Version 1.4.0

  • Implementation for Salesforce Bulk API source connector.
  • CC-7188: Update SObject description in salesforce connector config
  • Changing existing project to multi module maven project

Version 1.3.4

  • Fix for NumberFormatException while parsing dates
  • Don’t stop the http client when disconnected
  • CC-12920: Fix leaking http client
  • CC-11855: Salesforce connector uses POST HTTP request under the hood for a PATCH
  • MINOR: Remove dependency on guava shading and fix deprecated method
  • MINOR: Exclude credentials files from license checks
  • MINOR: Fix spotbugs warnings
  • CC-9995: Fix multiple start bug for the CDC connector
  • CC-9564: remove custom external field id from the request content
  • MINOR: Fix tags in 1.3.x
  • MINOR: migrate CDC to non-static parser
  • MINOR: fix tests for non-static parser
  • CC-9539: change SObjectHelper to not use a static date parser
  • CC-9995: fix connectors starting multiple tasks when start() is called multiple times
  • Salesforce Refactoring (1.3.x)
  • Salesforce Refactoring (1.2.x)
  • Salesforce Refactoring (1.1.x)
  • Revert “MINOR: bumping jackson version”
  • MINOR: bumping jackson version
  • CC-9165: fix salesforce currency type parsing
  • CC-8915: Bump jackson dependency version for Salesforce connector
  • CC-8277: Salesforce Source Connector - Minor typo in timeout log message
  • Removed __e validator for PlatformEventName config to support standard events. (Backport to 1.1.x)
  • CC-8376: Allow max message size for long poll connections to Salesforce to be configurable
  • MINOR: fixing a style problem in PR #178
  • CC-8173: added reconnection logic to SalesforceSObjectSinkTask
  • CC-8242: fix updateable
  • MINOR: Remove unused generic type for patchAndParse method
  • MINOR: Fix external URLs in javadoc
  • Added support for custom fields
  • Changing existing project to multi module maven project

Version 1.3.1

No changes

Version 1.3.3

  • Improved HTTP proxy support by adding authentication support (basic and NTLM schemes) to sink connectors. It is configured with the http.proxy.auth.scheme, http.proxy.user, http.proxy.password and http.proxy.auth.ntlm.domain configuration properties.

Version 1.3.2

  • Improved reconnection logic to account for more error types, including TimeoutException and EOFException.

Version 1.3.0

  • Updated confluent hub description
  • fix a typo in confluent hub desecription of sink connector
  • update Confluent Hub description for sink connectors

Version 1.2.4

  • Fix for NumberFormatException while parsing dates
  • Don’t stop the http client when disconnected
  • CC-12920: Fix leaking http client
  • CC-11855: Salesforce connector uses POST HTTP request under the hood for a PATCH
  • MINOR: Remove dependency on guava shading and fix deprecated method
  • MINOR: Exclude credentials files from license checks
  • MINOR: Fix spotbugs warnings
  • CC-9564: remove custom external field id from the request content
  • MINOR: fix tests for non-static parser
  • CC-9539: change SObjectHelper to not use a static date parser
  • CC-9995: fix connectors starting multiple tasks when start() is called multiple times
  • Salesforce Refactoring (1.2.x)
  • Salesforce Refactoring (1.1.x)
  • Revert “MINOR: bumping jackson version”
  • MINOR: bumping jackson version
  • CC-9165: fix salesforce currency type parsing
  • CC-8915: Bump jackson dependency version for Salesforce connector
  • CC-8277: Salesforce Source Connector - Minor typo in timeout log message
  • Removed __e validator for PlatformEventName config to support standard events. (Backport to 1.1.x)
  • CC-8376: Allow max message size for long poll connections to Salesforce to be configurable
  • MINOR: fixing a style problem in PR #178
  • CC-8173: added reconnection logic to SalesforceSObjectSinkTask
  • CC-8242: fix updateable
  • MINOR: Fix external URLs in javadoc
  • Added support for custom fields
  • Changing existing project to multi module maven project

Version 1.2.2

  • Updated confluent hub description
  • fix a typo in confluent hub desecription of sink connector

Version 1.2.3

  • Improved reconnection logic to account for more error types, including TimeoutException and EOFException.

Version 1.2.1

  • Updated Confluent Hub description

Version 1.2.0

  • Added a new SObjects sink connector to publish Salesforce PushTopic events previously captured with a different Salesforce PushTopic source connector. A use case for using these two connectors is copying events from one Salesforce account to another vian Apache Kafka®.
  • Added a new Platform Events sink connector to publish Salesforce Platform Events previously captured with a different Salesforce Platform Event source connector. A use case for using these two connectors is to copy events from one Salesforce account to another via Kafka.

Version 1.1.7

  • Fix for NumberFormatException while parsing dates
  • Don’t stop the http client when disconnected
  • CC-12920: Fix leaking http client
  • MINOR: Remove dependency on guava shading and fix deprecated method
  • MINOR: Exclude credentials files from license checks
  • MINOR: Fix spotbugs warnings
  • CC-9539: change SObjectHelper to not use a static date parser
  • CC-9995: fix connectors starting multiple tasks when start() is called multiple times
  • Salesforce Refactoring (1.1.x)
  • Revert “MINOR: bumping jackson version”
  • MINOR: bumping jackson version
  • CC-9165: fix salesforce currency type parsing
  • CC-8915: Bump jackson dependency version for Salesforce connector
  • CC-8277: Salesforce Source Connector - Minor typo in timeout log message
  • Removed __e validator for PlatformEventName config to support standard events. (Backport to 1.1.x)
  • CC-8376: Allow max message size for long poll connections to Salesforce to be configurable
  • MINOR: Fix external URLs in javadoc
  • Added support for custom fields
  • Changing existing project to multi module maven project

Version 1.1.6

No changes

Version 1.1.5

  • Improved reconnection logic to account for more error types, including TimeoutException and EOFException.

Version 1.1.4

  • Include the Salesforce error code in the connector failure message.

Version 1.1.3

  • Improve the handling and reconnection logic of the connector. The connector now continues to immediately reconnect on many of the Salesforce errors, including authentication failures (401 errors), handshake denied (403 error), unknown clients (403 error), and incomplete handshake (403 error). The connector will delay reconnecting between 5 and 1 minutes when the errors signfiy that API limits were exceeded or if the server is too busy (403 error). The connector task will fail if any error is such that the connector cannot proceed, including unknown channel and other 404 errors, and 400, 413, and 500 errors.

Version 1.1.2

  • Updated support terms

Version 1.1.1-preview

  • Fixed an issue where timestamps in PushTopic events and Platform events were parsed into the incorrect timestamps in the records written to Kafka.

Version 1.1.0-preview

  • The connector that captures Salesforce PushTopic events was renamed to io.confluent.salesforce.SalesforcePushTopicSourceConnector. The old class name io.confluent.salesforce.SalesforceSourceConnector is still available but has been deprecated. As soon as it is convenient, change your existing connector configurations to use io.confluent.salesforce.SalesforcePushTopicSourceConnector for the connector class name.
  • Add a new source connector to capture Salesforce Platform Events. This source connector is named io.confluent.salesforce.SalesforcePlatformEventSourceConnector.
  • Added salesforce.initial.start configuration property for both Salesforce connectors to allow users to specify where a newly created connector should start replaying events. Use all to send a replayId of -2 to Salesforce that replays all events enqueued within the last 24 hours, or use latest to send a replayId of -1 to Salesforce that plays only events enqueued after the connector starts. The default is latest in case there are more enqueued events than might be allowed by API limits.
  • Added an ability to use an HTTP proxy. The http.proxy configuration property is available in both Salesforce connectors. This property specifies the HTTP(S) proxy host and port the connector should use when talking to Salesforce. It defaults to a blank string, which corresponds to not using a proxy and directly connecting to Salesforce API.
  • Corrected how the salesforce.instance property is interpreted. It now defaults to https://login.salesforce.com, which provides backward compatibility that should work for most users. It can be set to https://test.salesforce.com to use a test environment in Salesforce.
  • Both connectors now automatically refresh the OAuth token when needed. Previously, the connector would stop writing events to Kafka after the OAuth token expired, or about 24 hours after it was last used.
  • Once the Salesforce connectors successfully authenticate, any subsequent request failures are automatically retried using exponential backoff. A new request.max.retries.time.ms connector configuration property specifies the maximum time in milliseconds that the connector retries failed requests after authentication succeeds. The backoff period for each retry attempt uses a randomization function that grows exponentially. But, if the total time spent retrying the request exceeds this duration (15 minutes by default) retries stop and the request fails. This will likely result in task failure.
  • Both connectors now use a Confluent license upon startup and the connector configurations include license-related configuration properties. See Salesforce PushTopic Source Connector Configuration Properties and Salesforce Platform Events Source Connector Configuration Properties for details.

Version v1.0.0-preview

Initial preview version.