github.com/jackc/puddle/v2@v2.2.2-0.20240301145809-72b022bcfc59/CHANGELOG.md (about) 1 # 2.2.1 (July 15, 2023) 2 3 * Fix: CreateResource cannot overflow pool. This changes documented behavior of CreateResource. Previously, 4 CreateResource could create a resource even if the pool was full. This could cause the pool to overflow. While this 5 was documented, it was documenting incorrect behavior. CreateResource now returns an error if the pool is full. 6 7 # 2.2.0 (February 11, 2023) 8 9 * Use Go 1.19 atomics and drop go.uber.org/atomic dependency 10 11 # 2.1.2 (November 12, 2022) 12 13 * Restore support to Go 1.18 via go.uber.org/atomic 14 15 # 2.1.1 (November 11, 2022) 16 17 * Fix create resource concurrently with Stat call race 18 19 # 2.1.0 (October 28, 2022) 20 21 * Concurrency control is now implemented with a semaphore. This simplifies some internal logic, resolves a few error conditions (including a deadlock), and improves performance. (Jan Dubsky) 22 * Go 1.19 is now required for the improved atomic support. 23 24 # 2.0.1 (October 28, 2022) 25 26 * Fix race condition when Close is called concurrently with multiple constructors 27 28 # 2.0.0 (September 17, 2022) 29 30 * Use generics instead of interface{} (Столяров Владимир Алексеевич) 31 * Add Reset 32 * Do not cancel resource construction when Acquire is canceled 33 * NewPool takes Config 34 35 # 1.3.0 (August 27, 2022) 36 37 * Acquire creates resources in background to allow creation to continue after Acquire is canceled (James Hartig) 38 39 # 1.2.1 (December 2, 2021) 40 41 * TryAcquire now does not block when background constructing resource 42 43 # 1.2.0 (November 20, 2021) 44 45 * Add TryAcquire (A. Jensen) 46 * Fix: remove memory leak / unintentionally pinned memory when shrinking slices (Alexander Staubo) 47 * Fix: Do not leave pool locked after panic from nil context 48 49 # 1.1.4 (September 11, 2021) 50 51 * Fix: Deadlock in CreateResource if pool was closed during resource acquisition (Dmitriy Matrenichev) 52 53 # 1.1.3 (December 3, 2020) 54 55 * Fix: Failed resource creation could cause concurrent Acquire to hang. (Evgeny Vanslov) 56 57 # 1.1.2 (September 26, 2020) 58 59 * Fix: Resource.Destroy no longer removes itself from the pool before its destructor has completed. 60 * Fix: Prevent crash when pool is closed while resource is being created. 61 62 # 1.1.1 (April 2, 2020) 63 64 * Pool.Close can be safely called multiple times 65 * AcquireAllIDle immediately returns nil if pool is closed 66 * CreateResource checks if pool is closed before taking any action 67 * Fix potential race condition when CreateResource and Close are called concurrently. CreateResource now checks if pool is closed before adding newly created resource to pool. 68 69 # 1.1.0 (February 5, 2020) 70 71 * Use runtime.nanotime for faster tracking of acquire time and last usage time. 72 * Track resource idle time to enable client health check logic. (Patrick Ellul) 73 * Add CreateResource to construct a new resource without acquiring it. (Patrick Ellul) 74 * Fix deadlock race when acquire is cancelled. (Michael Tharp)