-
Type: Task
-
Resolution: Won't Do
-
Priority: Major - P3
-
None
-
Affects Version/s: None
-
Component/s: None
Use Case
As a nodejs developer
I may have BSON v4 types imported into my application and pass them to a driver using a v5 serializer version
I want to be sure that the compatibility between these library versions keeps working
Dependencies
- upstream and/or downstream requirements and timelines to bear in mind
Unknowns
- Does BSON v4 need any minor/patch releases to make v5 types work? (Unlikely)
- Web mode will not support this compatibility, is that acceptable? (Yes, unless otherwise strongly justified)
Acceptance Criteria
Testing Requirements
- Using the setup in bson_older_versions_tests.js test file
- Add BSON v4 as a version to the matrix of versions to test against
- v4's serializer should be able to handle v5's BSON type classes because when run in a nodejs environment the salient properties will still be type Buffer
- v5's serializer should be able to handle v4's BSON types because the previous major's salient properties should still have the same names and be typed as a subclass of Uint8Array (Buffer) which will work with the new buffer type agnostic code.
Follow Up Requirements
- Do we need to continue testing 1.x against 5.x? - File a ticket about making BSON work like EJSON where the types define their translation with to/from methods