Engineer(s): Qingyang Hu, Preston Vasquez
2024-06-21: Updating target end date to 2024-07-19
*What was completed over the last two weeks?
- What's the focus over the next two weeks?
- GODRIVER-3252: Update signature of Database and IndexView methods to return a slice of values instead of pointers
- Write the 1.x -> 2.0 migration guide
- Impediments encountered over the last two weeks
The team will be out for GopherCon from July 8th to 10th.
2024-06-07: Updating target end date to 2024-06-28
- What was completed over the last two weeks?
GODRIVER-3038 (merged): Apply CSE to IndexView operations.
GODRIVER-3023 (merged): There is no need to check for errors when cloning a collection, update the API to reflect this.
GODRIVER-3205 (merged): Make DistinctResult use the Collection's BSONOptions when decoding results
- GODRIVER-2821 (In review): Don't return "ErrUnacknowledgedWrite" when using an unacknowledged write concern.
- GODRIVER-3220 (In review): Change IndexView.DropOne to not return bson.Raw
- What's the focus over the next two weeks?
- Write the 1.x -> 2.0 migration guide
- Impediments encountered over the last two weeks
Preston is on vacation from Jun 14 - 25th
2024-05-24: On track for June 14
- What was completed over the last two weeks?
GODRIVER-3038 (merged): Apply CSE to IndexView operations.
GODRIVER-3023 (in review): There is no need to check for errors when cloning a collection, update the API to reflect this.
- What's the focus over the next two weeks?
- GODRIVER-2821 (carryover): Don't return "ErrUnacknowledgedWrite" when using an unacknowledged write concern. The Go Driver is not aligned with other drivers in handling these cases, opting to use a sentinel error in 1.x. This change will lose information when performing DDL commands such as creating a index or dropping a collection, it's unclear if we should do this.
- GODRIVER-2689 (carryover): Simplify the "readpref" API. The readpref package and types use a lot of unnecessary APIs that can be confusing for users. The goal of this ticket is to remove the functional patterns in favor of exporting all optional fields.
- Impediments encountered over the last two weeks
2024-05-10: On track for June 14
- What was completed over the last two weeks?
- What's the focus over the next two weeks?
- GODRIVER-2821 (carryover): Don't return "ErrUnacknowledgedWrite" when using an unacknowledged write concern. The Go Driver is not aligned with other drivers in handling these cases, opting to use a sentinel error in 1.x.
- GODRIVER-2689: Simplify the "readpref" API. The readpref package and types use a lot of unnecessary APIs that can be confusing for users. The goal of this ticket is to remove the functional patterns in favor of exporting all optional fields.
GODRIVER-3023: There is no need to check for errors when cloning a collection, update the API to reflect this.
- Impediments encountered over the last two weeks
- The last two weeks have primarily been focused on resolving PR issues with CSOT 2.0 and the new options pattern. These are two of the most complicated changes being made in 2.0 and the team has been very methodical in vetting the proposals.
Engineer(s): Qingyang Hu, Preston Vasquez
2024-04-26
- What was completed over the last two weeks?
GODRIVER-2965 (in review): Internalizing the description package.
- What's the focus over the next two weeks?
GODRIVER-3038: Apply CSE to IndexView operations
- GODRIVER-2821: Don't return "ErrUnacknowledgedWrite" when using an unacknowledged write concern. The Go Driver is not aligned with other drivers in handling these cases, opting to use a sentinel error in 1.x.
- Impediments encountered over the last two weeks*
- Multiple complex help tickets have come up: HELP-58066 , HELP-58664
2024-04-12: Updating target end date to 2024-06-14
- What was completed over the last two weeks?
GODRIVER-2443 (in review): Make Distinct return a decodable struct, specifically a mongo.SingleResult. This type has been repurposed to generalize the return type for the Raw method, either a bson.RawArray or bson.Raw value.
GODRIVER-1639: Add bson.RawArray to the bson library to enable users to decode array types in the stable API. This also gives us the type used for the Distinct method update.
- What's the focus over the next two weeks?
GODRIVER-2965: Internalizing the description package. This package unnecessarily extends the surface area of the stable API. Internalizing it will enable us to alter selector logic in the 2.0.1 package without causing a breaking change.
GODRIVER-3038: IndexView's Create, List, and Drop operations do not pass in the client FLE encryption data to the operation layer. This change is likely a breaking change and must be done as part of the 2.0 efforts. If it can be deferred, we will defer it to 2.0.1.
- Impediments encountered over the last two weeks
- Troubleshooting complex CSOT issues unrelated to 2.0
2024-04-01: setting new target end date to 2023\4-04-19
- 29/51 tickets completed
- High complexity tickets are in review
- Had to push 2.0 off for a week to work on CSOT
2024-03-15: setting new target end date to 2024-04-12
- 28/51 tickets completed
- The highest complexity tickets are being finished up, in review
- Options updates complete
2024-03-01: setting new target end date to 2024-04-01
- 20 tickets remaining in the backlog, mostly low complexity
- Removed 8 tickets form the epic
- CSOT work complete
- Implementing options improvements
2024-02-16: setting new target end date to 2024-03-15
- 29/58 tickets complete
- 1 ticket in code review
- CSOT working coming to a close
2024-02-02: setting new target end date to 2024-03-01
- 29/58 tickets complete
- 1 ticket in code review
- CSOT major update is still in progress
2024-01-19: setting new target end date to 2024-02-16
- 29/58 tickets complete
- 1 ticket in code review
- CSOT is taking longer than expected, specifically using connectTimeoutMS to cover all blocking operations during connection establishment
2024-01-09: No change to target end date
- 26/58 tickets complete
- 5 tickets in code review
- CSOT discussions ongoing
2023-12-08: setting new target end date to 2023-12-22
- 21/55 tickets complete
- 3 tickets in code review
- Discussions around high complexity tickets are going well.
2023-11-22: No change to target end date
- 19/55 tickets complete
- 3 tickets in code review
- Continued involvement from outside contributors
2023-11-10: setting new target end date to 2023-12-15
- 14/55 tickets completes ~25%. Remaining:
- 1 deprecation change
- 4 high complexity & low risk ~ 1 weeks
- 8 low complexity & low risk ~ .5 week
- 16 high complexity & high risk ~ 2 weeks
- 6 low complexity & high risk ~ 1 week
- 2 follow up tasks ~ .5 week
- 5 tickets in review:
- Simplify GridFS
- Make comment field type "any"
- Make defining a majority write concern literal easier
- Remove context.Context parameter to mongo.Connect
- Don't return "ErrUnacknowledgedWrite" when using an unacknowledged write
- 4 tickets in progress:
- Make Distinct return a Cursor instead of []any
- Rename gridfs errors
- Convert session interface to a struct
- Update options API
2023-10-27: No change to target end date
- Simplify GridFS timeout API in review
- Add encryptedFields to Collection.Drop in progress
- Un-export all result type BSON unmarshaling functions and BSON struct tags in progress
- Fix ReadConcern logic on RunCommand up next
2023-10-13: No change to target end date
Status Updates:
- Completed removal of deprecated code in main package
- Started Migration Guide document
- Started removal of deprecated code in bson packag
2023-09-29: Setting initial target end date to 2023-11-03
Status Updates:
- The team had a kickoff meeting to coordinate work and decided on a branching strategy
- Merged
GODRIVER-2690, which removed vendored core library code
- Nearing completion on
GODRIVER-2617, which removes deprecated code