Priority: Major - P3
MongoDB 2.4 reached end of life in March of 2016, so drivers can remove support for it.
A driver should bump its minimum supported wire version to 2, making 2.6 the minimum supported server version (For some reason, MongoDB 2.6 bumped maxWireVersion to 2 rather than 1. MongoDB 2.4 has no maxWireVersion, which implies a maxWireVersion of 0).
Code that can be removed as a result of the min wire version bump:
- Support for the legacy wire protocol for writes (OP_INSERT/UPDATE/DELETE) for acknowledged writes. If the driver already uses write commands for unacknowledged writes (async drivers like .NET or node), support for these wire protocol messages can be removed entirely.
- Support for creating and dropping indexes in the system.indexes collection (NOTE: listIndexes was added in 3.0, must continue to support listing indexes via system.indexes in 2.6)
- Support for user management via writes to and reads from system.users collection
- Support for fallback to inline results for the aggregate command when cursor is requested
Any conditional logic in tests that check for wire-version-less-than-2/server-version-less-than-2.6 can also be removed.