Fixed an issue introduced in v1332 where the dropdown for selecting a user when transferring a workspace or assigning a global permission set would not close upon selection.
Added a new environment setting TONIC_ENABLE_JAVA_SDK_DOWNLOAD
that controls whether to allow downloads of the Java SDK. The default value is true
.
Fixed an issue where users who had permission to view destination data, but did not have permission to view source data, were able to use composite generators to view unmasked data.
Bug fixes and other internal updates.
Databricks - Fixed an issue where the Struct Mask generator failed on array columns in Databricks 14.3+.
PostgreSQL - Fixed an issue where upsert failed for generated columns.
When you output destination data to Ephemeral or to a container repository, you can now configure the workspace to override the statistics seed.
Bug fixes and other internal updates.
Bug fixes and other internal updates.
From the Java SDK, you can now enable diagnostic logging when you generate statistics as part of processing a DataFrame.
Fixed an issue that caused the preview generated values to display incorrectly in the Database View generator recommendations.
Bug fixes and other internal updates.
Fixed Jobs hang when database connections (source or destination) are not available.
SQL Server - Added support for propagating non-system SQL CLR assemblies from the source to the destination.
Bug fixes and other internal updates.
Fixed an issue that caused the preview generated values to display incorrectly in the Database View generator recommendations.
MongoDB - Fixed an issue where specifying an unscanned collection as a subset target caused data generation to fail.
Salesforce - The Date Truncation generator now works correctly.
PostgreSQL - Fixed an issue where upsert operations failed on tables that contained custom types and unique constraints.
Bug fixes and other internal updates.
Bug fixes and other internal updates.
For Data Pipeline V2, fixed a rare issue where a job was not marked as failed after a fatal error, and the worker would not process other jobs.
Sensitivity confidence information in Privacy Hub - On Privacy Hub, the column boxes in the At-Risk Columns panel now reflect the confidence level in the sensitivity detection for each column. The sensitivity confidence is also displayed for the columns on the Recommended Generators by Sensitivity Type panel.
Bug fixes and other internal updates.
Bug fixes and other internal updates.
Fixed an issue where connection type limit in the Connection Type section of workspace settings was displayed incorrectly.
Bug fixes and other internal updates.
Fixed an issue where Microsoft Entra ID SSO groups were not retrieved if the membership in them was transitive.
Bug fixes and other internal updates.
Fixed an issue where PostgreSQL container artifacts failed to generate.
You can now specify the port that dotnet-monitor
listens on within a worker. To set the port, use the environment setting TONIC_WORKER_DOTNET_MONITOR_PORT
. Workers that are colocated on the same instance should be assigned different port bindings.
File connector - For custom Amazon S3 URLs, you can now indicate to trust the server certificate. To configure this, use the TONIC_AWS_S3_TRUST_SERVER_CERT
environment setting.
MongoDB - Fixed an issue that caused layout problems for Privacy Hub.
Snowflake - Fixed an issue where a worker would sometimes become unresponsive after cancelling a data generation job.
Google BigQuery - Improved progress tracking for tearing down and recreating entities in the destination dataset.
Databricks - For new workspaces, changed the default Databricks runtime to 14.3.x-scala2.12.
When you configure a workspace to write output to a container repository, you can now provide a custom password for the destination database superuser.
File connector - The file upload now restricts accepted files to those that have supported file extensions.
MySQL - Improved resilience to transient issues when applying table constraints.
Fixed an issue where the first recommendation in the Recommended Generators by Sensitivity Type panel was cut off.
Fixed an issue where the generator recommendation preview sometimes failed with the message No Workspaces have been created yet
.
Added API endpoints to enable and disable subsetting for a workspace.
Database View redesign and sensitivity confidence - On Database View, the Applied Generator column is now split into two columns. The Status column shows the current sensitivity status (Not Sensitive, At Risk, or Protected). From the Status column, you can display information about the detected sensitivity type and configure whether the column is sensitive. For at risk columns, the Status column also indicates the confidence level in the sensitivity detection. The Applied Generator column indicates the current generator assignment and allows you update the generator configuration.
Improved the detection accuracy for values in defined categories, such as gender.
Added the option to collect performance metrics when starting a data generation job that uses the Data Pipeline V2 processing.
When you write output to a container repository, you can now use assumed roles for the AWS credentials for Amazon ECR.
Snowflake - Improved performance when loading workspaces that connect to large databases.
Bug fixes and other internal updates.
Fixed an issue that caused the job details view to crash for some jobs that had warnings.
Added a new configuration setting TONIC_SENSITIVITY_SCAN_IGNORE_PII_TYPES
. Accepts a comma-separated list of sensitivity type identifiers that the sensitivity scan should ignore.
Fixed an issue where missing data could cause the application to crash.
Bug fixes and other internal updates.
On Database View, when you create a sensitivity rule from the bulk edit function, Structural now automatically populates the data type.
Bug fixes and other internal updates.
Fixed an issue where generator application errors appeared to be encrypted.
Bug fixes and other internal updates.
Fixed an issue where generator application errors appeared to be encrypted.
Fixed an issue where generator suggestions caused the sensitivity scan to fail.
Fixed an issue that caused an error to sometimes occur when configuring a workspace to write output to Tonic Ephemeral.
Fixed an issue that caused display issues for Collection View rows that had applied generators.
Fixed an issue that prevented the application from redirecting after the workspace settings were saved.
Docker Compose files that are generated for output to a container repository now no longer contain an obsolete version specification.
Removed data science mode from Structural. The option to enable data science mode no longer appears in workspace settings.
International Address generator - The new International Address Generator can generate street addresses and postal codes for Canada, and postal codes for the United Kingdom.
Snowflake - Improved performance when loading workspaces that connect to large databases.
For new workspaces that support it, Data Pipeline V2 is now the default data generation option.
Structural now provides suggested generators for additional sensitivity types such as marital status.
The Protection Audit Trail now includes sensitivity rule events, including when a sensitivity rule is created, edited, or deleted.
Bug fixes and other internal updates.
Fixed an issue that caused a horizontal scrollbar to appear beneath the Privacy Hub sensitive column cards.
Bug fixes and other internal updates.
Structural no longer requires an external mount to monitor workers.
The new environment setting TONIC_DB_SCHEMA
configures the Tonic Structural application database schema. Use the new environment setting TONIC_MIGRATION_ENABLE_LOGGING
to enable or disable logging when applying migrations to the Tonic Structural application database. Note that if TONIC_DB_SCHEMA
is a non-public value, then you must restart the API container. If there was existing data in the Tonic Structural application database, that data is not migrated. After the API is restarted and the migrations are applied, you can import a backup of the existing data.
When you create a custom sensitivity rule from the Bulk Edit panel of Database View, you can now choose to apply the generator preset to all of the workspace columns that match the new rule. The Save and Apply option replaces the previous Save and Scan option.
Bug fixes and other internal updates.
Oracle - When TONIC_ORACLE_SKIP_CREATE_DB is true, tables in the destination database are preserved. If a table filter is provided in TONIC_TABLE_WHITELIST, then destination tables that are not in the whitelist are preserved. Before this change, those tables were truncated.
Bug fixes and other internal updates.
MongoDB - Added the environment setting TONIC_MONGO_MASK_FIELD_IDS
. When set to true
, Structural assigns the Mongo ObjectId Key generator to ObjectId field names. Consistency is enabled. The default value is false
.
Bug fixes and other internal updates.
Improved error handling for PII detectors.
Google BigQuery - Fixed an issue where some BigQuery workspaces did not release rows from memory in a timely manner.
MySQL - The new environment setting TONIC_MYSQL_USE_NATIVE_DUMP_TOOL
, when set true
, prefers the mysql
native tools over the existing default of mariadb
.
MySQL - You can now configure the following environment settings to override the Structural default behavior when a connection opens and a session is established:
TONIC_MYSQL_NETWORK_READ_TIMEOUT
TONIC_MYSQL_NETWORK_WRITE_TIMEOUT
TONIC_MYSQL_WAIT_TIMEOUT
TONIC_MYSQL_LOCK_WAIT_TIMEOUT
TONIC_MYSQL_INNODB_LOCK_WAIT_TIMEOUT
Azure SSO - Added support for authenticating application service principals using the EntraID client-credentials flow. Service principals can access the Structural API. For configuration requirements, refer to the Azure/EntraID SSO configuration information in the Structural User Guide.
SQL Server - Fixed the copy of stored procedures that reference full-text indexes.
Structural now supports diagnostic logging for upsert data generation.
Snowflake - Fixed an issue where, when using the connection string and key-pair authentication options, the test connection button was disabled unless a password was entered.
Updated the legal text that is displayed for new account creation on self-hosted Structural instances.
For custom sensitivity rules, column matching rules are now always case insensitive. Previously, the column matching rules were always case sensitive.
SQL Server - Added support for:
Bug fixes and other internal updates.
Improved the free trial onboarding flow. Added to the available data connectors. Fixed an issue with creating a Google BigQuery workspace. Fixed a duplicate display issue.
File connector - Fixed an issue that a caused authorization failures when using Assume Role to authorize access to Amazon S3 from Structural Cloud.
Fixed an issue where after an import from a JSON file, Subsetting view did not immediately reflect the state of the workspace.
Spark - Removed support for Livy on Hive.
PostgreSQL - Fixed an issue where Structural failed to process tables that contained a generated column that referenced a user-defined type.
Scheduling data generation - From the Jobs view (renamed from Job History) for a workspace, you can now configure the data generation to run automatically on a schedule. The schedule consists of one or more cron expressions, along with the time zone to use for the schedule. The Structural API includes new endpoints to manage the job schedule.
MongoDB - Fixed an issue that caused connection errors for connections to a Mongo Atlas cluster from Tonic Cloud.
Bug fixes and other internal updates.
File connector - You can now specify a separate IAM role for the output location.
Create sensitivity rule from Database View - When you select the Database View bulk edit option for columns that have the same data type, do not have an assigned generator, and do not have a recommended generator, you now have the option to create a custom sensitivity rule. You can then immediately run a new sensitivity scan to catch matching columns.
Fixed an issue with the JSON Mask generator configuration panel where the example data did not update correctly.
Structural now displays a warning when the pre-job checks determine that the source database is on a newer major version than the destination database.
Salesforce - Rewrote the connector algorithm to avoid using sentinels, and to improve subset creation.
Snowflake - Fixed a regression introduced in v1213 that limited table parallelism for all data generations that use the V2 pipeline.
Oracle - Fixed an issue where for subsetting data generation, the Maximum Character Limit was not calculated properly.
Databricks - Structural now supports writing Identity columns to tables.File connector - You can now assign the Timestamp Shift and Date Truncation generators to Parquet date fields.
PostgresSQL - Removed the option to run PostgreSQL jobs using the older flow. All jobs now run with the Data Pipeline v2.
Snowflake
Bug fixes and other internal updates.
The detector for city names now ignores misleading values that are not city names.
Bug fixes and other internal updates.
Bug fixes and other internal updates.
Updated the application to reflect the rename to Tonic Structural. Includes renaming the Tonic Settings view to Structural Settings.
From the Access Management tab of Structural Settings, users with permission to manage Structural access can now restore deleted users.
For a column that is part of a unique compound index, Structural now only suggests generators that can be used for unique columns.
Structural now detects SWIFT codes based on the format of the data in addition to the column name.
Fixed an issue where all subsetting WHERE clauses failed internally.
Databricks
TONIC_DATABRICKS_SKIP_CREATE_DB
indicates whether to skip the schema creation. The default is false. The environment setting TONIC_DATABRICKS_ENABLE_WORKSPACE_SKIP_CREATE_DB
indicates whether to include the option in the workspace configuration, and use TONIC_DATABRICKS_SKIP_CREATE_DB
to determine the default. The default is true. You can add these settings to the Environment Settings list on Structural Settings.File connector
Snowflake
The scheduled sensitivity scans are now daily instead of weekly. By default, the scans run every day at midnight. Structural scans the 10 workspaces that have the most recent activity. Activity is defined as either a user-initiated workspace event that is added to the Protection Audit Trail, or a data generation job.
On the details view for custom sensitivity rules, fixed an issue where the Edit Current Preset button was always disabled.
When a generation to Ephemeral fails, Structural job logs now include the Ephemeral logs and destination database pod logs.
For users who do not have permission to manage sensitivity rules, the Sensitivity Rules option now displays in a disabled state.
When you configure a workspace to write to a self-hosted Ephemeral instance, or to write to Ephemeral Cloud from a self-hosted Structural instance, the workspace configuration now includes an option to test the Ephemeral connection.
Yugabyte data connector - Structural now allows you to connect to databases on Yugabyte version 2024.1 and above. The Yugabyte data connector is available with a Professional or Enterprise license. It only supports Yugabyte SQL (YSQL).
When you configure a custom security rule, you can now create or edit the assigned generator preset. You can also use a workspace to preview the security rule results. The preview displays the matching columns for the selected workspace.
Structural can now detect the following additional sensitivity types:
MySQL
ALLOW_INVALID_DATES
is set, Structural now allows Passthrough for columns that contain invalid dates.Snowflake
Fixed an issue on the webhook configuration panel where users could not click Save when the Message Body tab contained large property values.
Fixed an issue that caused the Notifications service to stop processing webhooks.
Improved the detection of name values to identify more specific types of names.
Amazon EMR
Self-hosted instances can now schedule sensitivity scans to run automatically on a weekly basis. By default, the weekly scans are enabled and run each Sunday at midnight.
Structural can now detect the following additional sensitivity types:
File connector
Oracle
Salesforce
PostgreSQL
Snowflake on AWS
Structural can now detect the following additional sensitivity types that are defined by the HIPAA Safe Harbor method:
Removed the environment setting TONIC_SUBSETTING_CYCLE_BREAK_GREEDY_ALGORITHM
. The greedy algorithm to compute the required cycle breaks for subsetting is no longer available.
Snowflake
TONIC_SNOWFLAKE_SKIP_CREATE_DB
is false, meaning that Structural creates the destination database and schema. If you set this to true, then Structural does not create the schema. You must create the destination database with the full schema. You can add TONIC_SNOWFLAKE_SKIP_CREATE_DB
to the Environment Settings list on Tonic Settings.For post-job webhook URLs, you cannot use URLs that resolve to a private IPv4 range.
To provide the column name matching criteria for custom sensitivity rules, you can now use a regular expression.
The Structural sensitivity scan can now detect UK and Canada postal codes.
You can now use the Structural API to manage custom sensitivity rules.
When you configure a PostgreSQL or MySQL workspace to write the destination data to a container repository, you can now specify the name of the database.
Fixed an issue where the column sensitivity type was not updated when a later sensitivity scan detected a different type. Columns that are manually marked as sensitive are not affected.
Increased the number of column names that Structural uses to detect sensitivity types.
Amazon EMR
Salesforce
WHERE
clauses in subsetting target table configuration.When Structural detects a state abbreviation, it no longer identifies it as a full state name.
During a sensitivity scan, the value finders now look more holistically at both the data and the column name instead of assessing them individually.
Custom sensitivity rules - On self-hosted Enterprise instances, you can now configure custom sensitivity rules, which allow you to create your own sensitivity types. For each rule, you configure the general data type, text matching rules for the column name, and the recommended generator. Structural uses these rules during the sensitivity scan. Matching columns are included on the Recommended Generators by Sensitivity Type panel.
Toleration configuration for output to container repositories - Self-hosted customers who write output to a container repository can now set pod tolerations to enable pods to be scheduled on nodes that have taints. The tolerations are configured in environment settings. You can add these settings to the Environment Settings list on Tonic Settings.
MySQL
When configuring a workspace to write output to an Ephemeral snapshot, you can now optionally configure the compute resources. By default, the resources are based on the size of the source database.
Sensitivity scans now detect name values more accurately.
Fixed an issue with certificate uploads for database settings.
Fixed an issue where the Structural application would hang after you created a workspace.
Shared logs are now transferred to an HTTPS endpoint instead of an Amazon S3 endpoint.
Amazon EMR
WHERE
clauses as invalid.Amazon Redshift
PostgreSQL
Fixed an issue where sensitivity scans suggested generators based on substrings within a column name.
HTML is now removed from text in comment fields.
Fixed an issue where the XML Path generator did not work correctly.
A new environment setting, TONIC_SUBSETTING_CYCLE_BREAK_GREEDY_ALGORITHM
, indicates whether to use a new, faster greedy algorithm to compute the required cycle breaks for subsetting. By default, the setting is false
.
File connector
MongoDB
MySQL
Oracle
Salesforce
TONIC_SALESFORCE_CONSUMER_KEY
and TONIC_SALESFORCE_CONSUMER_SECRET
environment settings.Snowflake
ALTER
statements were inappropriately run through the GetDdl flow.Improved the accuracy of name detection.
MongoDB
Oracle
Salesforce data connector - The Salesforce data connector is now available for self-hosted instances that have a Professional or Enterprise license. It is currently only available by request. To request access to the Salesforce data connector, contact Tonic.ai support.
Linking address columns for recommended generators - The recommended generators panel in Privacy Hub now indicates when address columns should be linked. The columns are displayed in groups. You then apply the recommended generators to all of the columns in the group, and the columns are automatically linked.
Other updates
Fixed an issue with subsetting. When processing upstream tables with nullable foreign keys that had no referenced key values to process, upstream filters were not applied.
Improved performance of the Conditional generator when using the IS IN
operator.
The upsert option for workspaces is now out of beta.
Fixed an issue where the number of generators that are slow to compute was calculated incorrectly, which affected how we parallelized the generator processing.
The default value for the environment setting TONIC_ORACLE_DBLINK_ENABLED
is changed to false. The plan is to eventually remove the feature.
Fixed an issue where the TONIC_DISABLE_IPV6
setting did not completely prevent services from binding to ipv6 addresses.
When applied to a numeric type column, the SSN generator now by default generates values without hyphens.
Amazon EMR
File connector
MongoDB
MySQL
Oracle
Snowflake