EasyMorph Changelog

What's new in EasyMorph 5.7.2.0

Apr 10, 2024
  • New connector: Slack, ntfy, Teradata. New SQL dialect: Teradata.
  • New actions: Slack Bot, Send message to ntfy, Anonymize. Inner join mode in the Merge action. Import of Qlik QVD metadata. Functions to work with delimited lists in cells (sets) - union, diff, intersection, count, containsall, containsany, sort.
  • Desktop: viewing computed results of .morph files in Explorer.
  • Server UI: filters and charts in Analysis View.

New in EasyMorph 5.7.1.3 (Mar 25, 2024)

  • Security improvements. Whitelist of invalid SSL certificates. Cumulative bugfixes.

New in EasyMorph 5.7.1.2 (Mar 20, 2024)

  • Security improvements. Whitelist of invalid SSL certificates. Cumulative bugfixes.

New in EasyMorph 5.7.1.1 (Mar 19, 2024)

  • Security improvements. Whitelist of invalid SSL certificates. Cumulative bugfixes.

New in EasyMorph 5.7.0.0 (Jan 31, 2024)

  • Explorer - a new data exploration tool that supersedes Catalog, available in Desktop and Server. The Catalog becomes part of Explorer. Boards in Explorer. Board section types: Metrics, Table, Charts, Asset shortcuts, Text. New connectors: Jira, Microsoft Teams. New actions: Email Command, Import from Jira, Jira Command, Import from Apache Parquet, Microsoft Teams Bot. Desktop: viewing .dset files in Explorer. Server: view static and computed datasets in Analysis View, Shared Memory commands in ems-cmd.

New in EasyMorph 5.6.2.0 (Dec 23, 2023)

  • Cumulative bugfixes.

New in EasyMorph 5.6.1.9 (Dec 5, 2023)

  • Dataset Editor in the "Import dataset" and "Sandbox" actions. Append mode in the "Export dataset" action. Connector and action for ChatGPT. New EasyMorph Server command: Find files recursively. New functions: istextdate() and detectformat(). Heatmaps in cross-tables. Editing statiс datasets in the Catalog. Editing local and Server-hosted .dset files in the File Manager. Cell bar in Workflow Editor. New Server UI.

New in EasyMorph 5.6.1.6 (Nov 29, 2023)

  • Breaking changes:
  • Bugfixes in Airtable actions:
  • Previously, when performing export, update or deleting records in Airtable and the input dataset was empty, the column [Operation result] wasn't created. Now it's always created no matter if the current dataset is empty or not. The bugfix affects the following actions:
  • Export to Airtable:
  • Update/delete rows in Airtable:
  • Previously, if the "Import from Airtable" action did't return any rows, no (empty) columns were created even if one or more columns were selected in the action properties. Now the selected columns are always created no matter if they contain data in Airtable or not.
  • Bugfixes in the "Parse webform submission" action:
  • The action now fails if the parsed column (with web-form submissions) contains non-text values.
  • Empty cells are no longer ignored and dropped out from the output. They are preserved as empty text values

New in EasyMorph 5.6.0.0 (Sep 21, 2023)

  • New Catalog item: Metric (KPI).
  • New connector: Dropbox.
  • New actions: Azure Blob Storage Command, Dropbox Command, Compare tables, Natural Merge.
  • New Catalog commands: Get metric, Set metric.
  • New File commands: Zip list of files, Zip folder.
  • New EasyMorph Server command: Create folder. Auto-save in EasyMorph Desktop.
  • File Manager: zipping local files and folders, unzipping files, copying local files, copying local folders.

New in EasyMorph 5.5.0.1 (Jul 7, 2023)

  • New connectors:
  • EasyMorph now has the Azure Blob Storage connector. In this version, the connector is only used in the
  • File Manager. The "Azure Blob Storage command" action will be added in v.5.5.1.
  • S3-compatible file services are now supported with the new "Amazon S3-compatible" connector.
  • Changes in existing connectors:
  • The SharePoint connector now has an option for chunked upload. Check this option to enable uploading
  • large files in the last versions of SharePoint.
  • New actions:
  • The new To-Do action does nothing, it's an action placeholder. Use the action to plan/request
  • changes and collaborate on workflows. See more details here: Announcement: the "To-do"
  • action

New in EasyMorph 5.4.3.13 (Jun 21, 2023)

  • New option in the "Add data" menu: Retrieve Catalog item. Buttons "Publish to Catalog" and "Open from Catalog" in the Workflow Editor.

New in EasyMorph 5.4.3.1 (Apr 13, 2023)

  • Changed actions:
  • Actions Web Request and Iterate Web Request now allow specifying request parameters together with an uploaded file.
  • Adding data from the Catalog:
  • The "Add data" menu has got a new option: "Retrieve Catalog item". The new menu option simplifies adding data from the Catalog to a workflow.
  • When selected, it opens a dialog where you can select a Catalog item (and, optionally, enter its parameters). After that, it creates the "Retrieve Catalog item" action that is automatically configured to retrieve the selected Catalog item (such as dynamically computed dataset).
  • Miscellaneous:
  • New button "Open project from Catalog" on the Start screen (shown only when Desktop is linked to Server). When pressed, opens the project that calculates the selected Catalog item.
  • New button "Publish project to Catalog" in the Project menu. When pressed, opens a dialog for creating/updating a calculated Catalog item.
  • The Thumbnail Editor has been deprecated and removed from the application.

New in EasyMorph 5.4.2.1 (Mar 30, 2023)

  • New connector: Google Search Console. New actions: "Roll up", "Import from Google Search Console". Amazon S3 commands: Create/Delete folder. OneDrive commands: Create/Rename/Delete folder. SharePoint commands: Create/Rename/Delete folder. Command "List sheets" in "Import from Google Sheets".

New in EasyMorph 5.4.1.0 (Feb 20, 2023)

  • Action "Hierarchy path". Support for the Denodo SQL dialect. SFTP commands: List files, List folders, Delete file. Google Drive commands: List folders, Create/Rename/Delete folder. Request parallelization in "Iterate web request". Preserve input columns in "Web request" and "Iterate web request". Desktop: easier way to add derived tables/charts.

New in EasyMorph 5.4.0.1 (Jan 23, 2023)

  • SFTP: List files, delete files.

New in EasyMorph 5.4.0.0 (Jan 22, 2023)

  • Custom API endpoints on EasyMorph Server. Connector for Pushover. New actions: "Incoming HTTP request", "Construct HTTP response", "Parse web form sumbission", "Concatenate text", "Skip on condition in another table", "System information", "Send messsage to Pushover". Bulk export to Oracle (experimental).

