Releases: mongodb/bson-ruby
5.0.2
Version 5.0.2 of BSON for Ruby is now available.
Release Highlights
This patch release contains an important bugfix, therefore an upgrade from the previous version is strongly recommended.
Documentation
Documentation is available at MongoDB.com.
Installation
You may install this version via RubyGems, with:
gem install --version 5.0.2 bson
What's Changed
- RUBY-3533 Make BSON::Binary objects comparable by @jamis in #338
- RUBY-3551 Add Ruby 3.3 to test matrix by @comandeo-mongo in #339
- RUBY-3557 Mark SecureRandom as Global by @zacheryph in #341
New Contributors
- @zacheryph made their first contribution in #341
Full Changelog: v5.0.1...v5.0.2
5.0.1
Caution
bson
5.0.1 can potentially segfault when creating a new BSON::ObjectId
(see RUBY-3557). This has been addressed in 5.0.2.
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: