Skip to content

[Snyk] Fix for 2 vulnerabilities#35

Open
jhamot wants to merge 1 commit into
mainfrom
snyk-fix-f17e9b81ba5aeb00835833d4c81833df
Open

[Snyk] Fix for 2 vulnerabilities#35
jhamot wants to merge 1 commit into
mainfrom
snyk-fix-f17e9b81ba5aeb00835833d4c81833df

Conversation

@jhamot

@jhamot jhamot commented Feb 20, 2026

Copy link
Copy Markdown
Owner

snyk-top-banner

Snyk has created this PR to fix 2 vulnerabilities in the pip dependencies of this project.

Snyk changed the following file(s):

  • examples/server/wsgi/requirements.txt
⚠️ Warning
Jinja2 3.1.3 has requirement MarkupSafe>=2.0, but you have MarkupSafe 1.1.0.
eventlet 0.35.2 has requirement greenlet>=1.0, but you have greenlet 0.4.12.

Breaking Change Risk

Merge Risk: High

Notice: This assessment is enhanced by AI.


Important

  • Check the changes in this PR to ensure they won't cause issues with your project.
  • Max score is 1000. Note that the real score may have changed since the PR was raised.
  • This PR was automatically created by Snyk using the credentials of a real user.
  • Some vulnerabilities couldn't be fully fixed and so Snyk will still find them when the project is tested again. This may be because the vulnerability existed within more than one direct dependency, but not all of the affected dependencies could be upgraded.

Note: You are seeing this because you or someone else with access to this repository has authorized Snyk to open fix PRs.

For more information:
🧐 View latest project report
📜 Customise PR templates
🛠 Adjust project settings
📚 Read about Snyk's upgrade logic


Learn how to fix vulnerabilities with free interactive lessons:

🦉 Learn about vulnerability in an interactive lesson of Snyk Learn.

@jhamot

jhamot commented Feb 20, 2026

Copy link
Copy Markdown
Owner Author

Merge Risk: High

This upgrade involves major version jumps for both flask (1.x → 3.x) and its core dependency werkzeug (2.x → 3.x). These introduce significant breaking changes that require code and environment validation.

Key Breaking Changes

1. Werkzeug 2.x → 3.x Upgrade:
This is the primary source of high-risk changes, which then impacts Flask.

  • Removed Deprecated Code: Code deprecated in previous versions has been removed. This includes various functions and methods, and the werkzeug.urls module is now deprecated in favor of Python's standard urllib.parse.
  • Stricter Type Enforcement: Stricter handling of bytes vs. strings may cause TypeError exceptions, particularly with cookie values that were previously allowed as bytes-like objects.
  • Test Client Behavior: The test client no longer returns a tuple; it now returns a TestResponse object. Tests that unpack the response like data, status, headers = client.get(...) will fail and must be updated to access properties like response.data.
  • Password Hashing: The default algorithm for generate_password_hash has changed to scrypt.

2. Flask 1.x → 3.x Upgrade:

  • Python Version Support: Support for Python 2, 3.5, and 3.8 has been dropped. Your environment must be on Python 3.9 or newer.
  • Dependency on Werkzeug 3.0: Flask 3.0 requires Werkzeug >= 3.0, inheriting all of its breaking changes.
  • Removed Deprecated Code: Features deprecated in Flask 1.x and 2.x are now removed. This includes Config.from_json() (use Config.from_file()) and the FLASK_ENV environment variable.

3. Extension Compatibility:
The breaking changes in Werkzeug 3.0 were significant enough to break popular extensions like Flask-Login upon release. It is critical to verify that all of your project's Flask-related dependencies are compatible with Flask 3 and Werkzeug 3.

Recommendation: This upgrade requires careful testing and likely code modifications. Pay close attention to test suites that use the test client and any code handling cookies or password hashing. Verify all third-party Flask extensions for compatibility. Given the number of major versions spanned, a thorough review of the changelogs is highly recommended.

Sources:

Notice 🤖: This content was augmented using artificial intelligence. AI-generated content may contain errors and should be reviewed for accuracy before use.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants