Engineer(s): Qingyang Hu, Preston Vasquez
2024-08-30: Updating target end date to 2024-08-30
Moving the end date to Aug 30 and splitting out dogfooding task from epic
- What was completed over the last two weeks?
- Helping internal teams dogfood 2.0 beta
- What's the focus over the next two weeks?
- Impediments encountered over the last two weeks
2024-08-16: Updating target end date to 2024-09-13
Moving the end date to Sept. 14 to reflect dogfooding results
- What was completed over the last two weeks?
- Helping internal teams dogfood 2.0 beta
- What's the focus over the next two weeks?
- Impediments encountered over the last two weeks
2024-08-16: Updating target end date to 2024-08-30
Moving the end date to Aug 30 to reflect the quarterly plan.
- What was completed over the last two weeks?
- The migration guides are in review
- What's the focus over the next two weeks?
- Helping internal users integrate
- Evergreen DEVPROD-9871, Kubernetes Community Operator CLOUDP-268201, and Mongosync have all agreed to try out Go 2.0 in the near future
- Impediments encountered over the last two weeks
2024-08-02: Updating target end date to 2024-08-16
Moving the end date to Aug 16 to reflect the quarterly plan.
- What was completed over the last two weeks?
- All tickets that are needed for a release candidate have been merged
- The beta was released
- What's the focus over the next two weeks?
- The migration guide should be completed today, 2024/08/02
- Migrate internal stakeholders onto v2
- Create a POC for the readpref API update, this ticket will likely be deferred to 3.0
- Impediments encountered over the last two weeks
2024-07-19: Updating target end date to 2024-08-02
- What was completed over the last two weeks?
- Everything is finished / in review except for work that is blocked by
GODRIVER-2696. That ticket makes the most complex change of 2.0, which abstracts option logic to remove a bunch of functions that merge options. These functions are bug factories. Two tickets depend on this one being complete: GODRIVER-2499 and GODRIVER-2689
- What's the focus over the next two weeks?
- Impediments encountered over the last two weeks
2024-07-05: On track for July 19th
- What was completed over the last two weeks?
- CSOT updates have been merged. Otherwise, the focus has shifted to writing the migration guide and getting the options updates (
GODRIVER-2696) completed. This will free up our remaining two blocked tickets.
- What's the focus over the next two weeks?
- Finish migration guide
- Get options updates merged
- Finalize PRs for the remaining two tickets
- Impediments encountered over the last two weeks
The team will be out for GopherCon from July 8th to 11th.
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