All Versions
11
Latest Version
Avg Release Cycle
109 days
Latest Release
26 days ago

Changelog History
Page 1

  • v0.8.6

    October 19, 2019
  • v0.8.5

    June 07, 2019
    • ⬆️ Upgraded parking_lot.
  • v0.8.4

    April 02, 2019

    ➕ 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.
  • v0.8.3

    November 03, 2018

    🛠 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.
  • v0.8.2

    December 24, 2017

    🔄 Changed

    • ⬆️ Upgraded from log 0.3 to 0.4.
  • v0.8.1

    November 28, 2017

    🛠 Fixed

    • 🛠 Fixed the example in the README.
  • v0.8.0

    November 26, 2017

    🔄 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:

      // 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)?;
      
    • 0️⃣ The Pool::new method can be used to construct a Pool with default settings:

      // 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:

      // 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.
  • v0.7.4

    September 07, 2017
    • 👍 Allow a ScheduledThreadPool to be provided to the pool.
  • v0.7.3

    July 10, 2017
    • ➕ Add CustomizeConnection::on_release.
    • 🛠 Fix a rare race condition in Pool::get.
  • v0.7.2

    April 19, 2017
    • Attempt to maintain min_idle when connections are checked out.
    • ➕ Add Pool::try_get, which does not block if no connection is available.