1v4.2.4 (2021-09-30)
2===================
3
4- Add submodule shims for backward compatibility.
5
6
7v4.2.3 (2021-09-29)
8===================
9
10- Add documentation and tests for using ``TTLCache`` with
11  ``datetime``.
12
13- Link to typeshed typing stubs.
14
15- Flatten package file hierarchy.
16
17
18v4.2.2 (2021-04-27)
19===================
20
21- Update build environment.
22
23- Remove Python 2 remnants.
24
25- Format code with Black.
26
27
28v4.2.1 (2021-01-24)
29===================
30
31- Handle ``__missing__()`` not storing cache items.
32
33- Clean up ``__missing__()`` example.
34
35
36v4.2.0 (2020-12-10)
37===================
38
39- Add FIFO cache implementation.
40
41- Add MRU cache implementation.
42
43- Improve behavior of decorators in case of race conditions.
44
45- Improve documentation regarding mutability of caches values and use
46  of key functions with decorators.
47
48- Officially support Python 3.9.
49
50
51v4.1.1 (2020-06-28)
52===================
53
54- Improve ``popitem()`` exception context handling.
55
56- Replace ``float('inf')`` with ``math.inf``.
57
58- Improve "envkey" documentation example.
59
60
61v4.1.0 (2020-04-08)
62===================
63
64- Support ``user_function`` with ``cachetools.func`` decorators
65  (Python 3.8 compatibility).
66
67- Support ``cache_parameters()`` with ``cachetools.func`` decorators
68  (Python 3.9 compatibility).
69
70
71v4.0.0 (2019-12-15)
72===================
73
74- Require Python 3.5 or later.
75
76
77v3.1.1 (2019-05-23)
78===================
79
80- Document how to use shared caches with ``@cachedmethod``.
81
82- Fix pickling/unpickling of cache keys
83
84
85v3.1.0 (2019-01-29)
86===================
87
88- Fix Python 3.8 compatibility issue.
89
90- Use ``time.monotonic`` as default timer if available.
91
92- Improve documentation regarding thread safety.
93
94
95v3.0.0 (2018-11-04)
96===================
97
98- Officially support Python 3.7.
99
100- Drop Python 3.3 support (breaking change).
101
102- Remove ``missing`` cache constructor parameter (breaking change).
103
104- Remove ``self`` from ``@cachedmethod`` key arguments (breaking
105  change).
106
107- Add support for ``maxsize=None`` in ``cachetools.func`` decorators.
108
109
110v2.1.0 (2018-05-12)
111===================
112
113- Deprecate ``missing`` cache constructor parameter.
114
115- Handle overridden ``getsizeof()`` method in subclasses.
116
117- Fix Python 2.7 ``RRCache`` pickling issues.
118
119- Various documentation improvements.
120
121
122v2.0.1 (2017-08-11)
123===================
124
125- Officially support Python 3.6.
126
127- Move documentation to RTD.
128
129- Documentation: Update import paths for key functions (courtesy of
130  slavkoja).
131
132
133v2.0.0 (2016-10-03)
134===================
135
136- Drop Python 3.2 support (breaking change).
137
138- Drop support for deprecated features (breaking change).
139
140- Move key functions to separate package (breaking change).
141
142- Accept non-integer ``maxsize`` in ``Cache.__repr__()``.
143
144
145v1.1.6 (2016-04-01)
146===================
147
148- Reimplement ``LRUCache`` and ``TTLCache`` using
149  ``collections.OrderedDict``.  Note that this will break pickle
150  compatibility with previous versions.
151
152- Fix ``TTLCache`` not calling ``__missing__()`` of derived classes.
153
154- Handle ``ValueError`` in ``Cache.__missing__()`` for consistency
155  with caching decorators.
156
157- Improve how ``TTLCache`` handles expired items.
158
159- Use ``Counter.most_common()`` for ``LFUCache.popitem()``.
160
161
162v1.1.5 (2015-10-25)
163===================
164
165- Refactor ``Cache`` base class.  Note that this will break pickle
166  compatibility with previous versions.
167
168- Clean up ``LRUCache`` and ``TTLCache`` implementations.
169
170
171v1.1.4 (2015-10-24)
172===================
173
174- Refactor ``LRUCache`` and ``TTLCache`` implementations.  Note that
175  this will break pickle compatibility with previous versions.
176
177- Document pending removal of deprecated features.
178
179- Minor documentation improvements.
180
181
182v1.1.3 (2015-09-15)
183===================
184
185- Fix pickle tests.
186
187
188v1.1.2 (2015-09-15)
189===================
190
191- Fix pickling of large ``LRUCache`` and ``TTLCache`` instances.
192
193
194v1.1.1 (2015-09-07)
195===================
196
197- Improve key functions.
198
199- Improve documentation.
200
201- Improve unit test coverage.
202
203
204v1.1.0 (2015-08-28)
205===================
206
207- Add ``@cached`` function decorator.
208
209- Add ``hashkey`` and ``typedkey`` fuctions.
210
211- Add `key` and `lock` arguments to ``@cachedmethod``.
212
213- Set ``__wrapped__`` attributes for Python versions < 3.2.
214
215- Move ``functools`` compatible decorators to ``cachetools.func``.
216
217- Deprecate ``@cachedmethod`` `typed` argument.
218
219- Deprecate `cache` attribute for ``@cachedmethod`` wrappers.
220
221- Deprecate `getsizeof` and `lock` arguments for `cachetools.func`
222  decorator.
223
224
225v1.0.3 (2015-06-26)
226===================
227
228- Clear cache statistics when calling ``clear_cache()``.
229
230
231v1.0.2 (2015-06-18)
232===================
233
234- Allow simple cache instances to be pickled.
235
236- Refactor ``Cache.getsizeof`` and ``Cache.missing`` default
237  implementation.
238
239
240v1.0.1 (2015-06-06)
241===================
242
243- Code cleanup for improved PEP 8 conformance.
244
245- Add documentation and unit tests for using ``@cachedmethod`` with
246  generic mutable mappings.
247
248- Improve documentation.
249
250
251v1.0.0 (2014-12-19)
252===================
253
254- Provide ``RRCache.choice`` property.
255
256- Improve documentation.
257
258
259v0.8.2 (2014-12-15)
260===================
261
262- Use a ``NestedTimer`` for ``TTLCache``.
263
264
265v0.8.1 (2014-12-07)
266===================
267
268- Deprecate ``Cache.getsize()``.
269
270
271v0.8.0 (2014-12-03)
272===================
273
274- Ignore ``ValueError`` raised on cache insertion in decorators.
275
276- Add ``Cache.getsize()``.
277
278- Add ``Cache.__missing__()``.
279
280- Feature freeze for `v1.0`.
281
282
283v0.7.1 (2014-11-22)
284===================
285
286- Fix `MANIFEST.in`.
287
288
289v0.7.0 (2014-11-12)
290===================
291
292- Deprecate ``TTLCache.ExpiredError``.
293
294- Add `choice` argument to ``RRCache`` constructor.
295
296- Refactor ``LFUCache``, ``LRUCache`` and ``TTLCache``.
297
298- Use custom ``NullContext`` implementation for unsynchronized
299  function decorators.
300
301
302v0.6.0 (2014-10-13)
303===================
304
305- Raise ``TTLCache.ExpiredError`` for expired ``TTLCache`` items.
306
307- Support unsynchronized function decorators.
308
309- Allow ``@cachedmethod.cache()`` to return None
310
311
312v0.5.1 (2014-09-25)
313===================
314
315- No formatting of ``KeyError`` arguments.
316
317- Update ``README.rst``.
318
319
320v0.5.0 (2014-09-23)
321===================
322
323- Do not delete expired items in TTLCache.__getitem__().
324
325- Add ``@ttl_cache`` function decorator.
326
327- Fix public ``getsizeof()`` usage.
328
329
330v0.4.0 (2014-06-16)
331===================
332
333- Add ``TTLCache``.
334
335- Add ``Cache`` base class.
336
337- Remove ``@cachedmethod`` `lock` parameter.
338
339
340v0.3.1 (2014-05-07)
341===================
342
343- Add proper locking for ``cache_clear()`` and ``cache_info()``.
344
345- Report `size` in ``cache_info()``.
346
347
348v0.3.0 (2014-05-06)
349===================
350
351- Remove ``@cache`` decorator.
352
353- Add ``size``, ``getsizeof`` members.
354
355- Add ``@cachedmethod`` decorator.
356
357
358v0.2.0 (2014-04-02)
359===================
360
361- Add ``@cache`` decorator.
362
363- Update documentation.
364
365
366v0.1.0 (2014-03-27)
367===================
368
369- Initial release.
370