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 namedInMemoryBackend
- Everything else should be easily found by searching for the old names
- Most notably,
- 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
- Custom encoding can be handled more efficiently by wrapping omniqueue's
- 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
What's Changed
- Include a banner in the README by @svix-daniel in #2
- Improve documentation for crate by @svix-daniel in #1
- Ensure Redis clusters and multiplexed connections are supported by @svix-daniel in #4
- Run cargo fmt with latest version by @svix-daniel in #12
- fixup
Delivery::nack
by @svix-onelson in #14 - add fallback env vars for testing SQS by @svix-onelson in #15
- add GCP PubSub support by @svix-onelson in #13
- make
Acker
requireSend+Sync
, re-export redis connection manager by @svix-onelson in #16 - Remove unused rdkafka dependency by @svix-onelson in #17
- add
Consumer::receive_all
by @svix-onelson in #18 - Delayed message support for memory, rabbitmq, redis by @svix-onelson in #19
- feat(redis): add "pending" task to re-queue unhandled messages by @svix-onelson in #20
- refactor(memory): use mpsc not broadcast by @svix-onelson in #22
- impl Debug for Delivery by @svix-onelson in #21
- CI improvements by @svix-jplatte in #23
- Allow retrying Delivery::{ack, nack} by @svix-jplatte in #24
- README fixes + check for typos in CI by @svix-jplatte in #25
- Switch in-memory implementation from bounded to unbounded channel by @svix-jplatte in #26
- Clean up futures* dependencies by @svix-jplatte in #27
- Add missing cfg attributes by @svix-jplatte in #31
- Reduce serde feature set by @svix-jplatte in #30
- Check that examples in crate-level docs compile by @svix-jplatte in #32
- Replace async_trait usage with RPITIT / AFIT by @svix-jplatte in #34
- Reduce tokio feature set by @svix-jplatte in #33
- Upgrade GCP Pub/Sub dependencies by @svix-jplatte in #36
- Upgrade redis dependencies by @svix-jplatte in #28
- Prefix all docker image names with a domain by @svix-jplatte in #37
- Upgrade SQS dependencies by @svix-jplatte in #35
- Move all integration tests into one test binary by @svix-jplatte in #38
- Simplify generic bounds by @svix-jplatte in #39
- Normalize type names in backends by @svix-jplatte in #41
- Add CODEOWNERS file for automatic review assignment by @svix-jplatte in #42
- Upgrade remaining dependencies by @svix-jplatte in #43
- Improve ergonomics of QueueBuilder construction by @svix-jplatte in #40
- Clean up the public API by @svix-jplatte in #44
- Remove custom encoders / decoders by @svix-jplatte in #46
- Further simplify / normalize bounds by @svix-jplatte in #47
- redis: Remove extra encoding of payloads for delayed queue by @svix-jplatte in #49
- redis: Make delayed lock key configurable by @svix-jplatte in #50
- Add inherent send and receive methods by @svix-jplatte in #48
- redis: Delete acknowledged messages from the queue by @svix-jplatte in #51
- Add rabbitmq-with-message-ids feature by @svix-jplatte in #52
- Rename DynScheduledQueueProducer => DynScheduledProducer by @svix-jplatte in #53
- Make sure compilation works with each feature individually by @svix-jplatte in #55
- Release omniqueue v0.2.0 by @svix-jplatte in #56
New Contributors
- @svix-daniel made their first contribution in #2
- @svix-onelson made their first contribution in #14
- @svix-jplatte made their first contribution in #23
Full Changelog: v0.1.0...v0.2.0