Tonic Structural release information

Learn about what’s in the latest Tonic.ai product releases.
v412
March 10, 2022

Features

Added support for user defined enum types as keys in subsetting

Simplify schema diff changes error toast on generation

Show more unprotected columns button MongoDB Privacy Hub

Added filtering on custom value generator dropdown

Add ConsistentOn to Additive Noise generator

Enabling Timestamp Shift generator on compound primary keys

Regex Mask generator supports matching empty capture groups

Accommodate OFFSET in where clauses in SQL Server subsetting

Miscellaneous workspace configuration improvements

Add support Azure SQL with SqlServerDatabaseCreator

Add progress tracking for mongo schema scans

Add syntax highlighting for where clauses in subsetting

Add support for integer primary keys on smallint

Bugs

Fixed error message for MySQL data type not found

Fix PostgreSQL Test Connection bug

Fix Workspace patches after rename or modify tags

Fix Unix Timestamp empty column bug

Throw OperationCanceledException instead of CancelTonicJobException on cancellation request

Fix Amazon Redshift view replication missing schema

v383
February 8, 2022

Features

Better error exception handling for number conversions in MongoDB

Added loading indicator when viewing single MongoDB document

Improved MongoDB performance and logging

Added table filter validation for Amazon EMR

Handling numbers as doubles instead of integers in Snowflake

Added aiven.io system schema to PostgreSQL

Added the Geo generator for latitude and longitude data

Added support for materialized view in Amazon Redshift

Bug fixes

Fixed Array Regex Mask generator with correct sub-generator options

Fixed Conditional generator by adding binding

v421
March 23, 2022

Features

On Amazon EMR and Databricks, write JSON files to JSON instead of Parquet

Improved handling of Latitude/Longitude with Smart Linking generator

Add support for enum arrays columns in PostgreSQL

Bugs

Fix issue with Amazon EMR cross account data generation failing to resolve the Glue database

v420
March 17, 2022

Features

Admin users can now view all workspaces in Tonic. They can copy, share, and transfer any workspace, regardless of whether they have a role in the workspace.

Multiple enhancements for workspaces. Users can now leave a workspace. Improved the workspace share and transfer functions. Added the ability to filter workspaces by owner.

Parse as bigint if decimal fails

Oracle Whitelist support in BuildDb

Initialize after log sink reset

Replace slashes with underscores in build versioning

Add 'No generators' filter for bulk table view

Add progress tracker for SQL Server post-data script generation

Allow support for views without fully qualified tables in Amazon Redshift

Improve performance of listing workspaces

Improve performance of the Constant generator on Amazon EMR and Databricks

Sensitive columns now appear in the privacy hub for MongoDB workspaces

Allow processing of decimals with a scale of 1 up to 9223372036854775807 in Postgres

Check for cloudsqlsuperuser permission on GCP Cloud SQL destination PostgreSQL databases

Bugs

Address Lambda function setup bug

Improve Regex Mask display of empty matches and values with new lines

Do not fail completely when SSO groups do not resolve

Miscellaneous Amazon Redshift View fixes

Fix issue where column can't be in schema changes and show as sensitive

Fix issue where some downstream tables are missing their foreign keys in the destination database when using subsetting

Fix issue with shifting table size on data preview in database view

Prevent error from occurring when MongoDB collection size is too large

v401
February 24, 2022

Features

Added the ability to configure Tonic administrators. Admin users have access to the new Admin Panel. The Admin Panel contains Tonic usage metrics, a table of all Tonic users, and the ability to manage other admin users.

For Kubernetes, admin users can now use the Admin Panel to update Tonic

Oracle performance improvements

Add new range options for Integer Key generator

CNPJ and CPF generator performance improvements

Updates Regex Mask generator to support replacing all matches

Start the progress token for passthrough tables when there are no passthrough tables with references

Add support for Timestamp Shift for Spark

Add warning system to privacy scan

Regex mask generator with Custom Value Processor

Check for cancellation and report progress on text copy in Postgresql

Miscellaneous performance improvements

Bugs

Start the progress token for passthrough tables when there are no passthrough tables with references

Treat non-standard Oracle error code 5 not as an error

Fix grabbing workspace users for comments

Dispose the source connection instead of just closing in PostgreSQL

Fix for test discovery exception

Fix PostgreSQL sequences behavior

Object mask bulk view fix

Miscellaneous typos fixed

Fixed database type for BigQuery test connection

v363
January 21, 2022

Features

Show tooltip for sidebar menu items when collapsed

Allow clicking of Queue Status and Download Job logs buttons on Jobs page

Added privacy scans to Jobs page

Added quick navigation to Jobs page from Workspaces tables

Added support for random timestamp generator for Amazon EMR

