Skip to content

Releases: cloudevents/sdk-java

2.1.1: CESQL Bugfix

06 May 12:37
b9de5f7
Compare
Choose a tag to compare

Patch release for a bug in the CESQL implementation: #381

2.1: CESQL and Protobuf

28 Apr 13:44
ba9ccad
Compare
Choose a tag to compare

Hi everybody!

On the behalf of the CloudEvents community, I'm pleased to announce that we have a new release of CloudEvents SDK Java with some new shiny features!

New modules

We have two new modules:

Although these modules use the same semver of the rest of the sdk, they are to be considered unstable, and their APIs might change anytime. We'll work on stabilizing them in the next releases. Please reach us out with any feedback about them!

New features

  • Now the io.cloudevents APIs support handling of binary CloudEvent attributes: #353
  • Added some methods to the CloudEventBuilder to remove data, datacontenttype and dataschema: #374
  • Spring module now supports RSockets: #349
  • List available eventformat implementations: #350

Deprecations

  • io.cloudevents.rw.CloudEventContextWriter#withContextAttribute(String, Number) is deprecated, you should use instead io.cloudevents.rw.CloudEventContextWriter#withContextAttribute(String, Integer). This change was necessary in order to enforce to use only Integer as numeric types of your CloudEvents attributes, which is the only numeric type supported by the CloudEvents spec type system. For more details: #358

Fixes

  • Now parsing incoming cloudevents doesn't fail anymore if the attribute name is longer than 20 chars: #366
  • Fail parsing on bad cloudevents content type: #362
  • Don't print null for missing attributes when invoking CloudEvent#toString(): #376

You can check out all the changes here: https://github.com/cloudevents/sdk-java/milestone/8?closed=1

To start using the sdk, look at the documentation on the official website and check out the examples

Happy hacking!

2.0 GA

15 Feb 08:18
48fc69e
Compare
Choose a tag to compare

Hi everybody!

On the behalf of the CloudEvents community, I'm pleased to announce that we have the 2.0 GA! After one year of development, we managed to ship the new and enhanced CloudEvents SDK for Java!

To check out all the enhancements from v1, check out the following release notes:

From 2.0.0.RC2, we have a bunch of bug fixes and io.cloudevents.Extension was renamed to io.cloudevens.CloudEventExtension.

You can check out all the changes here: https://github.com/cloudevents/sdk-java/milestone/6?closed=1

To start using the sdk, look at the documentation on the official website and check out the examples

Happy hacking!

2.0.0 RC2

11 Dec 10:21
2962307
Compare
Choose a tag to compare
2.0.0 RC2 Pre-release
Pre-release

On the behalf of the CloudEvents community, I'm pleased to announce that we're releasing the second 2.0.0 Release Candidate! We're not far from the GA release of sdk-java v2!

  • Now we have a module that integrates with different Spring components, including WebFlux, MVC, Messaging. Thanks @dsyer for the contribution!
  • Now we have javadocs on all public interfaces
  • We improved the website including all the docs, check it out to start using the sdk: https://cloudevents.github.io/sdk-java/

You can check out all the changes here: https://github.com/cloudevents/sdk-java/milestone/7?closed=1

To start using the sdk, look at the documentation on the official website and check out the examples

What's next

This is probably the last Release Candidate before the final release, so please check out for bugs and discussions!

If you want to contribute, feel free to pick any good first issue here: good first issue Good for newcomers

As always, we encourage you to give feedback about the current efforts in order to improve this project!

Happy hacking!

2.0.0 RC1

26 Nov 16:21
bcc1434
Compare
Choose a tag to compare
2.0.0 RC1 Pre-release
Pre-release

On the behalf of the CloudEvents community, I'm pleased to announce that we're releasing the first 2.0.0 Release Candidate! We're not far from the GA release of sdk-java v2!

The big updates of this releases:

  • We have a brand new AMQP protocol binding based on proton #270, huge shout-out to @Alfusainey!
  • We implemented the Kafka partitionkey extension, providing a PartitionKeyInterceptor that can be registered in producers to set up the record key from the input CloudEvent. To use it: https://github.com/cloudevents/sdk-java/tree/master/kafka#partition-key-extension
  • We have a new interface called CloudEventContext that wraps CloudEventAttributes and CloudEventExtensions #296, thanks to @dsyer!
  • We moved CloudEventUtils from io.cloudevents.core.impl to io.cloudevents.core and improved its documentation #261. This class will be used to collect methods that helps users deal with CloudEventData, CloudEventReader/CloudEventWriter abstractions.
  • We worked on improving the usability around CloudEventData interface, introducing a new implementation named PojoCloudEventData #289. Now you can easily go from your pojo to CloudEvent providing the mapper of your choice!
// To wrap the user pojo into a CloudEventData
CloudEventData data = PojoCloudEventData.wrap(user, objectMapper::writeValueAsBytes);

// To map the CloudEvent payload to the user Pojo using cloudevents-json-jackson
User user = PojoCloudEventDataMapper
  .from(objectMapper, User.class)
  .map(event.getData())
  .getValue();

We had a bunch of important bug fixes, like:

And we improved our examples, check them out: https://github.com/cloudevents/sdk-java/tree/master/examples

You can check out all the changes here: https://github.com/cloudevents/sdk-java/milestone/5?closed=1

To start using it, look at the documentation on the official website: https://cloudevents.github.io/sdk-java/

What's next

At this point, we hope to stabilize our APIs in the effort to go to the v2 GA. Although, there are still some known unknown we encourage you to check out: discussion

