No change since 1.4.1; released to keep pace with libmongoc's version.
This release fixes two bugs in "minPoolSize" logic:
- minPoolSize should mean "the number of inactive clients to keep cached in the pool", so when a client is pushed, if there are already minPoolSize clients in the pool, the oldest should be freed. Instead, minPoolSize is compared to pool->size, which is the total number of active or inactive clients. So if there are 10 clients total and minPoolSize is 3, all pushed clients are freed, not just clients in excess of the first 3.
- The pool is supposed to be a LIFO for memory coherence but it destroys the most-recently used client, not the least-recently used.
See CDRIVER-1558 for details.
— A. Jesse Jiryu Davis