<commit_before>---
title: Eclipse Vert.x 4 beta 1 released!
date: 2019-07-27
template: post.html
author: vietj
draft: true
---

We are extremely pleased to announce the first 4.0 beta release of Eclipse Vert.x .

Vert.x 4 is the evolution of the Vert.x 3.x series that will bring key features to Vert.x.

#### Vert.x Json Schema supports Draft2019-09

The new [vertx-json-schema](https://github.com/eclipse-vertx/vertx-json-schema) module now supports the latest Json Schema [Draft2019-09 spec](http://json-schema.org/specification.html). You can finally play with the new `$recursiveRef` to build extensible recursive schemas and with `unevaluatedProperties`/`unevaluatedItems` to define strict schemas. Look at the module [documentation](https://vertx-web-site.github.io/docs/vertx-json-schema/java/) to start using it.  

#### Ramping up to Vert.x 4

Instead of developing all new features exclusively in Vert.x 4, we introduce some of these features in the 3.x branch
so the community can benefit from them. The Vert.x 4 development focus on more fundamental changes that cannot be done
in the 3.x series.

<img src="{{ site_url }}assets/blog/vertx-4-milestone4-release/vertx-4-timeline.png" alt="Screenshot" class="img-responsive">

This is the forth milestone of Vert.x 4, you can of course expect more milestones to outline the progress of the effort.

You can also read the previous milestone announces:

- https://vertx.io/blog/eclipse-vert-x-4-milestone-4-released
- https://vertx.io/blog/eclipse-vert-x-4-milestone-3-released
- https://vertx.io/blog/eclipse-vert-x-4-milestone-2-released
- https://vertx.io/blog/eclipse-vert-x-4-milestone-1-released

#### Finally

The [deprecations and breaking changes](https://github.com/vert-x3/wiki/wiki/4.0.0-Deprecations-and-breaking-changes)
 can be found on the wiki.

For this release there are no Docker images.,

The release artifacts have been deployed to [Maven Central](https://search.maven.org/search?q=g:io.vertx%20AND%20v:4.0.0-milestone4) and you can get the distribution on [Maven Central](https://repo1.maven.org/maven2/io/vertx/vertx-stack-manager/4.0.0-milestone4/).

You can bootstrap a Vert.x 4.0.0 beta 1 project using https://start.vertx.io.

The documentation has been deployed on this preview web-site https://vertx-ci.github.io/vertx-4-preview/docs/

That's it! Happy coding and see you soon on our user or dev [channels](https://vertx.io/community).
<commit_msg>Clustering notes on beta1<commit_after>---
title: Eclipse Vert.x 4 beta 1 released!
date: 2020-07-23
template: post.html
author: vietj
draft: true
---

We are extremely pleased to announce the first 4.0 beta release of Eclipse Vert.x .

Vert.x 4 is the evolution of the Vert.x 3.x series that will bring key features to Vert.x.

#### Vert.x Json Schema supports Draft2019-09

The new [vertx-json-schema](https://github.com/eclipse-vertx/vertx-json-schema) module now supports the latest Json Schema [Draft2019-09 spec](http://json-schema.org/specification.html). You can finally play with the new `$recursiveRef` to build extensible recursive schemas and with `unevaluatedProperties`/`unevaluatedItems` to define strict schemas. Look at the module [documentation](https://vertx-web-site.github.io/docs/vertx-json-schema/java/) to start using it.  

#### Clustering configuration simplified

In Vert.x 3, cluster host was set to `localhost` by default in `EventBusOptions`.
Consequently, a lot of new users were confused about why event bus consumers and producers were not able to communicate even if the underlying cluster manager was configured correctly.

Also, when using the CLI tool or the `Launcher` class, Vert.x tried to find a host among available network interfaces if none was provided with the `-cluster-host` argument.
Sometimes, the host chosen by the cluster manager and Vert.x were not the same.

Starting with Vert.x 4 beta 1, the cluster host default has been removed and, if users don't provide any, Vert.x will ask the cluster manager which one it picked before trying to find one itself.
This applies whether Vert.x is embedded in any Java program or started with the CLI tool or with the `Launcher` class.

So far, only `vertx-hazelcast` and `vertx-infinispan` cluster managers can provide Vert.x with a cluster host.
When other cluster managers are used, Vert.x will choose one itself.

#### Cluster manager upgrades

`vertx-hazelcast` has been upgraded to Hazelcast 4.0.2 and `vertx-infinispan` to Infinispan 11.0.1.Final.


#### Ramping up to Vert.x 4

Instead of developing all new features exclusively in Vert.x 4, we introduce some of these features in the 3.x branch
so the community can benefit from them. The Vert.x 4 development focus on more fundamental changes that cannot be done
in the 3.x series.

<img src="{{ site_url }}assets/blog/vertx-4-milestone4-release/vertx-4-timeline.png" alt="Screenshot" class="img-responsive">

This is the first beta relase of Vert.x 4, you can of course expect more betas as we get feedback from the community and fix issues that we failed to catch before.

You can also read the previous milestone announces:

- https://vertx.io/blog/eclipse-vert-x-4-milestone-4-released
- https://vertx.io/blog/eclipse-vert-x-4-milestone-3-released
- https://vertx.io/blog/eclipse-vert-x-4-milestone-2-released
- https://vertx.io/blog/eclipse-vert-x-4-milestone-1-released

#### Finally

The [deprecations and breaking changes](https://github.com/vert-x3/wiki/wiki/4.0.0-Deprecations-and-breaking-changes)
 can be found on the wiki.

For this release there are no Docker images.

The release artifacts have been deployed to [Maven Central](https://search.maven.org/search?q=g:io.vertx%20AND%20v:4.0.0.Beta1) and you can get the distribution on [Maven Central](https://repo1.maven.org/maven2/io/vertx/vertx-stack-manager/4.0.0.Beta1/).

You can bootstrap a Vert.x 4.0.0 beta 1 project using https://start.vertx.io.

The documentation has been deployed on this preview web-site https://vertx-ci.github.io/vertx-4-preview/docs/

That's it! Happy coding and see you soon on our user or dev [channels](https://vertx.io/community).

{'fraction_non_alphanumeric': 0.10230429808792287, 'fraction_numerical': 0.023369831671841805, 'mean_word_length': 4.212947189097104, 'pattern_counts': {'":': 0, '<': 5, '<?xml version=': 0, '>': 5, 'https://': 24, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '937318', 'n_tokens_mistral': 1960, 'n_tokens_neox': 1827, 'n_words': 709}