dependabot[bot] opened a new pull request, #43875: URL: https://github.com/apache/superset/pull/43875
Bumps [flask-caching](https://github.com/pallets-eco/flask-caching) from 2.4.1 to 2.5.0. <details> <summary>Release notes</summary> <p><em>Sourced from <a href="https://github.com/pallets-eco/flask-caching/releases">flask-caching's releases</a>.</em></p> <blockquote> <h2>2.5.0</h2> <p>Note: This release will invalidate your caches because we changed the default hash_method from hashlib.md5 to hashlib.sha256. This can be changed back via <code>CACHE_HASH_METHOD</code> if you wish to still use the old hash_method!</p> <h2>Added / Improved</h2> <ul> <li>Specifying timeouts now also works with <code>datetime.timedelta</code>. <a href="https://redirect.github.com/pallets-eco/flask-caching/issues/266">#266</a></li> <li>Add config option <code>CACHE_SERIALIZER</code> to set the cachelib serializer the backend uses. <a href="https://redirect.github.com/pallets-eco/flask-caching/issues/209">#209</a></li> <li>cachelib backends can now be configured directly via <code>CACHE_TYPE="cachelib.ValkeyCache</code>. <a href="https://redirect.github.com/pallets-eco/flask-caching/issues/668">#668</a></li> <li>Send Signals for cache hits and misses. <a href="https://redirect.github.com/pallets-eco/flask-caching/issues/237">#237</a> and <a href="https://redirect.github.com/pallets-eco/flask-caching/issues/667">#667</a></li> <li>Add <code>Cache.delete_cached()</code> and extend <code>make_cache_key()</code> with <code>path</code> and <code>query_args</code> arguments to make deleting views decorated with <code>cached(query_string=True)</code> possible. <a href="https://redirect.github.com/pallets-eco/flask-caching/issues/243">#243</a></li> <li>Add <code>CACHE_HASH_METHOD</code> to set the hash method used for the cache keys of <code>@cached</code> and <code>@memoize</code>.</li> <li>Add an <code>is_stale</code> option to <code>@cached</code> and <code>@memoize</code>. It is called on a cache hit with the cached value. Unlike <code>forced_update</code> it uses the value itself to check whether the cache is stale. Can be used in combination with <code>forced_update</code> <a href="https://redirect.github.com/pallets-eco/flask-caching/issues/392">#392</a></li> <li><code>@cached</code> and <code>@memoize</code> now preserve the wrapped function's signature and expose <code>uncached</code>, <code>cache_timeout</code>, <code>make_cache_key</code> <code>delete_memoized</code> to type checkers.</li> <li>Add <code>CACHE_FILE_HASH_METHOD</code> config option to <code>FileSystemCache</code> to allow using a different hash function for cache keys. <a href="https://redirect.github.com/pallets-eco/flask-caching/issues/660">#660</a></li> <li>Add <code>pool_size</code> and <code>pool_blocking</code> to make <code>MemcachedCache</code> backends thread-safe. <a href="https://redirect.github.com/pallets-eco/flask-caching/issues/663">#663</a></li> <li>Document that <code>CACHE_REDIS_HOST</code> accepts an already created <code>redis.Redis</code> client instead of a host name, which allows sharing a connection pool with other extensions and the application. <a href="https://redirect.github.com/pallets-eco/flask-caching/issues/629">#629</a></li> <li>Clarify docs about decorator order regarding <code>@staticmethod</code> and <code>@classmethod</code> when memoizing. <a href="https://redirect.github.com/pallets-eco/flask-caching/issues/440">#440</a></li> <li>Modify <code>SimpleCache</code> docs as it's now thread-safe using an <code>RLock</code> for all operations. <a href="https://redirect.github.com/pallets-eco/flask-caching/issues/663">#663</a></li> </ul> <h2>Changed</h2> <ul> <li>Drop support for Python 3.10 and require cachelib 0.17.0+</li> <li>Remove the deprecated lowercase <code>CACHE_TYPE</code> names (<code>null</code>, <code>simple</code>, <code>filesystem</code>, <code>redis</code>, <code>redissentinel</code>, <code>rediscluster</code>, <code>uwsgi</code>, <code>memcached</code>, <code>gaememcached</code>, <code>saslmemcached</code> and <code>spreadsaslmemcached</code>)</li> <li>Use <code>hashlib.sha256</code> instead of <code>hashlib.md5</code> for hashing the cache keys. This changes the generated keys, so entries cached by an earlier version become obsolete. If you wish to still use hashlib.md5 set the config <code>CACHE_HASH_METHOD = hashlib.md5</code>. <a href="https://redirect.github.com/pallets-eco/flask-caching/issues/563">#563</a></li> <li><code>@cached</code> and <code>@memoize</code> now go through the public <code>Cache</code> proxy methods (<code>get</code>, <code>set</code>, <code>has</code>, <code>delete</code>, <code>delete_many</code>, <code>get_many</code> and <code>set_many</code>) instead of calling the backend directly. <a href="https://redirect.github.com/pallets-eco/flask-caching/issues/417">#417</a></li> <li><code>CACHE_IGNORE_ERRORS</code> is now used by every backend instead of only <code>SimpleCache</code> and <code>FileSystemCache</code>.</li> <li>The <code>delete_many</code> method is now used from cachelib. A key that does not exist counts as deleted, and with <code>CACHE_IGNORE_ERRORS</code> set to <code>False</code> a <code>RuntimeError</code> is raised if the key could not be deleted.</li> <li>Call <code>@memoize</code> <code>forced_update</code> callbacks once per decorated function call instead of once while making the key and again before cache lookup. <a href="https://redirect.github.com/pallets-eco/flask-caching/issues/387">#387</a></li> <li><code>@cached</code> now caches an <code>HTTPException</code> raised by the view (i.e. through <code>abort()</code>). This exception will now be re-raises on a cache hit. Use <code>response_filter</code>, to keep the exception out of the cache. <a href="https://redirect.github.com/pallets-eco/flask-caching/issues/444">#444</a></li> <li>The <code>{% cache %}</code> Jinja tag no longer propagates backend errors. If the cache is unavailable, the block is rendered normally instead of raising, matching the existing behavior of <code>@memoize</code>. <a href="https://redirect.github.com/pallets-eco/flask-caching/issues/564">#564</a> <a href="https://redirect.github.com/pallets-eco/flask-caching/issues/565">#565</a></li> </ul> <h2>Fixed</h2> <ul> <li>Include <code>key_prefix</code> when building <code>@cached(query_string=True)</code> cache keys. <a href="https://redirect.github.com/pallets-eco/flask-caching/issues/302">#302</a></li> <li>Fix a <code>@memoize</code> cache-key collision when a parameter has a falsy default (e.g. <code>0</code>, <code>""</code>, <code>False</code>): calling with the default was keyed the same as passing <code>None</code>, returning the wrong cached result. <a href="https://redirect.github.com/pallets-eco/flask-caching/issues/656">#656</a></li> <li>Fix <code>@cached(response_hit_indication=True)</code> appending a new <code>after_request</code> function to the app on every request.</li> <li>Fix a view returning an iterator of strings, for example when using <code>flask.stream_template</code> it previously returned a list of JSON strings instead of the rendered template. <a href="https://redirect.github.com/pallets-eco/flask-caching/issues/511">#511</a></li> <li>Fix <code>__caching_id__</code> never being usable. <code>@memoize</code> silently ignored that and ran the function uncached.</li> <li><code>delete_memoized</code> now takes the instance from a bound method, so <code>cache.delete_memoized(obj.method, 1)</code> deletes the cache for <code>obj.method(1)</code> instead of silently deleting nothing. The current behaviour by passing the instance keeps working as well. <a href="https://redirect.github.com/pallets-eco/flask-caching/issues/554">#554</a></li> <li>Fix <code>@memoize</code> invalidating a function's entire cache by not updating the memoize version key's timeout. It is now refreshed each time an entry is written, with that entry's own timeout. <a href="https://redirect.github.com/pallets-eco/flask-caching/issues/531">#531</a></li> </ul> <h2>New Contributors</h2> <ul> <li><a href="https://github.com/uttam12331"><code>@uttam12331</code></a> made their first contribution in <a href="https://redirect.github.com/pallets-eco/flask-caching/pull/656">pallets-eco/flask-caching#656</a></li> <li><a href="https://github.com/deepakganesh78"><code>@deepakganesh78</code></a> made their first contribution in <a href="https://redirect.github.com/pallets-eco/flask-caching/pull/655">pallets-eco/flask-caching#655</a></li> <li><a href="https://github.com/nightcityblade"><code>@nightcityblade</code></a> made their first contribution in <a href="https://redirect.github.com/pallets-eco/flask-caching/pull/665">pallets-eco/flask-caching#665</a></li> <li><a href="https://github.com/dzpt"><code>@dzpt</code></a> made their first contribution in <a href="https://redirect.github.com/pallets-eco/flask-caching/pull/565">pallets-eco/flask-caching#565</a></li> <li><a href="https://github.com/aoright"><code>@aoright</code></a> made their first contribution in <a href="https://redirect.github.com/pallets-eco/flask-caching/pull/672">pallets-eco/flask-caching#672</a></li> </ul> <p><strong>Full Changelog</strong>: <a href="https://github.com/pallets-eco/flask-caching/compare/v2.4.1...v2.5.0">https://github.com/pallets-eco/flask-caching/compare/v2.4.1...v2.5.0</a></p> </blockquote> </details> <details> <summary>Changelog</summary> <p><em>Sourced from <a href="https://github.com/pallets-eco/flask-caching/blob/main/CHANGES.rst">flask-caching's changelog</a>.</em></p> <blockquote> <h2>Version 2.5.0</h2> <p>Released 2026-08-24</p> <ul> <li>Specifying timeouts now also works with <code>datetime.timedelta</code>. :issue:<code>266</code></li> <li>Add config option <code>CACHE_SERIALIZER</code> to set the cachelib serializer the backend uses. :issue:<code>209</code></li> <li>cachelib backends can now be configured directly via <code>CACHE_TYPE="cachelib.ValkeyCache</code>. :pr:<code>668</code></li> <li><code>@cached</code> and <code>@memoize</code> now go through the public <code>Cache</code> proxy methods (<code>get</code>, <code>set</code>, <code>has</code>, <code>delete</code>, <code>delete_many</code>, <code>get_many</code> and <code>set_many</code>) instead of calling the backend directly. :issue:<code>417</code></li> <li>Document that <code>CACHE_REDIS_HOST</code> accepts an already created <code>redis.Redis</code> client instead of a host name, which allows sharing a connection pool with other extensions and the application. :issue:<code>629</code></li> <li>Send Signals for cache hits and misses. :pr:<code>[#237](https://github.com/pallets-eco/flask-caching/issues/237)</code> and :pr:<code>667</code></li> <li>Include <code>key_prefix</code> when building <code>@cached(query_string=True)</code> cache keys. :issue:<code>302</code></li> <li>Add <code>Cache.delete_cached()</code> and extend <code>make_cache_key()</code> with <code>path</code> and <code>query_args</code> arguments to make deleting views decorated with <code>cached(query_string=True)</code> possible. :issue:<code>243</code></li> <li>Use <code>hashlib.sha256</code> instead of <code>hashlib.md5</code> for hashing the cache keys. This changes the generated keys, so entries cached by an earlier version become obsolete. If you wish to still use hashlib.md5 set the config <code>CACHE_HASH_METHOD = hashlib.md5</code>. :pr:<code>563</code></li> <li>Add <code>CACHE_HASH_METHOD</code> to set the hash method used for the cache keys of <code>@cached</code> and <code>@memoize</code>.</li> <li>Drop support for Python 3.10 and require cachelib 0.17.0+</li> <li><code>CACHE_IGNORE_ERRORS</code> is now used by every backend instead of only <code>SimpleCache</code> and <code>FileSystemCache</code>.</li> <li>The <code>delete_many</code> method is now used from cachelib. A key that does not exist counts as deleted, and with <code>CACHE_IGNORE_ERRORS</code> set to <code>False</code> a <code>RuntimeError</code> is raised if the key could not be deleted.</li> <li>Clarify docs about decorator order regarding <code>@staticmethod</code> and <code>@classmethod</code> when memoizing. :issue:<code>440</code></li> <li>Remove the deprecated lowercase <code>CACHE_TYPE</code> names (<code>null</code>, <code>simple</code>, <code>filesystem</code>, <code>redis</code>, <code>redissentinel</code>, <code>rediscluster</code>, <code>uwsgi</code>, <code>memcached</code>, <code>gaememcached</code>, <code>saslmemcached</code> and <code>spreadsaslmemcached</code>)</li> <li>Call <code>@memoize</code> <code>forced_update</code> callbacks once per decorated function call instead of once while making the key and again before cache lookup. :issue:<code>387</code></li> <li>Add an <code>is_stale</code> option to <code>@cached</code> and <code>@memoize</code>. It is called on a cache hit with the cached value. Unlike <code>forced_update</code> it uses the value itself to check whether the cache is stale. Can be used in combination with <code>forced_update</code> :issue:<code>392</code></li> <li><code>@cached</code> now caches an <code>HTTPException</code> raised by the view (i.e. through <code>abort()</code>). This exception will now be re-raises on a cache hit. Use <code>response_filter</code>, to keep the exception out of the cache. :issue:<code>444</code></li> </ul> <!-- raw HTML omitted --> </blockquote> <p>... (truncated)</p> </details> <details> <summary>Commits</summary> <ul> <li><a href="https://github.com/pallets-eco/flask-caching/commit/8dd912afb1097f98598d5beca8cf8846252224ce"><code>8dd912a</code></a> Update publish workflow</li> <li><a href="https://github.com/pallets-eco/flask-caching/commit/01f0e3fa5f4d339e925ca6e3e058dd44ef0e5537"><code>01f0e3f</code></a> Version 2.5.0</li> <li><a href="https://github.com/pallets-eco/flask-caching/commit/66a8e0511d1e767ef71a17660f3d350bd0d105a3"><code>66a8e05</code></a> Improve exception handling for the cached decorator. Fixes <a href="https://redirect.github.com/pallets-eco/flask-caching/issues/444">#444</a></li> <li><a href="https://github.com/pallets-eco/flask-caching/commit/b09952d70fd3def404feecd0a46218d51b8ad427"><code>b09952d</code></a> Bump cachelib to 0.17.0</li> <li><a href="https://github.com/pallets-eco/flask-caching/commit/fca9ac2544631905429a61c8b6574c04eae39982"><code>fca9ac2</code></a> Convert str to int instead of casting</li> <li><a href="https://github.com/pallets-eco/flask-caching/commit/61810d915e2d70051467b079205d09920f928aef"><code>61810d9</code></a> Add support for specifying timeouts with timedelta. Fixes <a href="https://redirect.github.com/pallets-eco/flask-caching/issues/266">#266</a></li> <li><a href="https://github.com/pallets-eco/flask-caching/commit/dde19bbffa0d2be886611c99f593b5068eea1635"><code>dde19bb</code></a> Clarify request.method caching. See <a href="https://redirect.github.com/pallets-eco/flask-caching/issues/270">#270</a></li> <li><a href="https://github.com/pallets-eco/flask-caching/commit/bab22fbfd3ce1ffd66d935b96e271808b47708e6"><code>bab22fb</code></a> Add is_stale. Fixes <a href="https://redirect.github.com/pallets-eco/flask-caching/issues/392">#392</a></li> <li><a href="https://github.com/pallets-eco/flask-caching/commit/2f993e7d59febc875ec10d96f83ef058ac7a26af"><code>2f993e7</code></a> bump cachelib with fix of ping</li> <li><a href="https://github.com/pallets-eco/flask-caching/commit/ddb9953d2c6e55fdcdd2e15583681579b431241e"><code>ddb9953</code></a> fix pinging for fake clients</li> <li>Additional commits viewable in <a href="https://github.com/pallets-eco/flask-caching/compare/v2.4.1...v2.5.0">compare view</a></li> </ul> </details> <br /> [](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores) Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`. [//]: # (dependabot-automerge-start) [//]: # (dependabot-automerge-end) --- <details> <summary>Dependabot commands and options</summary> <br /> You can trigger Dependabot actions by commenting on this PR: - `@dependabot rebase` will rebase this PR - `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it - `@dependabot show <dependency name> ignore conditions` will show all of the ignore conditions of the specified dependency - `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself) </details> -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: [email protected] For queries about this service, please contact Infrastructure at: [email protected] --------------------------------------------------------------------- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
