9.2 KiB
9.2 KiB
Changelog
All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
0.12.3 - 2025-08-19
- Add unique
idto objects which can be read via theObject::idmethod - Add
WeakPool<T>andPool::weak()for non-owning, upgradeable pool references. - Use
num_cpus::get() * 2as default pool size instead ofnum_cpu::get_physical() * 4which should result in the same pool size for most systems with hyper threading but fixes the default pool size in containerized environments. - Cache
num_cpus::get()result to improvePoolcreation performance.
0.12.2 - 2025-02-02
- Update
itertoolsdependency to version0.13.0 - Change predicate parameter of
Pool::retainmethod toFnMut - Add
RetainResultas return value ofPool::retainmethod - Fix panic in
Pool::resizemethod caused by shrinking and growing the pool in quick succession.
0.12.1 - 2024-05-07
- Add WASM support
0.12.0 - 2024-05-04
- Add
SendtoManager::TypeandManager::Errorassociated types - Add
SendtoManager::createandManager::recyclereturn types
0.11.2 - 2024-04-10
- Make
Timeouts::newandTimeouts::wait_millisfunctions const fns
0.11.1 - 2024-04-06
- Remove unused
consoledependency
0.11.0 - 2024-04-01
- Remove
async_traitdependency - Bump up MSRV to
1.75
0.10.0 - 2023-09-25
- Remove unreachable enum variant
BuildError::Backend - Split
Status.availableintoavailableandwaiting. - Add
QueueModeconfiguration option for choosing between aFIFO(default) andLIFOqueue. - Remove
HookError::ContinueandHookError::Abortvariants replacing it with the contents ofHookErrorCause. Returning aHookErrorfrom apost_createhook causes thePool::getoperation to fail while returning it from apre_recycleorpost_recyclehook the operation continues. - Add
metricsargument toManager::recyclemethod. - Remove deprecated
managed::syncmodule. - Remove deprecated
managed::Pool::try_getmethod. - Bump up MSRV to
1.63to match the one oftokio.
0.9.5 - 2022-05-20
- Fix bug causing the pool to exceed its
max_sizein the case of a recycling error. - Fix panic caused by an integer overflow in the case of
a failing
post_createhook.
0.9.4 - 2022-04-27
- Fix
HookErrorandHookErrorCausein re-exports
0.9.3 - 2022-04-12
- Add
Pool::retainmethod - Fix
Pool::get_timeoutsmethod - Deprecate
managed::Pool::try_get - Add
Pool::timeoutsmethod
0.9.2 - 2021-11-15
PoolConfignow implementsSerialize
0.9.1 - 2021-10-26
- Deprecate
managed::syncmodule in favor ofdeadpool-synccrate - Extract
runtimemodule as separatedeadpool-runtimecrate
0.9.0 - 2021-10-18
- Breaking: Replace
configfeature withserde(opted out by default) - Fix
std::error::Error::sourceimplementations for library errors - Add
Runtime::spawn_blockingmethod - Add
Runtime::spawn_blocking_backgroundmethod - Remove
Runtime::Nonein favor ofOption<Runtime> - Remove
Pool::newmethod - Add
Pool::buildermethod andPoolBuilderstruct - Add
Object::metricsmethod andMetricsstruct - Update
tokiodependency to version1.5.0 - Add
post_create,pre_recycleandpost_recyclehooks - Add
Pool::resizemethod - Add
managed_reexportsmacro
0.8.2 - 2021-07-16
- Add
deadpool-dieselto README - Add
Sync + Sendas supertrait toManager - Fix usage of
PhantomDatainPoolstruct:Pool is nowSync` regardless of the wrapper.
0.8.1 - 2021-07-04
- Add
Object::poolmethod
0.8.0 - 2021-05-21
- Add support for closing pools
- Replace
crossbeam-queuebyMutex<VecDeque<_>> - Fix invalid
sizeandavailablecounts when recycling fails - Update
configdependency to version0.11 - Remove deprecated
from_envmethods - Add support for wrappers returned by the pool
- Use associated types for traits
0.7.0 - 2020-12-26
- Update
tokiodependency to version1
0.6.0 - 2020-11-04
- Update
tokiodependency to version0.3 - Update
crossbeam-queuedependency to version0.3 - Remove deprecated
deadpool::*types - Add
deadpool-memcachedto README
0.5.2 - 2020-07-14
- Deprecate
managed::Config::from_env - Deprecate
unmanaged::Config::from_env
0.5.1 - 2020-01-18
- Add
managed::Object::takemethod
0.5.0 - 2020-01-16
- Move current pool implementation into
managedmodule - Add unmanaged version of the
Poolwhich does not use aManagerto create and recycle objects. - Add feature flags
"managed"and"unmanaged"to enable only parts of this crate. - Add
max_sizeto poolStatus - Add support for
configcrate
0.4.3 - 2019-12-23
- Add
std::error::Errorimplementation forPoolErrorandRecycleError. This makes it more convenient to use the?operator.
0.4.2 - 2019-12-23
- Replace
tokio::sync::mpsc::channelbycrossbeam_queue::ArrayQueuewhich gets rid of the mutex when fetching an object from the pool.
0.4.1 - 2019-12-19
- Make
Pool::timeout_getpublic
0.4.0 - 2019-12-19
- Add support for timeouts
- Make fields of pool status public
- Fix possible deadlock and make implementation a lot simpler by using
the new tokio
SemaphoreandReceiver::try_recv. - Add
Pool::try_getandPool::timeout_getfunctions
0.3.0 - 2019-12-13
- Add
deadpool-lapinto README - Add
deadpool-redisto README - Fix possible stale state and deadlock if a future calling
Pool::getis aborted. This is related to https://github.com/tokio-rs/tokio/issues/1898 - Make recycling more robust by changing the
Manager::recycleto a non consuming API.
0.2.3 - 2019-12-02
- Add documentation for
docs.rs - Remove
PoolInnerandPoolSizestruct from public interface - Improve example in
README.mdand crate root
0.2.2 - 2019-12-02
- Update to
tokio 0.2
0.2.1
- Version skipped; only
tokio-postgreswas updated.
0.2.0 - 2019-11-14
- Split
deadpoolanddeadpool-postgresin separate crates instead of one with feature flags.
0.1.0 - 2019-11-14
- First release