- Breaking: Replace
config
feature withserde
(opted out by default) - Fix
std::error::Error::source
implementations for library errors - Add
Runtime::spawn_blocking
method - Add
Runtime::spawn_blocking_background
method - Remove
Runtime::None
in favor ofOption<Runtime>
- Remove
Pool::new
method - Add
Pool::builder
method andPoolBuilder
struct - Add
Object::metrics
method andMetrics
struct - Update
tokio
dependency to version1.5.0
- Add
post_create
,pre_recycle
andpost_recycle
hooks - Add
Pool::resize
method
- Add
deadpool-diesel
to README - Add
Sync + Send
as supertrait toManager
- Fix usage of
PhantomData
inPool
struct:Pool is now
Sync` regardless of the wrapper.
- Add
Object::pool
method
- Add support for closing pools
- Replace
crossbeam-queue
byMutex<VecDeque<_>>
- Fix invalid
size
andavailable
counts when recycling fails - Update
config
dependency to version0.11
- Remove deprecated
from_env
methods - Add support for wrappers returned by the pool
- Use associated types for traits
- Update
tokio
dependency to version1
- Update
tokio
dependency to version0.3
- Update
crossbeam-queue
dependency to version0.3
- Remove deprecated
deadpool::*
types - Add
deadpool-memcached
to README
- Deprecate
managed::Config::from_env
- Deprecate
unmanaged::Config::from_env
- Add
managed::Object::take
method
- Move current pool implementation into
managed
module - Add unmanaged version of the
Pool
which does not use aManager
to create and recycle objects. - Add feature flags
"managed"
and"unmanaged"
to enable only parts of this crate. - Add
max_size
to poolStatus
- Add support for
config
crate
- Add
std::error::Error
implementation forPoolError
andRecycleError
. This makes it more convenient to use the?
operator.
- Replace
tokio::sync::mpsc::channel
bycrossbeam_queue::ArrayQueue
which gets rid of the mutex when fetching an object from the pool.
- Make
Pool::timeout_get
public
- Add support for timeouts
- Make fields of pool status public
- Fix possible deadlock and make implementation a lot simpler by using
the new tokio
Semaphore
andReceiver::try_recv
. - Add
Pool::try_get
andPool::timeout_get
functions
- Add
deadpool-lapin
to README - Add
deadpool-redis
to README - Fix possible stale state and deadlock if a future calling
Pool::get
is aborted. This is related to tokio-rs/tokio#1898 - Make recycling more robust by changing the
Manager::recycle
to a non consuming API.
- Add documentation for
docs.rs
- Remove
PoolInner
andPoolSize
struct from public interface - Improve example in
README.md
and crate root
- Update to
tokio 0.2
- Version skipped; only
tokio-postgres
was updated.
- Split
deadpool
anddeadpool-postgres
in separate crates instead of one with feature flags.
- First release