-
Notifications
You must be signed in to change notification settings - Fork 239
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Changelog for Flask-session 0.6.0 missing #210
Comments
HI @potiuk thanks for the issue. Apologies for missing the rc1 at the end of the version number as I intended only a release candidate as there have been a lot of changes There is a change log here https://github.com/pallets-eco/flask-session/blob/development/CHANGES.rst and the updated docs are also there, just not published yet.
You rightly noted in the airflow issue that the parameters are now all mandatory for extending the session interfaces. I did remove the parameter defaults in the class definitions for maintainability so that the defaults are not being defined twice in different places in our source code. There may be a more elegant way to do this, let me know if you have any input. Taking a quick look at your code it seems as though you may be attempting to fix a historical flask-session issue where sessions were created before having added anything to the session (in the case of permanent session which is default in flask-session) such as #80. In 0.6.0 an empty session should now not be set. If that is what you were trying to fix, are you able to check if that is no longer required? |
Just for your information -
The problem with it is that it is - by-definition - backwards incompatible if someone creates the sessions manually and skips those default parameters. Of course it's debatable whether you "intended" fort those sessions to be created outside and leave those parameters unset, but I'd say they were there as defaults,so it was intention to get those values set as defaults. Easy way will be to simply DEFAULT_USE_SIGNER = False
DEFAULT_PERMANENT = True
DEFAULT_SID_LENGTH = .... And use them in all your def __init__(self, cache_dir, threshold, mode, key_prefix,
use_signer=DEFAULT_USE_SIGNER, permanent=DEFAULT_PERMANENT, sid_length=DEFAULT_SID_LENGTH): Sounds easy-enough and backwards-compatible.
Possibly @jedcunningham and @Taragolis might comment on that, but I think it was more than that - we really wanted to avoid any sessions being created at all for those API calls. But it also does not matter, the bit of a problem that you have now that So my recommendation would be to:
Happy to test RC of 0.6.1 if you follow that route |
I have gone with a 0.7.0rc1 as there were a few other changes I'd also been working on. There should be backward compatibility with the parameter defaults as you requested. However, I did change the path of the interface to SQLAlchemy interface has been the most difficult to deal with for me as it requires a very different implementation to all of the other backends which are more or less the same. |
Closing this in favour of apache/airflow#36897 |
…in /services/flask (#75) Updates the requirements on [flask-session](https://github.com/pallets-eco/flask-session) to permit the latest version. <details> <summary>Release notes</summary> <p><em>Sourced from <a href="https://github.com/pallets-eco/flask-session/releases">flask-session's releases</a>.</em></p> <blockquote> <h2>0.8.0</h2> <p>Add DynamodDB backend and other minor fixes.</p> <p>Full release notes: <a href="https://flask-session.readthedocs.io/en/latest/changes.html#id1">https://flask-session.readthedocs.io/en/latest/changes.html#id1</a></p> </blockquote> </details> <details> <summary>Changelog</summary> <p><em>Sourced from <a href="https://github.com/pallets-eco/flask-session/blob/development/CHANGES.rst">flask-session's changelog</a>.</em></p> <blockquote> <h2>0.8.0 - 2024-03-26</h2> <p>Added</p> <pre><code>- Add DynamoDB session interface (`[#214](pallets-eco/flask-session#214) <https://github.com/pallets-eco/flask-session/pull/214>`_). - Add ability to install client libraries for backends using optional dependencies (extras) (`[#228](pallets-eco/flask-session#228) <https://github.com/pallets-eco/flask-session/pull/228>`_). <p>Fixed</p> <pre><code>- Include prematurely removed ``cachelib`` dependency. Will be removed in 1.0.0 to be an optional dependency (`[#223](pallets-eco/flask-session#223) &lt;https://github.com/pallets-eco/flask-session/issues/223&gt;`_). 0.7.0 - 2024-03-18 ------------------ Changed </code></pre> <ul> <li>Access session interfaces via subfolder, for example <code>flask_session.redis.RedisSessionInterface</code> (<code>2bc7df &lt;pallets-eco/flask-session@2bc7df1be7b8929e55cb25f13845caf0503630d8&gt;</code>_).</li> <li>Deprecate <code>pickle</code> in favor of <code>msgspec</code>, which is configured with <code>SESSION_SERIALIZATION_FORMAT</code> to choose between <code>'json'</code> and <code>'msgpack'</code>. All sessions will convert to msgspec upon first interaction with 0.7.0. Pickle is still available to read existing sessions, but will be removed in 1.0.0. (<code>c7f8ce &lt;pallets-eco/flask-session@c7f8ced0e1532dea87850d34b3328a3fcb769988&gt;</code><em>, <code>c7f8ce &lt;pallets-eco/flask-session@c7f8ced0e1532dea87850d34b3328a3fcb769988&gt;</code></em>)</li> <li>Deprecate <code>SESSION_USE_SIGNER</code> (<code>a5dba7 &lt;pallets-eco/flask-session@a5dba7022f806c8fb4412d0428b69dd4a077e4a7&gt;</code>_).</li> <li>Deprecate :class:<code>flask_session.filesystem.FileSystemSessionInterface</code> in favor of the broader :class:<code>flask_session.cachelib.CacheLibSessionInterface</code> (<code>2bc7df &lt;pallets-eco/flask-session@2bc7df1be7b8929e55cb25f13845caf0503630d8&gt;</code>_).</li> </ul> <p>Added</p> <pre><code>- Add time-to-live expiration for MongoDB (`9acee3 &lt;https://github.com/pallets-eco/flask-session/commit/9acee3c5fb7072476f3feea923529d19d5e855c3&gt;`_). - Add retry for SQL based storage (`[#211](pallets-eco/flask-session#211) &lt;https://github.com/pallets-eco/flask-session/pull/211&gt;`_). - Add ``flask session_cleanup`` command and alternatively, ``SESSION_CLEANUP_N_REQUESTS`` for SQLAlchemy or future non-TTL backends (`[#211](pallets-eco/flask-session#211) &lt;https://github.com/pallets-eco/flask-session/pull/211&gt;`_). - Add type hints (`7d7d58 &lt;https://github.com/pallets-eco/flask-session/commit/7d7d58ce371553da39095a421445cf639a62bd5f&gt;`_). - Add logo and additional documentation. - Add vary cookie header when session modified or accessed as per flask's built-in session (`7ab698 &lt;https://github.com/pallets-eco/flask-session/commit/7ab6980c8ba15912df13dd1e78242803e8104dd6&gt;`_). - Add regenerate method to session interface to mitigate fixation (`[#27](pallets-eco/flask-session#27) &lt;https://github.com/pallets-eco/flask-session/pull/27&gt;`_, `[#39](pallets-eco/flask-session#39) &lt;https://github.com/pallets-eco/flask-session/issues/39&gt;`_)(`80df63 &lt;https://github.com/pallets-eco/flask-session/commit/80df635ffd466fa7798f6031be5469b4d5dae069&gt;`_). Removed </code></pre> <ul> <li>Remove null session in favour of relevant exception messages (<code>[#107](pallets-eco/flask-session#107) &lt;https://github.com/pallets-eco/flask-session/issues/107&gt;</code><em>, <code>[#182](pallets-eco/flask-session#182) &lt;https://github.com/pallets-eco/flask-session/issues/182&gt;</code></em>)(<code>d7ed1c &lt;pallets-eco/flask-session@d7ed1c6e7eb3904888b72f0d6c006db1b9b60795&gt;</code>_).</li> <li>Drop support for Python 3.7 which is end-of-life and precludes use of msgspec (<code>bd7e5b &lt;pallets-eco/flask-session@bd7e5b0bbfc10cdfa9c83b859593c69cc4381571&gt;</code>_).</li> </ul> <p>Fixed</p> <pre><code>- Prevent session identifier reuse on storage miss (`[#76](pallets-eco/flask-session#76) &lt;https://github.com/pallets-eco/flask-session/pull/76&gt;`_). - Abstraction to improve consistency between backends. - Enforce ``PERMANENT_SESSION_LIFETIME`` as expiration consistently for all backends (`[#81](pallets-eco/flask-session#81) &lt;https://github.com/pallets-eco/flask-session/issues/81&gt;`_)(`86895b &lt;https://github.com/pallets-eco/flask-session/commit/86895b523203ca67c9f87416bdbf028852dcb357&gt;`_). - Specifically include backend session interfaces in public API and document usage (`[#210](pallets-eco/flask-session#210) &lt;https://github.com/pallets-eco/flask-session/issues/210&gt;`_). - Fix non-permanent sessions not updating expiry (`[#221](pallets-eco/flask-session#221) &lt;https://github.com/pallets-eco/flask-session/issues/221&gt;`_). 0.6.0 - 2024-01-16 ------------------ &lt;/tr&gt;&lt;/table&gt; </code></pre> </blockquote> <p>... (truncated)</p> </details> <details> <summary>Commits</summary> <ul> <li><a href="pallets-eco/flask-session@65c05eae0e6d679047394b39a8d6e2bce8195ac3"><code>65c05ea</code></a> Prep release</li> <li><a href="pallets-eco/flask-session@475cc038376d4d5c2949edf7751a61ed64b7f33c"><code>475cc03</code></a> Merge branch 'erik' into development</li> <li><a href="pallets-eco/flask-session@1af5cb223bcb4bb556cf8b49e803700ac332ab89"><code>1af5cb2</code></a> Remind the correct PR branch</li> <li><a href="pallets-eco/flask-session@b7a219bcac97e74276d8e419e6174aea2c4ffdad"><code>b7a219b</code></a> Reduce documentation and remove filesystem extra</li> <li><a href="pallets-eco/flask-session@6c9a698b61ead380988ba4b69b0f161de47e1886"><code>6c9a698</code></a> Fix docs announcement overflow</li> <li><a href="pallets-eco/flask-session@f8f5ad15f787c5b30b663f84883ad2c8108b8314"><code>f8f5ad1</code></a> implemented DynamoDBSessionInterface and tests. (<a href="https://redirect.github.com/pallets-eco/flask-session/issues/214">#214</a>)</li> <li><a href="pallets-eco/flask-session@5a3413b9b1d67a4116404f23022b58326a60fbdf"><code>5a3413b</code></a> Add changelog and contributor</li> <li><a href="pallets-eco/flask-session@17369528b45d9b5a59003ec006ede35ced40f694"><code>1736952</code></a> Fix docs requirements</li> <li><a href="pallets-eco/flask-session@a92914ed1196acc2eab4d562996ac944413fb19c"><code>a92914e</code></a> Add docs</li> <li><a href="pallets-eco/flask-session@ab9a756a18de87033cf6d3b2d86c6dc46e006800"><code>ab9a756</code></a> Tidy up dynamo db, add docker and requirements</li> <li>Additional commits viewable in <a href="pallets-eco/flask-session@0.6.1rc1...0.8.0">compare view</a></li> </ul> </details> <br /> </code></pre> 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 merge` will merge this PR after your CI passes on it - `@dependabot squash and merge` will squash and merge this PR after your CI passes on it - `@dependabot cancel merge` will cancel a previously requested merge and block automerging - `@dependabot reopen` will reopen this PR if it is closed - `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually - `@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> Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
…in /services/flask (#75) Updates the requirements on [flask-session](https://github.com/pallets-eco/flask-session) to permit the latest version. <details> <summary>Release notes</summary> <p><em>Sourced from <a href="https://github.com/pallets-eco/flask-session/releases">flask-session's releases</a>.</em></p> <blockquote> <h2>0.8.0</h2> <p>Add DynamodDB backend and other minor fixes.</p> <p>Full release notes: <a href="https://flask-session.readthedocs.io/en/latest/changes.html#id1">https://flask-session.readthedocs.io/en/latest/changes.html#id1</a></p> </blockquote> </details> <details> <summary>Changelog</summary> <p><em>Sourced from <a href="https://github.com/pallets-eco/flask-session/blob/development/CHANGES.rst">flask-session's changelog</a>.</em></p> <blockquote> <h2>0.8.0 - 2024-03-26</h2> <p>Added</p> <pre><code>- Add DynamoDB session interface (`[#214](pallets-eco/flask-session#214) <https://github.com/pallets-eco/flask-session/pull/214>`_). - Add ability to install client libraries for backends using optional dependencies (extras) (`[#228](pallets-eco/flask-session#228) <https://github.com/pallets-eco/flask-session/pull/228>`_). <p>Fixed</p> <pre><code>- Include prematurely removed ``cachelib`` dependency. Will be removed in 1.0.0 to be an optional dependency (`[#223](pallets-eco/flask-session#223) &lt;https://github.com/pallets-eco/flask-session/issues/223&gt;`_). 0.7.0 - 2024-03-18 ------------------ Changed </code></pre> <ul> <li>Access session interfaces via subfolder, for example <code>flask_session.redis.RedisSessionInterface</code> (<code>2bc7df &lt;pallets-eco/flask-session@2bc7df1be7b8929e55cb25f13845caf0503630d8&gt;</code>_).</li> <li>Deprecate <code>pickle</code> in favor of <code>msgspec</code>, which is configured with <code>SESSION_SERIALIZATION_FORMAT</code> to choose between <code>'json'</code> and <code>'msgpack'</code>. All sessions will convert to msgspec upon first interaction with 0.7.0. Pickle is still available to read existing sessions, but will be removed in 1.0.0. (<code>c7f8ce &lt;pallets-eco/flask-session@c7f8ced0e1532dea87850d34b3328a3fcb769988&gt;</code><em>, <code>c7f8ce &lt;pallets-eco/flask-session@c7f8ced0e1532dea87850d34b3328a3fcb769988&gt;</code></em>)</li> <li>Deprecate <code>SESSION_USE_SIGNER</code> (<code>a5dba7 &lt;pallets-eco/flask-session@a5dba7022f806c8fb4412d0428b69dd4a077e4a7&gt;</code>_).</li> <li>Deprecate :class:<code>flask_session.filesystem.FileSystemSessionInterface</code> in favor of the broader :class:<code>flask_session.cachelib.CacheLibSessionInterface</code> (<code>2bc7df &lt;pallets-eco/flask-session@2bc7df1be7b8929e55cb25f13845caf0503630d8&gt;</code>_).</li> </ul> <p>Added</p> <pre><code>- Add time-to-live expiration for MongoDB (`9acee3 &lt;https://github.com/pallets-eco/flask-session/commit/9acee3c5fb7072476f3feea923529d19d5e855c3&gt;`_). - Add retry for SQL based storage (`[#211](pallets-eco/flask-session#211) &lt;https://github.com/pallets-eco/flask-session/pull/211&gt;`_). - Add ``flask session_cleanup`` command and alternatively, ``SESSION_CLEANUP_N_REQUESTS`` for SQLAlchemy or future non-TTL backends (`[#211](pallets-eco/flask-session#211) &lt;https://github.com/pallets-eco/flask-session/pull/211&gt;`_). - Add type hints (`7d7d58 &lt;https://github.com/pallets-eco/flask-session/commit/7d7d58ce371553da39095a421445cf639a62bd5f&gt;`_). - Add logo and additional documentation. - Add vary cookie header when session modified or accessed as per flask's built-in session (`7ab698 &lt;https://github.com/pallets-eco/flask-session/commit/7ab6980c8ba15912df13dd1e78242803e8104dd6&gt;`_). - Add regenerate method to session interface to mitigate fixation (`[#27](pallets-eco/flask-session#27) &lt;https://github.com/pallets-eco/flask-session/pull/27&gt;`_, `[#39](pallets-eco/flask-session#39) &lt;https://github.com/pallets-eco/flask-session/issues/39&gt;`_)(`80df63 &lt;https://github.com/pallets-eco/flask-session/commit/80df635ffd466fa7798f6031be5469b4d5dae069&gt;`_). Removed </code></pre> <ul> <li>Remove null session in favour of relevant exception messages (<code>[#107](pallets-eco/flask-session#107) &lt;https://github.com/pallets-eco/flask-session/issues/107&gt;</code><em>, <code>[#182](pallets-eco/flask-session#182) &lt;https://github.com/pallets-eco/flask-session/issues/182&gt;</code></em>)(<code>d7ed1c &lt;pallets-eco/flask-session@d7ed1c6e7eb3904888b72f0d6c006db1b9b60795&gt;</code>_).</li> <li>Drop support for Python 3.7 which is end-of-life and precludes use of msgspec (<code>bd7e5b &lt;pallets-eco/flask-session@bd7e5b0bbfc10cdfa9c83b859593c69cc4381571&gt;</code>_).</li> </ul> <p>Fixed</p> <pre><code>- Prevent session identifier reuse on storage miss (`[#76](pallets-eco/flask-session#76) &lt;https://github.com/pallets-eco/flask-session/pull/76&gt;`_). - Abstraction to improve consistency between backends. - Enforce ``PERMANENT_SESSION_LIFETIME`` as expiration consistently for all backends (`[#81](pallets-eco/flask-session#81) &lt;https://github.com/pallets-eco/flask-session/issues/81&gt;`_)(`86895b &lt;https://github.com/pallets-eco/flask-session/commit/86895b523203ca67c9f87416bdbf028852dcb357&gt;`_). - Specifically include backend session interfaces in public API and document usage (`[#210](pallets-eco/flask-session#210) &lt;https://github.com/pallets-eco/flask-session/issues/210&gt;`_). - Fix non-permanent sessions not updating expiry (`[#221](pallets-eco/flask-session#221) &lt;https://github.com/pallets-eco/flask-session/issues/221&gt;`_). 0.6.0 - 2024-01-16 ------------------ &lt;/tr&gt;&lt;/table&gt; </code></pre> </blockquote> <p>... (truncated)</p> </details> <details> <summary>Commits</summary> <ul> <li><a href="pallets-eco/flask-session@65c05eae0e6d679047394b39a8d6e2bce8195ac3"><code>65c05ea</code></a> Prep release</li> <li><a href="pallets-eco/flask-session@475cc038376d4d5c2949edf7751a61ed64b7f33c"><code>475cc03</code></a> Merge branch 'erik' into development</li> <li><a href="pallets-eco/flask-session@1af5cb223bcb4bb556cf8b49e803700ac332ab89"><code>1af5cb2</code></a> Remind the correct PR branch</li> <li><a href="pallets-eco/flask-session@b7a219bcac97e74276d8e419e6174aea2c4ffdad"><code>b7a219b</code></a> Reduce documentation and remove filesystem extra</li> <li><a href="pallets-eco/flask-session@6c9a698b61ead380988ba4b69b0f161de47e1886"><code>6c9a698</code></a> Fix docs announcement overflow</li> <li><a href="pallets-eco/flask-session@f8f5ad15f787c5b30b663f84883ad2c8108b8314"><code>f8f5ad1</code></a> implemented DynamoDBSessionInterface and tests. (<a href="https://redirect.github.com/pallets-eco/flask-session/issues/214">#214</a>)</li> <li><a href="pallets-eco/flask-session@5a3413b9b1d67a4116404f23022b58326a60fbdf"><code>5a3413b</code></a> Add changelog and contributor</li> <li><a href="pallets-eco/flask-session@17369528b45d9b5a59003ec006ede35ced40f694"><code>1736952</code></a> Fix docs requirements</li> <li><a href="pallets-eco/flask-session@a92914ed1196acc2eab4d562996ac944413fb19c"><code>a92914e</code></a> Add docs</li> <li><a href="pallets-eco/flask-session@ab9a756a18de87033cf6d3b2d86c6dc46e006800"><code>ab9a756</code></a> Tidy up dynamo db, add docker and requirements</li> <li>Additional commits viewable in <a href="pallets-eco/flask-session@0.6.1rc1...0.8.0">compare view</a></li> </ul> </details> <br /> </code></pre> 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 merge` will merge this PR after your CI passes on it - `@dependabot squash and merge` will squash and merge this PR after your CI passes on it - `@dependabot cancel merge` will cancel a previously requested merge and block automerging - `@dependabot reopen` will reopen this PR if it is closed - `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually - `@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> Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Flask 0.6.0 broke Airflow installation (which is not a huge issue as we use constraints and recommend our users to use them). Temporarily - for the upcoming version we also added < 0.6.0 limit for Flask-Session, but we would like to be able to support 0.6.0 and beyond, but seems that we miss changelog:
It's not present in any of those:
We track this in Airflow here apache/airflow#36897 - would be great to get it out so that we can add support for it
The text was updated successfully, but these errors were encountered: