The GitHub Actions job "Tests" on 
airflow.git/attempt-to-migrate-to-connexion-2-15 has succeeded.
Run started by GitHub user potiuk (triggered by potiuk).

Head commit for run:
37fdc1ff42820093524628d5cffefc223299eeaa / Jarek Potiuk <[email protected]>
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 https://github.com/ckan/ckan/pull/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.

Report URL: https://github.com/apache/airflow/actions/runs/21783986846

With regards,
GitHub Actions via GitBox


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to