Implement Rust BSON library 3.0

    • Type: Epic
    • Resolution: Fixed
    • Priority: Unknown
    • bson-3.0.0
    • Affects Version/s: None
    • Component/s: None
    • None
    • Rust BSON 3.0
    • Rust Drivers
    • Needed
    • Documentation requests are tracked in DOCSP-52941.
    • Done
    • None
    • 18
    • 22
    • 22
    • 100
    • 22
    • None
    • None
    • Hide

      2025-07-31: Closing epic.

      What was accomplished since the last update?

      • Remaining planned work completed. Release will happen in following weeks (not pressing).

      2025-07-31: Updating end-date to 2025-08-05.

      What was accomplished since the last update?

      • Conversion cleanups between raw/managed/ref types merged.
      • Number deserialization inconsistencies investigated and closed.
      • BSON binary vector changes merged to reject non-zero ignored bits.

      What goals are we targeting for the next two weeks?

      • Merge remaining changes and release.

      2025-07-17: Updating end-date to 2025-08-08

      What was accomplished since the last update?

      • Paused due to week of vacation and week of spec fest.

      What goals are we targeting for the next two weeks?

      • Migrate serde helpers to use serde_with.
      • Improve serde representations of bson types.
      • Expose a raw deserializer.
      • Reasons for delays
        • Underestimated. Decoupling en/decoding from [de]serialization was a complex refactor.

      2025-07-03: No change to end-date.

      What was accomplished since the last update?

      • Merged improvements for BSON C string handling
      • Decoupling en/decoding from [de]serialization complete
      • Consolidated error types merged

      What goals are we targeting for the next two weeks?

      • Convert serde helpers to use serde_with
      • Improve serde representations of bson types

      Etc

      • Abraham and Isabel are OOO for one week each.

      2025-06-18: Setting end-date to 2025-07-25

      Who actively worked on the project in the last two weeks?

      • Abraham and Isabel

      What was accomplished since the last update?

      • Prep work in driver for upcoming major BSON release complete.
      • UTF-8 performance improvement merged (changes error type).

      What goals are we targeting for the next two weeks?

      • Decouple en/decoding from [de]serialization (avoids parsing ambiguity)
      • Consolidate error types
      Show
      2025-07-31: Closing epic. What was accomplished since the last update? Remaining planned work completed. Release will happen in following weeks (not pressing). – 2025-07-31: Updating end-date to 2025-08-05. What was accomplished since the last update? Conversion cleanups between raw/managed/ref types merged. Number deserialization inconsistencies investigated and closed. BSON binary vector changes merged to reject non-zero ignored bits. What goals are we targeting for the next two weeks? Merge remaining changes and release. 2025-07-17: Updating end-date to 2025-08-08 What was accomplished since the last update? Paused due to week of vacation and week of spec fest. What goals are we targeting for the next two weeks? Migrate serde helpers to use serde_with. Improve serde representations of bson types. Expose a raw deserializer. Reasons for delays Underestimated. Decoupling en/decoding from [de] serialization was a complex refactor. 2025-07-03: No change to end-date. What was accomplished since the last update? Merged improvements for BSON C string handling Decoupling en/decoding from [de] serialization complete Consolidated error types merged What goals are we targeting for the next two weeks? Convert serde helpers to use serde_with Improve serde representations of bson types Etc Abraham and Isabel are OOO for one week each. 2025-06-18: Setting end-date to 2025-07-25 Who actively worked on the project in the last two weeks? Abraham and Isabel What was accomplished since the last update? Prep work in driver for upcoming major BSON release complete. UTF-8 performance improvement merged (changes error type). What goals are we targeting for the next two weeks? Decouple en/decoding from [de] serialization (avoids parsing ambiguity ) Consolidate error types

      Summary

      Release a new version of the Rust BSON library ("crate") with backwards-incompatible changes.

      Motivation

      Who is the affected end user?

      Users of the drivers.

      How does this affect the end user?

      Current library shortcomings are not blockers but either require awkward workarounds or incur substantial resource usage penalties.

      How likely is it that this problem or use case will occur?

      It would be difficult to use the current BSON library and not run into these issues.

      If the problem does occur, what are the consequences and how severe are they?

      Extra resource usage and engineer frustration.

      Is this issue urgent?

      No.

      Is this ticket required by a downstream team?

      No.

      Is this ticket only for tests?

      No.

      Cast of Characters

      Engineering Lead:
      Document Author:
      POCers:
      Product Owner:
      Program Manager:
      Stakeholders:

      Channels & Docs

      Scope Document

              Assignee:
              Abraham Egnor
              Reporter:
              Abraham Egnor
              None
              Votes:
              0 Vote for this issue
              Watchers:
              2 Start watching this issue

                Created:
                Updated:
                Resolved:
                8 weeks, 4 days
                None
                None
                None