Skip to content

Latest commit

 

History

History
163 lines (113 loc) · 4.43 KB

CHANGELOG.md

File metadata and controls

163 lines (113 loc) · 4.43 KB

Change Log

v0.10.0

  • Remove unreachable enum variant BuildError::Backend
  • Split Status.available into available and waiting.
  • Add QueueMode configuration option for choosing between a FIFO (default) and LIFO queue.
  • Remove HookError::Continue and HookError::Abort variants replacing it with the contents of HookErrorCause. Returning a HookError from a post_create hook causes the Pool::get operation to fail while returning it from a pre_recycle or post_recycle hook the operation continues.
  • Add metrics argument to Manager::recycle method.
  • Remove deprecated managed::sync module.
  • Remove deprecated managed::Pool::try_get method.
  • Bump up MSRV to 1.63 to match the one of tokio.

v0.9.5

  • Fix bug causing the pool to exceed its max_size in the case of a recycling error.
  • Fix panic caused by an integer overflow in the case of a failing post_create hook.

v0.9.4

  • Fix HookError and HookErrorCause in re-exports

v0.9.3

  • Add Pool::retain method
  • Fix Pool::get_timeouts method
  • Deprecate managed::Pool::try_get
  • Add Pool::timeouts method

v0.9.2

  • PoolConfig now implements Serialize

v0.9.1

  • Deprecate managed::sync module in favor of deadpool-sync crate
  • Extract runtime module as separate deadpool-runtime crate

v0.9.0

  • Breaking: Replace config feature with serde (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 of Option<Runtime>
  • Remove Pool::new method
  • Add Pool::builder method and PoolBuilder struct
  • Add Object::metrics method and Metrics struct
  • Update tokio dependency to version 1.5.0
  • Add post_create, pre_recycle and post_recycle hooks
  • Add Pool::resize method
  • Add managed_reexports macro

v0.8.2

  • Add deadpool-diesel to README
  • Add Sync + Send as supertrait to Manager
  • Fix usage of PhantomData in Pool struct: Pool is now Sync` regardless of the wrapper.

v0.8.1

  • Add Object::pool method

v0.8.0

  • Add support for closing pools
  • Replace crossbeam-queue by Mutex<VecDeque<_>>
  • Fix invalid size and available counts when recycling fails
  • Update config dependency to version 0.11
  • Remove deprecated from_env methods
  • Add support for wrappers returned by the pool
  • Use associated types for traits

v0.7.0

  • Update tokio dependency to version 1

v0.6.0

  • Update tokio dependency to version 0.3
  • Update crossbeam-queue dependency to version 0.3
  • Remove deprecated deadpool::* types
  • Add deadpool-memcached to README

v0.5.2

  • Deprecate managed::Config::from_env
  • Deprecate unmanaged::Config::from_env

v0.5.1

  • Add managed::Object::take method

v0.5.0

  • Move current pool implementation into managed module
  • Add unmanaged version of the Pool which does not use a Manager to create and recycle objects.
  • Add feature flags "managed" and "unmanaged" to enable only parts of this crate.
  • Add max_size to pool Status
  • Add support for config crate

v0.4.3

  • Add std::error::Error implementation for PoolError and RecycleError. This makes it more convenient to use the ? operator.

v0.4.2

  • Replace tokio::sync::mpsc::channel by crossbeam_queue::ArrayQueue which gets rid of the mutex when fetching an object from the pool.

v0.4.1

  • Make Pool::timeout_get public

v0.4.0

  • 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 and Receiver::try_recv.
  • Add Pool::try_get and Pool::timeout_get functions

v0.3.0

  • 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.

v0.2.3

  • Add documentation for docs.rs
  • Remove PoolInner and PoolSize struct from public interface
  • Improve example in README.md and crate root

v0.2.2

  • Update to tokio 0.2

v0.2.1

  • Version skipped; only tokio-postgres was updated.

v0.2.0

  • Split deadpool and deadpool-postgres in separate crates instead of one with feature flags.

v0.1.0

  • First release