Vert.x Roadmap

Robbie Gemmell edited this page May 4, 2016 · 48 revisions

This document present the Vert.x projects global roadmap for the next releases (and previous).

Next Release : Vert.x 3.3.0 - ~ Early June 2016

Vert.x SQL Common (jdbc-client)

Add support for Query timeout

Issue: https://github.com/vert-x3/vertx-sql-common/issues/14

Support setTransactionIsolation in SqlConnection

Issue: https://github.com/vert-x3/vertx-sql-common/issues/21

Support for batch operation

Issue: https://github.com/vert-x3/vertx-sql-common/issues/22

Vert.x JDBC client

Implemented Optimistic Casting for Temporal and UUID types

Issue: https://github.com/vert-x3/vertx-jdbc-client/pull/49

Vert.x AMQP bridge

Allow interaction with AMQP 1.0 peers by providing a bridge layer to offer an event-bus like API for AMQP senders and receivers, built on top of vertx-proton (https://github.com/vert-x3/vertx-proton).

Issue: https://github.com/vert-x3/issues/issues/94

HTTP/2 support

Add support for HTTP/2 in Vert.x core for HTTP server and client

Issue: https://github.com/vert-x3/issues/issues/21

OpenSSL support

Add support for OpenSSL provide for TLS for TCP/HTTP client/server.

Issue: https://github.com/eclipse/vert.x/issues/1275

Event Bus TCP communication encryption

Event bus can be configured with TCPSSLOptions to use TLS/SSL

Improved cluster member discovery

The cluster member discovery is now limited to multicast or unicast (require a list of known member). In some environment such as Docker or Kubernates, these discovery mechanisms cannot be used. This issue is about extending the member discovery to allow ease the integration with Docker and Kubernates.

Issue: https://github.com/vert-x3/issues/issues/13

Vert.x Microservice Toolbox

Provides the basic building block to build microservice applications with Vert.x

Repository: https://github.com/vert-x3/vertx-microservice-toolbox

Camel integration

Ability to reuse camel endpoints from inside Vertx; by using the Vertx event bus. i.e. so Camel endpoints appears to Vertx users as just another set of event bus endpoints.

Issue: https://github.com/vert-x3/issues/issues/15

Vert.x 2 - 3 event bus bridge

To ease the migration from Vert.x 2 to Vert.x 3, we should provide a bidirectional event bus bridge.

Issue: https://github.com/vert-x3/issues/issues/96

Security and Performance tests

This issue is about analyzing the potential security flaw from Vert.x and performance bottleneck. This includes, obviously, the implementation of the Techempower benchmarks and Thor (web socket).

Issue: https://github.com/vert-x3/issues/issues/97

Metrics

  • SPI for collecting database metrics along with the implementation of the SPI by vertx-dropwizard-metrics and usage of the SPI by JDBC Client
  • SPI for collecting Vert.x context task execution events along with implementation of the SPI by vertx-dropwizard-metrics

Asynchronous DNS resolution

Right now, the DNS lookup is blocking. This is problematic when the lookup is made in the event loop and when the DNS resolution takes time.

Issue: https://github.com/vert-x3/issues/issues/95

Named worker pools

  • the WorkerExecutor provides blocking code execution in separate named and configurable worker pools. Executors are created and destroyed by the developer.
  • verticles can be deployed with a named worker pool, this worker pool will be used for executing blocking actions from the Verticle context or for executing the worker verticle tasks

Older releases

Vert.x 3.2.1 - 05/02/2016

  • Bug fix releases

Vert.x 3.2 - 30/11/15

  • OAuth support for vertx-web - Paulo
  • Ceylon language support - Julien
  • Vert.x Shell Http terminal + other improvements - Julien
  • Hawkular metrics support - Thomas Segismont
  • Simple tcp socket support for eventbusbridge - Paulo
  • Move out doc generation to separate project - Julien
  • JGroups cluster manager - Fabio
  • New Stack Manager
  • New resolver for the maven service factory

Vert.x 3.1 - 30/09/15

  • vertx-sync - Tim
  • redeploy - Clement
  • vertx-mysql-postgresql client fixes
  • STOMP support
  • improvements to jsonobject/jsonarray date support - Paulo
  • improvements/refactoring of Starter class - Clement
  • vertx-shell - Julien (?)

Vert.x 3.0.0-final (release: 22 June 2015)

  • Fix bugs
  • Tweaks
  • Feedback from community
  • Performance tuning

Vert.x 3.0.0-milestone6 (release: 28 May 2015) Feature complete

Services:

  • Work queue - 2
  • Redis - 3
  • AMQP 1.0 - 3
  • RabbitMQ - 3

Other:

  • JGroups cluster manager - 2
  • OpenShift example / support - 1
  • Docker support - 2
  • Fabric8 integration/example

Vert.x 3.0.0-milestone5 (release: 07 May 2015)

Services:

  • Email - 1

Other:

  • dynamic service factories from bintray (like maven-service-proxy) - 1
  • maven service factory should support zip artifacts - 1

Languages:

  • JRuby implementation (including codetrans) - 1
  • Tweak Groovy API - 1
  • Require NPM modules from Node path - 1

Documentation

  • cluster configuration doc - 1
  • finish off core docs - 1
  • vert.x 2 migration doc - 2

Examples:

  • end to end examples - port old vtoons example - 1
  • more database examples - raw jdbc? - 1
  • make sure examples translate ok - 1
  • tutorials

Vert.x 3.0.0-milestone4 (release: 07 April 2015)

  • Mail Service : service for sending emails to an mail server via SMTP
  • Core : bug fix to allow worker verticles to send messages
  • Core : Vertx.isClustered() property
  • Apex : now uses /* to match full path
  • Mongo Service : added missing JavaRx API
  • JDBC : getConnection deadlock bug fix
  • Auth Service : API simplifcation make AuthProvider generated class and improve usage of principal/credentials
  • Service Proxy Factory : connection timetout feature
  • Maven Service Factory : service name qualifier support to allow the packaging of multiples services in the same jar
  • Reactive Streams : update to 1.0.0-RC4 reactive-streams
  • RxJava : support for Handler@DataObject and Handler>
  • RxJava : fix generation of wrong package file name for generated source code
  • RxJava : ContextScheduler now can handle blocking actions
  • Dropwizard Metrics : renamed from Metrics
  • Dropwizard Metrics : HttpRequest URI monitoring is now configurable
  • Dropwizard Metrics : WebSocket reporting support
  • Dropwizard Metrics : Http status code response monitoring
  • Dropwizard Metrics : EventBus monitoring improvements with bytes read/writen and handler metrics
  • Lang Groovy : unwrap GString to String for object arguments - fixing but with EventBus GString usage
  • Lang JS : Improve JS to Java dispatching with usage of method signature to remove dispatch ambiguities between interface and implementation

Vert.x 3.0.0-milestone3

Language support:

  • Java
  • JavaScript (Nashorn)
  • Groovy

Other

  • Apex
  • Auth service
  • Metrics
  • Vertx-Unit (testing)
  • MongoDB service
  • JDBC service
  • MySQL/PostgreSQL service
  • Common SQL
  • RxJava generation
  • SMTP Mail
  • JCA adaptor
  • Service Factories
  • Service Proxies
  • Maven Service Factory
  • Hazelcast Cluster Manager
  • Codegen
  • Docgen
  • Codetrans
  • Distro
  • Web-site
  • Examples