The Fix
Upgrade to version 1.0.3 or later.
Based on closed pallets/flask issue #3279 · PR/commit linked
Production note: Most teams hit this during upgrades or environment changes. Roll out with a canary and smoke critical endpoints (health, OpenAPI/docs) before 100%.
@@ -7,81 +7,81 @@ Unreleased
- Bump minimum Werkzeug version to >= 0.15.
- Drop support for Python 3.4.
-- Error handlers for ��InternalServerError�� or ��500�� will always be
- passed an instance of ��InternalServerError��. If they are invoked
+- Error handlers for ``InternalServerError`` or ``500`` will always be
Option A — Upgrade to fixed release\nUpgrade to version 1.0.3 or later.\nWhen NOT to use: This fix is not applicable if the file is already UTF-8 encoded.\n\n
Why This Fix Works in Production
- Trigger: CHANGES.rst on master is not UTF-8 -- appares to be some windows encoding
- Mechanism: Makes the changelog UTF-8 compatible by replacing non-UTF-8 characters.
- Why the fix works: Makes the changelog UTF-8 compatible by replacing non-UTF-8 characters. (first fixed release: 1.0.3).
- If left unfixed, the same config can fail only in production (env differences), causing startup failures or partial feature outages.
Why This Breaks in Prod
- Production symptom (often without a traceback): CHANGES.rst on master is not UTF-8 -- appares to be some windows encoding
Proof / Evidence
- GitHub issue: #3279
- Fix PR: https://github.com/pallets/flask/pull/3281
- First fixed release: 1.0.3
- Reproduced locally: No (not executed)
- Last verified: 2026-02-09
- Confidence: 0.85
- Did this fix it?: Yes (upstream fix exists)
- Own content ratio: 0.64
Discussion
High-signal excerpts from the issue thread (symptoms, repros, edge-cases).
“oops, looks like someone wrote this file on windows! I'll fix it to be UTF-8 (my editor was very unhappy trying to edit it!)”
Failure Signature (Search String)
- CHANGES.rst on master is not UTF-8 -- appares to be some windows encoding
Copy-friendly signature
Failure Signature
-----------------
CHANGES.rst on master is not UTF-8 -- appares to be some windows encoding
Error Message
Signature-only (no traceback captured)
Error Message
-------------
CHANGES.rst on master is not UTF-8 -- appares to be some windows encoding
What Broke
Users experienced issues editing the changelog file due to encoding errors.
Fix Options (Details)
Option A — Upgrade to fixed release Safe default (recommended)
Upgrade to version 1.0.3 or later.
Use when you can deploy the upstream fix. It is usually lower-risk than long-lived workarounds.
Fix reference: https://github.com/pallets/flask/pull/3281
First fixed release: 1.0.3
Last verified: 2026-02-09. Validate in your environment.
When NOT to Use This Fix
- This fix is not applicable if the file is already UTF-8 encoded.
Did This Fix Work in Your Case?
Quick signal helps us prioritize which fixes to verify and improve.
Prevention
- Capture the exact failing error string in logs and tests so you can reproduce via a minimal script.
- Pin production dependencies and upgrade only with a reproducible test that hits the failing path.
Version Compatibility Table
| Version | Status |
|---|---|
| 1.0.3 | Fixed |
Related Issues
No related fixes found.
Sources
We don’t republish the full GitHub discussion text. Use the links above for context.