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