sdk-csharp/docs/history.md

139 lines
6.9 KiB
Markdown

# Version history (from 2.0)
## 2.8.0 (2024-05-08)
- Add explicit .NET 8 target to all packages.
- Removed dependencies that are already included in the framework, for suitable targets.
- Use a framework reference to Microsoft.AspNetCore.App instead of package references,
for the .NET 8 target
- Release CloudNative.CloudEvents.Mqtt as 3.8.0, bumping the major
version to reflect adopting MQTTnet version 4.3.6.1152.
Fixes [#269](https://github.com/cloudevents/sdk-csharp/issues/269).
- Other dependency updates:
- AMQPNetLite and AMQPNetLite.Serialization: 2.4.2 => 2.4.11
- Apache.Avro: 1.11.1 => 1.11.3
- Newtonsoft.Json: 13.0.2 => 13.0.3
- Google.Protobuf: 3.22.0 => 3.27.3
- Confluent.Kafka: 1.6.3 => 1.9.3
- See [#297](https://github.com/cloudevents/sdk-csharp/issues/297) for
consideration of a bump to 2.x.
- Only for netstandard2.0 and netstandard2.1 targets:
- System.Text.Encodings.Web: 6.0.0 => 8.0.0
- System.Text.Json: 5.0.2 => 8.0.4
## 2.7.1 (2023-09-04)
- Prevent string resource lookup if not required
Fixes [#264](https://github.com/cloudevents/sdk-csharp/issues/264).
## 2.7.0 (2023-07-31)
- Add the ability to specify a custom serializer for Avro.
Fixes [#261](https://github.com/cloudevents/sdk-csharp/issues/261).
## 2.6.0 (2023-03-07)
- Dependencies: system-level dependencies updated
- The NuGet package now uses PackageLicenseExpression (but still
includes the licence file as well).
Fixes [#252](https://github.com/cloudevents/sdk-csharp/issues/252).
- Regenerated protobuf schema using the original filename of
cloudevents.proto instead of ProtoSchema.proto. An additional
ProtoSchemaReflection class has been added purely for compatibility.
Fixes [#256](https://github.com/cloudevents/sdk-csharp/issues/256).
## 2.5.1 (2022-11-10)
- Dependencies: update dependencies in CloudNative.CloudEvents.Avro
- Add explicit dependency on Newtonsoft.Json 13.0.1 to avoid
transitive dependency on a version containing vulnerabilities
- Update Apache.Avro to 1.11.1
No APIs have changed. This is a patch release as the dependency
changes are very minor (but necessary to avoid vulnerabilities).
## 2.5.0 (2022-10-17)
- Dependencies: update dependencies in CloudNative.CloudEvents.AspNetCore:
- Remove dependency on Microsoft.AspNetCore.Mvc.Core (as we don't use it)
- Update dependency on Microsoft.AspNetCore.Http to 2.1.34
- Explicitly add dependency on System.Text.Encodings.Web 6.0.0 to avoid security issue in older version
No APIs have changed, but this is a minor release due to the significant dependency changes.
## 2.4.0 (2022-09-08)
- Feature: Implement underscore prefixes for AMQP (see below for more details) ([#236](https://github.com/cloudevents/sdk-csharp/pull/236))
- Feature: Allow empty payloads in Kafka ([#224](https://github.com/cloudevents/sdk-csharp/pull/224))
- Feature: Implement conversions to and from JObject/JsonElement in JsonEventFormatter ([#234](https://github.com/cloudevents/sdk-csharp/pull/234), part of [#231](https://github.com/cloudevents/sdk-csharp/issues/231))
- Bug fix: Observe JSON serializer options in JsonEventFormat ([#226](https://github.com/cloudevents/sdk-csharp/pull/226), fixes [#225](https://github.com/cloudevents/sdk-csharp/issues/225))
- Bug fix: Put AvroEventFormatter in the right namespace ([#220](https://github.com/cloudevents/sdk-csharp/pull/220), fixes [#219](https://github.com/cloudevents/sdk-csharp/issues/219))
- Bug fix: Use content headers when parsing HTTP requests/responses ([#222](https://github.com/cloudevents/sdk-csharp/pull/222), fixes [#221](https://github.com/cloudevents/sdk-csharp/issues/221))
- Bug fix: Perform release builds with ContinuousIntegrationBuild=true ([#223](https://github.com/cloudevents/sdk-csharp/pull/223), fixes [#175](https://github.com/cloudevents/sdk-csharp/issues/175))
The AMQP change is significant: the [AMQP CloudEvent binding
specification](https://github.com/cloudevents/spec/blob/main/cloudevents/bindings/amqp-protocol-binding.md)
now recommends using `cloudEvents_` instead of `cloudEvents:` as the
prefix. The change in this release allows both prefixes to be parsed, and
there are now three conversion extension methods:
- `ToAmqpMessageWithUnderscorePrefix` - always uses `cloudEvents_`
- `ToAmqpMessageWithColonPrefix` - always uses `cloudEvents:`
- `ToAmqpMessage` - currently uses `cloudEvents:` but will use `cloudEvents_` in a future release (planned for a March 2023 release)
The intention is to effectively give six months notice of a change
in the default behavior.
## 2.3.1 (2022-06-29)
- Bug fix: ignore the charset when determining the content type for decoding JSON ([#216](https://github.com/cloudevents/sdk-csharp/issues/216))
- Bug fix: make the NuGet package deterministic ([#175](https://github.com/cloudevents/sdk-csharp/issues/175))
## 2.3.0 (2022-05-31)
- Bug fix: BinaryDataUtilities.AsArray misbehavior with array segments ([#209](https://github.com/cloudevents/sdk-csharp/issues/209))
- Bug fix: Links within XML documentation corrected after spec repo change
- Feature: Reject "data" as a context attribute name (spec has been clarified for this)
- Feature: Support Data content type inference in event formatters
- The JsonEventFormatter classes infer "application/json" for all data
- Feature: CloudNative.CloudEvents.Protobuf is now GA (same version as other packages)
## 2.2.0 (2022-02-02)
- Bug fix: the "source" attribute is now validated to be non-empty
- Bug fix: the JSON event formatters comply with the clarified JSON event format spec
- Dependency: Apache.Avro dependency updated to 1.11.0
- Feature: New package CloudNative.CloudEvents.Protobuf, released as 2.0.0-beta.1
## 2.1.1 (2021-07-21)
Bug fix ([#177](https://github.com/cloudevents/sdk-csharp/pull/177)): dependency on the
`Nullable` package was not declared with `PrivateAssets=all`,
leading to that showing up as a dependency. This would break users
who explicitly have a dependency on an older version of `Nullable`.
This fix shouldn't break anyone, as far as we're aware.
## 2.1.0 (2021-07-14)
New features:
- Nullable reference type annotations ([#170](https://github.com/cloudevents/sdk-csharp/issues/170))
- More batch support for HttpListener ([#166](https://github.com/cloudevents/sdk-csharp/issues/166))
- CloudEvent.CopyToHttpResponse extension method (part of [#148](https://github.com/cloudevents/sdk-csharp/issues/148))
Other improvements:
- More informative error message for non-CE HTTP requests ([#165](https://github.com/cloudevents/sdk-csharp/issues/165))
Bug fixes:
- Various small XML docs typos ([commit](https://github.com/cloudevents/sdk-csharp/commit/626089ea1e5bb6741868aeb389cb4d314e9e72ed))
- Don't set the content type to JSON in HttpListener when it's not set in the CloudEvent ([commit](https://github.com/cloudevents/sdk-csharp/commit/18e13635fe333b24432ac34d9ef040cd962d1063))
## 2.0.0 (2021-06-15)
Initial GA release for 2.x. See the ["changes since 1.x"
document](changes-since-1x.md) for more detail around what has
changed.