mobc 0.5.12

A generic connection pool with async/await support
Documentation

# CHANGELOG

## v0.5.12 2020-07-08
* Add a new method `into_inner` to `connection` to unwrap the raw connection.

## v0.5.11 2020-6-17

* Upgrade the `future-timer`.

## v0.5.10 2020-6-3

* Add a sync hook `validate` in the `Manager` trait to *quickly* determine connections are still valid when check-in

## v0.5.9 2020-6-3

* Fix get timeout.

## v0.5.8(yanked) 2020-6-1

* Add a hook to determine connections are valid when check-in.

## v0.5.7 2020-03-28

* Fix PANIC: overflow when subtracting duration from instant.

## v0.5.6 2020-03-26

*	Fixes to health checks, add a check interval

## v0.5.5 2020-03-24

* Add a new option to set connection's max idle lifetime.

## v0.5.4 2020-03-17

* Do not run the `check` if `health_check` is false.

## v0.5.3 2020-01-17

* Fix performance regression.


## v0.5.2 2020-01-17
* Do health check for the connection before return it.
* Add configure item `health_check`.
* Impl Debug for State.
* Add method is_brand_new to Connection, which returns true if the connection is newly established.
* Skip health check of those new connections.

## v0.5.1 2020-01-07
* Switch to `async-trait`
* Switch to `futures-timer`
* Add more examples

## v0.4.1 2019-12-29

#### Add
* Export `spawn`;

## v0.4.0 2019-12-24

#### Fix
* Tix tests

## v0.4.0-alpha.4 2019-12-24

#### Add
    * `Pool.set_max_open_conns` - Sets the maximum number of connections managed by the pool.
    * `Pool.set_max_idle_conns` - Sets the maximum idle connection count maintained by the pool.
    * `Pool.set_conn_max_lifetime` - Sets the maximum lifetime of connections in the pool.


## v0.4.0-alpha.3 2019-12-24

#### Update
* When specifying a timeout configuration, `None` means that a get connection will never timeout.

## v0.4.0-alpha.2 2019-12-23

#### Fixes
* Fix docs

## v0.4.0-alpha.1 2019-12-23

Refactored most of the code, but it was all tested. I'm sorry, some API changes, but in exchange for better experience and performance.

#### Changes
* ConnectionManager is changed to Manager and simplified.
  * `get_executor` are removed.
  * `has_broken` are removed.
  * `is_valid` to `check`
  * Add a provided method `spawn_task`. You might use it when using mobc in runtimes other than tokio-0.2 and async-std.
* The connection pool now initializes without creating a new database connection, which saves a lot of time and resources. So it becomes a synchronization API.
* `Pool.state()` will now return more detailed statistics.
* Some configuration items are changed.
  * `min_idle` to `max_idle`, which means that idle connections over this number will be closed
  * `max_size` to `max_open`. If you set it to 0, the pool will create unlimited new connections if necessary. However, these connections are still limited by `max_idle` when idle
* `Pool.try_get` are removed.


## v0.3.3 2019-12-23

#### Fixes

* Fix Connection recycle.
* Panics if `min_idle` is 0

## v0.3.2 2019-12-10

#### Fixes

* Timeout caused by reaping

## v0.2.11 2019-12-10

#### Fixes

* Timeout caused by reaping

## v0.3.1 2019-12-05

#### Fixes
    
* Documentation of `mobc::Builder`