Fixes glitch causing infinite handshaking after restarting Bayeux in some circumstances. Fixes glitch that would ignore replay IDs that were given to individual channels rather than overwriting the global client level replay ID.
Fixes a glitch in Bayeux streaming after restarting a connection which could cause clients to issue handshakes forever.
Updates all of the underlying packages to the year 2020. Welcome to the future, Salesforce SDK, you made it. JMS updates breaks backwards compatibility if your software is using JMS for anything, so be wary of changes from upgrading from v1 to v3 of JMS.
The Bayeux client was using recursion to continually call the connect() function, which led to an infinitely growing function call stack and after a few days of that even the most robust server with deepest memory banks will give out.
This changes the bayeux client to a state pattern that allows each state to transition to another state, and the bayeux client, after being started, will just call handle() on its current state in a loop instead of recursively calling connect().
This does change up the order in which some things are occurring, even if all the same channels are called in the same order. Make sure to test your usage of the streaming client channels if you are subscribing|extending to any of the Meta channels.
Removes the save_to header from the result request.
Fixes issue with the CompositeSObjectHandler where the params key wasn't being set when passing the SObject data down the chain.
CometD Messages from Salesforce don't always have successful set to true. It's implied that if successful is not false, then there is no error, and this is corroborated with a valid message payload and no error message. To prevent false positives when checking for errors, success is defaulted to true.
Overcome URI limitations when requesting an SObjectCollection via the Composite Client. As many as 2,000 records can be retrieved per request. As many as 5 SObjectCollection sub-requests can be made in a composite request, capping the total number of objects retrieved at 10,000.
Fixes issue with invalid characters in the cache key for the Soap provider. Adds documentation for Generic Events.
Various enhancements and fixes:
Fixes and issue with sending the ReplayId via the cometd replay extension to Salesforce. Also fixes an issue that occurs when Salesforce sends a DateTime without any microseconds (if .000).
Fixes an issue where the Rest client wasn't passing down its AuthProviderInterface to its sub-clients. So when the CompositeClient or the SObjectClient needed to reauthenticate the Guzzle Client, there was no AuthProvider to do so.
Remove a reference to SObject Type where it was being set to null on persistence. Type shouldn't be altered or overridden within the SDK.
Add ability to get record counts
Opening up the scope of some properties on the auth providers to allow them to be extensible
Allow for the use of authorization_code grant types in the OAuthProvider. Also added the getIdentity() method to all AuthProviders that calls out to the Identity Url and gets information back about the authenticated user.
See https://help.salesforce.com/articleView?id=remoteaccess_using_openid.htm&type=5 for more about the Identity Url.
Fixes an issue where the the Type field is overridden on Composite SObjects
Fixes issue with line breaks in field values when reading data from query results in the bulk API
Code cleaup release mainly. Removed a section of code in the Bayeux Client that was setting the SObject Type to the event's type: "created", "updated", etc. So that doesn't happen now.
Investigated and tested using the SoapProvider with BayeuxClient. Though Salesforce says the Soap Auth works with Cometd, their client says otherwise. When authenticating via SOAP and using the Session Token, the handshake returns successful. When the connect call is made to subscribe the channels, it returns a 403::Unknown Client error. Some comments on the Internet say this is due to the mobile push client being subscribed. I cannot confirm or deny, but you are welcome to disable it and see if it works for you.
Either way, the OAuth client works as expected.
For very very large bulk operations, CSV allows you to stream the incoming data. This update fixes issues with getting Query results in CSV format with the ability to stream the CSV data line for line while return the result as an array representing the parsed record. Or you can try to get all the results as a large associative array. Though that is not recommended in the cases where Salesforce returns 1GB of data for the result.
Originally, it was expected that the BatchResults would be an array of Result Ids that you have to go retrieve. This is only true for querying. When sending data to Salesforce, the BatchResults are an array of responses containing the record Id and errors if unsuccessful.
Fixes an issue with the Bulk Client failing to serialize SObject models when creating a new batch.
Fixes issues when receiving different error messages from Salesforce. Prevents array errors and tries to resolve the proper error code better.
General bug fixes found through use. Added External ID field for Bulk Upserts as it's required by Salesforce.
DateTime format fix where 24 hour time was formatted as 12 hour time. Should be 24 hour.
Fixes an issue in the Soap Auth Provider where the server URL from the response was not properly parsed.
Added Soap Client for auth without client key and secret. Fixed issues with date formats in GetUpdated and GetDeleted requests. Other code cleanup.
How can I help you explore Laravel packages today?