Skip to content

Release train: chart 0.3.7 / appVersion 0.3.1 (core 0.22.0 + extensions 0.3.1 + arrow 0.3.1) - #22

Merged
fupelaqu merged 1 commit into
mainfrom
chore/train-0.3.1
Sep 3, 2026
Merged

Release train: chart 0.3.7 / appVersion 0.3.1 (core 0.22.0 + extensions 0.3.1 + arrow 0.3.1)#22
fupelaqu merged 1 commit into
mainfrom
chore/train-0.3.1

Conversation

@fupelaqu

@fupelaqu fupelaqu commented Sep 3, 2026

Copy link
Copy Markdown
Contributor

Release train: chart 0.3.7 / appVersion 0.3.1

Final hop of the 0.22.0 train (elasticsql 0.22.0 → extensions 0.3.1 → arrow 0.3.1 → {jdbc 0.3.1, repl 0.22.0, **helm chart 0.3.7**}). This chart's prerequisite is the Docker images, not the jars — a different workflow that lands minutes after the jar publish — so it was held until all five tags were confirmed on DockerHub.

All three version surfaces move together

surface was now
Chart.yaml version (chart SemVer) 0.3.6 0.3.7
Chart.yaml appVersion (image tag) 0.3.0 0.3.1
.github/workflows/federation-helm.yml IMAGE_TAG 0.3.0 0.3.1

The third one is the trap: the live-install jobs pull and kind load images from IMAGE_TAG independently of the chart, so a stale value makes CI install the previous release's images while the chart claims the new ones. It drifted on the 0.2.2 and 0.2.4 trains; its own comment records that history.

Image availability — verified before the bump

All five tags present on DockerHub at 0.3.1 (every template derives its tag from .Chart.AppVersion, so a missing one would make the chart point at a nonexistent image):

softnetwork/softclient4es-federation:0.3.1            2026-09-03T15:16:21
softnetwork/softclient4es6-arrow-flight-sql:0.3.1     2026-09-03T15:23:24
softnetwork/softclient4es7-arrow-flight-sql:0.3.1     2026-09-03T15:23:20
softnetwork/softclient4es8-arrow-flight-sql:0.3.1     2026-09-03T15:23:19
softnetwork/softclient4es9-arrow-flight-sql:0.3.1     2026-09-03T15:23:24

What ships in those images

  • core 0.22.0 — parse rejections name the SQL statement instead of labelling every one a schema DDL error (SoftClient4ES#262); FROM-less SELECT 1, the connection/health idiom of both Tableau and Superset, is accepted and answered (SoftClient4ES#251); the log4j closure repair (SoftClient4ES#259), so the images no longer ship log4j-core without log4j-api — which made any provider scan die on a bare NoClassDefFoundError (softclient4es-arrow#167).
  • extensions 0.3.1
  • arrow 0.3.1 — JOIN date columns survive extraction and read back as values instead of crashing or returning silently null (softclient4es-arrow#168); ES_* env spellings accepted as deprecated aliases of the canonical ELASTIC_* family, removed in 0.5.0 (#169); character columns advertise a usable width so BI clients stop truncating them (#171).

No chart-contract change — no values added or removed, no template edits.

Goldens

Checked for pre-existing drift before editing: none, all 7 clean. After the bump, every changed line was classified — the diff is exclusively helm.sh/chart, app.kubernetes.io/version, image tags, and checksum/config (the ConfigMap embeds the chart labels, so its hash moves with them). Zero unclassified lines.

Static gates, run locally

helm lint · kubeconform -strict (k8s 1.29.0) · all 7 golden diffs · zero kind: Secret · the removed-licence-public-key guard still aborts the render and still names the value (both halves — an abort whose message drifted generic would leave an operator with nothing to act on) · heterogeneous-ready/three-region discriminator (3 / 0 commented duckdb-attach previews).

Not bumped, deliberately

The since appVersion 0.3.0 lines in README.md, docs/operator-guide.md, values.yaml and the three-region example date a behaviour change (the embedded licence trust root). They are not a current-version tracker and moving them would falsify the history.

🤖 Generated with Claude Code

…ensions 0.3.1 + arrow 0.3.1 train)

All three version surfaces move together, as the 0.2.2/0.2.4 trains learned the
hard way: Chart.yaml `version` + `appVersion`, and the `IMAGE_TAG` env in
.github/workflows/federation-helm.yml, which the live-install jobs use to pull
and kind-load images INDEPENDENTLY of the chart. A stale IMAGE_TAG makes CI
install the previous release's images while the chart claims the new ones.

Image availability verified BEFORE the bump — all five DockerHub tags present at
0.3.1 (softclient4es-federation + softclient4es{6,7,8,9}-arrow-flight-sql), since
every template derives its tag from .Chart.AppVersion and a missing one would
point the chart at a nonexistent image. This chart's prerequisite is the IMAGES,
a workflow separate from the jar publish — it is not gated on jdbc at all.

Contents rolled into the federation + sidecar images at 0.3.1:
  - core 0.22.0 — parse rejections name the SQL statement instead of labelling
    every one a schema DDL error (SoftClient4ES#262); FROM-less `SELECT 1`, the
    connection/health idiom of both Tableau and Superset, is accepted and
    answered (SoftClient4ES#251); log4j closure repair (SoftClient4ES#259), so
    the images no longer ship log4j-core without log4j-api.
  - extensions 0.3.1
  - arrow 0.3.1 — JOIN date columns survive extraction and read back as values
    (softclient4es-arrow#168); `ES_*` env spellings accepted as deprecated
    aliases of `ELASTIC_*`, removed in 0.5.0 (#169); character columns advertise
    a usable width so BI clients stop truncating them (#171).

No chart-contract change: no new/removed values, no template edits. All 7
goldens regenerated; the diff is EXCLUSIVELY `helm.sh/chart`,
`app.kubernetes.io/version`, image tags and `checksum/config` (the ConfigMap
embeds the chart labels, so its hash moves with them) — verified by classifying
every changed line, with zero unclassified. Goldens had zero pre-existing drift
before the edit.

Static gates green locally: helm lint, kubeconform -strict (1.29.0), all 7
golden diffs, zero `kind: Secret`, the licence public-key abort still fires AND
still names the value, and the heterogeneous-ready/three-region discriminator
(3 / 0 commented duckdb-attach previews).

Historical "since appVersion 0.3.0" statements in README/docs/values are left
untouched — they date a behaviour change, they do not track the current version.
@fupelaqu
fupelaqu marked this pull request as ready for review September 3, 2026 20:12
@fupelaqu
fupelaqu merged commit 31133de into main Sep 3, 2026
15 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant