blob: f93956a038b27695859dd7b7826c5b82c965c543 [file] [log] [blame]
Thomas Kemmer6d2692f2020-12-09 22:32:23 +01001v4.2.0 (UNRELEASED)
2===================
3
4- Add FIFO cache implementation.
5
6- Add MRU cache implementation.
7
8- Improve behavior of decorators in case of race conditions.
9
10- Improve documentation regarding mutability of caches values and use
11 of key functions with decorators.
12
13- Officially support Python 3.9.
14
15
Thomas Kemmer31a78b52020-06-28 21:27:40 +020016v4.1.1 (2020-06-28)
Thomas Kemmer4c1907e2020-06-28 21:16:38 +020017===================
18
19- Improve ``popitem()`` exception context handling.
20
21- Replace ``float('inf')`` with ``math.inf``.
22
23- Improve "envkey" documentation example.
24
25
Thomas Kemmera6258fb2020-04-08 13:33:09 +020026v4.1.0 (2020-04-08)
Thomas Kemmerbb8df8f2020-04-08 13:23:29 +020027===================
28
29- Support ``user_function`` with ``cachetools.func`` decorators
30 (Python 3.8 compatibility).
31
32- Support ``cache_parameters()`` with ``cachetools.func`` decorators
33 (Python 3.9 compatibility).
34
35
Thomas Kemmerfa9d4762019-12-15 20:53:23 +010036v4.0.0 (2019-12-15)
Thomas Kemmeraa936f02019-12-15 20:46:13 +010037===================
38
39- Require Python 3.5 or later.
40
41
Thomas Kemmerc5309242019-05-23 21:49:13 +020042v3.1.1 (2019-05-23)
Thomas Kemmeraa936f02019-12-15 20:46:13 +010043===================
Thomas Kemmer695a47e2019-05-23 21:43:36 +020044
45- Document how to use shared caches with ``@cachedmethod``.
46
47- Fix pickling/unpickling of cache keys
48
49
Thomas Kemmer1b67cdd2019-01-29 21:33:49 +010050v3.1.0 (2019-01-29)
Thomas Kemmeraa936f02019-12-15 20:46:13 +010051===================
Thomas Kemmer664b45b2019-01-29 21:25:27 +010052
53- Fix Python 3.8 compatibility issue.
54
Thomas Kemmer1b67cdd2019-01-29 21:33:49 +010055- Use ``time.monotonic`` as default timer if available.
Thomas Kemmer664b45b2019-01-29 21:25:27 +010056
57- Improve documentation regarding thread safety.
58
59
Thomas Kemmer90d35072018-11-03 20:26:37 +010060v3.0.0 (2018-11-04)
Thomas Kemmeraa936f02019-12-15 20:46:13 +010061===================
Thomas Kemmer90d35072018-11-03 20:26:37 +010062
63- Officially support Python 3.7.
64
65- Drop Python 3.3 support (breaking change).
66
67- Remove ``missing`` cache constructor parameter (breaking change).
68
69- Remove ``self`` from ``@cachedmethod`` key arguments (breaking
70 change).
71
72- Add support for ``maxsize=None`` in ``cachetools.func`` decorators.
73
74
Thomas Kemmer36d864e2018-05-12 18:21:47 +020075v2.1.0 (2018-05-12)
Thomas Kemmeraa936f02019-12-15 20:46:13 +010076===================
Thomas Kemmer45d9b0d2018-05-12 14:41:46 +020077
78- Deprecate ``missing`` cache constructor parameter.
79
80- Handle overridden ``getsizeof()`` method in subclasses.
81
82- Fix Python 2.7 ``RRCache`` pickling issues.
83
84- Various documentation improvements.
85
86
Thomas Kemmerfba5f8a2017-08-11 18:51:13 +020087v2.0.1 (2017-08-11)
Thomas Kemmeraa936f02019-12-15 20:46:13 +010088===================
Thomas Kemmerfba5f8a2017-08-11 18:51:13 +020089
90- Officially support Python 3.6.
91
92- Move documentation to RTD.
93
94- Documentation: Update import paths for key functions (courtesy of
95 slavkoja).
96
97
Thomas Kemmere27332b2016-10-03 14:00:45 +020098v2.0.0 (2016-10-03)
Thomas Kemmeraa936f02019-12-15 20:46:13 +010099===================
Thomas Kemmere27332b2016-10-03 14:00:45 +0200100
101- Drop Python 3.2 support (breaking change).
102
103- Drop support for deprecated features (breaking change).
104
105- Move key functions to separate package (breaking change).
106
107- Accept non-integer ``maxsize`` in ``Cache.__repr__()``.
108
109
Thomas Kemmer8bb68a22016-04-01 11:56:54 +0200110v1.1.6 (2016-04-01)
Thomas Kemmeraa936f02019-12-15 20:46:13 +0100111===================
Thomas Kemmer8bb68a22016-04-01 11:56:54 +0200112
113- Reimplement ``LRUCache`` and ``TTLCache`` using
114 ``collections.OrderedDict``. Note that this will break pickle
115 compatibility with previous versions.
116
117- Fix ``TTLCache`` not calling ``__missing__()`` of derived classes.
118
119- Handle ``ValueError`` in ``Cache.__missing__()`` for consistency
120 with caching decorators.
121
122- Improve how ``TTLCache`` handles expired items.
123
124- Use ``Counter.most_common()`` for ``LFUCache.popitem()``.
125
126
Thomas Kemmer42853732015-10-25 14:58:38 +0100127v1.1.5 (2015-10-25)
Thomas Kemmeraa936f02019-12-15 20:46:13 +0100128===================
Thomas Kemmer42853732015-10-25 14:58:38 +0100129
130- Refactor ``Cache`` base class. Note that this will break pickle
131 compatibility with previous versions.
132
133- Clean up ``LRUCache`` and ``TTLCache`` implementations.
134
135
Thomas Kemmer41d521b2015-10-24 22:38:47 +0200136v1.1.4 (2015-10-24)
Thomas Kemmeraa936f02019-12-15 20:46:13 +0100137===================
Thomas Kemmer41d521b2015-10-24 22:38:47 +0200138
139- Refactor ``LRUCache`` and ``TTLCache`` implementations. Note that
140 this will break pickle compatibility with previous versions.
141
142- Document pending removal of deprecated features.
143
144- Minor documentation improvements.
145
146
Thomas Kemmer4f4b4522015-09-15 20:43:42 +0200147v1.1.3 (2015-09-15)
Thomas Kemmeraa936f02019-12-15 20:46:13 +0100148===================
Thomas Kemmer4f4b4522015-09-15 20:43:42 +0200149
150- Fix pickle tests.
151
152
Thomas Kemmerc8c8db12015-09-15 20:06:57 +0200153v1.1.2 (2015-09-15)
Thomas Kemmeraa936f02019-12-15 20:46:13 +0100154===================
Thomas Kemmerc8c8db12015-09-15 20:06:57 +0200155
156- Fix pickling of large ``LRUCache`` and ``TTLCache`` instances.
157
158
Thomas Kemmer5cdedd52015-09-07 20:53:37 +0200159v1.1.1 (2015-09-07)
Thomas Kemmeraa936f02019-12-15 20:46:13 +0100160===================
Thomas Kemmer5cdedd52015-09-07 20:53:37 +0200161
162- Improve key functions.
163
164- Improve documentation.
165
166- Improve unit test coverage.
167
168
169v1.1.0 (2015-08-28)
Thomas Kemmeraa936f02019-12-15 20:46:13 +0100170===================
Thomas Kemmer6a4c6f02015-08-28 20:31:47 +0200171
172- Add ``@cached`` function decorator.
173
174- Add ``hashkey`` and ``typedkey`` fuctions.
175
176- Add `key` and `lock` arguments to ``@cachedmethod``.
177
178- Set ``__wrapped__`` attributes for Python versions < 3.2.
179
180- Move ``functools`` compatible decorators to ``cachetools.func``.
181
182- Deprecate ``@cachedmethod`` `typed` argument.
183
184- Deprecate `cache` attribute for ``@cachedmethod`` wrappers.
185
186- Deprecate `getsizeof` and `lock` arguments for `cachetools.func`
187 decorator.
188
189
Thomas Kemmer5cdedd52015-09-07 20:53:37 +0200190v1.0.3 (2015-06-26)
Thomas Kemmeraa936f02019-12-15 20:46:13 +0100191===================
Thomas Kemmer37024a72015-06-26 08:06:17 +0200192
193- Clear cache statistics when calling ``clear_cache()``.
194
195
Thomas Kemmer5cdedd52015-09-07 20:53:37 +0200196v1.0.2 (2015-06-18)
Thomas Kemmeraa936f02019-12-15 20:46:13 +0100197===================
Thomas Kemmer0ca640f2015-06-18 19:24:52 +0200198
199- Allow simple cache instances to be pickled.
200
201- Refactor ``Cache.getsizeof`` and ``Cache.missing`` default
202 implementation.
203
204
Thomas Kemmer5cdedd52015-09-07 20:53:37 +0200205v1.0.1 (2015-06-06)
Thomas Kemmeraa936f02019-12-15 20:46:13 +0100206===================
Thomas Kemmerb26d1e52015-06-06 15:20:02 +0200207
208- Code cleanup for improved PEP 8 conformance.
209
210- Add documentation and unit tests for using ``@cachedmethod`` with
211 generic mutable mappings.
212
213- Improve documentation.
214
215
Thomas Kemmer5cdedd52015-09-07 20:53:37 +0200216v1.0.0 (2014-12-19)
Thomas Kemmeraa936f02019-12-15 20:46:13 +0100217===================
Thomas Kemmerf3437a12014-12-19 15:56:11 +0100218
Thomas Kemmer5c2a69b2014-12-19 15:59:10 +0100219- Provide ``RRCache.choice`` property.
220
Thomas Kemmerc6137f22014-12-19 16:22:07 +0100221- Improve documentation.
222
Thomas Kemmerf3437a12014-12-19 15:56:11 +0100223
Thomas Kemmer5cdedd52015-09-07 20:53:37 +0200224v0.8.2 (2014-12-15)
Thomas Kemmeraa936f02019-12-15 20:46:13 +0100225===================
Thomas Kemmerb624bf82014-12-10 06:50:01 +0100226
227- Use a ``NestedTimer`` for ``TTLCache``.
228
229
Thomas Kemmer5cdedd52015-09-07 20:53:37 +0200230v0.8.1 (2014-12-07)
Thomas Kemmeraa936f02019-12-15 20:46:13 +0100231===================
Thomas Kemmerd7cb9942014-12-07 17:53:43 +0100232
233- Deprecate ``Cache.getsize()``.
234
235
Thomas Kemmer5cdedd52015-09-07 20:53:37 +0200236v0.8.0 (2014-12-03)
Thomas Kemmeraa936f02019-12-15 20:46:13 +0100237===================
Thomas Kemmer08a83b32014-12-03 12:07:44 +0100238
Thomas Kemmerbf2de582014-12-03 18:37:35 +0100239- Ignore ``ValueError`` raised on cache insertion in decorators.
Thomas Kemmer08a83b32014-12-03 12:07:44 +0100240
Thomas Kemmer98e32c42014-12-03 12:14:36 +0100241- Add ``Cache.getsize()``.
242
Thomas Kemmerbf2de582014-12-03 18:37:35 +0100243- Add ``Cache.__missing__()``.
Thomas Kemmer5f805192014-12-03 13:07:43 +0100244
Thomas Kemmer35855b52014-12-03 18:54:11 +0100245- Feature freeze for `v1.0`.
246
Thomas Kemmer08a83b32014-12-03 12:07:44 +0100247
Thomas Kemmer5cdedd52015-09-07 20:53:37 +0200248v0.7.1 (2014-11-22)
Thomas Kemmeraa936f02019-12-15 20:46:13 +0100249===================
Thomas Kemmer827e2f52014-11-22 21:20:49 +0100250
251- Fix `MANIFEST.in`.
252
253
Thomas Kemmer5cdedd52015-09-07 20:53:37 +0200254v0.7.0 (2014-11-12)
Thomas Kemmeraa936f02019-12-15 20:46:13 +0100255===================
Thomas Kemmer101513c2014-11-05 19:56:17 +0100256
Thomas Kemmer8dd27642014-11-11 06:43:58 +0100257- Deprecate ``TTLCache.ExpiredError``.
Thomas Kemmera49f49f2014-11-10 16:47:47 +0100258
Thomas Kemmercef66532014-11-11 12:27:05 +0100259- Add `choice` argument to ``RRCache`` constructor.
Thomas Kemmer07646b72014-11-05 20:27:14 +0100260
Thomas Kemmercef66532014-11-11 12:27:05 +0100261- Refactor ``LFUCache``, ``LRUCache`` and ``TTLCache``.
262
Thomas Kemmer53854452014-11-12 07:58:59 +0100263- Use custom ``NullContext`` implementation for unsynchronized
Thomas Kemmercef66532014-11-11 12:27:05 +0100264 function decorators.
Thomas Kemmer101513c2014-11-05 19:56:17 +0100265
266
Thomas Kemmer5cdedd52015-09-07 20:53:37 +0200267v0.6.0 (2014-10-13)
Thomas Kemmeraa936f02019-12-15 20:46:13 +0100268===================
Thomas Kemmer101513c2014-11-05 19:56:17 +0100269
270- Raise ``TTLCache.ExpiredError`` for expired ``TTLCache`` items.
271
272- Support unsynchronized function decorators.
273
274- Allow ``@cachedmethod.cache()`` to return None
275
276
Thomas Kemmer5cdedd52015-09-07 20:53:37 +0200277v0.5.1 (2014-09-25)
Thomas Kemmeraa936f02019-12-15 20:46:13 +0100278===================
Thomas Kemmer101513c2014-11-05 19:56:17 +0100279
280- No formatting of ``KeyError`` arguments.
281
282- Update ``README.rst``.
283
284
Thomas Kemmer5cdedd52015-09-07 20:53:37 +0200285v0.5.0 (2014-09-23)
Thomas Kemmeraa936f02019-12-15 20:46:13 +0100286===================
Thomas Kemmer101513c2014-11-05 19:56:17 +0100287
288- Do not delete expired items in TTLCache.__getitem__().
289
290- Add ``@ttl_cache`` function decorator.
291
292- Fix public ``getsizeof()`` usage.
293
294
Thomas Kemmer5cdedd52015-09-07 20:53:37 +0200295v0.4.0 (2014-06-16)
Thomas Kemmeraa936f02019-12-15 20:46:13 +0100296===================
Thomas Kemmer101513c2014-11-05 19:56:17 +0100297
298- Add ``TTLCache``.
299
300- Add ``Cache`` base class.
301
302- Remove ``@cachedmethod`` `lock` parameter.
303
304
Thomas Kemmer5cdedd52015-09-07 20:53:37 +0200305v0.3.1 (2014-05-07)
Thomas Kemmeraa936f02019-12-15 20:46:13 +0100306===================
Thomas Kemmer101513c2014-11-05 19:56:17 +0100307
308- Add proper locking for ``cache_clear()`` and ``cache_info()``.
309
310- Report `size` in ``cache_info()``.
311
312
Thomas Kemmer5cdedd52015-09-07 20:53:37 +0200313v0.3.0 (2014-05-06)
Thomas Kemmeraa936f02019-12-15 20:46:13 +0100314===================
Thomas Kemmer101513c2014-11-05 19:56:17 +0100315
316- Remove ``@cache`` decorator.
317
318- Add ``size``, ``getsizeof`` members.
319
320- Add ``@cachedmethod`` decorator.
321
322
Thomas Kemmer5cdedd52015-09-07 20:53:37 +0200323v0.2.0 (2014-04-02)
Thomas Kemmeraa936f02019-12-15 20:46:13 +0100324===================
Thomas Kemmer101513c2014-11-05 19:56:17 +0100325
326- Add ``@cache`` decorator.
327
328- Update documentation.
329
330
Thomas Kemmer5cdedd52015-09-07 20:53:37 +0200331v0.1.0 (2014-03-27)
Thomas Kemmeraa936f02019-12-15 20:46:13 +0100332===================
Thomas Kemmer101513c2014-11-05 19:56:17 +0100333
334- Initial release.