Eclipse Vert.x 4 CR1 released!

We are ex­tremely pleased to an­nounce the first re­lease can­di­date of Vert.x 4.0.

We con­sider Vert.x 4.0 fea­ture com­plete and we will do a few re­lease can­di­dates to allow the com­mu­nity to test it and re­port is­sues.

Vert.x 4 is the evo­lu­tion of the Vert.x 3.x se­ries that will bring key fea­tures to Vert.x.

Tracing control

When a com­po­nent (i.e server or client) is in­volved in a Vert.x in­stance con­fig­ured with trac­ing, a new trac­ing pol­icy con­trols the com­po­nent par­tic­i­pa­tion in a trace:

  • with IG­NORE the com­po­nent will not be in­volved in the trace, e.g an HTTP client will not re­port a span in an ex­ist­ing trace
  • with PROP­A­GATE the com­po­nent will re­port a span and prop­a­gate when pos­si­ble
  • AL­WAYS the com­po­nent will re­port a span or cre­ate a new trace

Kafka tracing

Our Kafka client is now able to prop­a­gate and re­port span in ac­tive traces.

Web

A new method has been added to RoutingContext to allow send­ing re­sponses from asyn­chro­nous calls using Vert.x fu­tures.

For ex­am­ple, re­turn­ing the con­tent of a file in a sin­gle ac­tion:

router.route()
  .respond(ctx ->
    vertx.fileSystem()
      .readFile("somefile.json"));

This method en­ables com­po­si­tion of Futures. The Fu­ture re­sult will be processed by the JSON codec if no data has been writ­ten. Oth­er­wise, it will use the fu­ture suc­cess/fail­ure to de­cide how to ter­mi­nate the con­nec­tion.

This method should im­prove the code read­ablil­ity of cur­rent and fu­ture ap­pli­ca­tions.

Web client auth

With this re­lease you will be able to use Basic, Digest and Bearer au­then­ti­ca­tion in a sin­gle and con­cise API: client.authentication(new Credentials(...)). This is a type safe al­ter­na­tive to com­pute the head­ers your­self.

Redis client

Redis clients are now garan­teed to call all han­dlers on the cor­rect event loop. This re­duces con­text switches and re­move pos­si­ble races.

RabbitMQ client TLS support

Rab­bitMQ client can now con­nect using TLS.

SockJS JavaScript client versioning change

SockJS event bus JavaScript client is now ver­sionned ac­cord­ing to the Event­Bus bridge pro­to­col and is now in­de­pen­dant on the Vert.x ver­sion.

That has al­ways been the case and with Vert.x 4 we de­cided to make this change to sim­plify ap­pli­ca­tion up­grade since up­grad­ing Vert.x will not imply to up­grade event bus bridge clients.

In order to en­sure that the ar­ti­fact can be used both with Vert.x 3 and Vert.x 4, a new name has been cho­sen for it: @vertx/eventbus-​bridge-client.js

Finally

This is the first re­lase can­di­date of Vert.x 4. You can of course ex­pect more as we get feed­back from the com­mu­nity and fix is­sues that we failed to catch be­fore.

You can also read the pre­vi­ous an­nounces to know more about the over­ral changes:

The dep­re­ca­tions and break­ing changes can be found on the wiki.

For this re­lease, there are no Docker im­ages.

The re­lease ar­ti­facts have been de­ployed to Maven Cen­tral and you can get the dis­tri­b­u­tion on Maven Cen­tral.

You can boot­strap a Vert.x 4.0.0.CR1 project using https://start.vertx.io.

The doc­u­men­ta­tion has been de­ployed on this pre­view web-​site: https://vertx.io/docs/

That’s it! Happy cod­ing and see you soon on our user or dev chan­nels.

Next post

Eclipse Vert.x 4 CR2 released!

The second release candidate of the upcoming Vert.x 4 has just been released. We consider it feature complete and invite the community to test it.

Read more
Previous post

Eclipse Vert.x 3.9.4 released!

Eclipse Vert.x version 3.9.4 has just been released. It fixes quite a few bugs that have been reported by the community.

Read more
Related posts

Eclipse Vert.x 4 beta 1 released!

We are extremely pleased to announce the first 4.0 beta release of Eclipse Vert.x. Highlights of this release are the improved JDBC Client API, event loop affinity, and much more.

Read more

Eclipse Vert.x 4 beta 3 released!

The third beta version of Eclipse Vert.x 4.0 highlights many features including (but not limited to) HTTP client request creation, HTTP tunnel improvements, and WebSocket upgrade improvements.

Read more

Eclipse Vert.x 4 milestone 5 released!

We are extremely pleased to announce the fifth 4.0 milestone release of Eclipse Vert.x. This release aims to provide a reliable distribution of the current development of Vert.x 4.

Read more