Releases: mongodb/bson-ruby
5.0.1
Version 5.0.1 of BSON for Ruby is now available.
Release Highlights
- RUBY-3435 Dates beyond 19 Jan 2038 were not representable in an ObjectID, but should have been.
- RUBY-3508 Certain malformed BSON packets could result in crashes when attempting to parse them.
- DOP-4704 Documentation sources have been moved to a separate repository. Please see https://github.com/mongodb/docs-ruby if you wish to contribute to the documentation for bson-ruby.
Documentation
Documentation is available at MongoDB.com.
Installation
You may install this version via RubyGems, with:
$ gem install --version 5.0.1 bson
Full Changelog: v5.0.0...v5.0.1
5.0.0
This major release of the BSON ruby library includes the following changes:
- RUBY-1114 "JRuby Driver and Java Driver Libraries are incompatible" -- JRuby package name changed to org.bson_ruby (implementation detail -- JRuby programs should be using 'require "bson"' instead of importing these packages directly)
- RUBY-1410 "Implement ObjectID spec" -- brings bson-ruby into full spec compliance with ObjectID generation
- RUBY-1806 "Create an exception hierarchy" -- errors raised by the library are now descended from BSON::Error
- RUBY-2056 "Allow all subtype values in BSON::Binary" -- BSON::Binary now accepts both symbols and integers as subtypes
- RUBY-2783 "Return a String without '$oid' from BSON::ObjectId#as_json and #to_json"
- RUBY-2810 "Make as_json serializations user-friendly for numeric types"
- RUBY-2846 "Add _bson_to_i method to ActiveSupport::TimeWithZone class."
- RUBY-2867 "Change Decimal128 to deserialize to BigDecimal by default"
- RUBY-3101 "Prohibit integer options in BSON::Regexp::Raw constructor" -- BSON::Regexp::Raw no longer accepts integers as options
- RUBY-3109 "Remove all references to dots and dollars in BSON" -- removes "validating_keys" from the API
- RUBY-3116 "Investigate leftover code for Rexgexp integer options"
- RUBY-3137 "Use SecureRandom to initialize ObjectId counter"
- RUBY-3140 "BSON::Decimal128 should support #to_d"
- RUBY-3306 "Investigate using Ruby's internal random utility instead of rand for ObjectId's" -- now using SecureRandom internally to generate the random portions of BSON::ObjectID's.
- RUBY-3309 "Add BSON Binary Data subtype Sensitive"
The following minor/internal changes are also included:
- RUBY-1168 "Correct BSON corpus Decimal128 test failures"
- RUBY-2655 "Set up build pipeline for outside contributors"
- RUBY-2777 "Regex decoding error tests in top.json have unexpected, invalid syntax"
- RUBY-2942 "Update docs.mongodb.com links in source, API & Reference documentation"
- RUBY-3139 "Update Gem::Specification with MongoDB Ruby Team Info"
- RUBY-3228 "[BSON] Various warnings"
4.15.0
This release adds Comparable functionality to BSON::Decimal128
.
4.14.1
4.14.0
The release of the BSON gem allows for serialization and deserialization of BigDecimals to/from BSON. It also adds Ruby 3.1 and Rails 7 support.
4.13.0
This release of the BSON gem moves the Mongo::DBRef
class to the bson-ruby
repository as BSON::DBRef
and enhances the functionality of DBRef:
- RUBY-2090 Move driver DBRef class to bson-ruby
- RUBY-2639 DBRef is now a subclass of Hash
- RUBY-2638 DBRef retains additional fields
- RUBY-2857 DBRef ensures $ref/$id/$db fields come first
- RUBY-2637 DBRef can no longer be created without $id
The following other improvements were made:
- RUBY-2763 Add BSON Binary subtype 7
- RUBY-2734 Prohibit embedded null bytes in strings used as BSON::Document hash keys, regexps and regexp options
This release of bson-ruby also increases the minimum Ruby version required to 2.5.
4.12.1
This patch release fixes the following issue:
4.12.0
This minor release in the 4.x series adds the following improvements:
- RUBY-2397 Support parsing $uuid as extended JSON representation for subtype 4 binary
- RUBY-2504 Ensure return value of all BSON::Document methods is a BSON::Document instance potentially breaking change
The following bugs were fixed:
- RUBY-2438 to_uuid does not add the fourth dash to serialized uuid potentially breaking change
- RUBY-2487 BSON::Document#except does not exclude symbol arguments with ActiveSupport 6 potentially breaking change
- RUBY-2491 Repair BSON::Document#slice on Ruby 2.4 with ActiveSupport
4.11.1
This patch release fixes a regression in version 4.11.0:
4.11.0
This release of the bson gem fixes the following bug: