Skip to content

Commit

Permalink
Merge pull request #56 from svix/jplatte/release
Browse files Browse the repository at this point in the history
Release omniqueue v0.2.0
  • Loading branch information
svix-jplatte authored Mar 1, 2024
2 parents e6a477a + 01ba15c commit ae031e1
Show file tree
Hide file tree
Showing 3 changed files with 33 additions and 4 deletions.
31 changes: 31 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,31 @@
# 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**
- 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.
2 changes: 0 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -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.
Expand Down
4 changes: 2 additions & 2 deletions omniqueue/Cargo.toml
Original file line number Diff line number Diff line change
@@ -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. <[email protected]>"]
Expand All @@ -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"
Expand Down

0 comments on commit ae031e1

Please sign in to comment.