[GODRIVER-2708] Merge the "bsoncodec" package into the "bson" package Created: 22/Dec/22  Updated: 08/Jan/24

Status: Backlog
Project: Go Driver
Component/s: BSON
Affects Version/s: None
Fix Version/s: 2.0.0

Type: Task Priority: Unknown
Reporter: Matt Dale Assignee: Unassigned
Resolution: Unresolved Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Issue Links:
Depends
is depended on by GODRIVER-2611 Merge the "primitive" package into th... Blocked
Epic Link: Go Driver 2.0 BSON
Quarter: FY24Q3
Backwards Compatibility: Major Change

 Description   

The separation between the BSON packages mostly exists to prevent import cycles, but otherwise doesn't make a lot of sense to users. Additionally, the separation between BSON packages requires that much more code is exported that otherwise doesn't need to be exported. For example, most functions on the the DefaultValueEncoders and DefaultValueDecoders types only need to be exported because they are used by code in the bson package. Otherwise, there is no known use case (there is only a use case for overriding the defaults, not for exposing the defaults).

Definition of done:

  • Move all exported symbols from the bsoncodec package into the bson package.
    • Maintain only bson.NewRegistry, which builds a default registry. Do not move bsoncodec.NewRegistryBuilder, which builds an empty registry.
  • Update all dependent code in the Go driver to reference bson instead of bsoncodec.
  • Update all documentation in the Go driver to reference bson instead of bsoncodec.

Generated at Thu Feb 08 08:39:12 UTC 2024 using Jira 9.7.1#970001-sha1:2222b88b221c4928ef0de3161136cc90c8356a66.