Skip to content

Release Notes

Full release notes

For a complete list of changes, see the DBSnapper Releases Page which will include all changes, bug fixes, and enhancements.

v2.4.0 - Ephemeral Sanitization Support

This release is bringing back the ability to use ephemeral containers for sanitization. This streamlines the sanitization process, leveraging containers to spin up a temporary database that can be used to sanitize the unsanitized snapshot data.

The sanitize command now behaves as follows:

  1. It will create a new unsanitized and sanitized snapshot set if no snapshots exist for a target or the -n flag is set.
  2. Will use an ephemeral container to sanitize the data if the sanitize: dst_url is not specified in the configuration file, or the -e flag is set.

You can combine both the -n and -e flags to create a new snapshot set and use an ephemeral container for sanitization.

v2.3.0 - New User Interface, Share Targets, Storage Engines Improvements, and More

A Terminal User Interface (TUI) has been added to the DBSnapper Agent, making it even easier to use. See all your targets, drill down into their snapshots, and load them all from the new UI.

DBSnapper Agent User Interface
DBSnapper Agent User Interface - All Targets

Sharing Targets have been added to DBSnapper. Leveraging the ability to specify different storage profiles for original and sanitized snapshots, you can now create a share target in your configuration file, that will allow you to list and load sanitized snapshots from a shared storage location. This is useful for sharing sanitized snapshots with developers, testers, and other stakeholders.

New Storage Engines have been added. In addition to our support for AWS S3 and CloudFlare R2, we have added support for Minio and Digital Ocean Spaces

Storage Engines now support retrieving credentials from the AWS CLI shared configuration. It is now possible to retrieve S3 compatible storage engine credentials from environment variables, or you can specify an awscli_profile in your storage profile configuration to use the credentials from the specified AWS CLI profile. More information on this can be found in the Storage Engine Configuration documentation.

v2.2.0 - Separate Storage Profiles for Unsanitized and Sanitized Snapshots

You can now specify different storage profiles for unsanitized (original) and sanitized snapshots, allowing you to store them in different buckets or cloud providers if desired. This will allow sharing only the sanitized snapshot cloud storage buckets with developers, while keeping the unsanitized snapshots private.

Up next is additional sharing functionality for accessing and loading the sanitized snapshots.

Download the v2.2.0 release for your platform.

v2.1.0 - Connection String URL Templates

All connection string URLs now support templating. This allows you to access environment variables in the connection string URLs. For example, you can now use the following connection string URL for a Postgres database:

snapshot:
  src_url: postgres://{{`DB_USER` | env}}:{{`DB_PASSWORD` | env}}@localhost:5432/{{`DB_NAME` | env}}

In this example we are indicating we want the username, password, and database name to be read from the DB_USER, DB_PASSWORD, and DB_NAME environment variables, respectively.

Templates conform to Go Templates syntax. Specify the env function to read the value from the environment.

{{`ENV_VAR` | env}} # substitute the value of the ENV_VAR environment variable
{{`CONSTANT`}} # substitute the supplied `CONSTANT` value

v2.0.0 - Subsetting!

We're excited to announce the release of DBSnapper v2.0, which introduces a major new feature: Database Subsetting. This feature allows you to create a relationally consitent copy of your database that contains only a subset of the data. This is useful for creating smaller, more manageable datasets for development and testing.

Backwards Compatibility

This release introduces a new configuration file format and options. If you are upgrading from a previous version, you will need to update your configuration file to the new format. See the Configuration Settings documentation for more information.

Additional Improvements

  • Improved support for MySQL databases.
  • Support for PostgreSQL COPY protocol for fast data copy operations.
  • Simplified the sanitization command, eliminating the use of ephemeral database containers,
  • Released Docker images for easier installation and use.
  • An extensive refactoring and testing of the codebase to improve performance, quality, and maintainability.
  • Improved documentation and examples.