New in EasyMorph 5.3.4.0 (Jan 5, 2023)

  • Breaking changes:
  • The "Enumerate rows" action in the "Repeat after" mode:
  • The "Enumerate rows" action in the "Repeat after" mode (introduced in v5.3.1) wasn't saved correctly in
  • .morph files. As a result, when the "Repeat after" mode was enabled, it always restored to the default
  • "Repeat after" value that was 10. The bug could lead to incorrect calculations that use the action. The
  • problem only occurs when the checkbox "Repeat after" is checked in the action. If it's not checked,
  • everything works as expected. Note that the "Repeat after" option is very rarely used.
  • In version 5.3.4, the bug has been fixed. However, projects that contain the "Enumerate rows" action in
  • the "Repeat after" mode (and only in that mode) fail to open and produce the error "Wrong value of
  • RepeatAfter". If you see this error, send the project that caused it to [email protected]. The
  • technical support team will fix the project and will send it back to you. When you receive back the fixed
  • project, the "Repeat after" mode will be switched off. You will need to edit the settings of the
  • "Enumerate rows" action manually, tick the "Repeat after" checkbox and set the number of rows to
  • repeat after (unfortunately, this number can't be recovered automatically).

New in EasyMorph 5.3.3.0 (Dec 11, 2022)

  • New action "Catalog command". Quick filters in the "Find actions dialog". Catalog: charts in the Dataset Viewer.

New in EasyMorph 5.3.2.1 (Nov 25, 2022)

  • Changes in existing connectors:
  • The SharePoint connector now supports MFA accounts.
  • Changes in existing actions:
  • The "EasyMorph Server Command" action now has 3 new commands for manipulating folders:
  • Create folder
  • Delete folder
  • Rename folder
  • What's new in Desktop:
  • Miscellaneous:
  • The "Embedded connectors" tab has been removed from the Connector Manager. Embedded:
  • Connectors are now managed in a separate dialog invoked from the "Project menu".
  • The chart settings page (in the sidebar) has been redesigned. No new functionally added

New in EasyMorph 5.3.1.0 (Nov 8, 2022)

  • Bulk export to Google BigQuery. Desktop: new dialog "Find actions". Launcher: task commands.

New in EasyMorph 5.3.0.5 (Sep 21, 2022)

  • New features of Catalog:
  • Item commands,
  • Hyper-linking, and re-retrieving.
  • New actions:
  • "Modify JSON",
  • "Split JSON array into rows",
  • "Extract JSON properties",
  • "Play sound".
  • Automatic upgrade of Server Link to HTTPS when possible.

New in EasyMorph 5.3.0.1 (Sep 15, 2022)

  • What's new in Desktop:
  • Re-retrieving Catalog datasets:
  • It is now possible to re-retrieve a Catalog dataset when it's retrieved by pressing the "Re-
  • retrieve" button on the toolbar in the "Datasets" menu. Item parameters will be prompted
  • for.
  • Updating Catalog items:
  • When a dataset item from the Catalog is open, it's now possible to update its configuration
  • right from the "Datasets" menu. It also makes it easier to add field names in the item
  • configuration as fields names are automatically populated from the currently open dataset.
  • Auto-detecting SSL in Server Link:
  • EasyMorph Desktop now automatically upgrades HTTP to HTTPS in Server Link if SSL is configured in
  • EasyMorph Server. This simplifies switching to using SSL encryption in EasyMorph Server because
  • Desktops now don't require changing Server Link settings, it works automatically.
  • Miscellaneous
  • Workflows that don't use connectors can now be executed even when the connector repository
  • is not accessible
  • Now all actions of a table can be disabled or enabled at once from the table right-click menu
  • The "Math" category in "Transform" tab of action catalog (in the sidebar) has been removed and
  • replaced with the "Web" category containing actions for dealing with web API and JSON/XML
  • data. The actions from the "Math" category have been moved to the "Advanced" category
  • The "Datasets" menu now has the "Execute command" button to trigger general commands of
  • the current item (if they are defined in item settings)
  • The sidebar of the Catalog's start screen no longer contains items that have been used
  • It's now possible to open project right from the right-click menu of a calculated Catalog item

New in EasyMorph 5.2.1.5 (Jul 18, 2022)

  • Per-space licensing for Data Catalog
  • New Catalog item types
  • New connector: Qlik Cloud
  • Simplified Server Link configuration
  • The Connector Manager button has been moved to the app bar
  • The Data Catalog app is available in the free edition
  • Expression Editor shows the column name, where applicable

New in EasyMorph 5.2.0.4 (Jun 1, 2022)

  • New actions:
  • The Retrieve from Catalog action can be used for automated dataset and file retrieval from the Catalog in visual workflows.
  • Changes in existing connectors and actions:
  • The "Google Analytics" connector now supports Google Analytics v4.
  • Actions that work with Google Drive or Google Sheets now support file and folder shortcuts in Google Drive.
  • The "Import from Excel" action now uses a new, more memory-efficient algorithm that
  • dramatically reduces memory consumption when loading Excel spreadsheets.
  • What's New in Desktop:
  • Data Catalog:
  • The Data Catalog is effectively a new application built in EasyMorph Desktop and is tightly integrated with Workflow Editor (which has all the functionality before v5.2). Such built-in applications are the new vector of development for EasyMorph. More powerful applications will be added in the future and all of them will be tightly integrated with each other.
  • What's new in EasyMorph Server:
  • Rescue login:
  • Logging in without a password from localhost is no longer possible. Instead, password-less logging in for Server administrators is only possible by pressing "Rescue login" in the Server Monitor.
  • Data Catalog:
  • The Server UI now has a new tab, "Data Catalog", that contains Catalog items. Users can browse Catalog directories and retrieve Catalog items. However, creating or editing items and directories from the Server UI is not possible.
  • Note that Data Catalog is disabled by default in space settings and is only available in spaces with Active Directory authentication configured (not available in the Teams edition)
  • Real-time EasyMorph Gateway:
  • EasyMorph Gateway is now generally available and is ready for production use. It offers real-time notification between cloud applications (or anything that can send HTTP requests or webhooks) and your EasyMorph Server without exposing the Server to the public internet. An HTTP request received by the Gateway can trigger a Server task in near-real-time (the mean reaction time is around 3 seconds).
  • High availability, end-to-end encryption, and inbound message queue ensure that incoming webhooks will not be lost and the messages (requests) will be securely delivered to EasyMorph Server for processing. The processing is done with the help of the "Incoming webhook requests" action.
  • Task retrying:
  • It is now possible to configure task retrying if the task fails. Up to 5 attempts can be made with intervals of up to 60 minutes. Only when the last attempt fails the task is considered failed.
  • Better security:
  • Internet Explorer 11 is no longer supported
  • EasyMorph projects are now digitally signed. Execution of projects with broken digital signature (which means the project file was changed outside of EasyMorph Desktop) can now be prohibited on a per-space basis.
  • Improved user interface for changing workers in spaces. Now it performs a quick audit to ensure that the selected worker has the necessary permissions to access the repository and files of space.
  • The Server installer now works differently for clean installations. It creates the Windows account group "EasyMorph Server" for the Server service account. The group "Everyone" is no longer used for setting permissions for the System folder. If the Server service should be switched to a new Windows account, that account must be added to the "EasyMorph Server" group before switching.
  • Miscellaneous:
  • Option for email notification frequency: notify on each error or don't notify about repeating nerrors.

New in EasyMorph 5.1.2.0 (Jan 30, 2022)

  • New "dense" algorithm of JSON parsing. New Excel commands: "Save as PDF" and "Re-save".

New in EasyMorph 5.1.1.1 (Dec 10, 2021)

  • Server: Free memory indicator. Hot-reloading space tasks. Labels for workers.

New in EasyMorph 5.1.1.0 (Dec 9, 2021)

  • What's new:
  • Actions that work with Google Drive now support file shortcuts
  • The "Export to Google Sheets" now retries automatically if the request quota has been exceeded
  • Resolved the issue with repository file locking
  • Improved basic HTTP authorization flow in the "Web location" connector
  • The "Excel command" action is no longer experimental
  • Workers now can have optional labels to help distinguish workers that operate under the same
  • Windows account
  • Email notifications about failed tasks now have a new, more polished look
  • Fixed/improved layouts of some tables in admin tabs

New in EasyMorph 5.1.0.0 (Nov 17, 2021)

  • What's new:
  • Connector for OneDrive:
  • A connector for OneDrive is now available. It allows performing file operations with personal OneDrive.
  • Changes in existing connectors:
  • The "Gmail" now uses the new Google API under the hood. This was required by Google in order to verify the connector.
  • The "Amazon AWS" connector now allows specifying a secure session token for S3 connections that require advanced security.
  • The "Web location" connector now has an option "Refresh token never expires" that manages OAuth refresh token expiration. It should be disables for web services with short-lived refresh tokens.
  • The "Tableau Online" connector now has a new sign in option "Personal access token (PAT)" that supports MFA authentication that will be enforced for all Tableau Online accounts starting from February 1st, 2022.
  • New actions:
  • The Breakpoint action is intended for limiting calculation scope during workflow editing, or
  • making a user-controlled calculation flow. It stops project execution without an error. There are three operation modes available:
  • Always break / never break
  • Break on condition
  • Break on every other run, continue on next run (stop / go)
  • The OneDrive command action executes several commands with files stored in OneDrive:
  • List files
  • Upload a file
  • Upload a list of files
  • Download a file
  • Download a list of files
  • Delete a file
  • Delete a list of files
  • The identity function:
  • The new system function 'identity' returns the Windows identity of the user that triggered the current workflow. The function can be used for enforcing row-level security.
  • Support for UIDs:
  • Database-related actions and queries now support a new data type – UID (universal identifier). UIDs are distinguished from text values and treated respectively in actions and query conditions.
  • What's new in Desktop:
  • Miscellaneous:
  • The table name in the Query Editor can now be specified using a parameter
  • Filtering conditions in the Query Editor now support using first column values
  • The Query Editor now supports the data type "UID".
  • What's new in Server:
  • Read/write passwords for repositories
  • It is now possible to set (and remove) read/write passwords for connector repositories right from the Server UI. Note that read and write passwords work a bit differently:
  • The read password is required to read a repository. It ensures that a repository can't be used on another
  • machine without providing a password. They are used on Server to read a repository. Desktop users that
  • access a Server-hosted repository don't have to provide the read password (Server does it for them).
  • However, only the users that know the write password can change/update connector settings.
  • As of version 5.1, Desktops can't use directly a repository file that is protected with a read password.
  • Such repositories can only be used via Server. Support for read passwords for file repositories used in Desktops will be added in version 5.1.1.
  • Warning! There is no password recovering mechanism. If you lost a read password and the repository becomes inaccessible, it can't be recovered even by EasyMorph technical support. There are no backdoors.
  • Space notifications:
  • Previously, if a Server task failed an email notification could be sent to the address(es) specified in the Server settings. However, for customers with a large number of spaces having a single email notification address was inconvenient.
  • In version 5.1 it is now possible to specify one or more email addresses for notifications in each space.
  • When one or more addresses are provided, all notifications about failed tasks in the space are sent to the specified address(es) instead of the default recipients defined in the Server settings.
  • Miscellaneous:
  • The "Stop task" has been moved closer to the "Start task" button
  • The global selector of spaces has been removed for admin tabs
  • The height of lists of running tasks/active user sessions can now be configured (3/5/10 lines)
  • The Server no longer sends email notifications for tasks that can't be started because another instance of this task is already running, or the task has reached the limit for simultaneous task runs.
  • The Server no longer sends repeating error notifications if a scheduled task started failing on each scheduled run and producing the same error. The error notifications resume if a task was successfully executed at least once and then failed again, or if it produces a different error. This removes excessive notifications and increases significance of each error notification
  • Now when a space is created its worker can be specified right on the space creation page

New in EasyMorph 5.0.0.2 (Oct 18, 2021)

  • Script modules for Python scripts. Browser for remote files.

New in EasyMorph 5.0.0.1 (Oct 16, 2021)

  • Breaking changes:
  • Update actions not available in the free edition :
  • Starting from version 5, the actions that update data in external systems are no longer available in the
  • free edition. Instead, these actions are now only available in the paid Professional edition.
  • Bulk export to database
  • Update database rows
  • Update/delete rows in Airtable
  • Besides that, the new actions "Update/delete records in Salesforce" and "Update/delete rows in
  • SharePoint list" are also available only in the paid Professional edition. Furthermore, update/delete
  • actions for new cloud applications will only be available in the paid edition(s) in all future releases.
  • There are no other changes to the limitations of the free edition.
  • No command-line mode in EasyMorph Desktop:
  • The command-line mode is no longer available in EasyMorph Desktop. Instead, the Command-Line
  • Worker (CLW), a new purpose-built command-line utility (described further in the document), should be
  • used for executing EasyMorph projects from the command line.
  • The utility is licensed separately. However, all existing customers at the moment of releasing v5 (i.e.,
  • customers that had a valid EasyMorph Pro license on October 15th 2021) can obtain a license for CLW
  • free of charge by sending a request to [email protected].
  • What's new:
  • Using first column values:
  • This new feature addresses a long-time problem that became especially apparent when EasyMorph
  • started being used more and more for automation rather than pure ETL – the lack of means to use
  • column values as action properties. Previously, it required using the "Iterate" action with a single-row
  • action which was very unobvious.
  • Starting from v5, this workaround is no longer necessary. Instead, many actions now accept a first
  • column value for an action setting. Many settings that can be configured using a parameter now can also
  • be configured using the first value of a column. For instance, in the screenshot below, the "Zip file"
  • command takes the target file path from the 1st value in column "File name with full path".
  • Shared memory:
  • From a technical standpoint, the shared memory is centralized key-value storage physically located in
  • the same repository where data connectors are stored. At this point, 4 operations can be done with the
  • shared memory:
  • Remember value by key
  • Recall value by key
  • Forget key with its value
  • List keys and respective values
  • If you're not familiar with the concept of key-value storage, you can think of it as advanced calculator
  • memory in which each memory cell has its own name (key). The operations with the Shared Memory
  • are performed using the new "Shared memory" action described further in the document.
  • The Shared Memory can be convenient in many cases:
  • Store temporary values - e.g., store the last loaded date when doing incremental loads.
  • Pass values between workflows and users - Similarly to the shared connectors, the Shared
  • Memory can be accessed from different Desktops. Once a value is remembered, it can be
  • accessed by all Desktops and Server spaces that use the same repository
  • Environment configuration - The Shared Memory can store configuration settings that are
  • different in PROD and TEST environments.
  • Workflow variable - While project parameters are constant and don't change during a workflow
  • run, the Shared Memory values can be set, removed, and changed in a single workflow
  • Lightweight data store - Sometimes, using a relational database to store and share just a few
  • values looks like overkill. The Shared Memory can be more appropriate for such cases.
  • Features of the Shared Memory:
  • Access restriction - the same access restrictions as for data connectors apply
  • Concurrency - the shared memory supports simultaneous operations from different computers
  • EasyMorph data types - values are remembered and recalled in precisely the same data types as
  • in EasyMorph - number, text, boolean, empty value. Errors can't be remembered by design.
  • Long text values - you can store large text objects, such as JSON, in the store
  • Encryption - all stored data is encrypted
  • Command-line Worker:
  • The Command-Line Worker is a new utility purpose-built for the execution of EasyMorph projects from
  • the command line. It should be used for integration with 3rd party applications through the command
  • line (EasyMorph Desktop no longer has the command-line mode). Unlike the Desktop, CLW is installed
  • for all users of a machine and is licensed per machine and not per user.
  • Automatic email notifications on failure
  • Automatic webhook notifications on failure with customizable JSON/XML templates
  • The "Fire & Forget" mode - start a project but don't wait until it finishes
  • Application log
  • The webhook notifications with JSON templates are an interesting feature because it makes it easy to
  • send notifications directly to MS Teams or Slack.
  • Overall, Command-Line Worker provides more robust command-line execution and integration with
  • external applications.
  • After installation, two executables are available - the worker itself and the GUI utility for configuration.
  • Run the configuration utility first to configure a license and a repository.
  • Stronger repository security:
  • Version 5 tightens up security and introduces repository encryption. Starting from this version,
  • EasyMorph repositories are automatically encrypted using an industry-standard 2048-bit algorithm.
  • Note that repositories created in earlier editions are encrypted automatically and transparently for the
  • user, so no manual action is required. A backup copy of the old repository is created automatically. You
  • may want to remove it after a while or move to a secure location.
  • The ability to provide a read password for a repository will be introduced in version 5.0.1.
  • SQL Dialect for Amazon Athena:
  • EasyMorph now supports visual queries, export, and other database operations with Amazon Athena via
  • an ODBC driver. Make sure you're using a 64-bit ODBC driver for Amazon Athena with EasyMorph.
  • Connector for EasyMorph Gateway:
  • The EasyMorph Gateway connector points to an endpoint of EasyMorph Gateway. The connection goes
  • through the EasyMorph Server that is specified in the connector settings.
  • Connector for Salesforce:
  • A connector for Salesforce is now available. It supports 2-factor authentication by Salesforce and a
  • custom OAuth client (in case you don't want to use the standard one).
  • Changes in existing connectors:
  • The "Web Location" connector in OAuth mode now automatically renews access tokens. This makes it
  • suitable for use with web services and cloud applications with short-living OAuth tokens.
  • The native connector for the Postgres database now has an option for using SSL.
  • The "Power BI" connector now doesn't require re-authentication after 90 days.
  • The "SharePoint" connector now allows specifying a time zone for importing/exporting dates.
  • New actions:
  • The Import from Salesforce action records from a Salesforce object and, optionally, it's child or
  • parent objects.
  • The Export to Salesforce action inserts records into a Salesforce object.
  • The Update/delete records in Salesforce action allows updating or deleting records in Salesforce.
  • The Incoming webhook requests action retrieves web requests sent to a webhook endpoint of
  • EasyMorph Gateway.
  • The Shared memory action performs operations with the Shared Memory: remember, recall,
  • forget, and list values.
  • The Export to SharePoint list inserts new records in a SharePoint list.
  • The Update/delete rows in SharePoint list action deletes or updates rows in a SharePoint list.
  • The Excel command action executes several commands with Excel spreadsheets:
  • Run VBA macro – run a Visual Basic macro and, optionally, capture its return value(s)
  • back into EasyMorph
  • List sheet/ranges (this used to be the "Excel metadata" action that is now deprecated)
  • Rename sheet
  • Delete sheet
  • Recalculate workbook
  • The action is experimental, meaning that it may still have unresolved issues (although no
  • known issues so far) when running VBA macros. Use it with caution.
  • Changes in existing actions:
  • The Web request and Iterate web request actions now have an option for including response headers in
  • the resulting dataset. It removes the need to use an additional action to delete all columns except the
  • response body.
  • The Send email action now supports multiple attachments.
  • The Amazon command action now has a command for listing folders.
  • What's new in Desktop:
  • Cross-tables:
  • In addition to tables and charts, a new type of workflow object is now available –cross-tables. The cross-
  • table in EasyMorph is conceptually similar to the pivot table in Excel. Like charts in EasyMorph, cross-
  • tables are derived from regular tables and used mainly for data analysis and profiling.
  • Charts and cross-tables in Analysis View:
  • The newly introduced cross-tables together with charts are now available in the Analysis View. It is
  • possible to add multiple charts/cross-tables to the Analysis View of a particular table. They respond to
  • changes in filter boxes and update automatically when switching between actions.
  • The addition greatly improves the data analysis capabilities of EasyMorph. Now you can explore and
  • view data from different angles simultaneously, understand trends, and spot outliers and anomalies.
  • The Analysis View is a capable analytical tool built into EasyMorph.
  • Updated PDF reporting:
  • The PDF reporting in EasyMorph has been improved. Now, pages of a PDF report are no longer
  • hardlinked to workflow groups (tabs), and report tables are not hardlinked to workflow tables. Instead, a
  • PDF report can now have as many pages as necessary, and a report page can have tables and charts
  • from many workflow groups (tabs).
  • Also, PDF reports support cross-tables introduced in this release.
  • Miscellaneous:
  • It's now possible to copy an entire table row with the new "Copy row" command in the cell
  • context menu

New in EasyMorph 4.7.2.1 (Aug 13, 2021)

  • This version is a minor release that introduces cumulative bugfixes. It has no new features. It's backward
  • compatible with version 4.7.1.

New in EasyMorph 4.7.1.1 (May 13, 2021)

  • EasyMorph now supports visual queries, export, and other database operations with MS Access via an ODBC driver. Make sure you're using a 64-bit ODBC driverfor MS Access.

New in EasyMorph 4.7.0.2 (Apr 7, 2021)

  • Connector for Google Analytics. SQL dialect for Sybase (SAP) IQ.
  • New actions: Import from Google Analytics, Export to Airtable, Update/delete rows in Airtable, Replace with lookup, Generate documentation.
  • Pipedrive: support for OAuth, importing Leads.
  • Diagnostic trace log in Server.
  • Desktop: Dependencies in the workflow diagram. Favorite/hidden actions.
  • Elapsed execution time for actions/tables.

New in EasyMorph 4.7.0.0 (Apr 3, 2021)

  • Elapsed time:
  • The rich tooltip for actions and tables (where applicable) now displays the elapsed execution time for calculated actions and tables.
  • Dependencies in Diagram:
  • The workflow diagram now displays external and internal dependencies. It makes it possible to understand external data sources, affected files, and iterated modules of a complex workflow from a single view.
  • Hovering a dependency with the cursor provides additional details such as database type, annotation, and the action that uses it. Dependencies related to the same connector or file are highlighted simultaneously.
  • Clicking a dependency provides a few additional menu commands, such as going to connector properties or locating an external file in Windows Explorer. Dependencies can be disabled or shown only for the selected group
  • Application settings:
  • The "Application settings" dialog available in the tab "About" and can be used to configure application
  • Settings such as:
  • Default project Auto-run state
  • Default query Auto-run state
  • Diagnostic trace logging (logs action execution time and sequence)
  • The dialog also has a button to reset dialog positions. This can be of help when you disconnect a second monitor or switch to another screen resolution.
  • Miscellaneous:
  • The action context menu now has the "Annotate" command
  • The table context menu now has two new commands: "Open in Analysis View" and "Show in Diagram"
  • The action catalog now has an option to hide action descriptions
  • Workspace links to tables in other tabs now display rich tooltips with additional table metadata
  • Custom SQL statements now allow inserting JSON The XML elements for tables in .morph files are now sorted by table names to improve reading git diffs

New in EasyMorph 4.6.2.5 (Feb 9, 2021)

  • New connector:
  • Airtable (experimental):
  • Airtable is a light-weight, easy-to-use cloud database suitable for non-technical people. The connector is
  • in the experimental phase as of this release.
  • New SQL dialect:
  • Exasol:
  • Exasol is a fast analytical database. The Query Editor and all the database actions now support Exasol
  • except for the "Bulk export" action.
  • New actions:
  • The Import from Airtable action imports the contents of a database table in Airtable. It requires a
  • configured "Airtable" connector.
  • Changed actions:
  • The Import from Pipedrive action now can import leads.
  • New functions:
  • mround(number, multiple) – rounds a number to the given multiple. Example:
  • mround(1.23,0.2) returns 1.2.
  • Changes to existing functions:
  • EasyMorph now allows functions to have optional arguments.
  • Miscellaneous:
  • The sort order in the instant filters of the Analysis View is now preserved
  • The cell context menu in the Analysis view now has a new command – "Select"
  • The profiler summary in the column bar now updates depending on selections in the Analysis
  • View
  • The column context menu has got two new commands: "Modify -> Truncate" and "Modify ->
  • Round"
  • Query Editor: the table browser in the "Custom SQL" mode now shows column lookup errors
  • right in the tree viewer
  • Added column lineage information for the "Table metadata" action

New in EasyMorph 4.6.2.0 (Feb 1, 2021)

  • Breaking changes:
  • The rate() function introduced in v4.6now has a different set of arguments in order to ensure compatibility with Excel.
  • What's new:
  • New connector: Airtable(experimental) - Airtableis a light-weight, easy-to-use cloud database suitable for non-technical people.The connector is in the experimental phase as of this release.
  • New SQL dialect: ExasolExasolis a fast analytical database. The Query Editor and all the database actions now support Exasolexcept for the "Bulk export" action
  • New actions: The Import from Airtableactionimports the contents of a database table in Airtable. It requires a configured "Airtable" connector.
  • Changed actions: The Import from Pipedriveaction now can import leads.
  • Miscellaneous:
  • The sort order in the instant filters of the Analysis View is now preserved.
  • The cell context menu in the Analysis view now has a new command –"Select"
  • The profile summary in the column bar now updates depending on selections in the Analysis View
  • Query Editor: the table browser in the "Custom SQL" mode now shows column lookup errors right in the tree viewer
  • Added column lineage information for the "Table metadata" action

New in EasyMorph 4.6.1.0 (Jan 19, 2021)

  • Connector for Pipedrive. Connector and SQL dialect for MariaDB. New actions: Import from Pipedrive, Import JSON, Import plain text, Export plain text, Start/finish exclusive access. Profiler metrics in the "Table metadata" action. The ASSUME operator. Desktop: collapsible chart controls.

New in EasyMorph 4.6.0.6 (Dec 28, 2020)

  • With version 4.6, we continue making EasyMorph a better data tool for power users and enterprise environments. The headliner feature of this release is the new filtering pane in the Analysis View. The Analysis View is what you see when you maximize a table in EasyMorph. Now it incorporates an advanced filtering pane for the associative kind of filtering that is well known to Qlik users (and which we've already incorporated in CSViewer earlier this year).
  • With the new filtering pane, you can quickly profile and analyze large datasets, find relationships in data, and detect outliers and data quality issues. It plays perfectly with the in-memory nature of EasyMorph, making it possible to use the power of associative filtering for instant profiling of the full result of any transformation step in a workflow. This capability provides a very good insight into data through its life cycle in a workflow, not possible with not-in-memory data preparation tools and traditional ETL applications. It's also a great example of the advantage provided by a visual workflow design compared to scripting.
  • With the addition of the new filtering pane, the Analysis View becomes a powerful tool for data analysis and exploration, even for non-technical users. You can think of it as an easy-to-use data analysis application built into a powerful data transformation tool. In one of the future versions, we will add dynamic charting to the Analysis View, which will make it even better suited for interactive data exploration and analysis.
  • Other notable novelties in this release:
  • Full-table profiling (available also in the Analysis View)
  • Full support for Snowflake in all actions that deal with a database
  • Dependencies (on connectors, files, etc.) for modules, groups, and tables
  • Encryption of selected columns and entire datasets in .dset files (EasyMorph datasets)
  • 7 financial functions – PV, FV, PMT, RATE, NPER, IPMT, and PPMT, similar to the ones in Excel
  • Dynamic allocation and transfer of Desktop licenses right from EasyMorph Server
  • The dependencies information mentioned above should help navigate complex projects with tens of tables and hundreds of actions. It can also be collected into a table using the "Project metadata" action for impact analysis and understanding dependencies (e.g., using the Analysis View) of hundreds and thousands of projects in a complex enterprise environment.
  • WHAT'S NEW:
  • Changes to existing actions:
  • The Bulk export to database table action now supports PostgreSQL (only the native connector, ODBC not supported) and Snowflake (only the ODBC connector, native not supported).
  • Known issues: If bulk export to Snowflake is canceled, it may leave a partially uploaded file in Snowflake's staging area. Such parts should be removed manually to avoid extra storage costs.
  • The Convert Data Types action now allows specifying a date format using a parameter.
  • The Sanitize text action has the new option for removing XML/HTML tags from text.
  • The Export dataset and Import dataset actions now support column encryption with a password. Also, the actions now read/write datasets 30-50% faster. Note that encrypted datasets take longer to read/write than not encrypted.
  • Additionally, the "Import dataset" action allows selecting columns when importing from a file. Selecting columns when importing a dataset from EasyMorph Server will become available in a later version.
  • The Project metadata action has new settings that allow adding information about dependencies on connectors, files/folders, modules/projects, and external applications to the lists of modules, groups, and tables.
  • Financial functions
  • This version introduces a new category in EasyMorph: financial functions. In this release 7 financial functions have been added:
  • PV FV PMT RATE NPER IPMT PPMT
  • The new financial functions are identical to the functions with the same names used in Excel and produce the same results. Just like in Excel, the functions (except for the RATE function) may have a variable number of arguments.
  • New functions
  • randbetween(number1, number2) – generates an integer random number from the range specified by the function's arguments. Example:
  • New connector: Snowflake
  • Snowflake, a popular cloud data warehouse platform, is now fully supported in EasyMorph. The new Snowflake connector allows importing data from Snowflake using the visual query builder, export data into Snowflake (bulk export is supported too), and perform database commands. EasyMorph comes with a native connector for Snowflake and also can work with Snowflake via ODBC connectors.
  • New native connector: Amazon Redshift
  • Previously, it was possible to connect to Amazon Redshift via the generic ODBC connector. Now EasyMorph comes with a native connector for Amazon Redshift, making it possible to connect to Redshift without installing the ODBC driver from Amazon.
  • New connector: GMail (experimental)
  • Google Mail has got a dedicated connector in EasyMorph that supports authenticating via OAuth. It simplifies connection to Google Mail accounts because changing mail security settings is no longer required. The connector is experimental at this point and will keep the experimental status until it gets verified by Google (it may take a few weeks or even months).
  • Changes to existing connectors
  • The native connector to Oracle now supports specifying a proxy user.
  • The SQLite connector now has a button for creating a new blank database right from the connector settings dialog.
  • Miscellaneous:
  • The new expression syntax introduced earlier is now permanent. Retreating to the old syntax is no longer possible.  Import from text files is now 30-50% faster due to a parallel compression algorithm.
  • What’s new in Desktop/Launcher:
  • Filter pane in the Analysis View:
  • The new filtering pane in the Analysis View allows dynamic filtering of an action's output dataset without creating additional actions. To add a filter to the filtering pane, drag the column's header into the pane, or Ctrl + double click it.
  • The filters in the pane belong to table, not to action. Therefore it's possible to keep a set of filters with applied selections while selecting different actions in a table. This makes it easy to pinpoint causes of calculation errors and data quality issues.
  • A dynamic filter can be permanently converted into the "Selection filter" action with the same values selected.
  • Full table profile in the Analysis View:
  • The Analysis View now includes another tool for data profiling – the Table Metadata dialog that provides a single view of column metadata for all columns in the selected action's output.
  • all numbers in the Table Metadata dialog are clickable and produce corresponding selections in the filtering pane. The dialog can also be used for adding/removing multiple dynamic filters at once.
  • Sidebar "Dependencies"
  • The new sidebar "Dependencies" lists the dependencies of the selected module, group, or table. The dependencies include:
  • Connectors used by actions in the selected module/group/table
  • Files/folders that are affected or used by actions in the selected module/group/table
  • External applications executed by the "Run program" and "Iterate program" actions in the selected module/group/table
  • Projects and modules called by actions in the selected module/group/table
  • Depending modules/groups/tables
  • Table dependencies in the workflow diagram
  • The workflow diagram now highlights table dependencies for the currently selected table. The tables that depend on the selected table are highlighted with blue color. The tables on which the selected table depends are highlighted with green color.
  • Switchable category in charts:
  • The category in charts now can have multiple columns to quickly switch between. To add a new column to the chart category, simply drag it over the current category, or edit category settings in the sidebar.
  • Custom SQL condition in the Query Editor:
  • The Query Editor now allows inserting a custom SQL condition in a visual query. The condition can have filtering statements in the SQL dialect of the target database and allow inlining EasyMorph parameters put in curly braces.
  • License lease from Server:
  • EasyMorph Desktop can now dynamically lease a license from EasyMorph Server. This feature requires:
  • 1) Dynamic licensing configuration in EasyMorph Server (see below). 2) Server Link configured in Desktop. 3) Switching to the new "Lease license from Server" mode in the License Setup dialog.
  • Miscellaneous in Desktop:
  • Some actions have been moved from the "External" sub-category to the new sub-category "App/cloud" in the actions catalog.
  • The maximized view is now called "Analysis View".
  • The sidebar "List of tables/charts" has been removed permanently.
  • What’s new in Server:
  • License management for Desktop users
  • For organizations with a large number of EasyMorph Desktop users, administering their licenses is now easier with the new "Dynamic license" type. When a pack of Dynamic licenses is added to a license key applied on EasyMorph Server, the Server can assign (lease) licenses to Desktop users dynamically. Each license lease lasts for 48 hours and is renewed automatically every 48 hours for each user who is assigned a license from Server.
  • For example, a pack contains 5 Dynamic licenses. It means that 5 Desktop users can be assigned a license from Server by a Server administrator. If a license needs to be transferred to another user, the Server administrator can do this right from the Server's web console.

