Features
Support added for non-primary key auto-incrementing columns
MySQL no longer requires locks on the source database during generations
Generators are now easier to remove in the UI
Reference tables can now be defined in subsetting configurations
Enhancements to the Foreign Key UI
Added a clickable link to the Job Start notification
New Character Separated Value generator added
Bug Fixes
Performance optimizations for the Address generator
Improved UI experience for workspaces with thousands of tables
Optimized memory usage for large workspaces during data generation jobs
Features
Password reset functionality added
Search and Sort columns when adding Foreign keys in Tonic
Nullable Foreign keys are now an option when adding them in Tonic
New Date Shift generator added
Foreign Keys are now sorted alphabetically by default
Ability to set a starting point in the sequential integer generator
Bug Fixes
Fix in how we handle multi-column primary keys in subsetting
@ mentioning style improvements for commenting
UI fixes for Foreign Keys section
Enhancements to statistics generation with conditional + categorical generators
Copying Databricks workspace works as expected
Features
Subsetting upstream has better handling for table relations with multiple constraint groups where one of the constraint groups is often null
Differential Privacy is now available for Continuous generator
Added new Tonic logos
Generators are not allowed on foreign key columns that are also primary keys
Subsetting is now functional when Primary Key Generators are applied to primary keys
Bug Fixes
Resolved data upload for MySQL
Oracle 19 helper improvements
HIPAA address generator fix for zip codes
Refresh data table after Foreign Keys update
Features
Support for Db2 LUW added
New option to set strictness for schema changes
Added support for pg_repack extension
Added support for more Key generators in Spark
Added support for tinyint and smallint data types in subsetting
Bug Fixes
Better cache handling for subsetting
Improvements for NULL checking in Consistency On
Fixed issues in subsetting preview
Reduced collisions in Unique Email generator
Workers no longer crash when unable to obtain a queued job
Empty post-job scripts now throw a warning rather than failing the job
Better log messages with primary key generators fail
Fixed arithmetic overflow error when calculating SQL Server database size
Fixed upstream exhaustion in subsetting
Features
New UUID Key generator
Support for PostgreSQL Client keys
Options to preserve OUIs and Uniqueness in MAC address generator
New HIPAA Address generator
Email generator can be used on synthesized tables
Custom Categorical generators can now be linked
Workspace ID copy button added
Column output data can now be made consistent on other column's data
Spark filtering of tables in Databricks
Improved logging
Bug Fixes
Better handling of times without timezone values in PostgreSQL
UI fixes
Subscriptions and Publications no longer copied in PostgreSQL
Features
Protection Audit Trail now logs enable/disable of Differential Privacy toggle
Support for Memory Optimized tables in SQL Server
Ability to add new relationships in the Foreign Keys section
NULL generator can now be used on columns with uniqueness constraints
New subsetting option: Full Algorithm (default is still Classic Algorithm)
Bug Fixes
Fixed issue with retrieving column names when adding FK in Foreign Keys section
resolved conflict when setting generator to consistent on a column with a Constant generator
Switching between email generator and unique email generator now clears state as expected
MySQL point columns no longer halt generation
Features
API endpoint test_destination_db_connection added
User can now filter tables by schema in the Database View
Support for Hive + Spark datasource added
Support for synthesis on datetime primary keys
Improvements/Bug Fixes
Improved error messages displayed in the UI
Logging improvements
Synthesis mode improvements
Fixed UI issue with First connection wizard
Features
Added support for Spark/Amazon S3 as a data source and destination
Improved Company Name generator
Added support for text and ntext types in SQL Server
Added support for Google Big Query as a data source and destination
Workspace ownership can now be transferred from user to user
Bug Fixes
AWS Commons extension no longer breaks data generations
JSON and XML Mask generator configuration fixes
Minor display fixes
Features
Added the ability to create post job scripts that will be executed against the destination server at the end of the generation
Added Cross Table Sum generator. Allows summing of rows from another table by partition
Added single sign-on support
Added Enterprise license key support
Added a check to validate the foreign key file before a generation executes
Allow maximum for Integer Key generator
Removed dependency on RabbitMQ
Added ability to have SQL Server and PostgreSQL trust server certificates in workspace editor
Additional logging was added around relationship integrity during subsetting
Added adjustable batch sizes for Oracle
Bug Fixes
Fixed several rendering issues in the table view
Tries multiple connection methods for Oracle
Supports Extended VarChar2s for Oracle
No longer hides foreign key column headings for synthesize mode
Job descriptions for jobs cancelled before they started running are more accurate
Testing the source database connection now works for viewers and auditors
Workspaces are now sorted alphabetically in the workspace drop down
Changing a linked generator now properly breaks the link
Foreign key columns now show up properly without needing a refresh after setting the primary key table to synthesized mode
Expand long column names on hover in the Privacy Hubs audit trail
Workspaces with broken connections to their database can once again be edited
Views no longer show in the list of tables for Oracle databases.
Features
ASCII Character Primary Key generator that supports a wider range of characters in the column.
New API Endpoint for getting information on a single data generation job
Key generators now work on unique columns
Improvements to PII Detection:
Switched to a new MySQL driver
Make XML Mask generator more human readable
Allow synthesize mode on Conditional generator and Unique Email generator
Add event generator in Oracle
Performance Improvements
UI performance for resolving schema difference
Bug Fixes
Better checking of uniqueness requirements for columns
Fixed constraints on large tables timing out in SQL Server
Fixed conversion issue with XML columns outside of subsets during subsetting
Block subsetting with synthesized tables
Do not allow source and destination to be the same in MySQL
Make preview stay up to date when generator is removed from different view
Fixed vulnerability with lodash
Features
Workspace sharing - Allows sharing workspaces between multiple users with different access controls (This is an Enterprise Plan feature)
Added 'In' operator to the Conditional Generator.
Added environment variable to bypass certificate validation when connecting to databases with self-signed certificates.
Schema change detection will now flag columns with null generators that have been made not-null.
Performance
Significantly improved the speed that information is gathered about the source database affecting overall UI performance and schema change detection.
Added additional diagnostic information around query execution times to the logs.
Bug Fixes
Fixed issue where switching table mode to synthesized mode in Database View would not work.
Increase accuracy of error messages on SQL Server when tables fail to get created.
Integer Key generator in Oracle for Number columns now base off of the precision, stopping overflow
Resolved name collision when subsetting with a table that has more than one foreign key to the same primary key.
Fixed preview on tables that use the sequential integer generator.
Changing synthesized row counts from database view now saves properly.
Popover of column name on table view no longer flashes.
Large constant values no longer cause display issues in Database View.
Fixed issue with connection test sometimes failing when using MySQL.
Character Scramble now preserves null values when operation on JSON.
Fixed OID collision issue on Oracle.
Preview no longer fails when using complicated partitioning strategies.
Constant generator no longer loses preview when you click away.
Features
Tables on SQL Server can now be updated in an incremental fashion where only the changes since the last generation are processed. More details here.
Added support for customer categorical generator in synthesize mode.
Date truncation generator has been added so you can truncate dates to a specified date part.
Added support for timestamp ranges in PostgreSQL.
Phone number generator now supports multinational phone numbers. The output phone number will match the country/region of the input phone number.
Integer key generator can now operate on an Int64/Long column.
Bugs
Fixed issue where a specifically sized payload could cause the API request to fail.
Geo generator properly passes through null values.
Added back remove table API.
Tables containing unicode characters now work in preserve destination mode on Sql Server.
Improved handling of transaction scopes for SQL Server.
Fixed issue where generators applied through the conditional generator sometimes used their default options during generation.
Generators added through autodetect are now able to be marked consistent/deferentially private.
Resolved multithreading issue using the key generators on tables with linked foreign keys.
SQL Server date columns no longer show time in the table view.
Features
Added the ability to specify a domain and enable consistency on the unique email generator
Conditional generator can now be used with the Unique Email generator
Added confirmation step for canceling a generation.
Added support for JSON and JSONB arrays in Postgres.
Performance Improvements
Updates to your workspace are now done through JSON Patch.
Bug Fixes
Fixed issue where a table was unable to be switched to synthesized mode.
Fixed issue where min and max on the random integer generator were not editable.
Fixed issue where multiple changes might not be saved properly if executed within a few milliseconds of each other.
Fixed issue where constraints failed to apply to a large Sql server database.
Fixed display issue where the password input appeared to be filled in on the destination database connection screen.
Swagger docs no longer report enum fields as integers.
Fixed issue where edit, copy, and delete workspace buttons where still clickable even when disabled.
Decreased clickable area on consistency and differential privacy switches.
Fixed issue with NaN values in PostgreSQL double fields.
Features
Added ability for full name generators to be consistent with partial name generators.
Generator popovers now scroll after reaching a certain height.
Add Random Double generator.
Add ability to delete Tonic account.
Improved job progress tracking for Oracle.
Allow workspaces to be imported and exported.
Added support for conditional generator on SQL Server image columns.
Negative numbers can now be used in the constant generator with numeric columns.
Added support for timezone arrays in PostgreSQL.
Performance Improvements
Significant performance increase when using the continuous generator.
Bug Fixes
No longer displaying out of date conditional generator configuration in the collapsed view.
Fixed issue with not being able to backspace the constant value on a constant generator applied to a numeric column.
Users can no longer duplicate subset targets on the subset configuration page.
Removed conditional generator as a sub-generator choice when using the XML or JSON Mask generators.
Fixed issue where consistency could not be applied to a generator inside the conditional generator.
Loading indicators on the table view are now more consistent.
Continuous generator now works with smaller partitions when generating statistics.
Job details page now scrolls when number of steps is too large for the screen area.
Fixed issue where adding a custom categorical generator inside the JSON Mask generator could cause an error.
Removing a table from the Schema Changes page now properly removes it from the subsetting configuration.
Disabled including tables out of subset was enabled when subsetting was not.
Fixed broken link for API documents on the Job Details page.
Fixed issue where sequential integer generator didn't reset itself between generations.
Forced browser to get new version of assets after each release.
Add SQL injection safety to generators that partition.
Fixed issue with switching between workspaces on the jobs view.
Moved popovers in database view to not be blocking other columns.
Fix issue with attribute info generator failing on empty attributes.
Stopped job progress from updating after job is complete.
Fixed issue with canceled jobs still running if they were cancelled before they could run.
Features
Tables can now be filtered by their current mode in the database view.
Added support for the 'contains' operator on the conditional generator.
Company name generator now supports consistency.
Added version check when editing a workspace to better support multitab/multibrowser use.
Multiple users can now edit the same workspace without worrying about race conditions. Note: this is a first step, more multiuser features are in development.
Performance Improvements
Improved speed of tables in mask mode by fixing issue introduced in v76.
Bug Fixes
Fixed issue with applying a large number of constraints with SQL Server.
Random boolean, IP address, and random integer generators now work correctly with the conditional generator
Tasks that complete immediately now display correctly in the job details page.
Fixed display issue with data preview button on Privacy Hub.
Features
A new subsetting option allows you to process tables that are not included in your subset.
Several Conditional Generator improvements:
Custom Categorical Generator now supports numeric types.
Random timestamp generator can now be added to text columns.
Password managers are now prevented from interfering with the database connection form.
Improved logging for constraint application on SQL server.
Renamed 'private' to 'sensitive' when referring to a column with data that needs to be protected.
Column headers are now red when a column is sensitive but not protected.
Performance Improvements
Workspace updates no longer happen on keystroke and will now wait until you exit the field or popup.
Changed the way the application loads workspaces to increase performance for large workspaces.
Bug Fixes
Fix display issue with Custom Categorical Generator when there were no categories.
Fixed error message when applying random timestamp generator.
Fixed issue with column editor size changing when marking a column as sensitive.
Fixed an issue with xml columns on SQL server
Features
Added a generator for shipping container codes.
Custom Categorical Generator now works on json fields.
Destination database names can now differ from the source for SQL Server.
Job completion time has been added to the Job Details page.
Additional diagnostic tools added to docker containers.
Performance
Column search performance in bulk editor significantly improved.
Removed Intercom
Bug Fixes
Preserving a partitioned table on SQL Server no longer causes an error.
Fixed issue with the Categorical generator when the table is empty.
Fixed issue with the last line break sometimes being removed from the category list on the Custom Category generator.
Fix preserve tables for non-Oracle databases.
Styling fixes for Conditional generator when used in Firefox.
Fixed issue where insert into an XML column can fail on SQL Server when the payload has a large attribute, too many nodes, or too much nesting.
Features
You can now apply generators conditionally based on the values within the column.
Added support for array types in PostgreSQL
Added a Custom Categorical generator, which allows you to specify a list of categories for a given column
Starting a data generation via the API will now return the ID of the job
Primary key generators can now be applied in the bulk edit view.
Added additional information on the job details page and in the logging, especially around subsetting.
Return existing refresh tokens if they exist to better enable multiple open sessions for the same account.
Performance
Improved the speed of the integer primary key generator
Improved subsetting performance when subset targets are referenced by large tables
Bug Fixes
Tonic will now ignore tables created by unsupported database add-ons that previously would require the user to truncate.
You may see these tables show up as a schema change alert. Most common ones are spatial_ref_sys and sysdiagrams.
Skip some the relationship checks needed for synthesis when table mode is not set to synthesize.
Fixed display issue where primary key would show as needing a generator for synthesis mode.
Fixed issue where the table drop down on the subset configuration view sometimes rendered in the wrong location.
Json path generators will no longer overwrite objects or arrays.
Fixed issue where identity sequence was not being set correctly on the destination table.
Fix issue when empty strings are present in a column with the numeric string or alphanumeric string primary key generators attached
Features
Full Oracle support is out of beta
Users can now generate API tokens to more easily authenticate with Tonic's APIs.
Completion times now show on job details.
Subset configuration area now scrollable.
Added a check to ensure destination version is not older than source version for MS SQL Server.
Security
Upgraded Java version on docker images to resolve security issues.
Bug Fixes
Fixed issue where consistency did not work across multiple workers.
Ensure that subset configuration is validated when the subset configuration page has not been loaded yet.
Fixed issue where Privacy Hub could continue to refresh even after a scan was complete.
Incorrect generators are no longer showing in the MS SQL Server image data type.
Fixed magnifying glass placement on Privacy Hub on field hover.
Fixed various issues with toast notifications. Reset scrollbar position on table selection change in bulk editor.
Features
Improved logging when testing a connection
Added MySql 8 compatibility for our collated queries.
Complete overhaul of progress tracking and the job details page. Job Details now has progress bars, spinners, and various icons to present the current status of a job.
Performance
Index restoration parallelized on MySQL.
Foreign keys added to a MySQL table are now added with 'foreign_key_checks=0'.
Tables marked as Preserve Destination now complete significantly faster on SQL Server.
Security
Added TLS support allowing you to use a custom certificate on the Tonic web server.
Encrypted all traffic between containers.
Update third party packages to fix various security vulnerabilities.
Bug Fixes
Fixed issue in MySQL Restore Foreign Key query
Fixed issue when user changes a JSON Mask or XML Mask generator to other generator types
Tiny Int not treated as Boolean in MySQL
Fixed MySql issue with preserved tables having the same name in different schemas
PII Scanner now picks up on zip code data by column name.
PII detection using lookup tables now removes leading and trailing whitespaces and converts all values to lowercase. This fixes our PII detection for cities and states.
Test Connection button no longer holds on to table locks on MySQL databases.
Workspace Name field now receives focus when workspace editor is opened.
Enter key can now be used to save workspace editor.
Allow UUID primary keys as downstream type in subsetting mode.
Fix issue with GUID primary keys when subsetting is enabled.
Long columns names now render properly on Privacy Hub.
Fixed issue with bulk adding consistent generators.
Account creation no longer hangs when server has no internet connection.
Fixed spacing issue with JSON Mask generator interface.