February 2020, 4.20 Release Notes

In this article:


About SnapLogic Releases

  • Per the SnapLogic Release Process, all remaining Snaplex instances across customer Orgs are upgraded to the 4.20 build (master-6950-4.20 Patch 3) at 9 pm PT on March 21, 2020.
  • This 4.20 GA release includes the patches deployed to SnapLogic after the 4.19 GA release, as listed in the 4.19 Dot Releases page. 
  • We recommend that you upgrade to the latest Chrome or Firefox browser version and clear your browser cache before logging into the SnapLogic Intelligent Integration Platform (IIP).

Java 11 Support

Starting from the 4.18 August release, SnapLogic supports Java 11 for Groundplex instances. We recommend all customers to migrate to Java 11, since Oracle no longer releases security updates for Java 8. For details, see Upgrading Your Groundplex to Java 11.

Java 11 support highlights

  • The 4.20 Snaplex installer uses Java 11 by default. Java 8 is also supported as a rollback option.
  • Current Groundplex installations will continue to work with Java 8 until the Snaplex is reinstalled using the new installer.
  • You are required to upgrade their Groundplex instances to Java 11 using the new installer. Support for Java 8 will cease from the August 2020 release.

New IP Whitelisting Requirements Reminder

We remind all customers of the new IP Whitelisting requirements that have been in effect since the 4.18 August 2019 release. Ensure that your network administrators review the following:


New Features and Enhancements

  • Asset Palette: Introduces a new opt-in feature, providing a dynamic display of the Catalog for Snaps, Pipelines, and Pattern Pipelines. You can enable this new display through the User Settings dialog in Designer. In addition to freeing up more space on the Designer Canvas for you to build your Pipelines, the redesigned Asset Palette offers Pipeline Recommendation capabilities by using Convolutional Neural Networks that improve the quality of suggested Snap, Pipeline Pattern, and Pipeline through personalization. Iris recommends these Pipelines based on the Snaps you use. 

    You can take advantage of the following new capabilities when you use the opt-in Asset Palette:
    • Snap Search
    • Pipeline Search
    • Pattern Pipeline Search
    • Documentation Search in SnapLogic Designer

  • Expression Recommendation: Enhances the suggestion capabilities of Iris to include Expression Recommendation. In Snaps that use expressions (for example, Mapper Snap), the Iris Expression Catalog enables you to receive expression recommendations based on the input schema, and expressions in the Pipelines from projects where you have read access.

  • Enhancing the UI icons for the Expression Toggle to better distinguish between On and Off modes: 

Expression Toggle Off–Enter a value as a string.

Expression Toggle On–Enter a value as an expression.

When you click , you can enter an expression in the adjacent field by clicking () to display a drop-down list of available expressions.

  • Additions to the SnapLogic Expression Language:
    • toLocaleString: When formatting a date, you can now pass a locale language-tag in the options object.
    • Array Functions: The following array functions are now available for Uint8 arrays.
      • Uint8Array.Of: Creates a new Uint8 array from a variable number of arguments.
      • Uint8Array.subarray(): Returns a new subarray from an Uint8 array, where the arguments are the indexes begin and end offsets.
      • Uint8Array.indexOf(): Returns the first index at which a given element is present.
      • Uint8Array.lastindex.Of(): Returns the last index at which a given element is present.
      • concat: Returns a new array that concatenates the initial array with the arrays or values provided as arguments.

  • Node Alerts: You can now view Snaplex node alerts on the Dashboard, where other information about your Pipeline executions is displayed. This change centralizes the location of monitoring information, enhancing the usability of this reporting functionality. Accordingly, these alerts no longer appear in the Activity Log in Manager.

  • New Pipeline Parameter: You can now capture the start and end times of Tasks with task.start and task.end, which you can pass as an expression in a Mapper Snap. This capability is particularly useful for Scheduled Tasks, where you view the last execution window.

  • Size Limitation on Pipeline Parameters: In this release (February 2020, 4.20), an additional limit is added which caps the total size of the Pipeline parameter values for one Pipeline execution (including parameters that are not captured) to 8MB. If the Pipeline parameter values exceed 8MB in size, then the Pipeline does not execute.

Known Issues

When you create or update a Task, the dialog displays a checkbox labeled Anomaly Notifications in preparation to enable a future functionality. Selecting the checkbox does not actually trigger any notifications.

Standard-mode Snaps

New Features and Enhancements

Reverting to the Old UI

