# Greenmask v0.1.7 Release

## PostgreSQL Dump and Obfuscation Tool

This release introduces a new Greenmask command, improvements, bug fixes, and 
documentation updates.

# Greenmask Overview

## Key Features

* **Cross-platform** — can be easily built and executed on any platform, thanks 
to its Go-based architecture,
  which eliminates platform dependencies.
* **Interactive** - allows to check the transformation result and show problems 
if any using the single command `validate`
* **Schema difference check** - validate your current database with the 
previous dump in storage and show diff
* **Database type safe** — ensures data integrity by validating data and 
utilizing the database driver for
  encoding and decoding operations. This approach guarantees the preservation 
of data formats.
* **Transformation validation and easy maintainable** — during obfuscation 
development, Greenmask provides validation warnings and a transformation diff 
feature, allowing you to monitor and maintain transformations effectively 
throughout the software lifecycle.
* **Partitioned tables transformation inheritance** — define transformation 
configurations once and apply them to all partitions within partitioned tables, 
simplifying the obfuscation process.
* **Stateless** — Greenmask operates as a logical dump and does not impact your 
existing database schema.
* **Backward compatible** — it fully supports the same features and protocols 
as existing vanilla PostgreSQL utilities. Dumps created by Greenmask can be 
successfully restored using the pg_restore utility.
* **Extensible** — users have the flexibility to implement domain-based 
transformations in any programming language or use predefined templates.
* **Declarative** — Greenmask allows you to define configurations in a 
structured, easily parsed, and recognizable format.
* **Integrable** — integrate Greenmask seamlessly into your CI/CD system for 
automated database obfuscation and restoration.
* **Parallel execution** — take advantage of parallel dumping and restoration, 
significantly reducing the time required to deliver results.
* **Provide a variety of storage** — Greenmask offers a variety of storage 
options for local and remote data storage, including directories and S3-like 
storage solutions.

### Greenmask is ideally suited for:

* Routine backup and restoration tasks, ensuring data integrity and 
availability.
* Anonymization and data masking for staging environments and analytics, 
protecting sensitive information while maintaining data utility.

## Release Notes

### v0.1.7

##### New features

* Added restoration filtering by `--table`, `--schema` and `--exclude-schema` 
parameters
* Validate command without parameters validates only the configuration file
* Added the `--schema` parameter, which allows to make a schema diff between 
the previous dump and the current. This 
  is useful when you want to check if the schema has changed after the 
migration. By controlling it we can exclude 
  data leakage after migration
* Validate command divided by many stages that can be controlled using 
parameters
    * Configuration validation
    * Transformer validation
    * Constraint violation check
    * Data difference check
    * Schema difference check


##### Improvements

* Improved Hash transformer 
    * Added salt parameter that can be set via config or via 
`GREENMASK_GLOBAL_SALT`
    * Added sha3 functions support in different modes (sha3-224, sha3-256, 
sha3-384, sha3-512)
* Refactored `Cmd` transformer logic
    * Json API: Now it allows to use of column names instead of column indexes 
in JSON format
    * Csv API: Now it can use the column order from config via column remapping
* The `validate` command was rewritten almost from scratch.
    * New option `--transformed-only` - displays only columns that are 
transformed with a primary key (if exists). This
      allows to reduce the output data and make it more readable
    * Implemented `json` format for output
    * Added the `--table-format` parameter which is responsible for the 
`vertical` and `horizontal` table orientation.
      This works only when `--format=text`
    * Added the `--warnings` parameter, if it is specified then not only 
fatal-warnings will be displayed, but also
      those with a lower severity

##### Fixes

* Fixed `--use-list` option - now it applies to entries according to the order 
in the list file
* Fixed `--use-list` option behavior together with `--list-format` option 
(`json` or `text`). Now it
  generates a temporal list file in text format for providing it to the 
pg_restore call
* Updated documentation according to the latest changes

### v0.1.2 - v0.1.6

* Fixed uncontrolled buffer growth in the restore command
* The `Hash` transformer has been completely remastered and now has the 
`function` parameter to choose from several hash algorithm options and the 
`max_length` parameter to truncate the hash tail.
* Split information about transformers between the `list-transformers` and new 
`show-transformer` CLI commands, which allows for more comprehensible and 
useful outputs for both commands 
* Added error severity for the `Cmd` parameter validator
* Significantly refactored the structure and content of documentation
* Fixed metadata enrichment for validation warnings caused by 
`RawValueValidator`
* Fixed a typo in the `credit_card` value for the `type` parameter of the 
`Masking` transformer
* Fixed Greenmask Playground environment variables and the `cleanup` command
* Fixed `list-dump`, `list-transformers`, and `restore` commands exit code on 
error
* Fixed database connection parameters behavior fields
* Fixed Json transformer: now it correctly parses operations field
* Fixed bug when raw COPY lines were parsed incorrectly
* Fixed `--version` parameter behavior


## Useful Links

Change log [greenmask.io](https://greenmask.io/release_notes/greenmask_0_1_7/)

Explore detailed [Documentation](https://greenmask.io/)

Access the [Latest Release on 
GitHub](https://github.com/GreenmaskIO/greenmask/releases/tag/v0.1.7)

Contact us for support at [Email Support](mailto:supp...@greenmask.io)

Reply via email to