Improved Hstore generation performance

Added job-specific URLs

Webhooks are triggered when jobs are manually cancelled

Added warning for missing use statements in MySQL post-job scripts

Make JSON Mask generator respect ordering with multiple sub-generators

Bug fixes

Fix PostgreSQL binary timeout issues

Improved error handling & logging when applying Foreign Keys on subsetted SQL Server

Filter out constraints with same name as foreign key

v378
February 4, 2022

Features

Updated to dotnet 6

Moved FK import to FK page

Added support for tinyint in MySQL as a primary key

Added table partition filtering for Amazon EMR

Enabled Regex Mask generator on Amazon EMR

Added support decimals with precision and scale for Amazon EMR

Moved Tonic version number to hamburger menu

Added job sorting by start time

Ability to retrieve Kubernetes logs via API

Improved behavior of upstream reference tables for subsetting

Improved logging for subset filtering

Updated sensitivity scan to better reflect job status

Improved privacy scan performance for MongoDB

Introduced automated schema checks (not for MongodD)

Added HTML Mask generator

Added Additive Noise generator

Added CNPJ generator

Added Array Regex Mask generator

Deprecated endpoints

Updates to the foreign key feature impact the API endpoints used to fetch, upload, and delete the Foreign Key file. Two previous API endpoints are now marked as deprecated and will be removed after 2022-06-01. The main change is the switch to using workspaceId instead of datasourceId to fetch the Foreign Key file. The deprecated endpoints are:

  • DELETE /api/datasource/delete_fkupload has been marked as deprecated and replaced by DELETE /api/workspace/{workspaceId}/foreign-key/
  • GET /api/datasource/download_fkupload/ has been marked as deprecated and replaced by GET /api/workspace/{workspaceId}/foreign-key/

Bug fixes

Fix number parsing issues in JSON Mask generator

Fix MySQL parsing of auto_increment columns

Eliminated re-querying of data type on Amazon EMR Spark

Fixed issue viewing Mongo workspace when there's an empty collection

Fixed for Truncated Date Generator when used as a sub-generator

Fixed data passed to sub-generator in Regex Mask generator

v350
December 23, 2021

Features

Ability to specify a fallback generator on XML Mask and JSON Mask generators

Ability to exclude multiple email domains in the email generator

Update column schema to preserve dropped-date and isDropped status

Change job details checkmarks to green

Prevent idle session timeout in PostgreSQL

Drop rows if decimal parse fails in PostgreSQL

Add pre-job check logging

Ability to connect to MongoDB via connection string

Allow incremental mode on tables where the PK is also an FK

Retry polling job updates and cancel job checks when there are connectivity issues with the Tonic database

Add warning message when fails to restore sequence on destination data

Always show job status warning icon when applicable

Bug Fixes

Fixed importing workspace json caused schema change alerts

Fixed Timestamp Shift for DateTimeOffset

Fixed for how we count the number of partitions on tables in SQL Server

Properly escaping MySQL Username/Password encoding

v355
January 7, 2022

Features

Added Privacy Report CSV download for Preview (to Privacy Hub) and Generation Report (to Job Details).

Added support for preserve destination in Oracle.

Added support for temporal tables on SQL Server.

Added support for read parallelism via paginated queries.

Updated fallback generators to filter by column details and to remove text-mask generator.

Disable page parallelism when pageSize too small.

Add styles for signup divider.

Bug Fixes

Fix AuroraMySql hang.

Clarify subsetting UI.

SQL Server constraint performance improvements.

Fixes for PII scan.

Fix jobs foreign key migration issues.

Log missing environment variable once per process.

Improvements to JSON Mask performance using JToken creation to improve data type handling.

Text mask performance improvements.

Fix for polling TS error.

v344
December 9, 2021

Features

Update workspace users/shares via web sockets

Provide job summary updates via web sockets

Make jump to page in Workspaces table more discoverable

Display which Tonic tier the customer is on

Wrap DNS resolution in try-catch block to avoid errors upstream

Expose ports 443 and 80 in Dockerfiles for applicable containers

Update session variables to enforce autocommit for MySQL

Parallelization of row processing for improved job performance

Bug Fixes

Removed random sampling in ConsistentOn generators

Fixed newly edited tags of active workspace not being exported

Updated Oracle writer path for job improvement

Improved error message when test connection fails

Made error message more clear for generators that perform frequency samples

Fixed Db2 connection spinning indefinitely via timeout

v341
December 3, 2021

Features

Added incremental mode support for MySQL

Added workspace filter/sort improvements

Added Recovery Mode check for SQL Server destination databases

Added support for connecting to mongoDB via connection string

PII report jobs are now canceled when zombied/abandoned

Added button to resolve all schema changes