You can revert to the old UI form by deselecting the New Form UI check box in the User Settings dialog. We will cease supporting the old UI form in a future release.

  • If you have built custom Snaps, then we strongly recommend you to recompile your custom Snaps using our latest SDK, so that your Snaps can take advantage of the latest performance optimizations and security updates. 

New Snaps

  • Flow Snap Pack: Introducing the Gate Snap, which relies on all upstream Snaps successfully executing before you send their consolidated contents as a single document to the downstream Snaps.

  • Salesforce Snap PackIntroducing the Salesforce Bulk Query Snap, which enables you to perform bulk SOQL queries on Salesforce.

  • Introduces the SuccessFactors Snap Pack, which enables you to work with the human capital management (HCM) system, covering everything from payroll to employee engagement. This Snap Pack includes the following Snaps:

Updated Snap Packs

  • Active Directory Snap Pack
    • View all elements of array fields in Search and List Users Snaps: Fixes the Search Snap and the List Users Snap wherein the Snaps displayed only the first element of an array field. Now, the Snaps display all the elements of an array field.

  • Flow Snap Pack: The Pipeline Execute Snap now provides the following capabilities:
    • Specify the Snaplex on which to run child Pipelines. You can now select the Snaplex on which to run the child Pipelines through the Execute On and Snaplex Path fields. The default option is executing the child Pipeline on the same Snaplex node as the Parent, but you can also specify a different Snaplex through the drop-down list, which includes the option to manually enter a Snaplex name.
    • Configure retry logic for child Pipeline executions. You can now configure retry logic for child Pipeline executions though the following fields: Number of Retries, Retry Interval, and Timeout fields. 

  • REST Snap Pack
    • Retain original file names when posting to Google Drive: The new Multipart related option in the Upload body type property in the REST Post Snap enables you to post files to the Google Drive API and retain the original names.
    • Obtain access tokens from REST endpoints automatically: The REST Account now has a new Grant Type option called Client Credentials. This enables the Snap to obtain an access token to the client ID and client secret through the token endpoint URL.

  • ServiceNow Snap Pack
    • Query both autogenerated and custom fields in ServiceNow: The ServiceNow Query Snap enhances its scope to include both autogenerated and custom fields.

Deprecated Snaps

  • LinkedIn Snap Pack: In this release, we retire the LinkedIn Snap Pack from the SnapLogic Snaps Catalog. Pipelines having the LinkedIn Snaps will no longer work.

Known Issues

  • Excel Parser SnapDoes not read password-protected Excel files and fails with the error: "Failure: Failed to parse input data."
  • PostgreSQL-Execute Snap: Does not support $$ as an escape character for enclosing string input, as $ is a reserved character for variable substitution in SnapLogic.
  • Cassandra-Execute Snap: The Cassandra-Execute Snap using Apache Cassandra V3 does not support $$ as an escape character for enclosing string input, as $ is a reserved character for variable substitution in SnapLogic.
  • Generic JDBC-Execute Snap: If a SELECT query in the SQL statement field in the Snap Settings contains duplicate column names, then the query result displays the column name twice, with the latter mention prefixed with the table name. If the column name occurs more than twice, the second entry is still prefixed with the table name but it displays the value of the last mention of the column in the query. The example below illustrates this behavior. 

     Example: Incorrect results for SELECT queries with duplicate column names


    Consider the following query, where the column name "name" is repeated three times: 

    select id, name, city, location, id as name, city as name, location as name from address

    Expected output:

    The  Generic JDBC - Execute Snap's output should reflect the correct query result containing all the seven fields, as shown in the image below:

    Actual output:

    The Snap's output displays the repeat occurrence of the column "name" only once, prefixed with the table name "address" as shown in the image below. Further, it holds the value of the table column "location", which was mentioned last in the SELECT query. 

    To avoid this issue, we recommend that you give unique column names in the query.

  • SOAP Execute Snap: After upgrading your Snaplex to 4.20 GA version, Pipelines with SOAP Execute Snap that uses the Apache CXF library might hang without executing. The Snap using HTTPComponents library executes successfully.

  • All Database Write (Insert/Update/Upsert) Snaps: When you set Auto commit to True in a database Snap Settings and Number of retries to more than 0 the retry functionality inserts duplicate records if the Snap tries reconnecting to the database. To avoid this error, we recommend you to do one of the following depending upon your use case:
    • Set Auto commit to false, or 
    • Set Number of retries to 0 to avoid duplicate records passing downstream while executing a Pipeline, or
    • Use a primary key in your database that does not allow duplicate records to be inserted into the database, or
    • Use an Upsert Snap instead of Insert Snap that overwrites any duplicate records. 

Before setting Number of retries to more than 0, contact support@snaplogic.com for guidance. 

  • NetSuite SOAP Snap Pack: The following NetSuite Snaps currently do not support custom records: NetSuite Get, NetSuite Get List, NetSuite Async Get, and NetSuite Delete.

  • Reltio Snap Pack: You cannot roll back the productized Reltio Snap Pack to a prior version due to an upgrade to the platform-provided AWS SDK version that it leverages.

  • Transform Snap Pack: If you are using OpenJDK 11 in the Snaplex on which you want to execute Excel Formatter Snaps, you must install Fontconfig on the Snaplex. Otherwise, the Snap displays an error.

  • Hadoop Snap Pack:
    • After upgrading your Snaplex to 4.20 GA version, Pipelines with HDFS Reader Snap that use Kerberos authentication might remain in the start state.
    • ORC Writer/Reader Snaps fail on S3 when using the 4.20 Snaplex with the previous Snap Pack version (hadoop8270 and snapsmrc528) displaying this error – Unable to read input stream, Reason: For input string: "100M" error 
    • ORC Reader/Writer and Parquet Reader/Writer Snaps fail when executing a Pipeline on S3 with this error – org.apache.hadoop.fs.StorageStatistics

  • Diff Snap (Standard mode): When using the new UI form to create new or editing existing Pipelines with Diff Snap, Output view name values go missing in Snap Settings after switching to Views or Info tab. The workaround is to switch back to the old UI form (disable New UI Form in User Settings) and then create the new Pipelines or edit existing Pipelines.

  • Workday Read Snap:
    • Using the old UI form, the Snap does not find existing Workday accounts.
    • Using the new UI form, the Snap crashes when validating a Pipeline displaying a null pointer exception error.

  • A Null Pointer Exception error displays when updating Snaps that contain empty property values in the new UI form. The existing Pipelines are not impacted unless a change is made on the Snap and saved. A workaround is to switch to the old UI form (disable New UI Form in User Settings). 

Prior 4.19 Snap Dot Releases in 4.20 GA 

The prior 4.19 Snap Dot Release updates are now a part of the current 4.20 GA release.

 Click here to expand...
Snap Pack
Update Date
Snowflake db/snowflake8687Fixes the Snowflake Bulk Load snap where the Snap fails to load documents containing single quotes when the Load empty strings checkbox is not selected.



Fixes the SOAP Execute Snap where the Snap encounters the following issues:

  • The Snap throws NPE when generating a SOAP request template.
  • The Snap throws the following errorwhen making a SOAP call, if the SOAPAction HTTP headercontains a stringDoes not match an operation.


 db/mysql8638Fixes the MySQL Database Account where the associated Snaps produce a huge count of open file descriptors when theConfigure SSH Tunnelproperty is enabled.
MySQL db/mysql8635Fixes the MySQL - Execute Snap where the retry option fails to establish a connection with the MySQL database, after an interrupted transmission.
Active Directory activedirectory8506

Fixes the Search Snap and the List Users Snap wherein the Snaps displayed only the first element of an array field. Now, the Snaps display all the elements of an array field.

Dynamics CRM dynamicscrm8531Updates the Dynamics CRM Upsert Snap to process the GUID format, and the Dynamics CRM Search Snap to parse additional object schema types.
Snowflake db/snowflake8499

Adds the Handle Timestamp and Date Time Data property to Snowflake - Execute and Snowflake - Select Snaps. This property enables you to specify whether the Snap should translate UTC time to your local time.

Splunk splunk8425Fixes an issue with the Splunk Search Snap where the output data did not display some of the preview fields.
JMS jms8420
  • Adds the following properties to the JMS Consumer and the JMS Producer Snaps to enable retry and reconnect features:
    • Number of retries: Lets you define the number of times the Snap should reattempt an operation before throwing a connection/network error.
    • Retry interval (milliseconds): Lets you define the number of milliseconds for which the Snap must wait between subsequent retries in case of a connection/network error.
  • Enables the JMS Producer Snap to clean up stale connections.
  • Fixes the JMS Acknowledge Snap where the Snap failed unexpectedly without providing a reason.
SuccessFactors successfactors8351

Introduces the SuccessFactors Snap Pack, which enables you to work with the human capital management (HCM) system, covering everything from payroll to employee engagement. This Snap Pack includes the following Snaps:

  • db/azuresql8403
  • db/cassandra8404
  • db/jdbc8405
  • db/mysql8407
  • db/oracle8408
  • db/postgres8409
  • db/redshift8410
  • db/saphana8411
  • db/snowflake8412
  • db/sqlserver8413
  • db/teradata8414
  • vertica8415

