- はじめに
- Python 2.6および3.3のサポート廃止
- 必須ライブラリの最小依存バージョンが最新の安定バージョンに変更
- create_appまたはmake_appの名前のアプリケーションファクトリを自動検出
- 開発サーバーはデフォルトでスレッドを使用
- flaskコマンドでアプリケーションを起動する場合はapp.runをスキップ
- python-dotenvライブラリを利用することで.envと.flaskenvファイルを自動読込み
- FLASK_APPにてアプリケーションファクトリと引数が設定できるように
- flask runにてhttpsアクセスを可能にするための--certと--keyオプションが追加
- ルーティング一覧を確認するためのflask routesコマンドが追加
- FLASK_APPにて.pyを指定しなくても動作可能に
- Flask CLIコマンドをテストするためにtest_cli_runner()が追加
- configをsilentモードでロードしたにも関わらずディレクトリ以下にファイルがあった場合にエラーとなっていた問題を修正
- send_file()にてUnicodeのファイル名をサポート
- HTTP範囲リクエストで無効な範囲のファイルを取得した際にエラーとなっていた問題を修正
- make_response()にて不正なレスポンスタイプの場合にTypeErrorを返すよう変更
- セッションCookieのSameSite値を扱うためのSESSION_COOKIE_SAMESITEが追加
- ブラウザーが無視する可能性のある大きなCookieサイズであった場合にWerkzeugにて警告を表示
- Flask.__init__にstatic_host引数が追加
- Flask.__init__にhost_matching引数が追加
- JSONIFY_PRETTYPRINT_REGULARをデフォルトで無効に設定
- セッションにアクセスされた際にレスポンスにVaryヘッダを付与
- APPLICATION_ROOTにデフォルトで/を設定
- url_for()で指定された_scheme引数をエラー時も引き継げるように変更
- TRAP_BAD_REQUEST_ERRORSをデバッグモードでデフォルトで有効に設定
- Blueprintのurl_prefixが/で終わっていた場合に自動で削除
- Blueprintのビュー関数名に.を含んでいた場合はエラー処理を行うように変更
- MethodViewサブクラスが基本クラスからメソッドハンドラを継承
- Viewクラスにprovide_automatic_optionsが追加
- add_url_rule()にprovide_automatic_optionsが追加
- Request.get_json()がキャッシュされることで発生していた問題を修正
- Request.get_json()にてencodeが指定されていない場合にUTFエンコーディング方式を自動検出
- flask.json.JSONEncoder()がUTCではない時刻を返していた問題を修正
- Blueprintでjson_encoderとjson_decoderをオーバーライド可能に
- JSONTagを生成しTaggedJSONSerializer.registerで新しいタグが追加可能に
- サブドメインのチェックを行うためのsubdomain_matching引数が追加
- SERVER_NAMEが設定されている場合にSESSION_COOKIE_DOMAINにキャッシュ
- IPアドレスを正しいセッションCookieドメインとして許可
- セッションCookieドメインがむき出しのホスト名またはIPアドレスである場合に警告を表示
- RequestクラスとResponseクラスにJSonMixinが追加
- test_client()にてjsonデータの扱いが可能に
- テストクライアントにフルパスのURLが渡された場合にURL内のスキームを使用
- test_client.openにてEnvironBuilderもしくはdictの受け渡しが可能に
- app.test_request_contextにsubdomainとurl_scheme引数が追加
- リクエストがコンテキストスタックにまだプッシュされていない場合にのみセッションを開くように変更
- アプリケーションのコンテキストが更新されないかつリクエストコンテキストスタックが増加する問題を修正
- HTTPExceptionサブクラスの例外発生時にHTTPExceptionのエラーハンドリングが行われなかった問題を修正
- MROの際にエラーハンドラーがキャッシュされて引き起こしていた問題を修正
- app.run()にてデバッグフラグが設定された際にapp.jinja_envのオートリロード設定がテンプレートのオートリロード設定と同期されるように
- アプリケーションファクトリ関数はscript_infoを必須としないように変更
- Flask.loggerが簡素化
- 一部の古い非推奨コードが削除
- 開発者がよりよいプラクティスを身に着けられるよう公式ドキュメントとサンプルコードを書き直し
- flask公式ドキュメントの見栄えを改善