Repository navigation
🔖 7.0.0
What's Changed
💥 Breaking Changes:
- Update to RabbitMQ 7.2.0
- Replace startup logic to use
IHostedService - Rename some methods with the
Asyncsuffix - Completely rewrite
SendAsyncandSendBatchAsyncmethods - Remove
SendJsonAsyncmethods - Remove Json Basic Properties method. Now using default
BasicPropertieswithPersistent = true - Move
AddBatchQueueSender()method toIRabbitMqCoreClientBuilder - Completely rewrite
BatchQueueSenderto increase performance and reduce GC pressure - Change namespaces for DependencyInjection
- Remove Serializer for message consumers
- Change
MessageHandlerJsonclass to use source-generated JSON contexts - Rename consumer
StartandShutdownmethods to follow Async naming pattern - Rename
IQueueEventsBufferEnginetoIQueueBufferServiceto matchIQueueService - Change
IMessageHandler— properties moved to a context class, add context argument toHandleMessagemethod - Update
MessageHandlerJsonto support the newIMessageHandlerformat
✨ New Features:
- Add .NET 9.0 and .NET 10.0 support
- Implement
CancellationTokenon connect methods - Add cancellation token to
SendAsyncandSendBatchAsyncmethods - Add trimming support for serializers
- Add trimming support for Configuration binders
- Add BatchQueueSender DI methods to register with
IRabbitMQCoreClientConsumerBuilder - Add extension methods for
BatchQueueSenderto useJsonSerializerContext(JSON source generators) - Library now supports full trimming
⚡️ Performance:
- Only core
SendAsyncandSendBatchAsyncmethods remain in theIQueueServiceinterface; other methods are moved to extensions
📚 Documentation & Examples:
- Add sample project examples
- Add documentation for
BatchQueueSender - Add publishing examples
- Update README.md documentation
- Add v7 migration guide (
v7-MIGRATION.md) - Add documentation for some publicly visible classes and methods
- Add v7 migration guide
🐞 Bug Fixes:
- Fix reconnection logic
- Fix multiple BatchQueueSender DI registration problem
💡 Other:
- Add a bunch of public method comments