- Allows to specify string values as projection #94
- Gracefully fallback to not using a session if sessions are not supported by the mongo server #112
- Updates to run on python 3.11.7 #111
- Refresh the session every 10 minutes during oplog queries #110
- Fix an issue with connection params when SSL is used #107
- Fix issue with SSH tunnel connections by connecting directly to a MongoDB node instead of allowing PyMongo to automatically discover replica sets #105
- Fix a bug in Full Table sync that caused a sync to fail if document contained invalid BSON#95
- Update pymongo to v3.12.3 #81
- Fix bug in oplog bookmarking where the bookmark would not advance due to fencepost querying finding a single record #80
- Optimize oplog extractions to only query for the selected tables #78
- Modify
get_databases
function to return a unique list of databases #58
- Build and write schema messages #40 The main changes are:
- date-time fields will have a
"type": "string", "format": "date-time"
schema that will cause them to get loaded as date-times instead of strings - decimal fields will have a
"type": "number", "multipleOf": 1e-34
schema written - double fields will have a
"type": "number"
schema written that should prevent them from splitting between doubles/decimals depending on the precision
- date-time fields will have a
- Add optional
verify_mode
config value to replace the assumptions in version 1.0.4 #38
- Add support for turning off ssl cert validation when using a ssh tunnel #36
- Add support for floats as replication keys #34
- Add support for DBRefs #32
- Discover collections in the
admin
database and add support forInt64
as a replication key type #30
- Release out of Beta #29
- Add support for UUID types in replication keys and records #27
- Improve invalid datetime handling #25
- Clear stream state if replication method changes #24
- Improve Oplog query performance by using only a timestamp and the
oplog_replay
arg. #23
- Only bookmark latest ts on first sync for oplog #22
- Fix for additional empty string projections #21
- Make tap robust against projection that is empty string
- Actually respect
INCLUDE_SCHEMAS_IN_DESTINATION_STREAM_NAME
prop - #20
- Prefer secondary when connecting to Mongo #19
- Full Table syncs can handle empty collections #18
- Fix a bug with supporting bookmarks of ObjectId #17
- Check for cases when the Oplog may have aged out and execute a full resync #16
- Get global oplog timestamp instead of collection-specific #15
- Support several new types for the
_id
column aside from ObjectID #14
- Encode bytes back to base64 strings as we do not know the encodings #13
- During key-based incremental sync, if replication-key changes, wipe state and resync table #10
- Only support replication keys of types
datetime
,timestamp
,integer
,ObjectId
#10 - Only discover databases the user has read access for #11
- Added key-based incremental sync commit
- Fixed bug in oplog projections commit