Fixes an issue with various Update Snaps where the Snaps were unable to perform specified operations when:

  • An expression was used in the Update condition property.
  • Input data contained the character '?'.
MySQL db/mysql8390

Fixes an issue where the MySQL Snaps were unable to reconnect to the MySQL database after the breakdown of a connection.

  • msdynamicsax8376
  • soap8375

The MS Dynamics AX and SOAP Snaps have a Library API drop-down list. When you select the non-default HTTP Components, there is a breaking change in the structure of the output response document between 4.19 GA version (snapsmrc528) and the latest patch version (msdynamicsax8376 and soap8375). 

We recommend that if you want to use the non-default (non-CXF) value for Library API, then you must use this latest patch version, as subsequent GA releases may result in Pipeline executions failing. 

If your current or new Pipelines use CXF as the Library API value, or do not handle SOAP response bodies greater than 1000 lines, or do not rely on NTLM authentication, then you can continue using your existing Snap Pack version (stable distribution: snapsmrc528).

REST rest8374
  • Adds a drop-down property Retry Policy to the REST Snaps to provide users with different retry options for connection and 4xx and 5xx error responses.
  • Fixes the REST GET Snap, which limited the output to five documents even when more output documents are expected.

Critical fix:

If your current or new Pipelines with REST Snaps use the retry functionality, we recommend you use this patch, as subsequent GA releases may result in Pipeline executions failing. Else, you can continue using your existing Snap Pack version (stable distribution: snapsmrc528).

Binary binary8369

Fixes the following issues associated with the SMB account, where:

  • Pipelines with multiple concurrent SMB connections were hanging intermittently.
  • Directories were not deleted completely.
MySQL db/mysql8340

Fixes an issue with the MySQL Bulk Load Snap, where the Snap was unable to execute the bulk load with MySQL 8.0 and higher versions.

Azure Active Directory azureactivedirectory8341

Fixes an issue with the Get Group Members Snap, where the Snap was unable to return more than 100 users.

Google Spreadsheet google/spreadsheet8333Fixes an issue with the Google Worksheet Reader Snap, where the Snap produced output documents for empty rows.
Expensify expensify8335

Fixes the broken doc link for the Expensify Export Report Snap.

OpenAir openair8336

Fixes the broken doc link for the OpenAir Write/Update Snap.

SumoLogic sumologic8337Fixes the broken doc link for the Execute Search Job Snap.
Twitter twitter8338Fixes the broken doc link for the PostDirectMessage Snap.
Transform transform8280Fixes an issue with the Excel Parser Snap, where the Snap incorrectly offered output in the unformatted General Number format.

Fixes an issue with the Hadoop Parquet Writer Snap, where the Snap threw an exception when the input document included one or all of the following:

  • Empty lists.
  • Lists with all null values.
  • Maps with all null values.
  • Fixes an issue with the ServiceNow Insert Snap, where the output provided zero counts if it contained any error records.
  • Fixes an issue with the ServiceNow Update Snap, where a 403 error was encountered while fetching schema.

Fixes an issue with the Birst Upload Snap, where the Snap failed to log in with a token error.

eXtreme-mode Snaps (Big Data) 

New Features and Enhancements

  • Data Preview Enhancement: Displays Snap output data as pie, bar, line, and scatter charts. You can see the entire dataset while navigating through your data records in the paginated tabular view. Apart from offering better controls for navigating through your previewed data per Snap, the enhanced Data Preview form provides multiple options for plotting the various categories of data. 

    You can also select the number of records (up to 2000) that you want to preview through the settings menu in SnapLogic Designer
    . Go to SnapLogic Designer > User Settings > Preview doc count. The default is 50 records. 

  • eXtreme Execute Snap Pack: Introducing a new account type, /wiki/spaces/AP/pages/891289679. This enhancement makes account configuration mandatory for the PySpark Script and JAR Submit Snaps.

    Breaking Change

    Spark 2.x PySpark Script and JAR Submit Snaps now require an account to be configured for the Pipelines to successfully execute. Hence, all existing and new eXtreme Pipelines having either of these Snaps will need either an AWS or Azure account configured. 

  • Spark SQL 2.x Snap Pack: Introducing a new account type, Amazon Web Services (AWS) Account, to support object encryption using AWS Key Management Service (KMS). This enhancement makes account configuration mandatory for the Spark 2.x File Writer and File Reader Snaps. 

    Breaking Change

    Spark 2.x File Writer and File Reader Snaps now require an account to be configured for the Pipelines to successfully execute. Hence, all existing and new eXtreme Pipelines having either of these Snaps will need either an AWS or Azure account configured. 

New Snaps

  • Spark SQL 2.x Snap Pack: Introducing the Sample Snap, which enables you to generate a sample dataset from the main dataset. You can use the sample dataset to test Pipelines, thereby saving resources while designing Pipelines.

Updated Snap Packs

Deprecated Features

  • We have ceased support for Hadooplex and Spark 1.6 Snaps with this release. 

Known Issues

  • eXtreme Pipelines configured with Azure Databricks Accounts having Snowflake Select and Snowflake Insert Snaps need at least one additional eXtreme Snap in between them for the Pipelines to successfully execute.  
  • Data visualization for eXtreme Pipelines on AWS EMR gives an Internal Server Error in DataViz in the following conditions:
    • when you have null and nested structure in preview data, or
    • when previewing complex objects (such as pie charts).
  • eXtreme Pipelines on Azure Databricks with Jar Submit Snap fail with the job canceled as the SparkContext shuts down.

Prior 4.19 eXtreme Dot Releases in 4.20 GA 

The following 4.19 eXtreme (Big Data) Dot Release update is now a part of the 4.20 GA release.

 Click here to expand...
Snap Pack
Update Date
eXtreme Redshift Snap Pack Fixes an issue with the Redshift Insert Snap that fails during Pipeline execution with a Job aborted error.

4.20 UAT Delta

This section tracks the changes made during the iterative pushes to the UAT server and the GA release. The schedule is:

  • UAT #1: Friday, January 24, 2020 (Release updates are published above)
  • UAT #2: Friday, January 31, 2020
  • GA: Saturday, February 08, 2020 (9 p.m. PT)

UAT #2 Fixes


  • Fixes an issue where creating, deleting, or importing an Ultra task is delayed when using the previous Snaplex version (4.19 GA).

4.20 Dot Releases


Always upgrade to the Snaplex version that is labeled Recommended.

Update DateSnaplex BuildUpdates
Patch 3 (Recommended)
  • Fixes an issue that causes Pipelines to stall intermittently because of clean up of HTTP connections.
  • Fixes an issue where the Pipeline execution underlying Ultra and Triggered Tasks stalls at the Union Snap.
  • Fixes the Mapper Snap that outputs an empty array instead of a null value and adds a feature flag to restore the original behavior of raising an error instead of returning an empty array in the expression language for JSONPaths (which access a missing property).
Patch 2 
  • Fixes an issue which causes a child Pipeline execution to fail with a Duplicate Prepare request error when communicating with neighboring nodes in Snaplex.
Patch 1
  • Fixes an issue where Snaplex node alerts are not updated on the Dashboard.
  • Fixes an issue where the Autovalidation in Expression Builder does not occur.
  • Fixes an issue where using the date.parse function results in an invalid format error even if you entered the date string correctly.
  • Fixes an issue with Ultra Pipelines where both Binary to Document Snaps and the snap.original.load().content expression results in errors.
  • Fixes an issue where Tasks triggered on a Groundplex do not execute, resulting in timeout errors.
  • Fixes an issue where the File Writer Snap is failing with endpoint connection errors.
  • Fixes an issue with cached Tasks based on Pipelines that try to start a child Pipeline on another node in the same Snaplex.
  • Fixes an issue where when file:/// protocol is used to read files with an account specified at the Snap level does not read the file.
  • Fixes an issue with the Hadoop Snap Pack that causes Pipelines to fail.


Updates to the UI happen automatically and do not require a Snaplex upgrade. However, you may have to clear the cache in your browser.

Update DateUpdates
  • Reverts the New Form UI from the default option to an opt-in feature until the next release to allow us more time to collect and incorporate user feedback. 
  • If you enabled the New Form UI in the User Settings dialog during the 4.19 GA release (when it was an opt-in feature), the form design does not change for your user. 
  • Fixes an issue where the Data Preview window does not display data in multiple files.
  • Fixes an issue where modifying an account through Snaps from the Box, REST, or SOAP Snap Packs can cause the editing window to disappear, instead of displaying the Edit Account dialog.
  • Fixes an issue with Vertica Bulk Load Snap when using the New Form UI where clicking Schema Name to load suggestions might display multiple error messages instead of one.
  • Fixes an issue where the Confluent Kafka Consumer and Producer Snaps fail with a validation error for the Partition Number property setting.
  • Fixes an error where opening any Snap from the eXtreme Snap Pack in an Org without an eXtremeplex results in a script error.
  • Fixes an issue where trial users in a Freemium Org follow the workflow to create an Org with a Snaplex, but the Snaplex is not actually created. 
  • Fixes an issue where creating a parent Pipeline that invokes a child Pipeline using Snaps with multiple output views results in a script error.
  • Fixes an issue where after creating a suggested Pipeline, the Suggested Pipeline panel does not refresh.
  • Fixes an issue where both Dynamic Validation and Expression Builder output previews are not displaying warning messages after faulty input.
  • Fixes an issue where user permissions are inconsistent across Project folders and the Shared folder, causing access issues.
  • Fixes missing file selection icons for JDBC Driver field in Account dialog when using MySQL Snaps.
  • Fixes an issue where Snap Settings dialog remains open in Designer even after the Pipeline is closed.
  • Fixes an issue where saving a Pipeline on the Designer Canvas while hovering over the Suggested Pipelines pane results in an error.
  • Fixes an error where clicking the Table Suggest icon in the MySQL Snap with incorrect Account information does not display an error message
 Fixes an issue where some custom Snaps were not displaying the Expression Toggle even though the Expression Toggle had been enabled previously.

