bson4jackson 2.11.0

I’m de­lighted to an­nounce a new ver­sion of bson4­jack­son 2.11.0. The lib­rary is already very stable and there haven’t been many up­dates re­cently. The latest ver­sion is a main­ten­ance re­lease that up­dates Jack­son and fixes some minor is­sues.

bson4­jack­son is an ex­ten­sion to the Jack­son JSON pro­cessor adding sup­port for BSON, a bin­ary rep­res­ent­a­tion of JSON.

Here’s an over­view of what has changed:

  • Up­date to Jack­son 2.11.1
  • Add in­teg­ra­tion tests for Jack­son 2.10 and 2.11
  • Im­prove per­form­ance by cach­ing UTF-8 de­coder (#81)
  • Fix in­cor­rect end of file in UnsafeByteArrayInputStream (#87, thanks to @neo­paf)
  • Im­prove pre­ci­sion of BigDecimals. Dir­ectly con­vert them to double (#84)
  • Deseri­al­izers now handle buf­fered ob­jects cor­rectly (#72)
  • Mi­grate to Git­Hub Ac­tions

I’m happy to re­port that the com­munity around bson4­jack­son has never been so act­ive and that the pro­ject has gained great pop­ular­ity (see be­low). I’d like to thank all users and con­trib­ut­ors!

Projects using bson4jackson

The fol­low­ing rep­res­ents a short se­lec­tion of pop­u­lar Open Source lib­rar­ies and tools us­ing bson4­jack­son:

Jongo is a rather cool lib­rary that al­lows Mon­goDB to be quer­ied in Java just like you would query it in the Mon­goDB shell. Jongo uses bson4­jack­son to seri­al­ize ob­jects be­fore they are sent to the data­base, and of course to deseri­al­ize quer­ied doc­u­ments.

Mon­go­Jack is a POJO map­per that uses Jack­son and bson4­jack­son to seri­al­ize and deseri­al­ize ob­jects be­fore they are sent to the data­base. Mon­go­Jack is ex­tremely fast and very easy to handle.

KMongo, a Kot­lin toolkit for Mon­goDB, uses bson4­jack­son for its ob­ject map­ping API. With this, res­ults of Mon­goDB quer­ies are auto­mat­ic­ally mapped to ob­jects.

JsonJ is a flu­ent Java API for ma­nip­u­lat­ing JSON data struc­tures. The lib­rary not only sup­ports JSON, but also other formats such as YAML, HOCON or—with a little help of bson4­jack­son—BSON.

Mod­e­Shape is a dis­trib­uted, hier­arch­ical, trans­ac­tional, and con­sist­ent data store with sup­port for quer­ies, full-text search, events, ver­sion­ing, ref­er­ences, and flex­ible and dy­namic schemas. They use bson4­jack­son to test their BSON reader and writer im­ple­ment­a­tion.

List your pro­ject here!

I know that there are a lot of other pro­jects out there that use bson4­jack­son. If you want your pro­ject to be ad­ded to this list please leave a com­ment be­low or send me a mes­sage.

More information

For a com­plete de­scrip­tion of bson4­jack­son (in­clud­ing how to down­load it) have a look at my tu­torial.

Posted by Michel Krämer
on July, 25th 2020.