Flask 3.0, released on September 30th, caused the popular Flask-Login extension to break due to a backwards incompatible change in its main dependency, Werkzeug. This issue affects not only the Flask Mega-Tutorial, but every Flask tutorial that utilizes Flask-Login. Unfortunately, this is not the first time Flask releases have broken extensions and content. The lack of backwards compatibility is a recurring problem in major Flask releases. The Flask team’s approach seems to align neither with Microsoft’s focus on compatibility nor Apple’s disruptive innovations. Flask developers frequently reorganize code without providing tangible benefits to the community, leaving extension developers and content creators to adapt and fix issues. It remains to be seen how the Flask core team will address this ongoing problem.
https://blog.miguelgrinberg.com/post/we-have-to-talk-about-flask