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)
- Refactor serializers and deserializers to handle
- Support for Jackson 2.8 and 2.9
- Fix infinite loop in
DynamicOutputBuffer(thanks to @yfinkelstein)
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.
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.
For a complete description of bson4jackson (including how to download it), have a look at my tutorial.
Posted by Michel Krämer
on 19 May 2018
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.
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.
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.
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.