Added the ability to generate full US address

Bug Fixes

Faster sampling for large tables when running privacy scan

Improved handling of null exceptions when subsetting

Made performance improvements to get all workspaces

Made performance improvements to only job summaries when needed

Improved data generation for latitude/longitude with Smart Linking

Improved formatting of error messages on job details

v336
November 24, 2021

Features

Extend timestamp format to microseconds

Restrict workspace generation details to Owners

Allow webhooks on all database types

Added Struct support on Spark

Bug Fixes

Fixed lingering column on bulk view when configuring generators

State abbreviation privacy check requires some variability

Added handling of when custom categories are null in the metadata for Custom Categorical generator

Fixed date parsing for event generator

Smart linking bulk edit + metadata

Do not add AND clause if there are no non-filtering columns (subsetting)

Improved Sidebar indicators

Fixed inability to generate over tables which contain invisible tables in Oracle

Added null check for error message in subsetting

Hide Subsetting/Post-Job Actions in Workspaces view when not applicable

Added used packaged explicitly and removed unused package dependencies

Primary key columns in synthesized mode should not have generator piсker

v332
November 18, 2021

Features

Random Timestamp output format selection

Redshift allow users to preserve source database owners

Support binary types as primary keys in subsetting

Log and skip over unresolved URNs instead of failing the job

Ignore VIEWS for Databricks and Amazon EMR

Released Additive Noise generator

Added generator for creating CPF numbers

Bypassing XML validation on SQL Server XML columns is now optional

Added support for Windows authentication on SQL Server

Bug Fixes

Editors should have read only on workspace edit dialog

If no user has have been created, show create account page

Increased dialog width to prevent overflow when EMR spark is selected.

Added leading zero to 4 digit zip codes

Removed unavailable features from UI for Spark

v328
November 12, 2021

Features

Improved user experience for Workspaces view

Custom value processors can now be applied to not-null non-replaceable data types.

Update subsetting toggle on/off via web sockets

Bulk store column info for performance improvements

Disable generators for generated columns in Oracle

Added support for DML table-level triggers

Preserve file preferences in Oracle

Bug Fixes

Login page no longer displays error on page load when SSO is not configured.

SQL Server now preserve their decimal places on numeric column types when using the continuous generator.

Continuous generator no longer fails on missing fields in MongoDB.

Fixed issue where Duo login button was disabled when REQUIRE_SSO_AUTH is true.

Connection test for Snowflake and Amazon Redshift no longer reports incorrect permission error.

Fixed issue where you could not edit a workspace if you lacked permissions on the active workspace.

Generated columns in PostgreSQL are no longer attempted to be written to the destination database.

Fixed Spark generations by no longer attempting to instantiate a SparkSession in the UDF

Fixed parsing issue in Databricks Jobs API where we were treating an Int64 value as an Int32

Fixed issue where continuous generator would fail when the precision of a numeric column is unavailable

Removed security vulnerabilities from Notifications container

Added signed tokens to Amazon Redshift load and unload statements

v322
November 8, 2021

Features

Improved message when database job finishes

Added dependency sort on tables set to Incremental mode

Added HStoreMaskGenerator specific to PostgreSQL hstore types

Adding conditional generator support to MongoDB.

Added support for AWS SSO

Better error messages on the front-end when out-of-range IntPkGenerator

Bug Fixes

Removed linking from Random Boolean generator

EMR should show more than 100 tables when appropriate

Preserve Destination disabled in bulk on EMR and Databricks

Upgraded Redis to resolve CVE-2021-32762

Database type now shows properly for newly created workspaces in the workspace view

Changed the download logs button to be more intuitive for jobs that don't use SmartLinking

Consolidate Copy vs Duplicate terminology

Job end times now show properly when jobs terminate unexpectedly

Break long workspace names to avoid overflow

Fix Enable Log Collection for Lambda Functions

Fix scaled uuid foreign key generation for unique columns

Fixed data type for numeric in SQL Server

Fix varbinary truncation in MySQL

v315
November 1, 2021

Features

Added UUID primary key support for synthesized mode.

Added support for Duo 2FA SSO.

Updates for Oracle XML, RAW types.

Handle triggers and grants when creating databases for Oracle.

Null generator now supported as Spark UDF.

Handle spatial (geometry/geography) types in SQL Server.

Bug Fixes

Update tracking URL in Databricks.

Leave temp schemas alone.

Fix ConsistentOn in Regex Mask generator.

Security updates for Linux.

v308
October 18, 2021

Features

Update Database view filter behavior

Added configuration option to disable account creation.

Regex mask generator is now supported on unique columns.

Warnings and errors for Redshift and Snowflake are now displayed on the job details page.

Updated job queued status.

Add CloudWatch Log Filtering by Log Level.

Bug Fixes

Performance improvement for hybrid document creation for MongoDB.

Fixed issue where constraints could be duplicated when using the same Oracle server for source and destination.

Enhanced Oracle log messages when copying data.

v305
October 7, 2021

Features

PII Scan will continue on error and log all issues.

Added Unique Phone Number generator.

Added support for Integer Key generator on decimal columns where precision is zero.

Rename "output" database to "destination".

Added Table Mode descriptions on hover

Added TLS support for Db2 iSeries connections.

Bug Fixes

TONIC_MYSQL_USE_COMPRESSION environment variable was removed.

Slow API responses that are still in process when a workspace switch occurs will no longer cause stale data to show in the application.

Properly set last visited collection for MongoDB workspaces.

Fix workspace row alignment.

Disallow applying generators on PostgreSQL generated columns.

Fixed logging issues with PII scan errors.

Leave destination schema alone on Db2.

Fix subsetting of FKs with same name.

v291
September 20, 2021

Features

JSON Mask for Spark.

Make bulk applying generators more friendly on columns with disparate types.

Generated columns are now supported for PostgreSQL.

EMR will output CSV files if the input file is a CSV.

Added support for unsigned integer columns to the Integer Key generator.

Performance improvements for MySQL.

Bug Fixes

Improved iSeries UI response time.

Fixed copy workspace issue where some fields were empty until a page refresh was performed.

EMR Hive DDL fix for CSV.

Fixed issue with droping indexes on auto-incrementing composite keys in MySQL

Improve Db2 post data order.

Improved MySQL performance for CopyTable.

v299
September 27, 2021

Features

Jobs now auto-stop if the worker crashes

Support for ENUM Arrays in PostgreSQL.

Categorical generator can now be used on non-string types in MongoDB.

Allow Conditional Generator on JSON, JSONB, and Boolean columns.

Custom Categorical and Categorical generator support for MongoDB arrays.

Add optional 'use compression' flag for MySQL.

Bug Fixes

Fixed issue when swapping between MongoDB workspaces

Fix Timestamp Shift generator for MongoDB.

Subsetting enhancements

EMR partitioned table UI bug fix.

Fixed an issue where metadata for the conditional generator did not always save correctly

Fix EMR Test Connection issue.

v282
September 10, 2021

Features

Add pagination to ECR Image search.

Workspace tags.

Optimized the privacy scan for Oracle DBs.

Add Custom Categorical generator to Mongo DB.

Support for EMR cross account.

Bug Fixes

Fix issues with resizable panes in Database View and Table View.

Allow non-null self references in a table in subsetting only if the table is a reference table.

Security enhancements

Fixed issues in MongoDB workspaces with dismissing all schema diffs.

Better handling of Check constraints in MySQL

v224
May 27, 2021

Features

Added support for Db2 iSeries

Added support for Delta Table on Databricks

Added support for reading IAM roles off Databricks machines instead of providing IAM credentials

Added a UI notification when your Tonic version is 10+ versions behind

Added support for MongoDB 2.4 and 3.4

Added the ability to automatically skip tables that match a regular expression via an environment variable

Added the ability to obfuscate values inside an array in Mongo

Added the ability for the JSON Mask generator to parse JSON objects containing escaped characters and surrounded by quotes

Added the ability to automatically cast for mismatched types during downstream subsetting

Added a Regex generator

Added a Generative Adversarial Network Generator

Bug Fixes

Refreshes subset preview when table mode is changed

Improved handling of IAM credentials on Databricks when an IAM instance profile is present

Hide Other in generator dropdown when there are no additional generators

v277
September 3, 2021

Features

Added TLS support for iSeries Db2.

CloudWatch logs are available inside Tonic for AWS Lambda based jobs.

Support for 'consistent on column' in Regex Mask generator.

Bug Fixes

Fix SIN generator being applied to non-sin columns.

Optimized schema construction for destination database in DB2 LUW.

Truncated tables now handled properly for AWS Lambda based jobs.

Fix rendering of tables with double digit replacements on bulk view.

Consistent On dropdown is now alphabetized.

v272
August 30, 2021

Features

Added destination database connection summary to job start confirmation.

Subsetting and post-job action indicators have been added to the workspaces view.

Added workspace name as a webhook content option.

Bug Fixes

Fixed issue with PostgreSQL index restoration and error handling.

Fixes for Tonic UI when connected to MongoDB

v268
August 23, 2021

Features

Added option to Preserve Lambda S3 files

Added view support for Db2 LUW.

Improved Regex Mask generator performance.

Bug Fixes

Various fixes and improvements for Lambda generation.

Add additional logging to Lambda.

Change Lambda default config options (timeouts, memory).