Commit cc1136d
committed
Migrate to connexion 2.15
This PR migrates Airflow to connexion 2.15 - which allows Airflow
to bump a number of dependencies such as Flask, Werkzeug, flask-session.
There are a few incompatibilities fixed during the migration introduced
by breaking changes in those dependencies:
* flask-session >= 0.8.0 manages it's own session table and we already
managed it on our own, so we conditionally create/drop the table when
running migrations.
* flask-session >= 0.7.9 switched to use MsgSpec as default serializer
and while it claims you can switch back to TagJSONSerializer, it's not
workign out of the box because it relies on encode/decode methods of
the serializer that are not present in TagJSONSerializer. But we
cannot use MsgSpec serializer because it does not support some objects
(Markup) that we use for Flash message serialization. We borrow a hack
from ckan/ckan#8704 and provide our custom
serializer deriving from TagJSONSerializer with encode/decode methods
added
* flask-session >= 0.8.0 switched to use "client" instead of "db" as
interface field. Our code was adapted accordingly
* Werkzeug >= 2.3.0 changed the way how percent-encoding is done -
instead of percent-encoding every reserved character, only the
reserved characters that have "reserved purpose" in the place of
the URL that they are used are encoded - following WhatWG
specification. This means for example that "&" is not encoded in
path, "/:" are not encoded in url params, and "?" is not encoded
after it is used to separate url from parameters. Our tests expected
percent-encoding everywherei (previous Werkzeug behaviour), so they
had to be updated.
* Flask test client in newer versions of flask does not have "cookie_jar"
- it exposes cookies via "get_cookie", tests were updated to use it.
* Minimum versions of dependencies have been updated so that all the
changes are compatible with them and we do not have to handle
back-compatibility with older versions.1 parent 3cd78b4 commit cc1136d
File tree
69 files changed
+2035
-2910
lines changed- airflow
- api_internal
- cli/commands
- example_dags
- kubernetes/pre_7_4_0_compatibility
- migrations/versions
- models
- operators
- providers
- alibaba/cloud/log
- amazon
- aws/log
- apache
- hdfs
- log
- hive
- databricks
- exasol
- google
- papermill
- presto
- salesforce
- sftp
- snowflake
- ssh
- trino
- weaviate
- utils
- www
- extensions
- static/js/types
- chart
- clients/python
- dev
- stats
- system_tests
- docs
- apache-airflow
- authoring-and-scheduling
- howto/operator
- img
- docker-stack
- docker-examples/extending
- add-airflow-configuration
- add-apt-packages
- add-build-essential-extend
- add-providers
- add-pypi-packages-constraints
- add-pypi-packages-uv
- add-pypi-packages
- add-requirement-packages
- custom-providers
- embedding-dags
- writable-directory
- exts
- generated
- tests
- api_connexion
- providers/cncf/kubernetes/operators
- serialization
- system/providers/amazon/aws
- utils
- www
- views
Some content is hidden
Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.
69 files changed
+2035
-2910
lines changed| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
17 | 17 | | |
18 | 18 | | |
19 | 19 | | |
20 | | - | |
| 20 | + | |
21 | 21 | | |
22 | 22 | | |
23 | 23 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
135 | 135 | | |
136 | 136 | | |
137 | 137 | | |
138 | | - | |
| 138 | + | |
139 | 139 | | |
140 | 140 | | |
141 | 141 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
352 | 352 | | |
353 | 353 | | |
354 | 354 | | |
355 | | - | |
356 | | - | |
| 355 | + | |
| 356 | + | |
357 | 357 | | |
358 | 358 | | |
359 | 359 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
128 | 128 | | |
129 | 129 | | |
130 | 130 | | |
131 | | - | |
| 131 | + | |
132 | 132 | | |
133 | 133 | | |
134 | 134 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
114 | 114 | | |
115 | 115 | | |
116 | 116 | | |
117 | | - | |
| 117 | + | |
118 | 118 | | |
119 | 119 | | |
120 | 120 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
86 | 86 | | |
87 | 87 | | |
88 | 88 | | |
89 | | - | |
90 | | - | |
| 89 | + | |
| 90 | + | |
91 | 91 | | |
92 | 92 | | |
93 | 93 | | |
| |||
Lines changed: 2 additions & 1 deletion
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
49 | 49 | | |
50 | 50 | | |
51 | 51 | | |
| 52 | + | |
52 | 53 | | |
53 | 54 | | |
54 | 55 | | |
55 | 56 | | |
56 | 57 | | |
57 | | - | |
| 58 | + | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
2014 | 2014 | | |
2015 | 2015 | | |
2016 | 2016 | | |
2017 | | - | |
| 2017 | + | |
2018 | 2018 | | |
2019 | 2019 | | |
2020 | 2020 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
820 | 820 | | |
821 | 821 | | |
822 | 822 | | |
823 | | - | |
| 823 | + | |
824 | 824 | | |
825 | 825 | | |
826 | 826 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
72 | 72 | | |
73 | 73 | | |
74 | 74 | | |
75 | | - | |
| 75 | + | |
76 | 76 | | |
77 | 77 | | |
78 | 78 | | |
| |||
0 commit comments