Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Implement underscore prefixes for AMQP #236

Merged
merged 1 commit into from
Sep 7, 2022

Conversation

jskeet
Copy link
Contributor

@jskeet jskeet commented Sep 1, 2022

The binding specification
has changed to prefer cloudEvents_ over cloudEvents:. Previously cloudEvents_ wouldn't even have been valid.

With this change, users can either:

  • Stick with the default prefix, which doesn't change immediately, but which will change in the first release on or after March 1st 2023
  • Explicitly use one or other prefix using the explicitly-named methods

Other options considered:

  • Changing the default now: that's too much of a breaking change. (I don't want to take a major version bump for this, and with enough time for the change, I think that's okay.)
  • Adding a char or string parameter: that would invite using non-standard prefixes
  • Adding a Boolean parameter: that would become problematic if we ever end up with a third prefix. (Let's hope we don't, but still...)
  • Adding an enum and then a parameter for it: feels like overkill

Signed-off-by: Jon Skeet jonskeet@google.com

The [binding
specification](https://github.com/cloudevents/spec/blob/main/cloudevents/bindings/amqp-protocol-binding.md)
has changed to prefer `cloudEvents_` over `cloudEvents:`. Previously
`cloudEvents_` wouldn't even have been valid.

With this change, users can either:

- Stick with the default prefix, which doesn't change immediately,
  but which will change in the first release on or after March 1st 2023
- Explicitly use one or other prefix using the explicitly-named
  methods

Other options considered:

- Changing the default now: that's too much of a breaking change. (I
  don't want to take a major version bump for this, and with enough
  time for the change, I think that's okay.)
- Adding a char or string parameter: that would invite using non-standard prefixes
- Adding a Boolean parameter: that would become problematic if we
  ever end up with a third prefix. (Let's hope we don't, but still...)
- Adding an enum and then a parameter for it: feels like overkill

Signed-off-by: Jon Skeet <jonskeet@google.com>
@jskeet jskeet added the enhancement New feature or request label Sep 1, 2022
@jskeet jskeet merged commit 304bc06 into cloudevents:main Sep 7, 2022
@jskeet jskeet deleted the amqp-prefix branch September 7, 2022 20:58
jskeet added a commit to jskeet/sdk-csharp that referenced this pull request Sep 8, 2022
Changes since 2.3.1:

- Feature: Implement underscore prefixes for AMQP (see history) ([cloudevents#236](cloudevents#236)
- Feature: Allow empty payloads in Kafka ([cloudevents#224](cloudevents#224))
- Feature: Implement conversions to and from JObject/JsonElement in JsonEventFormatter ([cloudevents#234](cloudevents#234), part of [cloudevents#231](cloudevents#231))
- Bug fix: Observe JSON serializer options in JsonEventFormat ([cloudevents#226](cloudevents#226), fixes [cloudevents#225](cloudevents#225))
- Bug fix: Put AvroEventFormatter in the right namespace ([cloudevents#220](cloudevents#220), fixes [cloudevents#219](cloudevents#219))
- Bug fix: Use content headers when parsing HTTP requests/responses ([cloudevents#222](cloudevents#222), fixes [cloudevents#221](cloudevents#221))
- Bug fix: Perform release builds with ContinuousIntegrationBuild=true ([cloudevents#223](cloudevents#223), fixes [cloudevents#175](cloudevents#175))

Signed-off-by: Jon Skeet <jonskeet@google.com>
@jskeet jskeet mentioned this pull request Sep 8, 2022
jskeet added a commit to jskeet/sdk-csharp that referenced this pull request Sep 8, 2022
Changes since 2.3.1:

- Feature: Implement underscore prefixes for AMQP (see history) ([cloudevents#236](cloudevents#236)
- Feature: Allow empty payloads in Kafka ([cloudevents#224](cloudevents#224))
- Feature: Implement conversions to and from JObject/JsonElement in JsonEventFormatter ([cloudevents#234](cloudevents#234), part of [cloudevents#231](cloudevents#231))
- Bug fix: Observe JSON serializer options in JsonEventFormat ([cloudevents#226](cloudevents#226), fixes [cloudevents#225](cloudevents#225))
- Bug fix: Put AvroEventFormatter in the right namespace ([cloudevents#220](cloudevents#220), fixes [cloudevents#219](cloudevents#219))
- Bug fix: Use content headers when parsing HTTP requests/responses ([cloudevents#222](cloudevents#222), fixes [cloudevents#221](cloudevents#221))
- Bug fix: Perform release builds with ContinuousIntegrationBuild=true ([cloudevents#223](cloudevents#223), fixes [cloudevents#175](cloudevents#175))

Signed-off-by: Jon Skeet <jonskeet@google.com>
jskeet added a commit to jskeet/sdk-csharp that referenced this pull request Sep 8, 2022
Changes since 2.3.1:

- Feature: Implement underscore prefixes for AMQP (see history) ([cloudevents#236](cloudevents#236)
- Feature: Allow empty payloads in Kafka ([cloudevents#224](cloudevents#224))
- Feature: Implement conversions to and from JObject/JsonElement in JsonEventFormatter ([cloudevents#234](cloudevents#234), part of [cloudevents#231](cloudevents#231))
- Bug fix: Observe JSON serializer options in JsonEventFormat ([cloudevents#226](cloudevents#226), fixes [cloudevents#225](cloudevents#225))
- Bug fix: Put AvroEventFormatter in the right namespace ([cloudevents#220](cloudevents#220), fixes [cloudevents#219](cloudevents#219))
- Bug fix: Use content headers when parsing HTTP requests/responses ([cloudevents#222](cloudevents#222), fixes [cloudevents#221](cloudevents#221))
- Bug fix: Perform release builds with ContinuousIntegrationBuild=true ([cloudevents#223](cloudevents#223), fixes [cloudevents#175](cloudevents#175))

Signed-off-by: Jon Skeet <jonskeet@google.com>
jskeet added a commit to jskeet/sdk-csharp that referenced this pull request Sep 8, 2022
Changes since 2.3.1:

- Feature: Implement underscore prefixes for AMQP (see history) ([cloudevents#236](cloudevents#236))
- Feature: Allow empty payloads in Kafka ([cloudevents#224](cloudevents#224))
- Feature: Implement conversions to and from JObject/JsonElement in JsonEventFormatter ([cloudevents#234](cloudevents#234), part of [cloudevents#231](cloudevents#231))
- Bug fix: Observe JSON serializer options in JsonEventFormat ([cloudevents#226](cloudevents#226), fixes [cloudevents#225](cloudevents#225))
- Bug fix: Put AvroEventFormatter in the right namespace ([cloudevents#220](cloudevents#220), fixes [cloudevents#219](cloudevents#219))
- Bug fix: Use content headers when parsing HTTP requests/responses ([cloudevents#222](cloudevents#222), fixes [cloudevents#221](cloudevents#221))
- Bug fix: Perform release builds with ContinuousIntegrationBuild=true ([cloudevents#223](cloudevents#223), fixes [cloudevents#175](cloudevents#175))

Signed-off-by: Jon Skeet <jonskeet@google.com>
jskeet added a commit that referenced this pull request Sep 8, 2022
Changes since 2.3.1:

- Feature: Implement underscore prefixes for AMQP (see history) ([#236](#236))
- Feature: Allow empty payloads in Kafka ([#224](#224))
- Feature: Implement conversions to and from JObject/JsonElement in JsonEventFormatter ([#234](#234), part of [#231](#231))
- Bug fix: Observe JSON serializer options in JsonEventFormat ([#226](#226), fixes [#225](#225))
- Bug fix: Put AvroEventFormatter in the right namespace ([#220](#220), fixes [#219](#219))
- Bug fix: Use content headers when parsing HTTP requests/responses ([#222](#222), fixes [#221](#221))
- Bug fix: Perform release builds with ContinuousIntegrationBuild=true ([#223](#223), fixes [#175](#175))

Signed-off-by: Jon Skeet <jonskeet@google.com>
ericdotnet added a commit to ericdotnet/CSharp-sdk-dev that referenced this pull request May 13, 2024
Changes since 2.3.1:

- Feature: Implement underscore prefixes for AMQP (see history) ([#236](cloudevents/sdk-csharp#236))
- Feature: Allow empty payloads in Kafka ([#224](cloudevents/sdk-csharp#224))
- Feature: Implement conversions to and from JObject/JsonElement in JsonEventFormatter ([#234](cloudevents/sdk-csharp#234), part of [#231](cloudevents/sdk-csharp#231))
- Bug fix: Observe JSON serializer options in JsonEventFormat ([#226](cloudevents/sdk-csharp#226), fixes [#225](cloudevents/sdk-csharp#225))
- Bug fix: Put AvroEventFormatter in the right namespace ([#220](cloudevents/sdk-csharp#220), fixes [#219](cloudevents/sdk-csharp#219))
- Bug fix: Use content headers when parsing HTTP requests/responses ([#222](cloudevents/sdk-csharp#222), fixes [#221](cloudevents/sdk-csharp#221))
- Bug fix: Perform release builds with ContinuousIntegrationBuild=true ([#223](cloudevents/sdk-csharp#223), fixes [#175](cloudevents/sdk-csharp#175))

Signed-off-by: Jon Skeet <jonskeet@google.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants