Release train: chart 0.3.7 / appVersion 0.3.1 (core 0.22.0 + extensions 0.3.1 + arrow 0.3.1) - #22
Merged
Merged
Conversation
…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
marked this pull request as ready for review
September 3, 2026 20:12
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
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
Chart.yamlversion(chart SemVer)0.3.60.3.7Chart.yamlappVersion(image tag)0.3.00.3.1.github/workflows/federation-helm.ymlIMAGE_TAG0.3.00.3.1The third one is the trap: the live-install jobs pull and
kind loadimages fromIMAGE_TAGindependently 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):What ships in those images
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 bareNoClassDefFoundError(softclient4es-arrow#167).null(softclient4es-arrow#168);ES_*env spellings accepted as deprecated aliases of the canonicalELASTIC_*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, andchecksum/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 · zerokind: 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 commentedduckdb-attachpreviews).Not bumped, deliberately
The
since appVersion 0.3.0lines inREADME.md,docs/operator-guide.md,values.yamland 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