Standard-mode Snaps

Snap PackUpdate DateBuildUpdates
JMS jms8824Fixes an issue in the JMS Consumer Snap due to which the Snap does not release the memory even after Pipeline termination, leading to huge memory spikes.
Workday workday8817

Fixes the Workday Write Snap that ignores the Import Synchronized check box selection while importing object data. The Snap now:

  • Waits for the current import request to complete, whether successfully or with error, before initiating the next import request.
  • Provides accurate real-time status of the request to downstream Snaps.   

Existing Pipelines using this Snap may experience longer execution times due to the synchronous behavior. However, you no longer need to use an additional Snap to capture and pass on the request status to downstream Snaps.

SOAP soap8816

Enhances the SOAP Execute Snap to allow user-specified empty fields in the SOAP request.

MySQL db/mysql8815Fixes the MySQL Stored Procedure Snap to resolve compatibility issues with the Amazon Aurora database.
Oracledb/oracle8812Enhances the Oracle Snap Pack to support connection to the Oracle ADG (Active Data Guard) URL.
Emailemail8813Fixes an issue with the Email Sender Snap that caused the Snap to fail while uploading attachments to SMB locations when the attachment password contained a forward slash "/".
Salesforce salesforce8814Fixes the Salesforce Create, Update, Bulk Create, Bulk Update, and Bulk Upsert Snaps, enabling you to upload files containing duplicate values across multiple fields.
SAP sap8811

Updates the SAP IDoc Write Snap with the following:

  • Fixes the stack overflow error that occurs while retrying to write the IDoc to the SAP server. 
  • Adds inbound success codes to the default value which otherwise only indicates the IDoc being created.
  • Enhances the error messages for a better user experience.
JMS jms8810Fixes the connection leak issue in the JMS Producer Snap.
SAP HANA snapsmrc535

Reverts the SAP/HANA Snap Pack to the stable version snapsmrc535.

SAP S/4HANA  saps4hana8804Introduces the SAP S/4HANA Snap Pack to support the SAP S/4 HANA Cloud and SAP S/4 HANA On-premise environments. The Snap Pack includes the following Snaps:
Oracle db/oracle8803Support for Oracle Database 19c.
Binary binary8801
  • Fixes the Decompress Snap wherein the Snap stops decompressing at 64MB without displaying any error, when decompressing using the GZIP scheme.
  • Fixes an issue in the PGP Encrypt Snap so that third-party decryption tools do not receive a .tmp file from the Snap. 
Snowflake db/snowflake8800

Certifies the Snowflake Snap Pack against JDBC Driver version 3.12.3.

Snowflake Execute and Multi-Execute Snaps may break existing Pipelines if the JDBC Driver is updated to a newer version.

With the updated JDBC driver (version 3.12.3), the Snowflake Execute and Multi-Execute Snaps' output displays a Status of "-1" instead of "0" without the Message field upon successfully executing DDL statements. If your Pipelines use these Snaps and downstream Snaps use the Status field's value from these, you must modify the downstream Snaps to proceed on a status value of -1 instead of 0.

This change in the Snap behavior follows from the change introduced in the Snowflake JDBC driver in version 3.8.1:
"Statement.getUpdateCount() and PreparedStatement.getUpdateCount() return the number of rows updated by DML statements. For all other types of statements, including queries, they return -1."

REST rest8798Fixes the REST POST Snap that fails when a single file is uploaded in multi-part form using the Single file upload Snap settings.
NetSuite netsuite8799Updates the NetSuite Create, Update, Upsert, and Async Upsert Snaps to use the Classification type instead of Class, to resolve schema generation issues. While the Class type remains available in the NetSuite Search and Async Search Snaps for backwards compatibility, use of the Classification type is recommended.
Salesforce salesforce8797Fixes the Salesforce Subscriber Snap wherein the Salesforce Subscriber and Mapper Snap combination generates Null output for Array object type.
SQL Server db/sqlserver8793Fixes an issue in the SQL Server - Insert Snap due to which the Snap failed to load values of data type INT.
SQL Server db/sqlserver8796Fixes the SQL Server - Bulk Load Snap to mask the password in the logged exception messages
Transform transform8792Resolves the NoClassDefFoundError in the Join Snap on Windows Snaplex instances.
Binary binary8791Fixes the ZipFile Write Snap wherein the Snap fails to execute if it finds different zip file paths when processing multiple input binary data.
Active Directory activedirectory8789Fixes the Active Directory Snaps to successfully read special characters in the Existing distinguished name and Distinguished name Snap settings without requiring escape characters.
Transform transform8788Resolves the NullPointerException in the Join Snap on Windows Snaplex instances.
Binary binary8785
  • Adds the User-defined object metadata and Object tags properties in the S3 File Writer Snap and the Get Object Tags property in the S3 File Reader Snap to allow inclusion of user defined metadata and object tags.
  • Fixes a regression caused by Patch binary8775 wherein the File Reader and S3 File Reader Snaps fail to read S3 files with an account which does not include GetObjectTagging permission.
MySQL  db/mysql8786Fixes the MySQL - Bulk Load Snap to use the UTF-8 character set for writing temporary files in order to successfully handle special characters, irrespective of the value specified in the Character set field in the Snap settings.  
Hadoop hadoop8776Updates the Hadoop Snap Pack to use the latest version of org.xerial.snappy:snappy-java for compression type Snappy, in order to resolve the java.lang.UnsatisfiedLinkError: org.xerial.snappy.SnappyNative.maxCompressedLength(I)I error.
JDBC jdbc8783

Fixes the Generic JDBC Execute Snap that adds the value of the previous column's field to a NULL field when SELECT queries having duplicate column names are run on the PostgreSQL database.

Binary binary8775Fixes the File Writer Snap to allow the deletion of temporary Google Storage files from the /tmp directory of the Groundplex if Pipeline execution stops before completion. 
Redshift db/redshift8774Fixes the Redshift - Execute Snap that hangs if the SQL statement field contains only a comment ("-- comment"). 
Google BigQuery  google/bigquery8773Fixes the NPE issue with stored procedures and DROP TABLE queries in the Google BigQuery Execute Snap.
ML Core mlcore8770Adds the log4j dependency to the ML Core Snaps to resolve the "Could not initialize class org.apache.log4j.LogManager" error.
ML Analytics mlanalytics8769Removes the  unused jcc-optional dependency from the ML Analytics Snap Pack.
ML Data Preparation  mldatapreparation8771Removes the  unused jcc-optional dependency from the ML Data Preparation Snap Pack.
ML Natural Language Processing mlnlp8772Removes the  unused jcc-optional dependency from the ML Natural Language Processing Snap Pack.
JMS jms8765

Fixes an issues with the JMS Consumer Snap that fails to successfully create durable subscribers when run in asynchronous mode.

SOAP soap8762

Fixes the SOAP Execute Snap to:

  • Successfully handle redirected requests, when the WSDL file specifies an HTTP URL which redirects SOAP requests to an HTTPS URL.
  • Successfully generate the schema even if the XSD does not contain the <types> element. 
Microsoft Dynamics AX  msdynamicsax8763Fixes the Microsoft Dynamics AX Execute Snap to use the correct headers list for returning the HTTP response code.
Workday Snap Pack workday8761Fixes the Workday Read Snap that fails to validate when configured in the new form UI. 
Transform transform8760
  • Fixes an issue with the CSV Parser Snap wherein the Snap fails when it is configured in the new Form UI if the Contains headers and Validate headers fields are not selected but empty rows exist in the Column names field.
  • Fixes the JSON Formatter Snap to filter the input data based on the value specified in the Content field in the Snap settings when the JSON lines field is also selected. Previously, the Snap was writing the entire input data to the output file

JSON Formatter Snap behavior might break existing Pipelines

The JSON Formatter Snap output now includes only those fields from the input file that are specified in the Content field under Settings. 

If your Pipelines use the JSON Formatter Snap with the  JSON lines field selected, they may fail to execute correctly if the Content field mentions a specific object or field but the downstream Snap is expecting the entire data. Hence, for backward compatibility, you must review the entries in the Content field based on the desired output, as follows: 

  • Enter to include all the fields in the output.
  • Enter or select the specific fields to restrict the output to. 

