bson4jackson 2.11.0

I’m delighted to announce a new version of bson4jackson 2.11.0. The library is very stable and there haven’t been many updates recently. The latest version is a maintenance release that updates Jackson and fixes some minor issues.

bson4jackson is an extension to the Jackson JSON processor adding support for BSON, a binary representation of JSON.

Here’s an overview of what has changed:

  • Update to Jackson 2.11.1
  • Add integration tests for Jackson 2.10 and 2.11
  • Improve performance by caching UTF-8 decoder (#81)
  • Fix incorrect end of file in UnsafeByteArrayInputStream (#87, thanks to @neopaf)
  • Improve precision of BigDecimals. Directly convert them to double (#84)
  • Deserializers now handle buffered objects correctly (#72)
  • Migrate to GitHub Actions

I’m happy to report that the community around bson4jackson is more active than ever and that the project has gained great popularity (see below). I’d like to thank all users and contributors!

Projects using bson4jackson

The list of projects using bson4jackson has grown significantly during the last year. The following represents a short selection of popular open-source libraries and tools:

Jongo is a rather cool library that allows MongoDB to be queried in Java just like you would query it in the MongoDB shell. Jongo uses bson4jackson to serialize objects before they are sent to the database, and of course to deserialize queried documents.

MongoJack is a POJO mapper that uses Jackson and bson4jackson to serialize and deserialize objects before they are sent to the database. MongoJack is extremely fast and very easy to handle.

KMongo, a Kotlin toolkit for MongoDB, uses bson4jackson for its object mapping API. With this, results of MongoDB queries are automatically mapped to objects.

JsonJ is a fluent Java API for manipulating JSON data structures. The library not only supports JSON, but also other formats such as YAML, HOCON or—with a little help of bson4jackson—BSON.

ModeShape is a distributed, hierarchical, transactional, and consistent data store with support for queries, full-text search, events, versioning, references, and flexible and dynamic schemas. They use bson4jackson to test their BSON reader and writer implementation.

List your project here!

I know that there are a lot of other projects out there that use bson4jackson. If you want your project to be added to this list please leave a comment below or send me a message.

More information

For a complete description of bson4jackson (including how to download it), have a look at my tutorial.

Profile image of Michel Krämer

Posted by Michel Krämer
on 25 July 2020

Next post

Steep 5.4.0 has just been released

The new version of the scientific workflow management system introduces two new features: progress display and the possibility to resubmit workflows. The update also fixes a few minor bugs. It is recommended for all users.

Previous post

Steep 5.3.0 has been released

A new minor version has been released. It deprecates a few properties in the workflow and process chain models and offers a few other features such as separate SSH usernames per setup and a new workflow validator.

Related posts

bson4jackson 2.9.2

This blog post summarizes the changes that came with the latest bson4jackson updates. Highlights are support for Decimal128, refactored serializers and deserializers, as well as support for Jackson 2.8 and 2.9.

Binary JSON with bson4jackson

This post introduces the open-source library bson4jackson, which is an extension to the Jackson JSON processor. It enables you to parse and generate documents in a binary JSON format called BSON.

bson4jackson 2.4 has just been released!

The latest release of bson4jackson now supports Jackson 2.4. Also, more deserializers have been added and a few minor bugs have been fixed. The update is recommended for all users.