In the next release we'll work on bringing in the Spring support (#142, #302), figure out if and how we should decouple the CloudEvent context from its payload (#311), optimize some low hanging fruits (#308) and documentation (#264)

If you want to contribute, feel free to pick any good first issue here: good first issue Good for newcomers

As always, we encourage you to give feedback about the current efforts in order to improve this project!

Happy hacking!

2.0.0 Milestone 4

09 Nov 13:36
f52356e
Compare
Choose a tag to compare
2.0.0 Milestone 4 Pre-release
Pre-release

On the behalf of the CloudEvents community, I'm pleased to announce that we're releasing a new 2.0.0 milestone.

In this release we dealt with the outstanding issue of representing the CloudEvent data field. After a lot of discussions and proposals, we reached an agreement on this interface:

public interface CloudEventData {
    byte[] toBytes();
}

And now CloudEvent#getData() returns CloudEventData. This additional indirection doesn't change the assumptions of the original interface, but allows extensibility and optimizations, without reimplementing/wrapping the CloudEvent interface. We also implemented, in the jackson module, an optimization to read/write CloudEvent with json values in it and we provide a new interface, when deserializing events, to map the CloudEventData to any custom implementation.

You can check out all the changes here: https://github.com/cloudevents/sdk-java/milestone/4?closed=1

To start using it, look at the documentation on the official website: https://cloudevents.github.io/sdk-java/

What's next

If you want to contribute, feel free to pick any good first issue here: good first issue Good for newcomers

If you want to join the discussions about new features and how to improve the existing ones, feel free to look on issues and pr with discussion label: discussion

As all milestones, this is a preview of the library for the community, nothing is written on the stone, so please give us feedback in order to improve this project!

Happy hacking!

2.0.0 Milestone 3

29 Sep 10:49
7abf0c8
Compare
Choose a tag to compare
2.0.0 Milestone 3 Pre-release
Pre-release

On the behalf of the CloudEvents community, I'm pleased to announce that we're releasing a new 2.0.0 milestone.

This new release contains a new module, called cloudevents-http-basic, to simplify the integration with other http frameworks we don't integrate directly: https://github.com/cloudevents/sdk-java/tree/master/http/basic
There is also a breaking change in the writers APIs to coerce better with the builder APIs #237

As always, we had tons of improvements and new examples to check out!

You can check out all the changes here: https://github.com/cloudevents/sdk-java/milestone/3?closed=1

To start using it, look at the documentation on the official website: https://cloudevents.github.io/sdk-java/

What's next

If you want to contribute, feel free to pick any good first issue here: good first issue Good for newcomers

If you want to join the discussions about new features and how to improve the existing ones, feel free to look on issues and pr with discussion label: discussion

As all milestones, this is a preview of the library for the community, nothing is written on the stone, so please give us feedback in order to improve this project!

Happy hacking!

2.0.0 Milestone 2

01 Sep 10:25
Compare
Choose a tag to compare
2.0.0 Milestone 2 Pre-release
Pre-release

On the behalf of the CloudEvents community, I'm pleased to announce that we're releasing a new 2.0.0 milestone. The major focus of this release was on fixing some timestamp issues people had, in particular with interop with other sdks.

Breaking changes

Timestamp type change #216

All over the sdk, the type used to represent time field and in general the CloudEvent Timestamp type becomes OffsetDateTime. This type maps better to RFC3339 and represents exactly the representable timestamps in RFC3339.

The method in CloudEventAttributes:

ZonedDateTime getTime();

Becomes:

OffsetDateTime getTime();

The public static field in io.cloudevents.types.Time.RFC3339_DATE_FORMAT was also removed.

Vert.x 4 #206

From this version onward, the cloudevents-http-vertx module uses Vert.x 4 and implements the client marshalling/unmarshalling using the vertx-web-client. Look at the PR for more info.

Other

  • Added methods to remove extensions from a CloudEventBuilder: #218
  • Added more examples: #194 #195

You can check out all the changes here: https://github.com/cloudevents/sdk-java/milestone/2?closed=1

To start using it, look at the documentation on the official website: https://cloudevents.github.io/sdk-java/

What's next

If you want to contribute, feel free to pick any good first issue here: good first issue Good for newcomers

If you want to join the discussions about new features and how to improve the existing ones, feel free to look on issues and pr with discussion label: discussion

As all milestones, this is a preview of the library for the community, nothing is written on the stone, so please give us feedback in order to improve this project!

Happy hacking!

First 2.0.0 milestone release!

25 Jun 13:49
63ffe3b
Compare
Choose a tag to compare
Pre-release

On the behalf of the CloudEvents community, I'm pleased to announce that we're releasing the first V2.0.0 milestone release! 🥳

The second major version of the SDK will bring huge changes to the project, in order to simplify the usage for the end users and make it simpler to integrate with 3rd party libraries.

Among the major changes, we have:

  • Re-structured the project separating the major interfaces from the implementations
  • Reworked and simplified the CloudEvent and CloudEventBuilder
  • Simplified the development of event formats and protocol bindings and the usage for end users
  • The base implementation is dependency free

You can check out all the changes here: https://github.com/cloudevents/sdk-java/milestone/1?closed=1

To start using it, look at the documentation on the official website: https://cloudevents.github.io/sdk-java/

This milestone is meant to be a preview of the library for the community, nothing is written on the stone, so please give us feedback in order to improve this project!

Happy hacking!

v1.3.0

04 Mar 23:59
Compare
Choose a tag to compare
General fixes