Skip to content

Releases: sequinstream/sequin

Release v0.14.1

05 Jan 01:19

Choose a tag to compare

Fixes a backwards compatibility issue with older sequin.yaml configuration files.

Fixed

  • Fixes error when loading sequin.yaml files that contain the deprecated message_kind field. The field was deprecated in v0.10.x and removed in v0.14.x, but existing configuration files may still include it. The YAML loader now ignores this field instead of throwing an error.

Release v0.14.0

05 Jan 00:38

Choose a tag to compare

⚠️ Breaking changes

  • Record-type consumers removed: Sequin no longer supports legacy record-type consumers (message_kind = 'record').
    • Who is affected: Users with consumers configured to use message_kind = 'record'.
      • Note: Record-type consumers have been deprecated since June 2025 (v0.10.1) and hidden in the docs and console since.
    • Migration: Before upgrading, you'll need to re-create all record-type consumers:
      1. Ensure you're running Sequin version >= v0.10.1.
      2. Optionally, create a new transform function to ensure the new message shape matches the older message shape you've been using.
      3. Re-create each record-type consumer as a new consumer. (Sequin will not let you create new record-type consumers as of v0.10.1, so the new consumers you create will be valid.)
      4. Sequin will send duplicate messages to your sink for a period (one from your legacy consumer, one from your new consumer).
      5. When ready, remove the legacy consumer(s).
    • If you are affected and don't perform the migration steps, Sequin will not boot on this new version.

These migration steps are abbreviated because we're not sure anyone is still using record-type consumers in production. If you need help, open a GitHub issue.

Verify if you're affected

Via SQL

To verify if you're affected, on your Sequin config db you can run:

SELECT id, name, message_kind 
FROM sequin_config.sink_consumers 
WHERE message_kind = 'record';
  • If this shows results, you have older consumers with message_kind = 'record'.
  • If this returns no results, you can safely upgrade without issue.

Via sequin.yaml

  • if any consumer has the property message_kind: record, you are affected
  • if message_kind does not appear in your config, or if it is set to event everywhere, you are not affected

Why this change

We used to have two consumer types which behaved differently. But over time the differences between them shrank. Now, the only meaningful difference is the default message shape.

With transform functions, the difference is fully meaningless: you can now transform Sequin messages to whatever shape you desire.

Removing the branch in consumer types makes Sequin simpler and easier, both for users and maintainers. There's now just one consumer type, and consumers are customized with filters, transforms, etc.

Release v0.13.24

04 Jan 23:20

Choose a tag to compare

This release adds support for configuring backfills in YAML, improves UI navigation, and enhances Kinesis and GCP Pub/Sub partition key handling.

Added

  • Adds initial_backfill configuration to sequin.yaml. Configure full or partial backfills when creating sinks via YAML. See backfills reference for details.
  • Adds sort direction dropdown to the consumer messages view. Sort messages by oldest or newest first for easier navigation.

Fixed

  • Fixes partition and ordering key handling for Kinesis and GCP Pub/Sub. Keys that exceed maximum byte limits are now automatically compressed using MD5 to ensure delivery.

Release v0.13.23

25 Dec 20:01

Choose a tag to compare

Release notes for v0.13.23

What's Changed

  • README.md: Fix CHANGELOG link by @xtian in #2080
  • fix: NATS IPv6 connectivity by @Gabrola in #2073
  • elixir_broadway: Update file names to match module names by @xtian in #2081
  • feat: upgrade aws_credentials to 1.0.0 for Kubernetes IRSA support by @andrepastore in #2084

New Contributors

Full Changelog: v0.13.22...v0.13.23

Release v0.13.22

24 Dec 00:33

Choose a tag to compare

Release notes for v0.13.22

  • Add refresh button to table search/select component
  • Fix: Apply enrichment to sequin_stream messages
  • Feat: Include entity_name in prom entity health metrics
  • Feat: Add LocalStack support for SNS sink
  • Fix: Close connections after database deleted
  • Feat: Improve support for Postgres intervals
  • Fix: Counter for enrichment function usage on functions overview page
  • Dependency updates:
    • Update to Debian Trixie slim
    • Update to Elixir 1.19 / OTP 28

Full Changelog: v0.13.21...v0.13.22

Release v0.13.21

07 Nov 16:33

Choose a tag to compare

Release notes for v0.13.21

Full Changelog: v0.13.19...v0.13.21

Release v0.13.19

24 Oct 16:31

Choose a tag to compare

Release notes for v0.13.19

What's Changed

Full Changelog: v0.13.18...v0.13.19

Release v0.13.18

06 Oct 17:50

Choose a tag to compare

Release notes for v0.13.18

Full Changelog: v0.13.17...v0.13.18

Release v0.13.17

02 Oct 16:26

Choose a tag to compare

Release notes for v0.13.17

Full Changelog: v0.13.16...v0.13.17

Release v0.13.16

16 Sep 23:58

Choose a tag to compare

Release notes for v0.13.16

Full Changelog: v0.13.15...v0.13.16