New in EasyMorph 4.6.0 (Dec 22, 2020)

  • Connector for GMail (with support for OAuth2). Native connectors for Snowflake and Redshift. Bulk (fast) export to PostgreSQL and Snowflake. Encrypted columns in datasets. Financial functions. Faster loading from text/XML files. Desktop: Associative filtering in the full table view. Full table profiling. External dependencies of module/group/table. Switchable chart category. Server: License administration for Desktop users.

New in EasyMorph 4.5.2.0 (Dec 7, 2020)

  • Cumulative bugfixes.
  • Query performance optimizations.

New in EasyMorph 4.5.1.1 (Oct 22, 2020)

  • What’s new:
  • New parameter type: Multiple-choice selector:
  • Until recently parameters in EasyMorph could have only one value. The new parameter type "Multiple-choice selector" allows selecting one or more values from a list.
  • When a multiple-choice parameter is used in expressions or actions that expect a single value, the parameter's value is presented as a single text string with selected values delimited using the separator configured in the parameter settings.
  • Using multiple-choice parameter in Query Editor:
  • The "In list" filtering condition in the Query Editor now allows using "Multiple-choice selector"parameters for specifying values to be filtered in the condition.
  • Number formatting for calculated parameters:
  • Now it's possible to specify number formatting for calculated parameters. This is especially convenient when the value of a calculated parameter is expected to be a date.
  • New actions:
  • The Project metadata action generates various lists from project metadata.
  • The action also validates connectors, parameters, and actions in projects. For instance, if a connector referenced in an action is missing, the list of actions will show a validation error for that action. The list of connectors will show a similar validation error too. The "Project metadata" action allows extracting metadata from one or multiple projects at once and can be convenient in the various cases.
  • Changes in existing actions:
  • The Power BI Command action has got two new commands that enable integration of EasyMorph with Power BI dataflows published in Power BI Service.
  • What’s new in Desktop/Launcher:
  • Added support for the "Multiple-choice selector" parameter type
  • Query Editor: added "Copy all/selected" button in the "Field values" pop-up
  • What’s new in Server:
  • Added support for the "Multiple-choice selector" parameter type

