Skip to content

v3.25.3

Latest

Choose a tag to compare

@github-actions github-actions released this 23 Aug 22:47
· 8 commits to main since this release

v3.25.3 is a patch release that fixes an issue with applying a source.clickhouse_clickstack_source could no longer be applied at all, failing with planned value cty.StringVal("") for a non-computed attribute. The empty strings the sources API echoes back for unset optional fields are now collapsed to null as the resource is read into state, rather than being papered over at plan time — which is something Terraform only permits for computed attributes. The fix also covers the nested expressions (highlighted_*, materialized_views) and from.table_name, and a config that deliberately sets "" still keeps it. No configuration changes are required to upgrade, but see the note below about a one-time diff.

🧪 Experimental Features

These resources ship in the regular provider release, but they are still in beta: their schema and behaviour may change in future provider versions, and they emit a beta warning when used.

  • clickhouse_clickstack_source can be applied again. v3.25.1 hid the API's echoed "" with a plan modifier hung off every optional string attribute. Terraform rejects a provider choosing a value for a non-computed attribute, so every plan failed with planned value cty.StringVal("") for a non-computed attribute before it could be applied. The "" is now translated to null when the API response is read into state, which is where an API's representation belongs. Coverage extends beyond the top-level attributes to the list-nested expressions (highlighted_*, materialized_views) and from.table_name, all of which the old plan modifier reached (#663).
  • An explicitly configured "" is still honoured. The ClickStack export generates Terraform configs straight from the API, so files with alias = "" spelled out do turn up in practice. The provider distinguishes "omitted from config" from "configured as empty" and only normalizes the former — collapsing both would have failed those applies with an inconsistent-result error (#663).
  • Upgrade note: expect one in-place update per source. Sources whose state was written by an earlier version still hold "". The first plan after upgrading shows a one-time in-place update clearing those fields, and the next plan is clean. There is no state upgrader, because an upgrader cannot tell an API echo from a deliberately configured "". If you gate CI on terraform plan -detailed-exitcode, expect one non-zero plan on the version bump (#663).
  • clickhouse_clickstack_connection docs now say Cloud manages connections. On ClickHouse Cloud, connections are owned by ClickHouse Cloud and cannot be created, changed, or deleted through this resource — it is for self-hosted ClickStack. The resource description, example, and import instructions now say so, and show referencing an existing Cloud connection by ID from clickhouse_clickstack_source.connection_id instead (#663).

Changelog

  • c320db9 Bump provider version in examples to 3.25.3
  • 1e5ea4c fix(clickstack): normalize the source API's echoed "" in state, not in the plan (#663)