We know 2 currently:
- BigDecimal has unlimited range and precision. Decimal128 has finite range and precision. The documentation should specify what both of those are. This affects serialization from BigDecimal to Decimal128.
- Decimal128 supports signed NaNs, BigDecimal does not. This affects deserialization from Decimal128 to BigDecimal (signedness of NaNs is lost).
- Decimal128 keeps track of trailing zeroes, while BigDecimal does not.
The documentation should be added under https://docs.mongodb.com/ruby-driver/master/tutorials/bson-v4/#bson-decimal128.