feat: Adds FeatureSwitchAsync attribute and handler @DevJonny (#2419)
9.4.0-beta.3
Binary Serialization Fixes
MessageBody nows store the character encoding type (defaults to UTF8) to allow correct conversion back to a string when using Value property
Use a CharacterEncoding.Raw for binary content (will be a Base64 string for Value)
Kafka transport payload is now byte[] and not string. This prevents corruption of Kafka 'header' of 5 bytes to store schema registry when used with schema registry support
DynamoDb now uses a byte[] and not a string for the message body to prevent lossy conversions
ContentType on Header is set from Body, if not set on the Header
When we push a collection of functionality it is available via nuget.org and symbol files are published to symbolsource.org
This section lists features in master, available by AppVeyor, but not yet deployed to nuget.org.
Master
Binary Serialization Fixes
MessageBody nows store the character encoding type (defaults to UTF8) to allow correct conversion back to a string when using Value property
Use a CharacterEncoding.Raw for binary content (will be a Base64 string for Value)
Kafka transport payload is now byte[] and not string. This prevents corruption of Kafka 'header' of 5 bytes to store schema registry when used with schema registry support
DynamoDb now uses a byte[] and not a string for the message body to prevent lossy conversions
ContentType on Header is set from Body, if not set on the Header
Kafka Fixes
Kafka now serliases the ReplyTo Header correctly
New Transforms
Compression Transform now available to compress messages using Gzip (or Brotli or Deflate on .NET 6 or 7)
Release 9.3.6
Set correct partition key (kafka key) for Kafka messages
Bug with DynamoDb Outbox and the Outbox Sweeper fixed. The Sweeper required a topic argument supplied by a dictionary of args
Required adding a Dictionary to various interfaces, which defaults to null, hence the minor version bump as these interfaces have new capabiities
Internal change to move outstanding message box to a semaphore slim over a mutex as thread-safe. Not strictly neededm, but follows our policy of moving to semaphore slim
Changes to the DynamoDb Outbox implementation as Outstanding Message check was not behaving as expected
The interfaces around Outbox configuration will likely change in v10 to avoid current split and need to configure on both publication and outbox
Release 9.1.20
Bug with Kafka Consumer failing to commit offsets fixed. Caused by Monitor being used for a lock on one thread and released on another, which does not work. Replaced with SemaphoreSlim.
Behavior of Kafka Consumer offset sweep changed. It now runs every x seconds, and not every x seconds since a flush. This will cause it to run more frequently, but it is easier to reason about.
Release 9.1.14
Fixed missing negation operator when checking for AWS resources
Release 9.1.14
Renamed MessageStore to Outbox and CommandStore to Inbox for clarity with well-known pattern names outside this team
Impact is wide, namespaces, class names and project names, so this is a BREAKING CHANGE
... (truncated)
Commits
c9dc28e Make consumer reading message header case insensitive (#2537)
1e70c06 Missing Dependencies for Built In Types break with validation (#2516)
You can trigger a rebase of this PR by commenting @dependabot rebase.
Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
- `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
Note
Automatic rebases have been disabled on this pull request as it has been open for over 30 days.
Bumps Paramore.Brighter.Extensions.DependencyInjection from 2.0.4 to 9.4.1.
Release notes
Sourced from Paramore.Brighter.Extensions.DependencyInjection's releases.
... (truncated)
Changelog
Sourced from Paramore.Brighter.Extensions.DependencyInjection's changelog.
... (truncated)
Commits
c9dc28e
Make consumer reading message header case insensitive (#2537)1e70c06
Missing Dependencies for Built In Types break with validation (#2516)9d63d07
Azure Transformers (#2515)935dd70
Update dependenciesf52ad26
Removed go.paramore.io link as confusing3b816ac
update packages8b07c8f
Merge remote-tracking branch 'origin/master'3008cbf
Update package dependencies3c83644
Outbox archiver (#2468)edc1434
Separate public methods from private implementationYou can trigger a rebase of this PR by commenting
@dependabot rebase
.Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR: - `@dependabot rebase` will rebase this PR - `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it - `@dependabot merge` will merge this PR after your CI passes on it - `@dependabot squash and merge` will squash and merge this PR after your CI passes on it - `@dependabot cancel merge` will cancel a previously requested merge and block automerging - `@dependabot reopen` will reopen this PR if it is closed - `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually - `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)