Received: from malur.postgresql.org ([217.196.149.56]) by arkaria.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.94.2) (envelope-from ) id 1rNvwh-00HD6I-Fx for pgsql-announce@arkaria.postgresql.org; Thu, 11 Jan 2024 14:22:12 +0000 Received: from localhost ([127.0.0.1] helo=malur.postgresql.org) by malur.postgresql.org with esmtp (Exim 4.94.2) (envelope-from ) id 1rNvwg-00C0UW-LL for pgsql-announce@arkaria.postgresql.org; Thu, 11 Jan 2024 14:22:10 +0000 Received: from magus.postgresql.org ([2a02:c0:301:0:ffff::29]) by malur.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.94.2) (envelope-from ) id 1rNvwf-00C0U3-QM for pgsql-announce@lists.postgresql.org; Thu, 11 Jan 2024 14:22:09 +0000 Received: from mahout.postgresql.org ([2001:4800:3e1:1::227]) by magus.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.94.2) (envelope-from ) id 1rNvwc-0011UE-1d for pgsql-announce@lists.postgresql.org; Thu, 11 Jan 2024 14:22:09 +0000 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=postgresql.org; s=20171124; h=Message-ID:Date:Reply-To:From:To:Subject: MIME-Version:Content-Type:Sender:Cc:Content-Transfer-Encoding:Content-ID: Content-Description:In-Reply-To:References; bh=CPj7OqKoCTOAzOFfu2hGNKweOR2OnYIDaer2dIKohdg=; b=uBDrfuBKcXboXTZVqUCahaVtbH HJrIWU4PSb1uA5JS6IN/gX3jVM62VrctJD4HBHrjEg8GEgwMa+e+Rfuu8kfA0xBB0+XiJQNOdveb6 pvCccdAocTYRSt7VJ2BfwM0Hq+cZyb8iiyDoyQM46aT/sk3dmIjG4PBDy0ANdcxLS9U5DJKjpWJGZ WNpNbpihydAPtHFPy1Kodv0w1cmJdExHLPrHbTHy6V1TLGGmmhDIJ1+FrI3VCDKExs/SSwYU9jTut TEyOC1h7As1sdf92cIrWWJ4bdSg0BVk0cpcoCYvcQ8GcMpZ7ZS/N7IUam8QKo731Jl/NV3WGcW7BY nUMjmcrA==; Received: from wrigleys.postgresql.org ([2a02:c0:301:0:ffff::34]) by mahout.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.94.2) (envelope-from ) id 1rNvwZ-0033Eu-7A for pgsql-announce@lists.postgresql.org; Thu, 11 Jan 2024 14:22:04 +0000 Received: from localhost ([127.0.0.1] helo=wrigleys.postgresql.org) by wrigleys.postgresql.org with esmtp (Exim 4.94.2) (envelope-from ) id 1rNvwY-006inF-4p for pgsql-announce@lists.postgresql.org; Thu, 11 Jan 2024 14:22:02 +0000 Content-Type: multipart/mixed; boundary="===============5712141412891885922==" MIME-Version: 1.0 Subject: Greenmask v0.1.0 Release To: PostgreSQL Announce From: "Greenmask.io via PostgreSQL Announce" Reply-To: info@greenmask.io Date: Thu, 11 Jan 2024 14:21:19 +0000 Message-ID: <170498287959.664.1413985892239064572@wrigleys.postgresql.org> X-Auto-Response-Suppress: All Auto-Submitted: auto-generated X-pglister-tags: related X-pglister-tagsig: 55ba8ff9b29b70f5406a6e4f75a29f69f92e990d23de421585d35c0e964ddbca List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Archived-At: Precedence: bulk --===============5712141412891885922== Content-Type: multipart/alternative; boundary="===============3207421915593355273==" MIME-Version: 1.0 --===============3207421915593355273== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable ## PostgreSQL Dump and Obfuscation Tool We are excited to announce the release of Greenmask v0.1.0, marking the fir= st production-ready version. This release addresses various bug fixes, intr= oduces improvements, and includes documentation refactoring for enhanced cl= arity. ### Greenmask overview #### Key Features - Cross-Platform Support: Developed in Go, Greenmask is free of platform de= pendencies. - Type-Safe Database Operations: Ensures data validation and encoding, main= taining integrity. - Transformation Validation: Guarantees correct and maintainable data trans= formations. - Partitioned Table Support: Eases configuration for partitioned tables. - Stateless and Backward Compatible: Compatible with standard PostgreSQL ut= ilities. - Parallel Execution: Boosts efficiency in dumping and restoration processe= s. - Multiple Storage Options: Offers support for both local and remote storag= e solutions. #### Use Cases - Perfect for routine backup and restoration tasks. - Aids in anonymization and data masking for staging environments and analy= tics. ### Release notes #### Improvements - Improved verbosity in custom transformer interaction, accumulating stderr= data and forwarding it in batches instead of writing it one by one. - Added positional arguments for the list-transformers command, allowing sp= ecific transformer information retrieval (e.g., `greenmask list-transformer= s RandomDate`). - Added version parameter --version that prints greenmask utility version - Added Numeric parameters support for Int and Float transformers, with the= caveat that in a few cases, it may lead to out-of-range errors. #### Changes - Updated dependencies to newer versions. - Enhanced the stability of the JSON line interaction protocol by utilizing= the stdlib JSON encoder/decoder. - Modified the method for sending table metadata to custom transformers; no= w, it is sent via stdin in the first line in JSON format instead of providi= ng it via command arguments. - Refactored template functions naming. - Rewritten NoiseDate transformer implementation for improved stability and= predictability. - Changed the default value for the Dict transformer fail_not_matched param= eter to true. - Rewritten Hash transformer, now providing a salt parameter and receiving = a base64 encoded salt. If a salt is not provided, it generates one randomly. - Added validator for NoiseDate and RandomDate transformers for the truncat= e parameter, issuing a warning if the provided value is invalid. - Increased verbosity of parameter validation warnings, now properly forwar= ding warnings to stdout. #### Fixes - Resolved pgx driver connection leakage issue. - Fixed deletion failure of dumps for S3 storage. - Corrected cobra autocompletion for the Greenmask utility. - Fixed NOT NULL constraint validation. - Addressed JSON API interaction issues that previously caused deadlocks an= d timeouts. - Fixed encode-decoding for binary parameters, ensuring accurate forwarding= of values to custom transformers. - Fixed the RandomChoice transformer to correctly marshal and unmarshal val= ues during validation. - Introduced the Nullable property for the SetNull transformer to enhance N= OT NULL constraint validation. - Resolved text wrapping issues for the validate command. - Fixed build failures on Windows due to Linux platform dependencies. - Corrected stdout readline buffer reading during interaction with custom t= ransformers. - Fixed integration tests. #### Ecosystem Changes - Implemented CI/CD for the entire project. - Established a user-friendly playground in Docker-compose, including: - Deployed Minio storage container. - PostgreSQL container containing both the original database (Adventure W= orks) and the transformed (empty DB). - Greenmask container itself. - Refactored current readme files. ### Community Participation We highly value feedback and suggestions from the PostgreSQL community. You= r insights and testing are crucial for enhancing Greenmask's robustness and= utility. ### Useful Links - [Documentation](https://greenmask.io/) - [Release on GitHub](https://github.com/GreenmaskIO/greenmask/releases/tag= /v0.1.0) - [Email Support](mailto:support@greenmask.io) --===============3207421915593355273== Content-Type: text/html; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Greenmask v0.1.0 Release
 

Greenmask v0.1.0 Release

PostgreSQL Dump and Obfuscation= Tool

We are excited to announce the release of G= reenmask v0.1.0, marking the first production-ready version. This release a= ddresses various bug fixes, introduces improvements, and includes documenta= tion refactoring for enhanced clarity.

Greenmask overview

Key Features

  • Cross-Platform = Support: Developed in Go, Greenmask is free of platform dependencies.
  • Type-Safe Datab= ase Operations: Ensures data validation and encoding, maintaining integrity= .
  • Transformation = Validation: Guarantees correct and maintainable data transformations.
  • Partitioned Tab= le Support: Eases configuration for partitioned tables.
  • Stateless and B= ackward Compatible: Compatible with standard PostgreSQL utilities.
  • Parallel Execut= ion: Boosts efficiency in dumping and restoration processes.
  • Multiple Storag= e Options: Offers support for both local and remote storage solutions.

Use Cases

  • Perfect for rou= tine backup and restoration tasks.
  • Aids in anonymi= zation and data masking for staging environments and analytics.

Release notes

Improvements

  • Improved verbos= ity in custom transformer interaction, accumulating stderr data and forward= ing it in batches instead of writing it one by one.
  • Added positiona= l arguments for the list-transformers command, allowing specific transforme= r information retrieval (e.g., greenmask list-transformers RandomDate= ).
  • Added version p= arameter --version that prints greenmask utility version
  • Added Numeric p= arameters support for Int and Float transformers, with the caveat that in a= few cases, it may lead to out-of-range errors.

