...
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)
View as plain text