Skip to content

Latest commit

 

History

History
520 lines (356 loc) · 14.2 KB

CHANGELOG.md

File metadata and controls

520 lines (356 loc) · 14.2 KB

Changelog

All notable changes to this project will be documented in this file.

The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.

[v0.7.0] - Unreleased

Added

  • Added the "User-Agent" header injected to every request to the Neon API for tracking purposes as agreed with James Broadhead from Neon.
  • Added the resource neon_api_key to manage Neon API keys.

Fixed

  • [#119] Fixed the output attribute host of the resource neon_endpoint: it will yield the correct URI for the endpoints with the pooled mode activated.
  • Documentation improvements:
    • Removed unclear warning from the page for the neon_endpoint resource.

Removed

  • Removed the outdated warning which was showing upon creation of the endpoint of the type "read_only",

Changed

  • Updated dependencies:
  • [BREAKING] #113] Set the default retention window to 1 day to avoid inconsistency with Neon.

[v0.6.3] - 2024-10-05

Fixed

  • Fixed docu; non-functional change.

[v0.6.2] - 2024-10-04

Added

  • Added the attribute protected for the resource neon_branch to provision protected branches.

Fixed

  • [#108] Fixed the import behaviour for the resource neon_role.
  • Fixed mutability of the default branch by adjusting the behaviour for the branch state of the resource neon_project.

Changed

  • Updated dependencies:

[v0.6.1] - 2024-09-28

Added

Fixed

  • Fixed validation of the autoscalling limits. You can now set the maximum compute size up to 10.

[v0.6.0] - 2024-09-23

Added

  • [#99] Added the attribute org_id to the resource neon_project to create project in the organisation.

Fixed

  • [BREAKING] [#96] The boolean attributes of the resource neon_project will be treated as strings to work around the issue with state management when the attribute gets removed from the manifest.

Examples

  • Set allowed_ips to be applicable only to the primary branch:
     resource "neon_project" "this" {
        name = "myproject"
        
        allowed_ips = ["1.2.3.4/24"]
    
        allowed_ips_primary_branch_only = "yes"
     }
  • Set allowed_ips to be applicable to all branches, explicitly:
     resource "neon_project" "this" {
        name = "myproject"
        
        allowed_ips = ["1.2.3.4/24"]
    
        allowed_ips_primary_branch_only = "no"
     }
  • Set allowed_ips to be applicable to all branches, implicitly:
     resource "neon_project" "this" {
        name = "myproject"
        
        allowed_ips = ["1.2.3.4/24"]
     }

Changed

  • Updated dependencies:
    • Neon Go SDK: v0.5.0
    • github.com/hashicorp/terraform-plugin-docs: v0.19.4

[v0.5.0] - 2024-03-10

Added

  • [#22] Added the following data resources:

    • neon_project
    • neon_branches
    • neon_branch_endpoints
    • neon_branch_roles
    • neon_branch_role_password
  • Added the read-only attribute default_endpoint_id to the resource neon_project.

  • Added the retry logic to manage all supported resources:

    • neon_project
    • neon_branch
    • neon_endpoint
    • neon_role
    • neon_database
    • neon_project_permission

Fixed

  • [#83] Fixed the state management of the project's default branch, role, database and endpoint.
  • [#88] Fixed import of the resource neon_role.

Changed

  • Updated dependencies:
  • Reduced the retry delay to 1 second from 5 seconds.

[v0.4.1] - 2024-02-28

Changed

  • Updated dependencies:

[v0.4.0] - 2024-01-28

Added

  • Added the resource neon_project_permission to manage the project's permissions.

Changed

  • Updated dependencies:

[v0.3.2] - 2024-01-11

Fixed

  • [resource_project>region_id] Validation of the project deployment region was removed.

Changed

  • Updated dependencies: Neon Go SDK v0.4.2

[v0.3.1] - 2023-12-22

Added

  • resource_project includes the attribute enable_logical_replication to configure the logical replication.

Fixed

  • PostgreSQL 16 is now supported.

Changed

  • Updated dependencies: Neon Go SDK v0.4.1

[v0.3.0] - 2023-12-21

Added

  • resource_project includes two additional attributes to configure IP addresses allowed to connect to the project's endpoints:
    • allowed_ips
    • allowed_ips_primary_branch_only

Fixed

  • Schema is set on per resource basis now.

Changed

  • Updated dependencies:
    • Go version to 1.21
    • Neon Go SDK v0.4.0
    • Terraform plugin SDK v2.31.0

[v0.2.5] - 2023-11-02

Fixed

[v0.2.4] - 2023-10-26

Fixed

  • Minor documentation fixes:
    • The note in the resource_role is removed because it's not reflecting the provider's behaviour.
    • The logo is fixed.

Changed

  • Updated dependencies: Neon Go SDK v0.3.0

[v0.2.3] - 2023-10-22

Fixed

  • [#51] Fixed credentials content.
  • Fixed management of the resource_role state:
    • Fixed password reading.
    • Removed the side effect upon the resource import: the role's password won't be reset now.

Changed

  • Updated dependencies: Neon Go SDK v0.2.5

[v0.2.2] - 2023-09-19

Fixed

  • resource_project:
    • (#40) Fixed types conversion for the terraform resource attributes of the type TypeInt.
    • (#42) Fixed default branch configuration.
    • (#48) Fixed default endpoint settings configuration.
    • Fixed history retention configuration. Now, the retention period of 7 days will be set by default, and zero will be set if history_retention_seconds is set to zero explicitly.

Note web console will reflect the data retention period correctly only if history_retention_seconds was set to an integral number of days because the web console shows the total number of full days only. Moreover, "7 days - default" will be displayed for any history_retention_seconds value below 86400 (1 day).

history_retention_seconds web console human-friendly duration
0 7 days - default 0
300 7 days - default 5 min
3600 7 days - default 1 hour
43200 7 days - default 12 hours
164160 1 day 1.9 days
198720 2 days 2.3 days
604800 7 days - default 7 days
  • Documentation:
    • Link to the Neon logo
    • End-to-end example

Changed

  • Documentation: examples of project provisioning
  • Updated dependencies: Neon Go SDK v0.2.2, terraform plugin SDK to 2.29.0

[0.2.1] - 2023-08-07

Added

  • Acceptance e2e tests

  • resource_project:

    • default_branch_id
  • resource_endpoint:

    • id
    • compute_provisioner
    • suspend_timeout_seconds

Removed

  • resource_role:

    • created_at
    • updated_at
  • resource_endpoint:

    • passwordless_access: it's not implemented yet by Neon
    • current_state
    • pending_state
  • resource_branch:

    • connection_uri

Changed

  • resource_endpoint:
    • autoscaling_limit_min_cu set to 0.25 by default
    • autoscaling_limit_max_cu set to 0.25 by default
    • type set to "read_write" by default

[0.2.0] - 2023-08-04

The release follows update of the Neon Go SDK.

Fixed

  • (#25) Fixed branch import
  • (#26) Fixed database import
  • (#32) Data type to define autoscaling limits
  • Neon logo in documentation

Added

  • resource_project:

    • store_password (Note that Neon does not support "false" value yet)
    • history_retention_seconds
    • compute_provisioner
    • quota:
      • active_time_seconds
      • compute_time_seconds
      • written_data_bytes
      • data_transfer_bytes
      • logical_size_bytes
    • default_endpoint_settings:
      • autoscaling_limit_min_cu
      • autoscaling_limit_max_cu
      • suspend_timeout_seconds
    • branch:
      • id
      • name
      • role_name
      • database_name
  • resource_branch:

    • id
    • connection_uri

Removed

  • resource_project:

    • pg_settings
    • cpu_quota_sec
    • autoscaling_limit_min_cu
    • autoscaling_limit_max_cu
    • branch_logical_size_limit
    • created_at
    • updated_at
  • resource_branch:

    • physical_size_size
    • endpoint
    • host
    • current_state
    • pending_state
    • created_at
    • updated_at
  • resource_database:

    • created_at
    • updated_at
  • resource_endpoint:

    • created_at
    • updated_at

[0.1.0] - 2023-01-08

Changed

  • Fixed typo and indentation of documentation

[0.0.9] - 2023-01-08

Fixed

  • Fixed neon_branch recourse by provisioning an endpoint attached to a newly created branch. It is required to permit interactions with the branch to manage associated roles and databases.

Changed

  • Improved documentation
  • Added an end-to-end guide to provision resources for AWS application to communicate with the Neon database

[0.0.8] - 2023-01-08

Added

  • Database resource:
resource "neon_database" "this" {
  project_id = "bitter-meadow-966132"
  branch_id  = "br-floral-mountain-251143"
  name       = "baz"
  owner_name = "qux"
}

[0.0.7] - 2023-01-08

Added

  • Role resource:
resource "neon_role" "this" {
  project_id = "bitter-meadow-966132"
  branch_id  = "br-floral-mountain-251143"
  name       = "qux"
}

[0.0.6] - 2023-01-08

Fixed

  • Fixed neon_endpoint resource provisioning when the attribute pg_settings is not set. The bug was in the Neon SDK, see details in the release notes.

Changed

[0.0.5] - 2023-01-07

Fixed

  • Fixed the logic to import neon_branch resource by its ID.

[0.0.4] - 2023-01-07

Added

  • Endpoint resource:
resource "neon_endpoint" "this" {
  project_id = "bitter-meadow-966132"
  branch_id  = "br-floral-mountain-251143"
  type       = "read_write"
}

[0.0.3] - 2023-01-07

Added

  • Added database connection details for the resource neon_project. Note that database_password and connection_uri read-only attributes are sensitive. Make sure that terraform backend is secured and terraform state is not exposed to prevent undesirable access to database.

[0.0.2] - 2023-01-07

Added

  • Branch resource:
resource "neon_project" "this" {
  name = "foo"
}

resource "neon_branch" "this" {
  project_id = neon_project.this.id
  name       = "bar"
}
  • Backoff+retry mechanism: operation is retried after the delay of 5 sec. API response's HTTP codes are 500, or 429. Total number of attempts is limited to 120 per operation.

Changed

  • Bumped Neon Go SDK v0.1.3
  • Added errors handling for the project resource

[0.0.1] - 2023-01-05

Added

  • Neon Provider:
terraform {
  required_providers {
    neon = {
      source = "kislerdm/neon"
    }
  }
}

provider "neon" {}
  • Project resource:
resource "neon_project" "this" {
  name = "foo"
}