From acb25bf72f1696e6960efd818c7c5d59cbf9e4c7 Mon Sep 17 00:00:00 2001 From: Jonas Platte Date: Fri, 1 Mar 2024 13:35:16 +0100 Subject: [PATCH 1/4] Upgrade google-cloud-pubsub dependency --- omniqueue/Cargo.toml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/omniqueue/Cargo.toml b/omniqueue/Cargo.toml index 0cbae5e..1db0bd9 100644 --- a/omniqueue/Cargo.toml +++ b/omniqueue/Cargo.toml @@ -17,7 +17,7 @@ bb8 = { version = "0.8", optional = true } bb8-redis = { version = "0.14.0", optional = true } futures-util = { version = "0.3.28", default-features = false, features = ["async-await", "std"], optional = true } google-cloud-googleapis = { version = "0.12.0", optional = true } -google-cloud-pubsub = { version = "0.22.1", optional = true } +google-cloud-pubsub = { version = "0.23.0", optional = true } lapin = { version = "2", optional = true } redis = { version = "0.24.0", features = ["tokio-comp", "tokio-native-tls-comp", "streams"], optional = true } serde = "1.0.196" From 13589fa300d09940372a0a0e1c6b42a715a9e047 Mon Sep 17 00:00:00 2001 From: Jonas Platte Date: Fri, 1 Mar 2024 13:35:52 +0100 Subject: [PATCH 2/4] Bump version to 0.2.0 --- omniqueue/Cargo.toml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/omniqueue/Cargo.toml b/omniqueue/Cargo.toml index 1db0bd9..3937b08 100644 --- a/omniqueue/Cargo.toml +++ b/omniqueue/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "omniqueue" -version = "0.1.0" +version = "0.2.0" license = "MIT" description = "An abstraction layer over various queue backends" authors = ["Svix Inc. "] From 52a25b232317dcfd1002e81d69fc6942cc9b8dc5 Mon Sep 17 00:00:00 2001 From: Jonas Platte Date: Fri, 1 Mar 2024 14:26:32 +0100 Subject: [PATCH 3/4] Add a changelog --- CHANGELOG.md | 28 ++++++++++++++++++++++++++++ 1 file changed, 28 insertions(+) create mode 100644 CHANGELOG.md diff --git a/CHANGELOG.md b/CHANGELOG.md new file mode 100644 index 0000000..da39022 --- /dev/null +++ b/CHANGELOG.md @@ -0,0 +1,28 @@ +# 0.2.0 + +## Breaking changes + +- **redis: Some implementation changes mean that this backend is runtime-incompatible with the same backend in omniqueue 0.1** +- Revise the public module structure to shorten import paths and make the docs easier to navigate +- Revise the public API to require fewer trait imports for common usage +- Rename a few types and traits + - Most notably, `MemoryQueueBackend` is now named `InMemoryBackend` + - Everything else should be easily found by searching for the old names +- Remove custom encoders / decoders + - Custom encoding can be handled more efficiently by wrapping omniqueue's + `raw` send / receive interfaces into a custom higher-level interface +- Update and prune dependency tree +- Switch omniqueue's public traits from `async_trait` to [native async-in-traits][] +- Simplify generic bounds (only matters if you were using omniqueue in generic code) + +## Additions + +- Add a backend for Google Cloud's Pub/Sub queue (`gcp_pubsub` feature / module) +- Add some documentation +- Introduce an `omniqueue::Result` type alias + +[native async-in-traits]: https://blog.rust-lang.org/2023/12/21/async-fn-rpit-in-traits.html + +# 0.1.0 + +Initial release. From 01ba15cf619e6ae63e53b58ae0912a60879671b9 Mon Sep 17 00:00:00 2001 From: Jonas Platte Date: Fri, 1 Mar 2024 14:40:29 +0100 Subject: [PATCH 4/4] Add some info about stability --- CHANGELOG.md | 3 +++ README.md | 2 -- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index da39022..1fb4348 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,8 @@ # 0.2.0 +This release is a big one, and we are considering omniqueue out of early development now. +You can expect the API to change much less in the coming releases compared to this one. + ## Breaking changes - **redis: Some implementation changes mean that this backend is runtime-incompatible with the same backend in omniqueue 0.1** diff --git a/README.md b/README.md index 1173ee9..6a7fcc8 100644 --- a/README.md +++ b/README.md @@ -16,8 +16,6 @@ types for which you have provided an encoding and/or decoding function. It is designed to be flexible and to be able to adapt to fit your existing queue configurations, but with a set of defaults that makes it simple to start sending and receiving quickly. -Omniqueue is still early in development. - ## How to use Omniqueue While the exact configuration will depend on the backend used, usage is roughly as follows.