Problem
All recent Docker image tags (including latest and recent version-specific tags) are built with a hardcoded old CLI version (v0.13.1) inside the image. This is set in the Dockerfile as:
ARG SEQUIN_CLI_VERSION=0.13.1
RUN git clone --depth 1 --branch v${SEQUIN_CLI_VERSION} ...
As a result, even when the image and Elixir app are new, the bundled /usr/local/bin/sequin binary is always v0.13.1 unless you rebuild the image yourself. This CLI predates fixes for critical YAML/SQL envsubst bugs.
Consequences for practitioners
- We cannot use inline SQL in enrichment functions (the CLI removes
$1 due to old envsubst handling).
- Documentation suggests environment variables and SQL inline code are supported in new releases, but running the Docker image does not behave that way.
sequin --version inside any new container still returns v0.13.1, regardless of image tag.
Steps to Reproduce
docker pull sequinstream/sequin:latest (or any modern tag)
docker run ... sequin --version # returns v0.13.1
- Try applying a config with inline SQL using
$1 in an enrichment function
- See error:
Enrichment functions must use parameterization. Please use the following $1 syntax... If your code DOES have parameterization ($1) and you are seeing this error, you may have to upgrade your Sequin CLI.
Expected Behavior
- Each Docker image tag should ship with a matching or recent version of the CLI (and ideally, Elixir app and CLI should be built from the same repo state).
- Inline SQL for enrichments should work as documented.
Workarounds
- Use a
file: reference for enrichment SQL (files are read after envsubst, not affected by old CLI versions)
- Or, build your own Docker image after bumping
SEQUIN_CLI_VERSION or fixing Dockerfile
Problem
All recent Docker image tags (including
latestand recent version-specific tags) are built with a hardcoded old CLI version (v0.13.1) inside the image. This is set in the Dockerfile as:As a result, even when the image and Elixir app are new, the bundled
/usr/local/bin/sequinbinary is always v0.13.1 unless you rebuild the image yourself. This CLI predates fixes for critical YAML/SQL envsubst bugs.Consequences for practitioners
$1due to old envsubst handling).sequin --versioninside any new container still returnsv0.13.1, regardless of image tag.Steps to Reproduce
docker pull sequinstream/sequin:latest(or any modern tag)docker run ... sequin --version # returns v0.13.1$1in an enrichment functionEnrichment functions must use parameterization. Please use the following $1 syntax... If your code DOES have parameterization ($1) and you are seeing this error, you may have to upgrade your Sequin CLI.Expected Behavior
Workarounds
file:reference for enrichment SQL (files are read after envsubst, not affected by old CLI versions)SEQUIN_CLI_VERSIONor fixing Dockerfile