Skip to content

Bump docker to version 14.2.0 - #385

Merged
ibrahim halatci (ihalatci) merged 1 commit into
masterfrom
ihalatci-bump-citus-14-2-0
Sep 1, 2026
Merged

Bump docker to version 14.2.0#385
ibrahim halatci (ihalatci) merged 1 commit into
masterfrom
ihalatci-bump-citus-14-2-0

Conversation

@ihalatci

Copy link
Copy Markdown
Contributor

What

Bump the Citus docker images to 14.2.0 across all variants (latest/PG18, pg17, pg16, alpine).

Citus 14.2.0 was released on 2026-08-06, but no v14.2.0 tag was ever pushed here, so no image was ever built. citusdata/citus:14.2.0 is currently missing from Docker Hub.

Why the PostgreSQL base images also move

This is required, not cosmetic. A citus-version-only bump builds fine but produces images that will not start on pg17/pg16:

FATAL:  could not load library "/usr/lib/postgresql/17/lib/citus.so":
        /usr/lib/postgresql/17/lib/citus.so: undefined symbol: palloc0_mul

The Citus 14.2 packages are built against newer PostgreSQL minors and reference palloc0_mul, which was introduced in PostgreSQL 17.10 / 16.14 / 18.4. The previous 17.6 and 16.10 bases predate it.

The new pins are the minors Citus 14.2.0 was built and tested against, per circleci/images/PG_VERSIONS on the release-14 branch of citusdata/the-process as of the 14.2.0 release (commit 7d2c40e3, 2026-05-28):

PG Before After release-14 @ 14.2.0
18 18.4 18.4 (unchanged) 18.4
17 17.6 17.10 17.10
16 16.10 16.14 16.14

Note these are deliberately not the current release-14 HEAD values (16.15 / 17.11 / 18.6) — that bump landed on 2026-08-15, nine days after the 14.2.0 release. Pinning to the release point keeps the images aligned with what the release was validated against, and happens to also be the exact minimum that loads citus.so.

18.4-alpine is still Alpine 3.24.1, so the clang21/llvm21 build toolchain needs no change.

Validation

All four variants were built locally and smoke tested — container starts, citus extension is created and reports the right version:

Variant PostgreSQL citus extension
latest 18.4 14.2-1
pg17 17.10 14.2-1
pg16 16.14 14.2-1
alpine 18.4-alpine (source build) 14.2-1

Also confirmed postgresql-{16,17,18}-citus-14.2 = 14.2.0.citus-1 is present in the citusdata apt repo (trixie and bookworm), and that the v14.2.0 source tarball used by the alpine build resolves.

hadolint reports no new findings.

After merge

Push the v14.2.0 tag to trigger publish_docker_images_on_tag.yml, which builds and publishes the images.

Follow-ups (not in this PR)

  • update_version.yml is workflow_dispatch-only and has failed on every recorded run, so version bumps are effectively manual today. That is why 14.2.0 was missed.
  • Citus 13.3.0 and 13.4.0 also have no images. That is a separate, structural gap: master tracks a single Citus line (the Dockerfiles hardcode citus-<major>.<minor>), and there is no 13.x maintenance branch. Older-line releases have never been published here.

Bump Citus to 14.2.0 across all image variants (latest/PG18, pg17, pg16, alpine).

Also bump the PostgreSQL 17 base image to 17.10 and the PostgreSQL 16 base image
to 16.14. These are the PG minors Citus 14.2.0 was built and tested against, as
pinned on the release-14 branch of citusdata/the-process
(circleci/images/PG_VERSIONS) at the time of the 14.2.0 release. The PG18 base
stays at 18.4 for the same reason.

This part is required, not cosmetic. The Citus 14.2 packages reference the
palloc0_mul symbol, introduced in PostgreSQL 17.10 / 16.14 / 18.4, so on the
previous 17.6 and 16.10 bases the server aborted at startup with:

  FATAL: could not load library ".../citus.so": undefined symbol: palloc0_mul

Verified by building all four variants and confirming each starts and reports
citus extension 14.2-1 on PG 18.4, 17.10, 16.14 and 18.4-alpine.

Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
@ihalatci
ibrahim halatci (ihalatci) merged commit 8891632 into master Sep 1, 2026
12 checks passed
@ihalatci
ibrahim halatci (ihalatci) deleted the ihalatci-bump-citus-14-2-0 branch September 1, 2026 12:18
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.

2 participants