bson4jackson 2.9.2

It’s been a while since I posted updates on bson4jackson here on this blog, so now that version 2.9.2 has just been released, I figured it would be a good idea to fill you in on what has happened in the library’s development lately. bson4jackson is an extension to the Jackson JSON processor adding support for BSON, a binary representation of JSON.

The latest versions 2.8.0 up to 2.9.2 have been all about compatibility and bug fixes. Here’s an overview of what has changed:

  • Add support for Decimal128 (thanks to @zigzago)
  • Support Pattern flags in TokenBuffer
  • Refactor serializers and deserializers to handle TokenBuffer
  • Support for Jackson 2.8 and 2.9
  • Fix infinite loop in DynamicOutputBuffer (thanks to @yfinkelstein)
  • Fix flush() not flushing buffer (thanks to Jonas Zeiger)
  • Do not flush while writing a document (fixes #80)

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.

http://jongo.org/

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.

http://mongojack.org/

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

http://litote.org/kmongo/

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.

https://github.com/jillesvangurp/jsonj

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.

http://modeshape.jboss.org/

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 19 May 2018


Next post

GeoRocket 1.2.0

The latest version is one of the biggest releases so far with many new features and bug fixes. The update includes a new storage back-end, support for HTTP/2 and CORS, as well as performance improvements.

Previous post

New features in gradle-download-task 3.4.0

Version 3.4.0 of the popular Gradle plugin contains many new features. Highlights are the support for ETags and downloading to a temporary file. The update also contains various other improvements.

Related posts

bson4jackson 2.11.0

This version is a maintenance release that updates Jackson and fixes some minor issues. Performance of the UTF-8 decoder has been improved and precision of BigDecimals has been increased. Updating is recommended for all users.

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.