Eclipse Vert.x 4 milestone 1 released!

We are ex­tremely pleased to an­nounce the first 4.0 mile­stone re­lease of Eclipse Vert.x .

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.

This re­lease aims to pro­vide a re­li­able dis­tri­b­u­tion of the cur­rent de­vel­op­ment of Vert.x 4 for peo­ple that want to try it and pro­vide feed­back.

Core futurisation

Vert.x 4 ex­tends the 3.x call­back asyn­chro­nous model to a fu­ture/call­back hy­brid model.

public interface NetClient {

  // Since 3.0
  void connect(int port, String host, Handler<AsyncResult<NetSocket>> handler);

  // New in 4.0
  Future<NetSocket> connect(int port, String host);
}

In this first mile­stone, only the Vert.x Core li­brary con­tains the hy­brid model. More Vert.x com­po­nents will be fu­tur­ized soon and you will be able to try them in the next mile­stones.

Tracing

In­stru­ment­ing asyn­chro­nous ap­pli­ca­tion for dis­trib­uted trac­ing is quite chal­leng­ing be­cause most trac­ing li­braries rely on thread local stor­age. While it works rea­son­ably well in a block­ing ap­pli­ca­tion, this does not work for an asyn­chro­nous ap­pli­ca­tion.

This sup­poses that the ap­pli­ca­tion con­trol flow mat­ters (i.e threads) al­though what re­ally mat­ters is the ap­pli­ca­tion re­quest flow (e.g the in­com­ing HTTP re­quest).

We im­proved Vert.x 4 to reify the re­quest flow, mak­ing it pos­si­ble to in­te­grate pop­u­lar trac­ing tools such as Zip­kin or Open­trac­ing. Vert.x per­for­mance is leg­endary and we made sure that this does not have any over­head out of the box (dis­abled).

We pro­vide sup­port for these two pop­u­lar li­braries under the Vert.x Trac­ing um­brella.

Other changes

  • Groovy has been sim­pli­fied in Vert.x 4 to re­move code gen­er­a­tion that was not re­ally needed in prac­tice
  • The orig­i­nal Redis client dep­re­cated in 3.7 has been re­moved re­placed by the new Redis client
  • The fol­low­ing com­po­nents have reached their end of life and have been pruned
    • MySQL / Post­greSQL async client re­placed by the Vert.x SQL Client (since 3.8)
    • AMQP bridge re­placed by the Vert.x AMQP Client (since 3.7)

Ramping up to Vert.x 4

In­stead of de­vel­op­ing all new fea­tures ex­clu­sively in Vert.x 4, we in­tro­duce some of these fea­tures in the 3.x branch so the com­mu­nity can ben­e­fit from them. The Vert.x 4 de­vel­op­ment focus on more fun­da­men­tal changes that can­not be done in the 3.x se­ries.

Screenshot

This is the first mile­stone of Vert.x 4, we aim to re­lease Vert.x 4 by the end of this year and you can of course ex­pect more mile­stones to out­line the progress of the ef­fort.

Finally

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.

Most im­por­tantly the doc­u­men­ta­tion has been de­ployed on this pre­view web-​site https://vertx-​ci.github.io/vertx-​4-​preview/docs/

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

Next post

Eclipse Vert.x 3.8.1

This new version is a bug fix release that addresses issues reported in Eclipse Vert.x 3.8.1. We also updated Netty to version 4.1.39.Final to fix some CVEs.

Read more
Previous post

Eclipse Vert.x 3.8.0 released!

We are extremely pleased to announce that Eclipse Vert.x 3.8.0 has been released. This is an important release introduceing a few changes ramping up to Vert.x 4.

Read more
Related posts

Things to keep in mind concerning CSRF attacks

Eclipse Vert.x like most frameworks provides an anti-CSRF defense. However, no framework can prevent all attack vectors that exist in the web. Therefore, developers need to be aware of some dangers and common attack vectors concerning CSRF defenses.

Read more

Eclipse Vert.x 4 milestone 2 released!

The new milestone release of Vert.x 4 includes progress on futurisation, tracing, and many other improvements.

Read more

Eclipse Vert.x 4 CR1 released!

The first 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