New in EasyMorph 4.5.0.1 (Oct 12, 2020)

  • New parameter types: fixed list of choices, checkbox. New actions: Repeat, Halt on data type mismatch, Bulk export to DB (SQL Server only). Supported dataset size increased to 500M rows. Desktop: simplified Parameter Editor, module overview diagram. Server: running tasks under a different Windows account (Enterprise edition only).

New in EasyMorph 4.5.0 Beta (Oct 5, 2020)

  • Breaking changes:
  • Upgraded .DSET formatThe native .DSET format has been upgraded in order to support the increased row limit for datasets in EasyMorph (536 million rows). The upgrade is a breaking change. Therefore .DSET files saved in the new version can't be opened in older versions. However, the new version can open .DSET files created in earlier versions without any problems.Tableau users shouldchoose to install the updated version of the Tableau Plug-in during installation of version 4.5 (both Desktop and Server). The old version of the plug-in doesn't work with the updated DSET format and won't work with the new version.
  • What’s new:
  • Tabs are now table groups
  • Tabs in EasyMorph projects have received semantic meaning and are now called table groups, or simply groups.The module overview diagram later in the document shows dependencies between groups and tables in groups.Besides having a role in overview diagrams, groups will be the basis for new error recovery mechanism to be introduced in one of the future versions of EasyMorph.
  • Parameter labels:
  • Parameters now have optional labels that are intended to provide better user experience to the end users. When specified, labels replace parameter names in prompts for parameters in Desktop, Launcher, and Server. For instance, parameter "Date" can have label "Please provide the start date" that will be displayed instead of the parameter name when the parameter's value needs to be entered.Parameter labels are only used in the user interface. In expressions and actions, parameters are still referenced only by name.
  • New parameter type: Fixed list
  • The parameter type "Fixed list" allows specifying a value from a fixed list of up to 1000 pre-defined values.In the user interface, the parameter is shown as a droplist (a.k.a. combo box)
  • New parameter type: Checkbox
  • A parameter of type "Checkbox" is shown in the user interface as a checkbox. It can have only two states: checked and unchecked. Depending on parameter settings the statecorresponds to text values "Y" and "N", or numbers 1 and 0, or the Booleanvalues TRUE and FALSE.
  • New actions:
  • The Repeat action allows arranging the DO...WHILE and DO...UNTIL types of loops. It repeatedly calls a module until / while its result table is not empty. The action can be used in various cases, for instance:
  • Obtaining data from REST APIs with paging
  • Polling a web API until an external task is complete
  • Wait until a file appears in a folder
  • Dealing with parent-child data structures
  • Repeatedly apply the same calculation to a dataset until it no longer changes
  • 4New actionsThe Repeataction allows arranging the DO...WHILE and DO...UNTIL types of loops. It repeatedly calls a module until / while its result table is not empty. The action can be used in various cases, for instance:
  • Obtaining data from REST APIs with paging
  • Polling a web API until an external task is complete
  • Wait until a file appears in a folder
  • Dealing with parent-child data structures
  • Repeatedly apply the same calculation to a dataset until it no longer changesIf the called module contains the "Input" action, on the 1stiteration it's populated with the input dataset of the "Repeat" action that calls it. In consequent iterations it's populated with the result dataset from the previous iteration. In other words, the result of previous iteration is automatically passed as input to the next iteration.
  • The Bulk export to databaseaction performs fast export into a database table using the native bulk load capabilities of the target database. The action is intended for exporting large volumes of data (e.g. millions of rows). In version 4.5 only MS SQL Server is supported. More database types will be supported in future versions of EasyMorph.
  • The Halt on data type mismatch action stops project execution if selected columns contain values of an unacceptable data type. The action can be used, for instance, to ensure correct data types before exporting to an external system, or to validate data quality of an input dataset.
  • Changes to existing actions:
  • The Send email action can now insert a basic HTML table produced from the action's input dataset right in the message body. This makes is very easy to send out, for instance, daily emails with small tables containing KPIs. The feature is only available in the HTML mode.
  • New functions tounixtime(number_date)–converts a date into a Unix timestamp. Examples:tounixtime(#2020-09-28)returns 1601251200.
  • New connector: Exchange Online
  • Configuring a connection to MS Exchange Online is now easier thanks to the new email connector "Exchange Online". The connector also supports the OAuth2 authentication method not currently available in the generic email connector.
  • Changes to existing connectors The native connector to PostgreSQLnow supports Windows authentication.
  • What’s new in Desktop/Launcher:
  • Module overview diagram
  • The EasyMorph Desktop's ribbon menu now has a new tab named "Diagram". It displays an overview diagram for the current module.
  • The diagram shows the module groups, table in the groups, and the dependencies between them. Users can perform the following actions in the overview:
  • Open group/table in the regular tabbed view
  • Open a table in the analysis (maximized) view
  • Rename a group or table
  • Create a new group
  • Derive tables
  • Move table(s) into another group
  • Annotate a group
  • Delete a group or table
  • Simplemode of the Parameter Editor:
  • As parameters in EasyMorph became more advanced in terms of features and capabilities, it became clear that the complexity of parameter settings can be confusing for new users. Therefore, in the new version we've added a simple mode for the Parameter Editor which is default for new EasyMorph installations.
  • 6The simple mode is very similar to what the Parameter Editor was prior to version 4. Note that advanced parameter types such as "Fixed list" and "Checkbox" are read-only in the simple mode
  • Miscellaneous:
  • New keyboard shortcut Ctrl+Shift+B sends the output of the currently selected action intoa sandbox in a newly created group (tab).
  • Launcher: special icon for the "Run" button for tasks that prompt for parameters on start
  • Tabs can now be annotated. A tab annotation is shown when a tab name is hovered.
  • What’s new in Server:
  • Use of individual Windows accounts for spaces
  • EasyMorph Server (only in the Enterprise edition) now allows designating a Windows account to a space. When a Windows account is designated to a space, everything that happens in that space (task execution, file access, etc.) happens under that account.The new tab "Accounts" in EasyMorph server is intended for configuring Windows accounts for further use in spaces, displaying the current account status, and recycling/deleting accounts.Recycling provides a graceful and safe way to forcefully terminate tasks that "misbehave" (e.g. freeze, or lock memory up) as well as delete/reconfigure accounts without restarting the Server service.

New in EasyMorph 4.4.1.0 (Sep 1, 2020)

  • Cumulative bugfixes. New functions: isemail, hexencode, hexdecode. New email connectors: Outlook.com, Amazon SES. SQL dialect DB2/AS400. Triggering Tableau Server flows. Query Editor: pre-filter column values in list selector.

New in EasyMorph 4.4.0.0 (Jun 29, 2020)

  • New, extended expression syntax, faster expression evaluation. Warnings. New actions: Update database table, Skip actions on condition. Faster import/export of CSV files. Support for OAuth in the Web Location connector. Much faster aggregation, pivoting.
  • Desktop: in-app license purchase/renewal.

New in EasyMorph 4.3.1.4 (May 13, 2020)

  • Cumulative bugfixes. Desktop: connector documentation link in Query Editor, indicators of annotated actions. Server: option for disabling a public list of spaces.

New in EasyMorph 4.3.1.1 (Apr 16, 2020)

  • Breaking changes:
  • Due to a bugfix the “Regular expression” action now behaves differently. Previously it inserted a new row for each match group even if that group didn’t have a match, which resulted in extra rows with empty matches. The new behavior is that no new rows added if there is not group match.
  • Example: The input text is “a1”. The regular expression is: (a)|(1). The match mode is “All matches, groups only”.
  • Miscellaneous:
  • Actions with annotations now have a visual marker in tables
  • Server Link supports the Server mode when obtaining a public list of spaces is forbidden
  • The Query Editor now displays the documentation link if it was configured in the current connector
  • The label of the “Validation” tab in the Parameter Editor now shows the number of validation rules
  • The first start mode now offers requesting a contact from our team in addition to a request for trial key
  • The “Iteration 1” example has been remade to use modules for iteration, instead of projects.
  • What’s new in Server:
  • Availability of a full list of spaces (e.g. in the login screen) to users that hasn’t logged in yet was rightfully mentioned as a security/privacy concern by some our customers. To address the issue, a new option that disables obtaining a list of spaces for unauthorized users has been added to the Server settings.

New in EasyMorph 4.3.0.0 (Mar 10, 2020)

  • What’s new:
  • Super-compression:
  • The super-compression is an experimental, pre-production feature that reduces memoryfootprint of EasyMorph projects. All EasyMorph products, namely Desktop, Launcher, and Server now have temporary switches that enable/disable super-compression.
  • The switches are located as follows
  • Desktop –in the menu About of the main toolbar(by default OFF)
  • Launcher –in the Preferences dialog(by default ON)
  • Server –in the Server settings page(by default OFF)
  • Note that enabling/disabling super-compression does NOT require application restart.
  • Tableau Hyper Add-on:
  • EasyMorph installers now allow optional installation of the Tableau Hyper add-on. When the add-on is installed, the “Export to Tableau” action gets the ability to export data into the Tableau Hyper file format (.hyper) and publish Hyper extracts to Tableau Server/Online.
  • Support for Server Link in Import/Export dataset:
  • To enable quick 1-click importing/exporting datasets from Desktop to Server and back, the “Import dataset” and “Export dataset” actions now support Server Link (the default connection to the current Server).
  • When the actions are executed in Desktop/Launcher, they work with the current Server selected in the Server Link. When they are executed in Server, they work with the Server they are running on.
  • The Server Link solves the problem of storing data in EasyMorph projects. Instead of keeping data embedded in a project(as in Excel workbooks), data can be kept on EasyMorph Server and loaded into the project on the fly when the project is opened in Desktop (or executed on Server). It’s also more secure, because the data can’t be accessed by an unauthorized person even if they obtain the project.
  • In order to use Server Links in a team of users, they must be configured in all users’ Desktops.
  • Changes to existing actions:
  • The Import XML and Parse XMLactions now allow using a parameter to specify the XML root path. Also both actions can now import all XML values always as text (i.e. without automatic parsing) to provide the ability for custom parsing using EasyMorph actions and functions, if necessary.
  • The Send email action now has the CC field.
  • The actions Web Request and Iterate Web Request now can perform (multi-part) file uploads.
  • Disabling/enabling EasyMorph Server tasks is now possible with the EasyMorph Server Command action.
  • The Export to Excel action now automatically formats columns in the target spreadsheet as dates if they are formatted as dates in EasyMorph.
  • The Halt on condition action has got a new mode “Halt if condition is true for EVERY row”.
  • The Derive table action has got a new conditional derivation mode “If condition is true for ANY row”.
  • Changes in connectors:
  • The Exchange connector can now work with shared mailboxes.
  • The Google Drive connector now allows using a custom OAuth client for authentication.
  • The Web Location connector has got settings for query throttling (e.g. 10 requests in 5 minutes).
  • New functions:
  • eval(text)–Evaluates the text argument as an EasyMorph expression. The argument itself must not be obtained using a column reference.
  • isregexmatch(text, regex_text)–returns TRUE if the text argument matches the regular expression pattern
  • regexmatch(text, regex_text)–returns the first substring that matches the regular expression pattern.
  • regexreplace(text, regex_text)–returns the first substring that matches the regular expression pattern.
  • What’s new in Desktop:
  • Sorting/filtering in the column selector
  • In many actions it is now more convenient to deal with datasets with many columns thanks to the new column selector with sorting and filtering built in.
  • Workspace panning
  • Now it is possible to pan the workspace when workspace objects don’t fit into the visible area. To pan the workspace, click and depress the left mouse button and move.
  • Rich action tooltips
  • Tooltips for actions now display an action description, annotation, the dimensions of the input and output dataset(s), as well as the number of parameters used in the action.
  • Multiple Sever Links
  • The Server Link now supports configuring links to multiple EasyMorph Servers. It makes it easier to switch between different environments(e.g. test and production)
  • Miscellaneous
  • The “Input” action now has the button “Populate automatically ”for automatic retrieval of an input dataset
  • The status-bar now indicates the location of the current repository
  • The Parameter Editor now has buttons for copy/pasting parameters
  • The “Edit parameters” button has been moved to the “Main” ribbon toolbar from the “Project” toolbar
  • The “Connector Manager” button has been removed from the “Project”toolbar as it duplicates the “Add/Edit connectors” button on the Start screen
  • The buttons “Add module” and “Import module” have been moved to the “Project” toolbar from the “Design” toolbar
  • Actions unavailable in the free edition are now clearly marked with an overlay icon
  • Faster expression evaluation
  • Faster column auto-profiling
  • It is now possible to always use a particular Server space repository in Launcher, regardless of repository selection in Desktop.
  • What’s new in Server:
  • Repository encryption and locking
  • Since EasyMorph connectors may allow accessing highly sensitive data the connector security has been tightened in order to avoid unauthorized use of a connector. Now a space repository can be encrypted on creation and locked to the Server it was created in. This means that even in an unfortunate event of leaking the repository file it won’t be possible to open it in Desktop or another Server.
  • Task timeout
  • Task execution duration can now be limited using the task timeout setting.The setting also prescribes if a task timeout should lead to a task failure or just cancellation.

New in EasyMorph 4.2.1.0 (Feb 4, 2020)

  • Shared workspaces in Power BI actions:
  • The actions “Export to Power BI” and “Power BI command” now support Power BI datasets in shared workspaces. In order to work with shared workspaces, all existing “Power BI” connectors already configured in EasyMorph must be re-authorized with the new scope “Workspace.Read.All” enabled in the connector settings (it was missing in previous versions).
  • Screenshot 1: Scope Workspace.Read.All in connector settings:
  • When the Power BI connector is configured to work with workspaces, all operations in EasyMorph that could work with private Power BI datasets now can work with shared workspaces too – exporting to a dataset, creating a new dataset, deleting dataset rows, and listing datasets. Additionally, the “Power BI command” action has got a new command: “List workspaces”. It can be helpful when a workspace name in action settings should be specified using a parameter.

New in EasyMorph 4.2.0.0 (Jan 23, 2020)

  • The “Power BI” connector:
  • A configured “Power BI” connector is required for all actions that interact with Power BI. The connector uses OAuth authentication provided by Azure AD and must be authorized using a Power BI account before use. All operations with the connector will be performed using the Power BI account used for authorization.
  • What’s new in Desktop:
  • New Parameter Editor:
  • The Parameter Editor has been revamped.
  • The “Replace” command in the cell context menu
  • The cell context menu has got a new command – “Replace”. When selected, it shows a dialog to replace the cell value (e.g. “NY”) with a new value (e.g. “New York”). This automatically inserts the “Replace” action with the desired replacement configured.
  • The “Go to tab” command:
  • Large EasyMorph projects can easily have tens of tabs. To simplify switching to a tab a new command has been added to the tab context menu – “Go to tab”. When selected, it shows a list of tabs in the current module. Selecting or double-clicking a tab in this list makes EasyMorph immediately switch to the tab.
  • What’s new in Server:
  • Automatic log rolling:
  • Task logs and the Server log are now rolled automatically. When a log file size reaches 100KB it’s automatically renamed and a new log file is created.
  • Miscellaneous:
  • The “Clear log” button has been removed
  • When a task is deleted the task logs are now deleted too

New in EasyMorph 4.1.0.0 (Dec 7, 2019)

  • New actions: Parse JSON, Construct JSON, Create buckets, Linear regression, Statistical aggregation, Make date/time columns, Iterate columns. Post-filter in queries (SQL HAVING). Server: Custom HTML pages in spaces. Creating/deleting folders. Renaming folders and files.

New in EasyMorph 4.0.1.2 (Nov 17, 2019)

  • Connector and actions for PowerBI. Actions for statistical aggregations and calculations. Server: multiple run sessions per task.

New in EasyMorph 4.0.1.1 (Nov 13, 2019)

  • Web requests in the free editions:
  • Actions “Web Request” and “Iterate Web Request” are now available in the free edition with the limitation that only HTTP method GET can be used. Additionally, the “Iterate Web Request” action has a limit of 20 iterations per project in the free edition.
  • New functions:
  • strip(text) – removes the 1st and the last character of a text string. It can be used to remove wrapping quotes, brackets, etc. Example:
  • strip("{ID:345}") returns “ID:345”.
  • Changes in existing actions:
  • Added XML formatting options for the “XSLT” action
  • Miscellaneous:
  • New keyboard shortcut: Pressing Ctrl+C copies selected cell or column(s) into Clipboard.

New in EasyMorph 4.0.0.1 (Oct 23, 2019)

  • Embedded project modules that can be used in iterations instead of projects.
  • Actions for REST APIs: Web Request, Iterate Web Request.
  • New actions: Repeat Rows, Enumerage Groups, Distribute total.
  • New connector: Web location. Web-functions to work with URLs, XML and JSON. Aggregations in queries. Significant performance improvements.
  • Desktop: Accessing/editing Server space repositories from Desktop. Column lineage. Context bar and instant column profiling. Task tags in Launcher.
  • Server: Email notifications about failed scheduled tasks. Additional access control settings for spaces and repositories.

New in EasyMorph 3.9.5.0 (Jul 22, 2019)

  • New actions: Import SharePoint List, SharePoint Command. New connector: SharePoint.

New in EasyMorph 3.9.4.14 (May 20, 2019)

  • New actions:
  • The Export to Google Sheets action exports data into a new or existing Google Sheets spreadsheet. This action requires adding the write permission to previously created Google Drive connectors and re-authorizing them.
  • The Google Drive command action performs file operations with Google Drive. This action may require adding the write permission to previously created Google Drive connectors and reauthorizing them. Currently available commands:
  •  List of files  Upload file  Upload list of files  Download file  Download list of files  Delete file  Delete list of files
  • The Remove empty rows action removes rows where all values are empty or whitespace. Empty rows can be removed from the top of dataset, the bottom, or in between non-empty rows.
  • New action commands:
  • The File command action now has three new commands:
  •  Copy/move list of files  Rename list of files  Delete list of files
  • These commands provide the ability to manipulate multiple files at once without using iterations.
  • Trigonometric functions:
  • This release adds 8 trigonometric functions:
  • pi() – Returns the value of the π constant.
  • sin(number) – Returns the sine of angle measured in radians.
  • cos(number) – Returns the cosine of angle measured in radians.
  • tan(number) – Returns the tangent of angle measured in radians.
  • asin(number) – Returns the angle (in radians) whose sine is the specified number.
  • acos(number) – Returns the angle (in radians) whose cosine is the specified number.
  • atan(number) – Returns the angle (in radians) whose tangent is the specified number.
  • arctan(number_y, number_x) – Returns the angle (in radians) whose tangent is the quotient of two specified numbers. Equivalent to atan2(x,y) in Excel and some programming languages.
  • Data connectors
  • The Google Drive connector now has a new option for the write/delete access permission. The permission is required for the “Export to Google Sheets” action, and some commands in the “Google Drive command” action.
  • What’s new in Desktop and Launcher:
  •  Hot key to rename table: F2  Hot key to select next table on tab: Ctrl + F2  Marker for unread news on the Start page  New tasks can be created by dragging a project into the Launcher window  Launcher preferences dialog and the option to disable/enable starting Launcher on Windows start
  • What’s new in Server:
  • Mapped network drives:
  • Using EasyMorph Server with mapped network drives has long been somewhat challenging for users because it required calling network utilities in the command line mode. Starting from this release, the Server allows mapping and un-mapping network drives right from the web-console.
  • Locations for file/folder picker
  • Version 3.9.2 allows restricting drives that are shown in the file/folder picker dialog used for specifying parameters. While it doesn’t allow making certain drives inaccessible for a given space, nevertheless it restricts the choice of disk locations offered to user when entering task parameters.

New in EasyMorph 3.9.4.6 (May 7, 2019)

  • Breaking changes:
  • Empty sandboxes :
  • As per brilliant suggestion from an EasyMorph user, all actions of a sandbox (i.e. a table that starts with the “Sandbox” action) are now skipped if the sandbox contains no data. This allows keeping various temporary sandbox calculations in a project that are only evaluated when sandboxes are populated with data (e.g. by sending an action output to a sandbox via the “Send to sandbox” context menu command), and ignored (skipped) otherwise. Previously, if a project contained an empty sandbox with actions it would typically produce an error, which was inconvenient and annoying.
  • Improved precision:
  • Several number functions are now calculated with improved precision which potentially may lead to results with more decimal digits in expressions that use the functions: sqrt, log, exp, and pow.
  • During testing we couldn’t find examples of expressions that produced a different result in v3.9.4 than in previous versions, but the potential possibility of it is not ruled out. It is recommended to verify projects where these functions are used and the result precision can be critical.
  • New actions:
  • The Export to Google Sheets action exports data into a new or existing Google Sheets spreadsheet. This action requires adding the write permission to previously created Google Drive connectors and re-authorizing them.
  • The Google Drive command action performs file operations with Google Drive. This action may require adding the write permission to previously created Google Drive connectors and reauthorizing them.
  • The Remove empty rows action removes rows where all values are empty or whitespace. Empty rows can be removed from the top of dataset, the bottom, or in between non-empty rows.
  • New action commands:
  • The File command action now has three new commands:
  • Copy/move list of files
  • Rename list of files
  • Delete list of files
  • Trigonometric functions:
  • This release adds 8 trigonometric functions:
  • Pi() – Returns the value of the π constant.
  • Sin(number) – Returns the sine of angle measured in radians.
  • Cos(number) – Returns the cosine of angle measured in radians.
  • Tan(number) – Returns the tangent of angle measured in radians.
  • Asin(number) – Returns the angle (in radians) whose sine is the specified number.
  • Acos(number) – Returns the angle (in radians) whose cosine is the specified number.
  • Atan(number) – Returns the angle (in radians) whose tangent is the specified number.
  • Arctan(number_y, number_x) – Returns the angle (in radians) whose tangent is the quotient of two specified numbers. Equivalent to atan2(x,y) in Excel and some programming languages
  • Data connectors:
  • The Google Drive connector now has a new option for the write/delete access permission. The permission is required for the “Export to Google Sheets” action, and some commands in the “Google Drive command” action.

New in EasyMorph 3.9.4.1 (May 1, 2019)

  • What’s new :
  • New actions :
  • The Export to Google Sheets action exports data into a new or existing Google Sheets spreadsheet. This action requires adding the write permission to previously created Google Drive connectors and re-authorizing them.
  • The Google Drive command action performs file operations with Google Drive. This action may require adding the write permission to previously created Google Drive connectors and reauthorizing them. Currently available commands:
  • List of files  Upload file  Upload list of files  Download file  Download list of files Delete file  Delete list of files
  • The Remove empty rows action removes rows where all values are empty or whitespace. Empty rows can be removed from the top of dataset, the bottom, or in between non-empty rows.
  • New action commands
  • The File command action now has three new commands:
  • Copy/move list of files  Rename list of files  Delete list of files
  • These commands provide the ability to manipulate multiple files at once without using iterations.
  • Trigonometric functions :
  • This release adds 8 trigonometric functions:
  • pi() – Returns the value of the π constant.
  • sin(number) – Returns the sine of angle measured in radians.
  • cos(number) – Returns the cosine of angle measured in radians.
  • tan(number) – Returns the tangent of angle measured in radians.
  • asin(number) – Returns the angle (in radians) whose sine is the specified number.
  • acos(number) – Returns the angle (in radians) whose cosine is the specified number.
  • atan(number) – Returns the angle (in radians) whose tangent is the specified number.
  • arctan(number_y, number_x) – Returns the angle (in radians) whose tangent is the quotient of two specified numbers. Equivalent to atan2(x,y) in Excel and some programming languages.
  • Data connectors :
  • The Google Drive connector now has a new option for the write/delete access permission. The permission is required for the “Export to Google Sheets” action, and some commands in the “Google Drive command” action.
  • What’s new in Desktop and Launcher :
  • Hot key to rename table: F2 Hot key to select next table on tab: Ctrl + F2  Marker for unread news on the Start page  New tasks can be created by dragging a project into the Launcher window  Launcher preferences dialog and the option to disable/enable starting Launcher on Windows start
  • What’s new in Server :
  • Mapped network drives
  • Using EasyMorph Server with mapped network drives has long been somewhat challenging for users because it required calling network utilities in the command line mode. Starting from this release, the Server allows mapping and un-mapping network drives right from the web-console.
  • Locations for file/folder picker
  • Version 3.9.2 allows restricting drives that are shown in the file/folder picker dialog used for specifying parameters. While it doesn’t allow making certain drives inaccessible for a given space, nevertheless it restricts the choice of disk locations offered to user when entering task parameters.

New in EasyMorph 3.9.3.0 (Feb 9, 2019)

  • Import from Google Sheets. Export to XML files. Connector for Tableau Online. Desktop: EasyMorph Launcher replaced EasyMorph Scheduler.

New in EasyMorph 3.9.2.0 (Dec 29, 2018)

  • Explicit column-to-field mapping for the "Export to database" action. Uploading/downloading files and folders from/to Amazon S3.
  • Desktop: Full window table view. Full table search. New workflow for adding data.
  • Server: Authentication via Active Directory. Option for prompting task parameters on start.

New in EasyMorph 3.9.0.2 (Aug 28, 2018)

  • What's new:
  • Fetching emails with attachments:
  • With the help of the “Fetch email” action it is now possible to retrieve email messages and their attachments from Microsoft Exchange and email servers that support the IMAP protocol. The action produces a table with a list of attributes such as sender, received date/time, subject, etc. for each email message. If the action is instructed to fetch attachments then for each attachment the table will have a file name and path to the folder where the attachment has been saved. Later, the attachments can be loaded using either the new “Load file list” mode in import actions (described below), or using iterations.
  • A typical workflow that fetches email attachments and loads them in EasyMorph would be as follows:
  • Use the “Fetch email” action to retrieve email messages and save their attachments into a designated folder. The action produces a table with message attributes and paths to folder(s) with attachments.
  • Filter messages/attachments based on their attributes, if necessary.
  • Use an import action in the “Load list of files” mode (described below) to load retrieved attachments into EasyMorph.
  • Use the “Clean folder” command of the “File command” action in order to purge attachments. In some scenarios, this step may come before fetching emails.
  • SFTP/SCP file transfer:
  • EasyMorph now has a built-in SFTP/SCP client that allows downloading and uploading files from/to a remote computer over an SSH connection. A typical use case would be collecting source data from a remote computer, or publishing transformation results to a remote server.
  • Loading a list of files without iterations:
  • All import actions now have a new mode – “Load list of files”. In this mode the list of file paths to load is obtained from a column in the input dataset (i.e. the output of previous action). This mode allows loading multiple files at once without using iterations. It can be helpful in cases when uniform files are 3 located in different folders, or need to be filtered using a complex condition based, for instance, on file size or file creation date. In most typical cases, an initial list of files would be generated using the “List of files” action or the “Fetch email” action.
  • SSH Command:
  • The SSH Command action allows executing one or multiple commands on a remote computer over an SSH connection. The commands can be composed using project parameters. The output of commands can be captured in EasyMorph.
  • A typical use case for “SSH Command” would be triggering a process on remote server and later fetching files (using the “File transfer” action) that were produced by that process.
  • Native data format:
  • The native data file format stores data in a form that is very close to internal data representation in the EasyMorph’s in-memory engine. Therefore, saving a dataset into a file and reading a dataset from a file doesn’t have performance overhead such as data conversion or compression/decompression, and therefore is very fast.
  • The Export dataset action saves an EasyMorph dataset into a file in the native format.
  • The Import dataset action loads an EasyMorph dataset from a file.
  • Changes to existing actions:
  • The File Command action now has a few new commands to deal with folders and zip archives:
  • Create folder
  • Delete folder
  • Zip file
  • Zip folder
  • Also the “Clean folder” command now allows removing subfolders or cleaning them recursively.
  • New functions:
  • weekdayname(date_as_number) – returns the abbreviated name of day.
  • Example: weekdayname(#2018-08-22) returns “Wed”.
  • New limits of the free edition:
  • The limits for actions and iterations in the free edition have been reduced to 24 actions per project (including iterated projects) and 24 iterations. The free edition now allows using the “Input” action.
  • Connectors:
  • This version introduces a new connector type – “SSH connection”. The connector can be used in two actions: File Transfer and SSH Command. It can use authentication with a key pair. The private key should be in the Open SSH format (for keys generated with PuttyGen see instructions here).
  • The email connector has been extended with options for configuring IMAP.
  • What’s new in EasyMorph Desktop:
  • Editing operations with multiple actions:
  • Now it is possible to copy, paste, move to another/new table, or delete multiple actions at once. To select multiple actions, click the first action then Shift+click the last action. After selecting multiple actions, right-click for context menu, or drag them to another location.
  • New Start screen:
  • The Start screen has been significantly redesigned to simplify onboarding experience for new users and dealing with many projects for existing users. A trial license key can be requested right from the Start screen. Also license key configuration has been moved from the About menu to the Start screen.
  • Miscellaneous:
  • The minimal version of .NET Framework required for EasyMorph is now 4.6.2.
  • Database drivers and Tableau SDK have been updated to the latest versions.
  • On first launch EasyMorph now shows a wizard to help configure licensing (e.g. request a trial key) and subscribe to news and updates.

New in EasyMorph 3.8.1 Beta (Jun 12, 2018)

  • New actions:
  • The Keep Min/Max action allows keeping or removing the N (or N%) largest/smallest values in a column, within groups, or in entire table. Previously, doing this required several actions. Now it’s just 1 action.
  • The Sanitize text action removes hidden system characters (e.g. from ASCII 0-31 range), tabs, line breaks and extra spaces from text values. It can be used for entire table as well as for selected columns only.
  • The Total/subtotals action calculates a total for entire table or subtotals inside groups, and adds them as a new column. Previously, doing this required several actions and a derived table. Now it’s just 1 action.
  • The Cross Merge action generates a dataset with all possible combinations (i.e. a Cartesian product) of rows in two tables. It can be helpful in a number of cases: generating a custom calendar, or for performing a complex merging/matching, where all possible combinations are later filtered using a complex condition. Note that this action can produce extremely large tables, so make sure that you’re not cross-merging large tables. Note that EasyMorph can handle tables with up to 536 million records only.
  • The Remove empty columns action removes columns that have no meaningful data: empty columns, columns with empty text values, or columns with the same (constant) value in all rows.
  • New functions :
  • monthstart(date_as_number) – returns the first day of the month of the date. Example:
  • monthstart(#2018-06-06) returns 43252 which is equivalent to June 1st, 2018.
  • monthend(date_as_number) – returns the last day of the month of the date. Example:
  • monthend(#2018-06-06) returns 43281 which is equivalent to June 30th, 2018.
  • weekstart(date_as_number) – returns the first day of the month of the date. Example:
  • weekstart(#2018-06-06) returns 43254 which is equivalent to Sunday, June 3rd, 2018.
  • weekend(date_as_number) – returns the last day of the month of the date. Example:
  • weekend(#2018-06-06) returns 43260 which is equivalent to Saturday, June 9th, 2018.
  • yearday(date_as_number) – returns the number of days since the start of the year of the date. Example:
  • yearday(#2018-06-06) returns 157.
  • isoweeknumber(date_as_number) – returns the ISO week number . Example:
  • isoweeknumber(#2018-06-06) returns 23.
  • Changes to existing actions:
  • The EasyMorph Server Command action now has a new command: “File list”. This command produces a list of files in specified remote folder on the Server. The list can further be used for filtering and iteration.
  • Usability improvements:
  • Quick export to CSV/XLSX:
  • Now a result of action can be saved in a text file (CSV) or Excel spreadsheet in just two clicks using the new command “Send to file” in the action context menu. No more creating a throw-away action for this.
  • Suggestions in Column Profiler:
  • The Column Profiler has got a new tab – Suggestions. The tab contains suggestions (if any) based on automated checks for potential data quality problems with column values. Such problems can include trailing spaces, text values that look like numbers, error values, etc.
  • Every suggestion has a description that explains what triggered it, and two buttons: “Filter” and “Fix”. “Filter” creates an action that keeps only values in question, while “Fix” produces an action that resolves the detected data quality issue.
  • In this (initial for Suggestions) release, there are relatively few automated checks. With every next release, new possible suggestions will be added.
  • Error cards for call/iteration errors:
  • In the previous release we’ve introduced error cards – rich and interactive error representations which contents and choice of actions depend on error type. In this release we’re adding dedicated error cards for call/iteration errors in order to simplify debugging calls/iterations. Such error card contains the following information.
  • This is:
  • Location of the failed Call/Iterate action (click opens the action)
  • Values assigned to the called project’s parameters at the moment of error
  • Button “Open project” that opens the iterated project and assigns its parameters with actual values at the moment of error.
  • The row number at which iteration fails (for iterations only)
  • Reordering in editors:
  • The ability to re-order parameters in the Parameter Editor, or change the order of columns in actions such as “Calculate new columns” or “Aggregate” has long been requested by our users. In this release we’ve added it. Press the “Reorder” button where applicable to invoke a dialog for re-ordering items. In the dialog, the order of items can be changed either by pressing buttons with arrows up and down, or by dragging the items.
  • Actions in Project Overview:
  • Sidebar “Project Overview” has got a new tab “Actions” that lists particular (not all) actions from the current project.
  • Namely:
  • Import actions
  • Export actions
  • External actions (such as “Run program” or “PowerShell”)
  • Filters
  • All disabled (all currently disabled actions)
  • Tab “Actions” can be helpful in various cases. It provides an overview of all project’s inputs and outputs, as well as interactions with external systems and data. It also represents a convenient way to disable/enable some or all such interactions during development in order to avoid data loss or corruption.
  • Miscellaneous:
  • A dedicated button “Ask Community” on toolbars Main and About for quick accessing the Community forum.
  • The cell context menu has got 2 new commands for filtering values that are greater/less than or equal to the selected one.
  • Project links in the Start screen now have option “Open in new window”.
  • Section “Start workflow” in the Start screen now has a new category: “Generate”.
  • The command for copying table data is moved from the table context menu (invoked by rightclick) to the action context menu as command “Send to Clipboard” (can be seen in Screenshot 1 above).

New in EasyMorph 3.8.0.0 (Apr 24, 2018)

  • Transformations are now called actions:
  • From the beginning, EasyMorph has had a number of transformations such as “Run Program” or “Export to Excel” that actually didn’t transform anything. As its automation capabilities keep expanding, new transformations “that don’t transform anything” keep adding, making the term “transformation” increasingly confusing. Therefore, starting from this release all transformations now called actions.
  • For some time, both terms action and transformation will be used interchangeably, as we make relevant edits in the documentation, tutorial and other places. Eventually, the term “transformation” will only be used occasionally for actions that actually transform data.
  • Arbitrary order of actions:
  • Up until the previous release, all actions in EasyMorph were divided into two categories: start action, and regular actions. Start actions must always come first in a table, while regular actions could only come after a start action, or another regular action. With the growth of automation use cases for EasyMorph, such separation introduced unnecessary limitations. For instance, importing a file is frequently done after copying it from another location. In such cases, had to be done in a separate project called via the “Call” action. This was inconvenient and cumbersome.
  • Starting from this release, this division is removed. From now on, any action can be first in a table, and any action can be inserted after any action. As the number of available actions in EasyMorph has become rather big (93 actions as of this release), they have been separated into 5 categories, to simplify navigation.
  • These are:
  • Import – actions that import data (e.g. “Import from Excel”).
  • Create – actions that generate a table (e.g. “List of files”).
  • Transform – actions that modify input dataset (e.g. “Filter by expression”).
  • Export – actions that export data
  • Workflow – actions that affect internal workflows (e.g. “Iterate”), or interact with external systems and data (e.g. “Download file” or “Run program”).
  • If an action doesn’t expect any input data (typically actions from categories “Import” and “Create”), then the result of previous action is silently ignored without a warning or indication.
  • The equalization of actions has caused a few changes in the user interface of EasyMorph of which the most significant are two.
  • These are:
  • The button “Insert/create table” used for selecting a start action and creating a table, has been removed. The “Add new action” button has moved to 1st positon in the “Main” toolbar.
  • The catalog of available actions is now two-tiered (it was one-tiered). Actions are grouped by categories and, optionally, by subcategories.
  • New Plus licensing:
  • The Plus license has become more expensive, and it now always includes following features.
  • These are:
  • Unlimited transformations
  • “Input” action
  • “Split delimited file” action
  • See the new pricing at http://easymorph.com/buy.html.
  • Column profiler
  • To simplify detection of data quality issues, the “Filter/Profile” dialog (invoked by double-clicking a column header) now implements a column profiler.
  • The profiler automatically calculates various counts. Each count has according “Filter” button to keep only rows with counted values.
  • The profiler also builds a histogram with distribution of numeric values in the column. The histogram allows filtering a range of values visually.
  • The profiler dialog window is floating meaning that you can click different columns in different tables without closing the profiler window.
  • Changes to existing actions:
  • While this release doesn’t introduce new actions, there are many improvements to existing ones.
  • Call - Capturing errors of the called project. This makes it possible to arrange an error handling workflow in case of failure of the called project. For instance, send an email if the called project failed. The ability to handle project errors was frequently requested by EasyMorph.
  • Status - Using a cell value for the status message.
  • PowerShell - Option for passing entire table to a PowerShell script. The table is passed as a jagged array (array of arrays).
  • Export to Qlik - Specifying the QVD table name (up to 32 characters). If no table name is specified, the EasyMorph table name is used as the QVD table name.
  • Regular expression - Capturing groups.
  • Iterate and Iterate table - Assigning parameters besides column values.
  • Import from database - Specifying an external file as custom SQL query.
  • Export to database - Custom SQL script section. The script is executed in the same database connection session which allows, for instance, suppressing field constraints temporarily.
  • Export to delimited text file - Options for quoting now include: No quoting, Auto, Quote everything.
  • New functions:
  • system(‘tempdir’) – returns the path to temp directory of the current user. Example:
  • system('tempdir') returns C:UsersUser1AppDataLocalTemp.
  • Email connector for MS Exchange:
  • In addition to the generic SMTP email service connector, a dedicated MS Exchange connector has been added. The connector employs the native Exchange Web Service API and is seamlessly supported in the “Send email” action.
  • In most organizations, auto-detection of server URL would work. If you need to specify the server URL explicitly, it usually has the following format:
  • https://<exchange-host>/EWS/Exchange.asmx
  • Connector for Apache Hive SQL (experimental)
  • The Apache Hive SQL dialect is now supported for ODBC connections. This support is limited at this point and only allows importing data from Apache Hive, but not exporting to it. Table operations (creation, deletion, etc.) are not supported either.
  • Run Action button
  • The Main toolbar now has a dedicated button “Run action” for calculating currently selected action, and all preceding actions that are required for the calculation. Its action is equivalent to Ctrl + clicking an action. It re-runs the action if it’s already calculated.
  • New Run Errors dialog:
  • The window with project execution errors has a new look. Now multi-line and long messages are displayed entirely. Also the new look enables adding in the future error-dependent actions for easier debugging or problem fixing.
  • Miscellaneous:
  • The Email Server connector now has presets for Gmail, Hotmail and Outlook.com.
  • The Connector Manager now has a list of previously selected repositories for easier switching between repositories.
  • The table right-click menu now includes “Derive from…” command to make a table derived, or re-link a derived table to another table.

New in EasyMorph 3.7.2 Build 0 (Mar 9, 2018)

  • New transformations: Qlik Sense Server Command (triggers task/app reloads), EasyMorph Server Command (triggers QMC tasks), Filter by data type. Qlik Sense extension for reloading EasyMorph Server tasks.

New in EasyMorph 3.7.1.22 (Jan 28, 2018)

  • New transformations: Tableau Server Command (triggers extract refreshes), Send email, Table metadata.
  • New parameter type: Folder path. Adding new parameters right from transformation properties.

New in EasyMorph 3.7.0.0 (Dec 24, 2017)

  • Conditionally derived tables:
  • Previously, arranging IF…THEN…ELSE workflows required using various, frequently obscure, workarounds. Starting from this release, arranging conditional workflows has become simple and straight forward because derived tables in EasyMorph can now work in two modes
  • Unconditional – this is the usual, regular mode known from the very first version of EasyMorph. In this mode a derived table obtains its dataset from the source table, and all transformations in the derived table are executed as usually.
  • Conditional – this is a new mode in which transformations in a derived table are executed only when a certain condition is satisfied. If the condition is not met, then all transformations are quietly skipped and the resulting dataset is always empty.
  • Possible conditions are similar to the ones used in the “Halt on condition” transformation
  • Namely:
  • When table is empty
  • When table is NOT empty
  • When an expression is TRUE for each row in table
  • To arrange an IF ... THEN workflow create a derived table with condition.
  • To arrange an IF ... THEN … ELSE workflow create two derived tables with conditions that are inverse to each other.
  • The transformation icon indicates when derivation condition is not satisfied and all transformations are skipped.
  • Disable/enable transformations:
  • Now it is possible to temporarily disable a transformation. A disabled transformation becomes “transparent” – it performs no action and simply passes through its input dataset to the next transformation. Disabled transformations are marked with a special overlay icon.
  • To disable (enable) a transformation right-click it and choose Disable (Enable).
  • New transformations:
  • Replace transformation allows replacing particular values in a column with new ones. It can be used for instance to replace mistyped values with correct ones.
  • File Command transformation is a convenient way for simple file operations. Currently it has 5 commands.
  • These are:
  • Copy/Move File
  • Rename/Clone File
  • Delete File
  • Delete All Files in Folder
  • Unzip File
  • PowerShell transformation executes one or more PowerShell commands. It requires PowerShell version 3 or above installed. A column can be used to provide an input collection of values accessible through $input from within the PowerShell script. The output collection of values can be captured back into EasyMorph, as well as errors. This transformation is not available in the free edition.
  • XSLT transformation modifies XML files using the Extensible Stylesheet Language Transformations (XSLT) language. It’s a powerful language that allows extracting data from XML files, inserting new nodes, amending XML elements and attributes. For instance, file paths in Tableau workbooks and EasyMorph projects can be automatically modified using this transformation.
  • Changes to existing transformations:
  • The Export to Tableau transformation now uses a connector to Tableau Server from a repository (or embedded). Also Tableau projects and data source names can be picked from a list, or defined using a parameter.
  • The Iterate transformation now has a new mode that allows continuing execution even if one or more iterations failed. In this mode, a new column “Iteration status” is created. The column contains errors of iterations, if any. This mode together with conditionally derived tables can be used for arranging failover logic.
  • The Export to Excel transformation now allows using a parameter to specify the target sheet name.
  • If no working directory defined in the Run Program transformation, it’s now implicitly assumed that the working directory is the directory of the project.
  • It is now possible to change the order of rules in the Rule transformation.
  • New functions:
  • ispathrooted(path_text) – detects if a path to file or folder contains a root.
  • Example:
  • ispathrooted(' C:Documentsmyproject.morph') returns TRUE.
  • Export to 1010data (experimental):
  • We’re adding the ability to export from EasyMorph to 1010data cloud analytical database using the “Export to 1010data” transformation. The export is done using the TenUp utility which is included into the EasyMorph installation package. The generated command line for TenUp can be previewed as well as the contents of tree file.
  • New database table picker:
  • This release introduces a new database table picker. It’s used in queries and transformations where a database table should be picked from list. The picker is capable of working smoothly with tens of thousands table names and hundreds of schemas. Frequently used tables can be “pinned” to the top of list for convenience.
  • Multi-line editor for “Run Program” and “PowerShell”:
  • The transformations got a “Pop-up” button that opens a multi-line editor for more convenient command editing. The editor has convenient means for inserting project parameters into text – just click a parameter name on the left and it will be inserted at the cursor position in the text. You can switch to the preview mode to see what the text would look like after parameter substitution.
  • Connectors specified by parameters:
  • Starting from this release it is possible to specify connector using a parameter in all transformations that use a connector, as well as in the Query Editor. A parameter can be used to specify an embedded connector as well.
  • Block indentation in text editor:
  • EasyMorph now uses a new, improved text editor for editing expressions, custom SQL queries and commands, and other multi-line texts in the application. The editor allows performing block indentation (select multiple lines and press Tab or Shift+Tab).
  • Transformation settings menu:
  • Creating annotations is moved into the transformation settings menu (the gear icon next to transformation name and description). The menu also contains commands for enabling/disabling transformations and a link to the web-help for the transformation.
  • Miscellaneous:
  • Drag a folder with multiple files into EasyMorph to load all these files at once.
  • If a called project contains only 1 table it’s implicitly considered the default result table for Iterate/Call transformations.
  • Documentation can now be generated even for projects with transformations with invalid properties. Such transformations will be marked red.

New in EasyMorph 3.6.9.30 (Dec 15, 2017)

  • Conditionally derived tables:
  • Previously, arranging IF…THEN…ELSE workflows required using various, frequently obscure, workarounds. Starting from this release, arranging conditional workflows has become simple and straight forward because derived tables in EasyMorph can now work in two modes -
  • Unconditional – this is the usual, regular mode known from the very first version of EasyMorph. In this mode a derived table obtains its dataset from the source table, and all transformations in the derived table are executed as usually.
  • Conditional – this is a new mode in which transformations in a derived table are executed only when a certain condition is satisfied. If the condition is not met, then all transformations are quietly skipped and the resulting dataset is always empty.
  • Possible conditions are similar to the ones used in the “Halt on condition” transformation.
  • Namely:
  • When table is empty
  • When table is NOT empty
  • When an expression is TRUE for each row in table
  • To arrange an IF ... THEN workflow create a derived table with condition.
  • To arrange an IF ... THEN … ELSE workflow create two derived tables with conditions that are inverse to each other.
  • The transformation icon indicates when derivation condition is not satisfied and all transformations are skipped.
  • Disable/enable transformations:
  • Now it is possible to temporarily disable a transformation. A disabled transformation becomes “transparent” – it performs no action and simply passes through its input dataset to the next transformation. Disabled transformations are marked with a special overlay icon.
  • To disable (enable) a transformation right-click it and choose Disable (Enable).
  • New transformations:
  • Replace transformation allows replacing particular values in a column with new ones. It can be used for instance to replace mistyped values with correct ones.
  • File Command transformation is a convenient way for simple file operations.
  • Currently it has 5 commands:
  • Copy/Move File
  • Rename/Clone File
  • Delete File
  • Delete All Files in Folder
  • Unzip File
  • PowerShell transformation executes one or more PowerShell commands. It requires PowerShell version 3 or above installed. A column can be used to provide an input collection of values accessible through $input from within the PowerShell script. The output collection of values can be captured back into EasyMorph, as well as errors.
  • XSLT transformation modifies XML files using the Extensible Stylesheet Language Transformations (XSLT) language. It’s a powerful language that allows extracting data from XML files, inserting new nodes, amending XML elements and attributes. For instance, file paths in Tableau workbooks and EasyMorph projects can be automatically modified using this transformation.
  • Changes to existing transformations:
  • The Export to Tableau transformation now uses a connector to Tableau Server from a repository (or embedded). Also Tableau projects and data source names can be picked from a list, or defined using a parameter.
  • The Iterate transformation now has a new mode that allows continuing execution even if one or more iterations failed. In this mode, a new column “Iteration status” is created. The column contains errors of iterations, if any. This mode together with conditionally derived tables can be used for arranging failover logic.
  • The Export to Excel transformation now allows using a parameter to specify the target sheet name.
  • If no working directory defined in the Run Program transformation, it’s now implicitly assumed that the working directory is the directory of the project.
  • It is now possible to change the order of rules in the Rule transformation.
  • New functions:
  • ispathrooted(path_text) – detects if a path to file or folder contains a root.
  • Example:
  • ispathrooted(' C:Documentsmyproject.morph') returns TRUE.
  • Support for SPSS/PSPP files:
  • The “Import SPSS file” transformation imports one or multiple .sav files created in SPSS or PSPP. Column values can be automatically replaced with value labels, if necessary.
  • Export to 1010data (experimental):
  • We’re adding the ability to export from EasyMorph to 1010data cloud analytical database using the “Export to 1010data” transformation. The export is done using the TenUp utility which is included into the EasyMorph installation package. The generated command line for TenUp can be previewed as well as the contents of tree file.
  • New database table picker:
  • This release introduces a new database table picker. It’s used in queries and transformations where a database table should be picked from list. The picker is capable of working smoothly with tens of thousands table names and hundreds of schemas. Frequently used tables can be “pinned” to the top of list for convenience.
  • Multi-line editor for “Run Program” and “PowerShell”:
  • The transformations got a “Pop-up” button that opens a multi-line editor for more convenient command editing. The editor has convenient means for inserting project parameters into text – just click a parameter name on the left and it will be inserted at the cursor position in the text. You can switch to the preview mode to see what the text would look like after parameter substitution.
  • Block indentation in text editor:
  • EasyMorph now uses a new, improved text editor for editing expressions, custom SQL queries and commands, and other multi-line texts in the application. The editor allows performing block indentation (select multiple lines and press Tab or Shift+Tab).
  • Transformation settings menu:
  • Creating annotations is moved into the transformation settings menu (the gear icon next to transformation name and description). The menu also contains commands for enabling/disabling transformations and a link to the web-help for the transformation.
  • Miscellaneous:
  • Connectors in queries can now be specified using parameters.
  • Drag a folder with multiple files into EasyMorph to load all these files at once.
  • If a called project contains only 1 table it’s implicitly considered the default result table for Iterate/Call transformations.
  • Documentation can now be generated even for projects with transformations with invalid properties. Such transformations will be marked red.

New in EasyMorph 3.6.3 (Nov 23, 2017)

  • Important! Create a backup copy of your projects before updating to the new version. Projects saved in the new version can’t be opened in earlier versions.
  • Bugfixes:
  • Degraded performance on wide tables (>10'000 columns).
  • Columns with valid names could be automatically renamed in some cases.
  • Windows 10 Fall Creator's Update (build 1709) made application freeze when showing progress popup.