1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140
|
# Change Log
## [Unreleased]
## [0.8.10] - 2022-06-21
## Changed
* Upgraded `parking_lot`.
## [0.8.9] - 2020-06-30
## Changed
* Upgraded `parking_lot`.
## [0.8.7] - 2019-11-25
## Changed
* Upgraded `parking_lot`.
## [0.8.6] - 2019-10-19
## Added
* Added the ability to associate arbitrary data with pooled connections.
## [0.8.5] - 2019-06-06
## Changed
* Upgraded `parking_lot`.
## [0.8.4] - 2019-04-01
### Added
* Added a `HandleEvent` trait used to listen for various events from the pool for monitoring
purposes.
### Changed
* Switched from standard library synchronization primitives to `parking_lot`.
## [0.8.3] - 2018-11-03
### Fixed
* The set of idle connections is now treated as a stack rather than a queue. The old behavior
interacted poorly with configurations that allowed the pool size to shrink when mostly idle.
## [0.8.2] - 2017-12-24
### Changed
* Upgraded from log 0.3 to 0.4.
## [0.8.1] - 2017-10-28
### Fixed
* Fixed the example in the README.
## [0.8.0] - 2017-10-26
### Changed
* Pool configuration has changed. Rather than constructing a `Config` and passing it to the `Pool`
constructor, you now configure a `Builder` which then directly constructs the pool:
```rust
// In 0.7.x
let config = Config::builder()
.min_idle(3)
.build();
let pool = Pool::new(config, manager)?;
// In 0.8.x
let pool = Pool::builder()
.min_idle(3)
.build(manager)?;
```
* The `Pool::new` method can be used to construct a `Pool` with default settings:
```rust
// In 0.7.x
let config = Config::default();
let pool = Pool::new(config, manager)?;
// In 0.8.x
let pool = Pool::new(manager)?;
```
* The `initialization_fail_fast` configuration option has been replaced with separate
`Builder::build` and `Builder::build_unchecked` methods. The second returns a `Pool` directly
without wrapping it in a `Result`, and does not check that connections are being successfully
opened:
```rust
// In 0.7.x
let config = Config::builder()
.initialization_fail_fast(false)
.build();
let pool = Pool::new(config, manager).unwrap();
// In 0.8.x
let pool = Pool::builder().build_unchecked(manager);
```
* The `InitializationError` and `GetTimeout` error types have been merged into a unified `Error`
type.
* The `Pool::config` method has been replaced with accessor methods on `Pool` to directly access
configuration, such as `Pool::min_idle`.
* The `scheduled_thread_pool` crate has been upgraded from 0.1 to 0.2.
### Removed
* The deprecated `Builder::num_threads` method has been removed. Construct a `ScheduledThreadPool`
and set it via `Builder::thread_pool` instead.
## Older
Look at the [release tags] for information about older releases.
[Unreleased]: https://github.com/sfackler/r2d2/compare/v0.8.10...HEAD
[0.8.10]: https://github.com/sfackler/r2d2/compare/v0.8.9...v0.8.10
[0.8.9]: https://github.com/sfackler/r2d2/compare/v0.8.8...v0.8.9
[0.8.7]: https://github.com/sfackler/r2d2/compare/v0.8.6...v0.8.7
[0.8.6]: https://github.com/sfackler/r2d2/compare/v0.8.5...v0.8.6
[0.8.5]: https://github.com/sfackler/r2d2/compare/v0.8.4...v0.8.5
[0.8.4]: https://github.com/sfackler/r2d2/compare/v0.8.3...v0.8.4
[0.8.3]: https://github.com/sfackler/r2d2/compare/v0.8.2...v0.8.3
[0.8.2]: https://github.com/sfackler/r2d2/compare/v0.8.1...v0.8.2
[0.8.1]: https://github.com/sfackler/r2d2/compare/v0.8.0...v0.8.1
[0.8.0]: https://github.com/sfackler/r2d2/compare/v0.7.4...v0.8.0
[release tags]: https://github.com/sfackler/r2d2/releases
|