Changes

  • Updated depende= ncies to newer versions.
  • Enhanced the st= ability of the JSON line interaction protocol by utilizing the stdlib JSON = encoder/decoder.
  • Modified the me= thod for sending table metadata to custom transformers; now, it is sent via= stdin in the first line in JSON format instead of providing it via command= arguments.
  • Refactored temp= late functions naming.
  • Rewritten Noise= Date transformer implementation for improved stability and predictability.<= /li>
  • Changed the def= ault value for the Dict transformer fail_not_matched parameter to true.
  • Rewritten Hash = transformer, now providing a salt parameter and receiving a base64 encoded = salt. If a salt is not provided, it generates one randomly.
  • Added validator= for NoiseDate and RandomDate transformers for the truncate parameter, issu= ing a warning if the provided value is invalid.
  • Increased verbo= sity of parameter validation warnings, now properly forwarding warnings to = stdout.

Fixes

  • Resolved pgx dr= iver connection leakage issue.
  • Fixed deletion = failure of dumps for S3 storage.
  • Corrected cobra= autocompletion for the Greenmask utility.
  • Fixed NOT NULL = constraint validation.
  • Addressed JSON = API interaction issues that previously caused deadlocks and timeouts.
  • Fixed encode-de= coding for binary parameters, ensuring accurate forwarding of values to cus= tom transformers.
  • Fixed the Rando= mChoice transformer to correctly marshal and unmarshal values during valida= tion.
  • Introduced the = Nullable property for the SetNull transformer to enhance NOT NULL constrain= t validation.
  • Resolved text w= rapping issues for the validate command.
  • Fixed build fai= lures on Windows due to Linux platform dependencies.
  • Corrected stdou= t readline buffer reading during interaction with custom transformers.
  • Fixed integrati= on tests.

Ecosystem Changes

  • Implemented CI/= CD for the entire project.
  • Established a u= ser-friendly playground in Docker-compose, including:
  • Deployed Minio = storage container.
  • PostgreSQL cont= ainer containing both the original database (Adventure Works) and the trans= formed (empty DB).
  • Greenmask conta= iner itself.
  • Refactored curr= ent readme files.

Community Participation

We highly value feedback and suggestions fr= om the PostgreSQL community. Your insights and testing are crucial for enha= ncing Greenmask's robustness and utility.

Useful Links

This email was sent to you from Greenmask.io. It was delivered on their beh= alf by the PostgreSQL project. Any questions about the content of the message shou= ld be sent to Greenmask.io.

You were sent this email as a subscriber of the pgsql-announce mai= linglist, for the content tag Related Open Source. To unsubscribe from further emails, or change which emails you want to receive, please click th= e personal unsubscribe link that you can find in the headers of this email, or visit https://lists.postgresql.org/unsubscribe/.
 
--===============3207421915593355273==-- --===============5712141412891885922==--