Skip to content

0.26.0 • BSON equality and diffing, expanded BsonPath, Java driver, and improved documentation

BSON

  • Added equals and hashCode implementations for all BSON types, to allow checking if two BSON documents are identical (a073e815, !176)
  • Added BsonDocumentReader.names to iterate the field names (d26da4fb, !184)
  • Added BsonArrayReader.indices and .size to iterate over elements (ea9e5817, 3b354010, !184)
  • The official and multiplatform implementations are now tested with the same suite (bba1d7bf, !173)
  • Fixed broken documentation links in Bson and BsonArray (d265b02b)
  • Improved the documentation of BsonType (3da19f42, !185)
  • Explicitly document that BsonType.ordinal shouldn't be used (4ef5848e, !185)

BSON (official)

  • Fixed BsonValueReader.read when reading a primitive JVM type (fbdfd880)
  • Fixed BsonValueReader.toString() which did not return a JSON representation (19a34ea5)

BSON (multiplatform)

  • Fixed thread safety issue in Bson.eager() and BsonArray.eager() (#102, !179)

BsonPath

  • Renamed the parsing method from BsonPath.parse("$.a") to BsonPath("$.a") (30a09f83, #93, !165)
  • Add Bson.select("$.a") as a shorthand for Bson.select(BsonPath("$.a")) (a7b68c1a, #93, !165)
  • Add support for BsonPath.all/$.* (5e8db0f2, #93, !165)
  • Add support for BsonPath.sliced/$[1:5:2] (10f2c1c5, #93, !165)
  • Add support for BsonPath[-1]/$[-1] (01a0781f, #93, !165)
  • Add support for BsonPath.any()/$["foo", "bar"] (895c2fda, #93, !182)
  • Improve testing of BsonPath expressions

BSON diff

  • Add doc1 diff doc2 to display a human-readable difference of two BSON values, primarily intended for tests (#98, !177)

Java driver

  • Fixed publishing issue. The Java module should now be published alongside all other modules (!180)

Documentation

  • Improved the module-level documentation for all modules (#88, !181)

Browse the documentation for this versionView release in GitLab