Skip to content

Releases: triptechtravel/sequin

v0.14.6-tt2 — boot fix for DSN-less builds

12 Jun 03:16

Choose a tag to compare

Supersedes v0.14.6-tt1. Running in production at TripTech since 2026-06-12.

Fixed (new in tt2)

  • DSN-less builds no longer crash at bootSequin.Sentry.init/0 raised SENTRY_DSN was not set at build time in prod whenever no DSN was baked into the image. A nil DSN now cleanly disables Sentry, consistent with the CRASH_REPORTING_DISABLED escape hatch.

Carried from tt1

  • MutexOwner no longer crashes on transient Redis errors (upstream PR sequinstream/sequin#2131, fixes sequinstream/sequin#2072): retries with exponential backoff (capped at 1 hour) instead of an invalid gen_statem return that cascaded through the :one_for_all supervisor and killed every consumer until manual restart. Recovers automatically when Redis/Dragonfly/KeyDB returns.
  • LiveView metrics pages survive Redis outages — float-safe fallbacks instead of {:ok, _} = crash patterns.
  • Empty SENTRY_DSN build-arg normalized to nil in config/prod.exs.
  • Deterministic MutexOwner test suite via an injectable Redis client.

Image

docker pull ghcr.io/triptechtravel/sequin:v0.14.6-tt2 (linux/amd64)

Diff: v0.14.6...v0.14.6-tt2

v0.14.6-tt1 — first TripTech stewardship release

12 Jun 02:54

Choose a tag to compare

Superseded by v0.14.6-tt2. This build crashes at boot unless SENTRY_DSN was baked in at build time or CRASH_REPORTING_DISABLED=1 is set — Sequin.Sentry.init/0 raises on a nil compile-time DSN. Fixed in tt2.

First release of the maintained fork, on top of upstream's final release (v0.14.6).

Fixed

  • MutexOwner no longer crashes on transient Redis errors (upstream PR sequinstream/sequin#2131, fixes sequinstream/sequin#2072). When Redis (or a Redis-compatible store like Dragonfly/KeyDB) restarted, MutexOwner returned an invalid gen_statem value, crashed, and the :one_for_all supervisor cascade took down every consumer — unrecoverable without a full restart. It now retries with exponential backoff (capped at 1 hour) and re-acquires when Redis returns. Multi-node split-brain window documented in the moduledoc.
  • LiveView metrics pages no longer crash when Redis-backed metrics are unavailable{:ok, _} = crash patterns replaced with float-safe fallbacks (an integer fallback would have re-crashed Float.ceil/1).
  • Empty SENTRY_DSN no longer breaks the Docker build — normalized to nil in config/prod.exs.

Tests

MutexOwner behavior is now exercised against the real handle_event/4 and a live process via an injectable Redis client — deterministic, no iptables/root required.

Diff: v0.14.6...v0.14.6-tt1

Sequin v0.14.6 production Docker image archive

12 Jun 00:50

Choose a tag to compare

Archive of the upstream Sequin v0.14.6 Docker image (the final upstream release), preserved when this fork took over stewardship.

  • Source: docker.io/sequin/sequin:v0.14.6
  • Digest: sha256:336759c1c632ebdc87939bcea70b26b46df6593e666088e1bf29058209437d3e
  • Restore: gunzip -c sequin-v0.14.6-docker-image.tar.gz | docker load
  • Also available as ghcr.io/triptechtravel/sequin:v0.14.6

Archived 2026-06-12. Upstream (Sequin Labs, Inc.) announced acquisition Aug 2025, shut down Sequin Cloud Oct 2025, and maintainer activity ceased Feb 2026. For maintained releases see v0.14.6-tt1 and later.