Skip to content

Latest commit

 

History

History
654 lines (448 loc) · 31.6 KB

CHANGELOG.md

File metadata and controls

654 lines (448 loc) · 31.6 KB

Changelog

Unreleased

0.8.0 - 2024-05-16

Breaking Changes

  • This release introduces a breaking change to the materialize_source_postgres resources configuration: #487

    • The schema property is removed: The schema property is removed from the materialize_source_postgres resource configuration. Users must now explicitly define the table block to specify the tables to include in the source. This change is designed to ensure consistency and predictability in the Terraform provider's behavior.
    • The table block is now required: Previously, the table block was optional, allowing users to specify specific tables to include in the source. Starting with version v0.8.0, the table block is now required. Users must explicitly define the tables to be included in the source. This change is designed to ensure consistency and predictability in the Terraform provider's behavior.
    • Changes to the table block: The tables property schema has been updated as follows:
      table {
        upstream_name        = string # Required: The name of the table in the upstream database: Previously `name`
        upstream_schema_name = string # The schema of the table in the upstream database
        name                 = string # The name of the table in Materialize: Previously `alias`
        schema_name          = string # The schema of the table in Materialize
        datatabase_name      = string # The name of the database where the table will be created in Materialize
      }
    • Migration Guide: For a detailed guide on adapting to these changes, refer to the migration guide here
  • The subsource read-only attribute is removed from all source resources as part of a change to align with Materialize's internal behavior.

Misc

  • Routine dependency updates: #564

0.7.1 - 2024-04-30

Features

  • Update region attribute for all resources to be computed #559
  • Add connection_id attribute for materialize_connection data source #553

Bug Fixes

  • Check for nil values in GetSliceValueString #552
  • Fix materialize_connection_kafka rename race condition #561

Misc

  • Routine dependency updates: #557, #558

0.7.0 - 2024-04-24

Breaking Changes

  • public schemas are no longer created by default: In previous versions, the materialize_database resource automatically created a public schema in each new database, mimicking traditional SQL database behavior. Starting with version v0.7.0, this default behavior has been removed. Users must now explicitly define and manage public schemas within their Terraform configurations. This change is designed to align the Terraform provider's behavior more closely with its design principles, ensuring consistency and predictability.
    • Action Required: Explicitly define public schemas in your Terraform configurations if needed. Along with the required grant USAGE to the PUBLIC pseudo-role for the public schema
    • Migration Guide: This only affects newly created databases. Details on adapting to this change are available here

Features

  • Add scheduling attribute to the materialize_cluster resource #545

Bug Fixes

  • Fix an issue where resource imports were failing when using a non-default region #550

Misc.

  • Routine dependency updates #549

0.6.10 - 2024-04-19

Features

  • Allow ALTER CONNECTION updates for the following connection resources:

    • materialize_connection_mysql resource (#541)
    • materialize_connection_confluent_schema_registry resource (#540)
    • materialize_connection_kafka resource (#538)
    • materialize_connection_aws_privatelink resource (#533)
    • materialize_connection_aws resource (#529)
  • Add support for Frontegg SCIM groups which includes the following new resources (#525):

    • materialize_scim_group
    • materialize_scim_group_roles
    • materialize_scim_group_users
  • Add support for the key value load generator source (#537)

  • New materialize_region resource (#535)

  • Add validate parameter to materialize_aws_privatelink connection (#539)

  • Remove idle_arrangement_merge_effort option from materialize_cluster (#532)

Misc

  • Add additional materialize_connection_postgres unit tests (#542)
  • Define builtin probe cluster size (#536)
  • Remove unnecessary SSH connections in Postgres tests (#531)
  • Refactor the Frontegg package (#530)
  • Use unique SSH conn name to fix CI flakes (#527)

0.6.9 - 2024-03-29

Features

  • Add PUBLIC pseudo-role to resource grants #524
  • Add materialize_role_parameter resource #522
  • Allow ALTER CONNECTION updates for resource_connection_postgres #511
  • Allow ALTER CONNECTION updates for SSH tunnels #523

BugFixes

  • Fix failing environmentd bootstrap #512

Misc

  • Added acceptance tests for:
    • Cloud region data source #521
    • SCIM config resource #520
    • SCIM Groups data source #509
    • SSO config data source #507

0.6.8 - 2024-03-20

Features

  • Allow region option for data sources #506
  • Remove scale factor for auction/counter load generator sources #502
  • Add cluster availability zone attribute #498

Misc

  • Added acceptance tests for SSO group mapping resource #505
  • Added acceptance tests for SSO default roles resource #503
  • Added acceptance tests for SSO domain resource #497

0.6.7 - 2024-03-11

Features

  • New resource materialize_connection_mysql #480
  • New resource materialize_source_mysql #486
  • New resource materialize_connection_aws #492

BugFixes

  • Add region prefix hint message #488

Misc

  • Acceptance tests for SCIM config resource #483
  • Acceptance tests for SCIM config data source #485
  • Dependency updates: #484, #494, #495

0.6.6 - 2024-02-29

Features

  • Allow single system parameter data sources #474
  • Allow schema rename #450

Misc

  • Acceptance tests for user resource #477
  • Dependency updates: #476

0.6.5 - 2024-02-19

Features

  • Add support for top level PrivateLink connections to Kafka #471

0.6.4 - 2024-02-14

Features

  • New resource: materialize_system_parameter #464
  • New data source: materialize_system_parameter #464
  • Add the new cc cluster sizes #467

Misc

  • Mark the disk option as deprecated #460
  • Dependabot updates: #459

0.6.3 - 2024-02-02

BugFixes

  • Fix the SSO configuration SP Entity ID definition #456

0.6.2 - 2024-02-02

BugFixes

  • Fix the SSO configuration SP Entity ID definition #456

0.6.1 - 2024-02-01

Features

  • New resource: materialize_scim_config #449

BugFixes

  • Allow imports for SSO resources #453
  • Fix failing weekly tests #448

Misc

  • Dependabot updates: #447
  • Documentation updates: #446, #453

0.6.0 - 2024-01-23

Breaking Changes

  • Drop SIZE support for sources and sinks #438

Features

  • Make cluster_name parameter required for materialized_view and index resources #435
  • Include create_sql for view and materialized_view #436
  • New resources: #442
    • materialize_sso_config: Manages SSO configuration details
    • materialize_sso_default_roles: Manages SSO default roles
    • materialize_sso_domain: Manages SSO domains
    • materialize_sso_group_mappings: Manages SSO group mappings
  • New data sources:
    • materialize_scim_configs: Fetches SCIM configuration details
    • materialize_scim_groups: Fetches SCIM group details
    • materialize_sso_config: Fetches SSO configuration details

Misc

  • Add Tests for INCLUDE KEY AS for kafka sources #439
  • Mark comments as public preview #440
  • Dependabot updates: #441, #443

0.5.0 - 2024-01-10

Features

  • Introduced a unified interface for managing both global and regional resources.
  • Implemented single authentication using an app password for all operations.
  • Added dynamic client allocation for managing different resource types.
  • Enhanced provider configuration with parameters for default settings and optional endpoint overrides.
  • New resources:
    • App passwords: materialize_app_password.
    • User management materialize_user.
  • Added data sources for fetching region details (materialize_region).
  • Implemented support for establishing SQL connections across multiple regions.
  • Introduced a new region parameter in all resource and data source configurations. This allows users to specify the region for resource creation and data retrieval.

Breaking Changes

  • Provider Configuration Changes:

    • Deprecated the host, port, and user parameters in the provider configuration. These details are now derived from the app password.
    • Retained only the password definition in the provider configuration. This password is used to fetch all necessary connection information.
  • New region Configuration:

    • Introduced a new default_region parameter in the provider configuration. This allows users to specify the default region for resource creation.
    • The default_region parameter can be overridden in specific resource configurations if a particular resource needs to be created in a non-default region.
    provider "materialize" {
      password       = var.materialize_app_password
      default_region = "aws/us-east-1"
    }
    
    resource "materialize_cluster" "cluster" {
      name   = "cluster"
      region = "aws/us-west-2"
    }

Misc

  • Mock Services for Testing:
    • Added a new mocks directory, which includes mock services for the Cloud API and the FrontEgg API.
    • These mocks are intended for local testing and CI, facilitating development and testing without the need for a live backend.

Migration Guide

  • Before upgrading to v0.5.0, users should ensure that they have upgraded to v0.4.x which introduced the Terraform state migration necessary for v0.5.0. After upgrading to v0.4.x, users should run terraform plan to ensure that the state migration has completed successfully.
  • Users upgrading to v0.5.0 should update their provider configurations to remove the host, port, and user parameters and ensure that the password parameter is set with the app password.
  • For managing resources across multiple regions, users should specify the default_region parameter in their provider configuration or override it in specific resource blocks as needed using the region parameter.

0.4.3 - 2024-01-08

Breaking Changes

  • Rename "default" cluster to "quickstart" as part of a change on the Materialize side #423

Misc

  • Dependabot updates #427
  • Change the user of the scheduled tests #428

0.4.2 - 2024-01-02

Features

  • Add COMPRESSION TYPE`` option to materialize_sink_kafka` resource #414

BugFixes

  • Fix Kafka offset acceptance tests #418

Misc

  • Include additional tests for subsource #413
  • Dependabot updates #416, #415

0.4.1 - 2023-12-12

Features

  • Allow Avro comments (avro_doc_type and avro_doc_column) for resource materialize_sink_kafka #373

Misc

  • Include additional acceptance tests for datasources #410

0.4.0 - 2023-12-12

Features

  • Improved ID structuring in Terraform state file with region-prefixed IDs, enhancing state management to allow supporting new features like managing cloud resources (#400, #401, #402, and #406)

0.3.4 - 2023-12-06

Features

  • Add ssh_tunnel as a broker level attribute for materialize_connection_kafka. ssh_tunnel can be applied as a top level attribute (the default for all brokers) or both the individual broker level #366

BugFixes

  • Allow PUBLIC as grantee for default grant resources #397

0.3.3 - 2023-11-30

Features

  • Add default to columns when defining a materialize_table #374
  • Add expose_progress to materialize_source_load_generator #374
  • Support row type in materialize_type #374

BugFixes

  • Fix expose_progress in materialize_source_postgres and materialize_source_kafka #374
  • Fix start_offset in materialize_source_kafka #374
  • Allow replication_factor of 0 for materialize_cluster #390

Misc

  • Set replication_factor as computed in materialize_cluster #374

Breaking Changes

  • Remove session_variables from materialize_role #374

0.3.2 - 2023-11-24

Features

BugFixes

  • Fix default grant read #381

Misc

0.3.1 - 2023-11-21

Features

  • Add security_protocol to materialize_connection_kafka #365

BugFixes

  • Handle user values that contain special characters, without requiring manual URL escaping (e.g., escaping [email protected] as you%40corp.com) #372
  • Load generator source TPCH requires ALL TABLES #377
  • Improve grant reads #378

Misc

  • materialize_cluster_replica is deprecated #370
  • Raise max_clusters for testing #371

0.3.0 - 2023-11-16

Features

  • Add key_not_enforced to materialize_sink_kafka #361

BugFixes

  • Fix a bug where topics were defined after keys in materialize_sink_kafka create statements #358
  • Correct ForceNew for column attributes in materialize_table #363

Misc

  • Update go.mod version to 1.20 #369

Breaking Changes

  • Previously, blocks within resources that included optional schema_name and database_name attributes would inherit the top level attributes of the resource if set. So in the following example:
    resource "materialize_source_postgres" "example_source_postgres" {
      name          = "source_postgres"
      schema_name   = "my_schema"
      database_name = "my_database"
    
      postgres_connection {
          name          = "postgres_connection"
      }
    }
    
    The Postgres connection would have the schema name of my_schema and database name my_database. Now, if schema_name or database_name are not set, they will use the same defaults as top level attributes (public for schema and materialize for database) #353

0.2.2 - 2023-11-10

Features

  • Include detail and hint messages for SQL errors #354

BugFixes

Misc

0.2.1 - 2023-11-09

Features

  • Support ASSERT NOT NULL for materialized view resource #341

BugFixes

Misc

  • Update testing plugin #345

Breaking Changes

  • Update header attributes for materialize_source_webhook. Adds include_header and is now a complex type include_headers and no longer boolean #346

0.2.0 - 2023-10-30

Features

BugFixes

Misc

Breaking Changes

  • Provider configuration parameters so that they are consistent across all components #339:
    • The configuration variable username is changed to user
    • The environment variable MZ_PW is changed to MZ_PASSWORD

0.1.14 - 2023-10-25

Features

BugFixes

  • Fix grantRead failures if the underlying object that the grant is on has been dropped #338

Misc

  • Prevent force new for comments on cluster replicas, indexes and roles #333
  • Mask the local sizes for cluster replicas used by Docker #355

0.1.13 - 2023-10-12

Features

  • Support for COMMENTS on resources #324

BugFixes

Misc

0.1.12 - 2023-09-14

Features

BugFixes

  • Fix Postgres source schema Attribute #314
  • Require FOR ALL TABLES Multi Output Sources #310

Misc

0.1.11 - 2023-09-07

Features

BugFixes

  • Add support for format JSON in Kafka source #305

Misc

Breaking Changes

  • Remove `Table`` attributes for load gen source #303

0.1.10 - 2023-09-01

Features

BugFixes

  • Fix ALL ROLES for default grants #300

Misc

0.1.9 - 2023-08-31

Features

  • Support FOR SCHEMAS for postgres source #262

BugFixes

  • Remove unnecessary default privilege attributes #294

Misc

0.1.8 - 2023-08-24

Features

  • New resource materialize_source_webhook for Webhook Sources #271
  • Support disk attribute for clusters and replicas #279

BugFixes

Misc

  • Include missing attributes for managed cluster data sources #282
  • Support key rotation for SSH tunnels #278

0.1.7 - 2023-08-17

Features

  • Support for ADD|DROP tables with postgres sources #265
  • Additional attributes for managed clusters #275

BugFixes

Misc

  • Consistent documentation for common attributes #276

0.1.6 - 2023-08-09

Features

BugFixes

  • Correct replica sizes >xlarge #268

Misc

0.1.5 - 2023-08-07

Features

  • Include subsource as computed attribute for sources #263

BugFixes

  • Remove managed clusters testing flag #261

Misc

Breaking Changes

  • Remove ownership for cluster replica resource #259
  • Require target_role_name for all default privilege resources #260
  • Require col_expr for index resources #220

0.1.4 - 2023-07-27

Features

BugFixes

  • Fix removing grants outside of Terraform state #245

Misc

0.1.3 - 2023-07-27

Features

  • Support INCLUDE KEY AS <name> for Kafka sources #250

BugFixes

  • Fix Default type grants case sensitivity #247
  • Remove Kafka Source Primary Key #243

Misc

  • RBAC Refactor #234

0.1.2 - 2023-07-17

Features

  • Include WITH (VALIDATE = false) for testing #236

BugFixes

  • Fix identifier quoting #239

Misc

0.1.1 - 2023-07-14

Features

BugFixes

  • Qualify role name in grant resources #235

Misc

0.1.0 - 2023-07-11

Features

  • Revised RBAC resources #218. A full overview of the Terraform RBAC resources can be found in the rbac.md
  • Support Managed Clusters #216
  • Support FORMAT JSON for sources #227
  • Support EXPOSE PROGRESS for kafka and postgres sources #213

BugFixes

  • Rollback resource creation if ownership query fails #221

Misc

  • Table context read includes column attributes #215

Breaking Changes

  • As part of the #218 grant resources introduced in 0.0.9 have been renamed from materialize_grant_{object} to materialize_{object}_grant

0.0.9 - 2023-06-23

Features

  • Resource type grants (#191, #205, #209)
  • Enable resource and data source roles #206
  • Add attribute ownership_role to existing resources (#208, #211)

BugFixes

Misc

0.0.8 - 2023-06-15

Features

BugFixes

  • Fixes for resource updates (included as part of acceptance test coverage)
  • Correct schema index read #202
  • Attributes missing force new (#188, #189)

Misc

  • Include application_name in connection string #184

0.0.7 - 2023-06-07

Features

BugFixes

  • Handle missing resources on refresh #176
  • Typo in Privatelink Connection #182

Misc

0.0.6 - 2023-05-31

Features

  • Resource and data source Type
  • Support for load generator type Marketing

BugFixes

Misc

  • Refactor of materialize package (#164, #161, #158)
  • Improvements to documentation

0.0.5 - 2023-05-18

Features

  • Include datasource materialize_egress_ips

BugFixes

  • Remove improper validation for cluster replica availability zones
  • Include 3xsmall as a valid size

Misc

  • Update index queries to use mz_objects

0.0.4 - 2023-05-01

Features

  • Include cluster_name as a read parameter for the Materialized view query
  • Include SSH keys in SSH connection resource

BugFixes

  • Cleanup resources Functions
  • Fix Slice Params

Misc

0.0.3 - 2023-04-20

Features

  • Adds principal property to the AWS PrivateLink connection resource

BugFixes

Misc

  • Remove unnecessary type property
  • Dependabot updates

0.0.2 - 2023-04-18

Features

BugFixes

  • Fixes to datasources and added coverage to integration tests
  • Fixes to UpdateContext to resources and added coverage to unit tests

Misc

  • Change the Go import path

0.0.1 - 2023-04-06

Initial release.