Eclipse Vert.x 4 milestone 4 released!

We are ex­tremely pleased to an­nounce the fourth 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.

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);
}

This third mile­stone makes progress and fully cov­ers with the fol­low­ing stack mod­ules:

  • Vert.x Shell
  • Vert.x Mail Client
  • Vert.x Con­sul Client
  • Vert.x Rab­bitMQ Client
  • Vert.x Stomp
  • Vert.x Mongo Client

Mail client improvements

Our mail clients had nice con­tri­bu­tion with the abil­ity to use stream­ing pay­load for at­tache­ments and the sup­port for DKIM sig­na­tures.

General client improvements

Some Vert.x clients are de­signed to be used within the ver­ti­cle that cre­ated it while some can be shared be­tween ver­ti­cles. This is a tech­ni­cal lim­i­ta­tion that stems from the fact that client are im­ple­mented using Vert.x or Netty (such as HttpClient) and are bound to the un­der­ly­ing event-​loop that pow­ers them.

In Vert.x 4 we de­cided to get away of this lim­i­ta­tion to sim­plify the usage and the con­fig­u­ra­tion of the clients. Of course it is pos­si­ble to con­tinue con­fin­ing clients within a ver­ti­cle (for best per­for­mance) but clients can be now shared be­tween ver­ti­cles when de­sired with a ne­glectible im­pact on per­for­mance (re­quir­ing mes­sage pass­ing).

Security improvements

Fi­nally here are a few im­prove­ments done in our se­cu­rity layer:

  • Vertx Auth is now de­cou­pled to han­dle authn/authz as 2 in­de­pen­dent func­tions thanks to @sbas­tian­dev
  • Auth Shiro is dep­re­cated in favour of the new “auth prop­er­ties” mod­ule and “auth ldap”
  • Web CSRF to­kens are ses­sion aware to allow mul­ti­ple re­quests from the same user
  • Ini­tial sup­port for we­bau­thn

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 forth mile­stone of Vert.x 4, you can of course ex­pect more mile­stones to out­line the progress of the ef­fort.

You can also read the pre­vi­ous mile­stone an­nounces:

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.

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

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.5

This version is a minor bug fix release addressing issues found in Vert.x 3.8.4. We would like to thank you all for reporting these issues.

Read more
Previous post

Eclipse Vert.x 3.8.4

This version is a bug fix release of Vert.x 3.8.3, which addresses quite a few bugs reported by the community.

Read more
Related posts

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

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