Introducing Yasson

I am glad to inform you JSON-B RI and EclipseLink projects have been successfully separated. It was not a union of heart, but more marriage of convenience. Both projects had the same committers. Therefore, JSON-B RI was started in a directory inside EclipseLink project. But when JSON-B RI project started to be more and more mature we started to realize that the idea of hosting it inside EclipseLink project was not so good. These projects have different release cycles and different committers. Currently all JSON-B RI committers are EclipseLink committers, but not vice versa. Also, it can change in future, when more JSONB-RI committers are added.

It took about two months to go through Eclipse Foundation project creation and approval process, but now it's finished. JSOB-B RI started a new life and received a new name - Eclipse Yasson. Why Yasson you may ask? It was difficult to choose a name. I originally suggested a name "Jason Bourne". It would be a perfect fit because JSON-B can be considered as a short name from "Jason Bourne". Unfortunately, because of the legal restrictions, we couldn't use this name. We had many other options. The idea was to take a name somehow related to the name Jason. One of Jasons was an ancient Greek mythological hero who was famous for his role as the leader of the Argonauts and their quest for the Golden Fleece. His original name in Greek is Iason. Or with a small change - Yasson.

Yasson uses Eclipse Foundation infrastructure. I already deleted the old JSON-B RI repository in json-b GitHub organization. We will also remove jsonb sources from EclipseLink repository very soon.

The new infrastructure details:

Project on GitHub: https://github.com/eclipse/yasson

Issues tracker: https://github.com/eclipse/yasson/issues

Web site on Eclipse Foundation: https://projects.eclipse.org/projects/rt.yasson

Developers mailing list: yasson-dev@eclipse.org

General information about the mailing list and how to subscribe information is available here

Users Forum: https://www.eclipse.org/forums/index.php/f/356/

Snapshots repository: https://repo.eclipse.org/content/repositories/yasson-snapshots/

Releases repository (currently empty): https://repo.eclipse.org/content/repositories/yasson-releases/

Our main JSON-B web site is not affected by this change. I updated all links there to point on the new repository and issues tracker.

Switching from JSON-B RI to Yasson is very simple. You don't need to do anything. Just replace dependency in your project from JSON-B RI to Yasson. There is currently only snapshot version of Yasson is released. Binaries can be downloaded from our official snapshots repository here.

Your project repositories section should look something like this:

<repositories>
    <!-- For JSON-B API and JSON-P -->
    <repository>
        <id>java.net-Public</id>
        <name>Maven Java Net Snapshots and Releases</name>
        <url>https://maven.java.net/content/groups/public/</url>
    </repository>

    <!-- For Yasson -->
    <repository>
        <id>yasson-snapshots</id>
        <name>Yasson Snapshots repository</name>
        <url>https://repo.eclipse.org/content/repositories/yasson-snapshots</url>
    </repository>
</repositories> 

And dependencies like this:

<dependencies>
    <!-- JSON-B API -->
    <dependency>
        <groupId>javax.json.bind</groupId>
        <artifactId>javax.json.bind-api</artifactId>
        <version>1.0-SNAPSHOT</version>
    </dependency>

    <!-- Yasson -->
    <dependency>
        <groupId>org.eclipse</groupId>
        <artifactId>yasson</artifactId>
        <version>1.0-SNAPSHOT</version>
    </dependency>

    <!-- JSON-P -->
    <dependency>
        <groupId>org.glassfish</groupId>
        <artifactId>javax.json</artifactId>
        <version>1.1.0-SNAPSHOT</version>
    </dependency>
</dependencies>

I also updated my JavaOne 2016 sample project to use Yasson. This project demonstrates the usage of

  • Default mapping
  • Adapters
  • Serializers
  • Mapping of generic class

Sources are available on GitHub here.

I believe that you will enjoy using Yasson. I am again inviting everybody to participate in its development. Lets move it forward together.