The behavior of the Snap when the JSON lines field is not selected is correct and remains unchanged.  

The Example: Filtering Output Data Using the JSON Formatter Snap's Content Setting further illustrates the corrected vs the old behavior.

  • Fixes an issue in the XML Generator Snap due to which the custom XML data in the Edit XML field got ignored when inbound schema and root XML element were also provided, and instead, the output was generated from upstream data. For Pipelines with a standalone XML Generator Snap, a "Premature end of file" error was displayed. 

XML Generator Snap behavior might break existing Pipelines

The XML Generator Snap now gives precedence to any custom XML data that is provided over data coming from upstream Snaps, to generate the output. 

Existing Pipelines using the XML Generator Snap may fail in the following scenarios. Use the resolution provided to update the Snap settings based on the XML data you want to pass to downstream Snaps.

Breaking Scenario


Downstream Snaps expect XML output from upstream Snaps, but custom XML data exists in the XML Generator Snap.

  • To use custom XML data, ensure that the Inbound schema and XML root element are specified and custom XML data is entered using the Edit XML option.
  • To use data from upstream Snaps, ensure that the Inbound schema and XML root element fields are blank and no custom XML data exists in the XML editor.

In the XML Generator Snap settings, the XML root element and Inbound schema are specified but no custom XML data is provided. This will generate a validation error. 
In the XML Generator Snap settings, custom XML data is provided and Validate XML check box is selected, but XML root element and Inbound schema are not specified. This will generate a validation error.
Snowflake db/snowflake8758Re-release of fixes from db/snowflake8687 for 4.20: Fixes the Snowflake Bulk Load Snap wherein the Snap fails to load documents containing single quotes when the Load empty strings checkbox is not selected.
Confluent Kafka confluentkafka8747

Updates the Confluent Kafka SSL Account settings to make the Truststore filepath and Truststore password properties optional. 

Box box8743

Fixes an issue with the Box Snap Pack wherein the OAuth2 token auto-refresh fails for Box accounts. The fix includes a patch released by Box to restore functionality to the "https://www.box.com/api/oauth2/token" URL of the deprecated version 1 of the Box API. 

Box recommends users to start using the endpoint in version 2 of the Box API: "https://api.box.com/oauth2/token". For more information, see the Box blogpost

Binary binary8741
  • Fixes the ZipFile Write Snap wherein the Snap gives a Null Pointer Exception error if no input data is received by it during execution. 
  • Fixes the Email Sender & Reader Snaps where the Snaps fail to execute due to resource exhaustion on the Snaplex.
Transform transform8738
  • Fixes the error that occurs while transforming an XML document into string by retaining only one version of Saxon library – net.sf.saxon:Saxon-HE:9.6.0-10 across the Transform Snap Pack.
  • Fixes null handling in the Aggregate Snap whereby changing the order of entries in the Aggregate fields field set results in different outputs when the input documents contains one or more null values.
  • Fixes the issue with the Excel Parser Snap whereby the Snap does not parse the date and time correctly for custom date formats.
Email email8734Fixes the Email Sender Snap wherein the Snap fails to read attachments from the SMB3 server.


 soap8712Fixes the SOAP Execute Snap where the Snap throws an NPE error when generating a SOAP request template.
Azure Active Directory azureactivedirectory8713

Fixes Azure Active Directory Snaps where the Snaps fail after running approximately an hour when the access token times out, and the Snap fails to detect the updated token.

Binary binary8710
  • Fixes the ZipFile Write Snap where the Snap generates files with incorrect names when the Use input view label checkbox is selected.
  • Fixes the File Writer Snap where the Snap fails intermittently when there is a network disruption.
  • Fixes the File Reader Snap where the Snap generates an output view, along with the error view, if there is an error when using the Google Service account.

Fixes the Email Sender Snap where the Snap:

  • Throws a null pointer issue when using an SMTP account.
  • Fails to read a file from SMB servers if the file name contains special characters.

Fixes the DynamoDB Scan Snap and the DynamoDB Update Snap where:

  • The DynamoDB Scan Snap is unable to produce a preview output on validation. (Instead, the Snap passes the output to the downstream Snap.)
  • The DynamoDB Update Snap produces two error documents for the same error during preview output.

eXtreme-mode Snaps

Update DateBuildUpdate

Fixes an issue with eXtreme Pipelines where clicking Data Visualization in Snaps in which null values are being passed can produce internal server errors.