Skip to content

Releases: ThreeDotsLabs/watermill-sql

v4.0.0-rc.1

25 Oct 13:23
730d8ef
Compare
Choose a tag to compare
v4.0.0-rc.1 Pre-release
Pre-release
  • Added PostgreSQLQueueSchema and PostgreSQLQueueOffsetsAdapter.
    • This schema is similar to the original one, except it allows filtering messages with a custom WHERE clause.
    • It doesn't support customer groups.
    • It allows deleting messages from the table after acking (optional).
  • Added NewDelayedPostgreSQLPublisher and NewDelayedPostgresSQLSubscriber
    • They work on top of the conditional schema and use the delay component implemented in ThreeDotsLabs/watermill#469
    • The idea is to receive messages with a delay or at a given time in a simple way.
  • Reworked the SchemaAdapter and OffsetsAdapter interfaces (Breaking change -> will bump the major to v4).
    • We had a few instances where some details have been missing from one of the interface methods. It makes it difficult to extend this library with new features, as each will require a major version bump, and we want to avoid it if possible.
    • To mitigate this, we're moving to a params struct passed to the methods instead of raw arguments. It adds some verbosity but allows extending the params if needed with no breaking changes to the library.
    • The methods now also return errors.
    • Migration: if you don't use a custom schema/offsets adapter, you don't need to do anything. If you do, change the methods to implement the new interfaces. Use values from the params argument and return errors.

v3.1.0

24 Sep 15:20
c35e7e4
Compare
Choose a tag to compare

What's Changed

  • PostgreSQL Performance optimisations for large amount of messages, added GeneratePayloadType by @roblaszczak in #38 and #39

Full Changelog: v3.0.3...v3.1.0

v3.0.3

28 Aug 15:39
b943418
Compare
Choose a tag to compare

What's Changed

  • Use errors and fmt package to wrap errors by @boekkooi-terramate in #33

New Contributors

  • @boekkooi-terramate made their first contribution in #33

Full Changelog: v3.0.2...v3.0.3

v3.0.2

25 Aug 20:48
6669041
Compare
Choose a tag to compare

What's Changed

  • Bump golang.org/x/text from 0.3.3 to 0.3.8 by @dependabot in #25
  • Bump golang.org/x/crypto from 0.0.0-20200622213623-75b288015ac9 to 0.17.0 by @dependabot in #35
  • Bump github.com/jackc/pgx/v4 from 4.8.1 to 4.18.2 by @dependabot in #37

Full Changelog: v3.0.1...v3.0.2

v3.0.1

29 Mar 21:02
938906b
Compare
Choose a tag to compare

What's Changed

Full Changelog: v3.0.0...v3.0.1

v3.0.0

19 Dec 15:48
ff18e90
Compare
Choose a tag to compare

What's Changed

  • Added back exactly-once delivery for Postgres by @roblaszczak in #28
  • Added AckDeadline option with default value of 30s for Postgres by @roblaszczak in #28

We bumped major, because:

  • We wanted to provide sensible defaults for AckDeadline and add exactly-once-delivery support by default - someone could in theory depend on the original behaviour,
  • Postgres now uses sql.LevelRepeatableRead isolation level,
  • This is a breaking change because of extended OffsetsAdapter interface.
  • We also changed string, []interface to Query type in SchemaAdapter and OffsetsAdapter.

Update guide:

  • Ensure that you don't need AckDeadline longer than the default (30s),
  • If you have a custom SchemaAdapter or OffsetsAdapter interface implementation, please change string, []interface to Query.
  • If you have a custom OffsetsAdapter implementation, please add BeforeSubscribingQueries(topic string, consumerGroup string) []Query method to OffsetsAdapter. For MySQL it can be empty. For PostgreSQL we recommend using implementation from DefaultPostgreSQLOffsetsAdapter.

Full Changelog: v2.0.0...v3.0.0

v2.0.0

07 Jul 14:58
b6c8508
Compare
Choose a tag to compare

What's Changed

  • Fix potential message loss with small PollInterval and allow batch querying of messages by @roblaszczak in #23

Full Changelog: v1.4.0...v2.0.0

Bump watermill

08 Jun 16:58
5afc4f8
Compare
Choose a tag to compare
v1.4.0

Bump watermill (#21)

v1.3.8

21 Jan 18:04
8e02cb3
Compare
Choose a tag to compare

Fix potential logger leakage in subscriber (#20)

v1.3.7

18 Nov 13:46
bc0272d
Compare
Choose a tag to compare

Make DB interfaces exported (#19)