apache-airflow-providers-fab 2.2.0__tar.gz → 2.2.1__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (217) hide show
  1. {apache_airflow_providers_fab-2.2.0 → apache_airflow_providers_fab-2.2.1}/PKG-INFO +6 -6
  2. {apache_airflow_providers_fab-2.2.0 → apache_airflow_providers_fab-2.2.1}/README.rst +3 -3
  3. {apache_airflow_providers_fab-2.2.0 → apache_airflow_providers_fab-2.2.1}/docs/changelog.rst +25 -0
  4. {apache_airflow_providers_fab-2.2.0 → apache_airflow_providers_fab-2.2.1}/docs/index.rst +3 -3
  5. {apache_airflow_providers_fab-2.2.0 → apache_airflow_providers_fab-2.2.1}/provider.yaml +2 -1
  6. {apache_airflow_providers_fab-2.2.0 → apache_airflow_providers_fab-2.2.1}/pyproject.toml +3 -3
  7. {apache_airflow_providers_fab-2.2.0 → apache_airflow_providers_fab-2.2.1}/src/airflow/providers/fab/__init__.py +1 -1
  8. {apache_airflow_providers_fab-2.2.0 → apache_airflow_providers_fab-2.2.1}/src/airflow/providers/fab/auth_manager/fab_auth_manager.py +6 -6
  9. {apache_airflow_providers_fab-2.2.0 → apache_airflow_providers_fab-2.2.1}/src/airflow/providers/fab/auth_manager/security_manager/override.py +19 -0
  10. {apache_airflow_providers_fab-2.2.0 → apache_airflow_providers_fab-2.2.1}/src/airflow/providers/fab/www/extensions/init_appbuilder.py +8 -0
  11. {apache_airflow_providers_fab-2.2.0 → apache_airflow_providers_fab-2.2.1}/src/airflow/providers/fab/www/package-lock.json +4 -4
  12. {apache_airflow_providers_fab-2.2.0 → apache_airflow_providers_fab-2.2.1}/src/airflow/providers/fab/www/package.json +1 -1
  13. apache_airflow_providers_fab-2.2.0/src/airflow/providers/fab/www/static/dist/743.57634ddb93717b7c8c1a.js → apache_airflow_providers_fab-2.2.1/src/airflow/providers/fab/www/static/dist/743.b6629eaae7f541f4158f.js +1 -1
  14. apache_airflow_providers_fab-2.2.0/src/airflow/providers/fab/www/static/dist/main.49c4d5787ef1f247f004.js → apache_airflow_providers_fab-2.2.1/src/airflow/providers/fab/www/static/dist/main.26e36c3998f451900260.js +1 -1
  15. apache_airflow_providers_fab-2.2.1/src/airflow/providers/fab/www/static/dist/manifest.json +22 -0
  16. {apache_airflow_providers_fab-2.2.0 → apache_airflow_providers_fab-2.2.1}/tests/unit/fab/auth_manager/test_fab_auth_manager.py +103 -0
  17. apache_airflow_providers_fab-2.2.1/www-hash.txt +1 -0
  18. apache_airflow_providers_fab-2.2.0/src/airflow/providers/fab/www/static/dist/manifest.json +0 -22
  19. apache_airflow_providers_fab-2.2.0/www-hash.txt +0 -1
  20. {apache_airflow_providers_fab-2.2.0 → apache_airflow_providers_fab-2.2.1}/3rd-party-licenses/LICENSES-ui.txt +0 -0
  21. {apache_airflow_providers_fab-2.2.0 → apache_airflow_providers_fab-2.2.1}/NOTICE +0 -0
  22. {apache_airflow_providers_fab-2.2.0 → apache_airflow_providers_fab-2.2.1}/docs/api-ref/fab-public-api-ref.rst +0 -0
  23. {apache_airflow_providers_fab-2.2.0 → apache_airflow_providers_fab-2.2.1}/docs/api-ref/fab-token-api-ref.rst +0 -0
  24. {apache_airflow_providers_fab-2.2.0 → apache_airflow_providers_fab-2.2.1}/docs/auth-manager/access-control.rst +0 -0
  25. {apache_airflow_providers_fab-2.2.0 → apache_airflow_providers_fab-2.2.1}/docs/auth-manager/api-authentication.rst +0 -0
  26. {apache_airflow_providers_fab-2.2.0 → apache_airflow_providers_fab-2.2.1}/docs/auth-manager/configuring-flask-app.rst +0 -0
  27. {apache_airflow_providers_fab-2.2.0 → apache_airflow_providers_fab-2.2.1}/docs/auth-manager/index.rst +0 -0
  28. {apache_airflow_providers_fab-2.2.0 → apache_airflow_providers_fab-2.2.1}/docs/auth-manager/security.rst +0 -0
  29. {apache_airflow_providers_fab-2.2.0 → apache_airflow_providers_fab-2.2.1}/docs/auth-manager/token.rst +0 -0
  30. {apache_airflow_providers_fab-2.2.0 → apache_airflow_providers_fab-2.2.1}/docs/auth-manager/webserver-authentication.rst +0 -0
  31. {apache_airflow_providers_fab-2.2.0 → apache_airflow_providers_fab-2.2.1}/docs/cli-ref.rst +0 -0
  32. {apache_airflow_providers_fab-2.2.0 → apache_airflow_providers_fab-2.2.1}/docs/commits.rst +0 -0
  33. {apache_airflow_providers_fab-2.2.0 → apache_airflow_providers_fab-2.2.1}/docs/conf.py +0 -0
  34. {apache_airflow_providers_fab-2.2.0 → apache_airflow_providers_fab-2.2.1}/docs/configurations-ref.rst +0 -0
  35. {apache_airflow_providers_fab-2.2.0 → apache_airflow_providers_fab-2.2.1}/docs/img/add-role.png +0 -0
  36. {apache_airflow_providers_fab-2.2.0 → apache_airflow_providers_fab-2.2.1}/docs/img/diagram_fab_auth_manager_airflow_architecture.md5sum +0 -0
  37. {apache_airflow_providers_fab-2.2.0 → apache_airflow_providers_fab-2.2.1}/docs/img/diagram_fab_auth_manager_airflow_architecture.png +0 -0
  38. {apache_airflow_providers_fab-2.2.0 → apache_airflow_providers_fab-2.2.1}/docs/img/diagram_fab_auth_manager_airflow_architecture.py +0 -0
  39. {apache_airflow_providers_fab-2.2.0 → apache_airflow_providers_fab-2.2.1}/docs/img/new-role.png +0 -0
  40. {apache_airflow_providers_fab-2.2.0 → apache_airflow_providers_fab-2.2.1}/docs/installing-providers-from-sources.rst +0 -0
  41. {apache_airflow_providers_fab-2.2.0 → apache_airflow_providers_fab-2.2.1}/docs/migrations-ref.rst +0 -0
  42. {apache_airflow_providers_fab-2.2.0 → apache_airflow_providers_fab-2.2.1}/docs/security.rst +0 -0
  43. {apache_airflow_providers_fab-2.2.0 → apache_airflow_providers_fab-2.2.1}/docs/upgrading.rst +0 -0
  44. {apache_airflow_providers_fab-2.2.0 → apache_airflow_providers_fab-2.2.1}/src/airflow/__init__.py +0 -0
  45. {apache_airflow_providers_fab-2.2.0 → apache_airflow_providers_fab-2.2.1}/src/airflow/providers/3rd-party-licenses/LICENSES-ui.txt +0 -0
  46. {apache_airflow_providers_fab-2.2.0 → apache_airflow_providers_fab-2.2.1}/src/airflow/providers/__init__.py +0 -0
  47. {apache_airflow_providers_fab-2.2.0 → apache_airflow_providers_fab-2.2.1}/src/airflow/providers/fab/LICENSE +0 -0
  48. {apache_airflow_providers_fab-2.2.0 → apache_airflow_providers_fab-2.2.1}/src/airflow/providers/fab/alembic.ini +0 -0
  49. {apache_airflow_providers_fab-2.2.0 → apache_airflow_providers_fab-2.2.1}/src/airflow/providers/fab/auth_manager/__init__.py +0 -0
  50. {apache_airflow_providers_fab-2.2.0 → apache_airflow_providers_fab-2.2.1}/src/airflow/providers/fab/auth_manager/api/__init__.py +0 -0
  51. {apache_airflow_providers_fab-2.2.0 → apache_airflow_providers_fab-2.2.1}/src/airflow/providers/fab/auth_manager/api/auth/__init__.py +0 -0
  52. {apache_airflow_providers_fab-2.2.0 → apache_airflow_providers_fab-2.2.1}/src/airflow/providers/fab/auth_manager/api/auth/backend/__init__.py +0 -0
  53. {apache_airflow_providers_fab-2.2.0 → apache_airflow_providers_fab-2.2.1}/src/airflow/providers/fab/auth_manager/api/auth/backend/basic_auth.py +0 -0
  54. {apache_airflow_providers_fab-2.2.0 → apache_airflow_providers_fab-2.2.1}/src/airflow/providers/fab/auth_manager/api/auth/backend/kerberos_auth.py +0 -0
  55. {apache_airflow_providers_fab-2.2.0 → apache_airflow_providers_fab-2.2.1}/src/airflow/providers/fab/auth_manager/api/auth/backend/session.py +0 -0
  56. {apache_airflow_providers_fab-2.2.0 → apache_airflow_providers_fab-2.2.1}/src/airflow/providers/fab/auth_manager/api_endpoints/__init__.py +0 -0
  57. {apache_airflow_providers_fab-2.2.0 → apache_airflow_providers_fab-2.2.1}/src/airflow/providers/fab/auth_manager/api_endpoints/role_and_permission_endpoint.py +0 -0
  58. {apache_airflow_providers_fab-2.2.0 → apache_airflow_providers_fab-2.2.1}/src/airflow/providers/fab/auth_manager/api_endpoints/user_endpoint.py +0 -0
  59. {apache_airflow_providers_fab-2.2.0 → apache_airflow_providers_fab-2.2.1}/src/airflow/providers/fab/auth_manager/api_fastapi/__init__.py +0 -0
  60. {apache_airflow_providers_fab-2.2.0 → apache_airflow_providers_fab-2.2.1}/src/airflow/providers/fab/auth_manager/api_fastapi/datamodels/__init__.py +0 -0
  61. {apache_airflow_providers_fab-2.2.0 → apache_airflow_providers_fab-2.2.1}/src/airflow/providers/fab/auth_manager/api_fastapi/datamodels/login.py +0 -0
  62. {apache_airflow_providers_fab-2.2.0 → apache_airflow_providers_fab-2.2.1}/src/airflow/providers/fab/auth_manager/api_fastapi/openapi/__init__.py +0 -0
  63. {apache_airflow_providers_fab-2.2.0 → apache_airflow_providers_fab-2.2.1}/src/airflow/providers/fab/auth_manager/api_fastapi/openapi/v2-fab-auth-manager-generated.yaml +0 -0
  64. {apache_airflow_providers_fab-2.2.0 → apache_airflow_providers_fab-2.2.1}/src/airflow/providers/fab/auth_manager/api_fastapi/routes/__init__.py +0 -0
  65. {apache_airflow_providers_fab-2.2.0 → apache_airflow_providers_fab-2.2.1}/src/airflow/providers/fab/auth_manager/api_fastapi/routes/login.py +0 -0
  66. {apache_airflow_providers_fab-2.2.0 → apache_airflow_providers_fab-2.2.1}/src/airflow/providers/fab/auth_manager/api_fastapi/services/__init__.py +0 -0
  67. {apache_airflow_providers_fab-2.2.0 → apache_airflow_providers_fab-2.2.1}/src/airflow/providers/fab/auth_manager/api_fastapi/services/login.py +0 -0
  68. {apache_airflow_providers_fab-2.2.0 → apache_airflow_providers_fab-2.2.1}/src/airflow/providers/fab/auth_manager/cli_commands/__init__.py +0 -0
  69. {apache_airflow_providers_fab-2.2.0 → apache_airflow_providers_fab-2.2.1}/src/airflow/providers/fab/auth_manager/cli_commands/db_command.py +0 -0
  70. {apache_airflow_providers_fab-2.2.0 → apache_airflow_providers_fab-2.2.1}/src/airflow/providers/fab/auth_manager/cli_commands/definition.py +0 -0
  71. {apache_airflow_providers_fab-2.2.0 → apache_airflow_providers_fab-2.2.1}/src/airflow/providers/fab/auth_manager/cli_commands/role_command.py +0 -0
  72. {apache_airflow_providers_fab-2.2.0 → apache_airflow_providers_fab-2.2.1}/src/airflow/providers/fab/auth_manager/cli_commands/sync_perm_command.py +0 -0
  73. {apache_airflow_providers_fab-2.2.0 → apache_airflow_providers_fab-2.2.1}/src/airflow/providers/fab/auth_manager/cli_commands/user_command.py +0 -0
  74. {apache_airflow_providers_fab-2.2.0 → apache_airflow_providers_fab-2.2.1}/src/airflow/providers/fab/auth_manager/cli_commands/utils.py +0 -0
  75. {apache_airflow_providers_fab-2.2.0 → apache_airflow_providers_fab-2.2.1}/src/airflow/providers/fab/auth_manager/models/__init__.py +0 -0
  76. {apache_airflow_providers_fab-2.2.0 → apache_airflow_providers_fab-2.2.1}/src/airflow/providers/fab/auth_manager/models/anonymous_user.py +0 -0
  77. {apache_airflow_providers_fab-2.2.0 → apache_airflow_providers_fab-2.2.1}/src/airflow/providers/fab/auth_manager/models/db.py +0 -0
  78. {apache_airflow_providers_fab-2.2.0 → apache_airflow_providers_fab-2.2.1}/src/airflow/providers/fab/auth_manager/openapi/__init__.py +0 -0
  79. {apache_airflow_providers_fab-2.2.0 → apache_airflow_providers_fab-2.2.1}/src/airflow/providers/fab/auth_manager/openapi/v1-flask-api.yaml +0 -0
  80. {apache_airflow_providers_fab-2.2.0 → apache_airflow_providers_fab-2.2.1}/src/airflow/providers/fab/auth_manager/schemas/__init__.py +0 -0
  81. {apache_airflow_providers_fab-2.2.0 → apache_airflow_providers_fab-2.2.1}/src/airflow/providers/fab/auth_manager/schemas/role_and_permission_schema.py +0 -0
  82. {apache_airflow_providers_fab-2.2.0 → apache_airflow_providers_fab-2.2.1}/src/airflow/providers/fab/auth_manager/schemas/user_schema.py +0 -0
  83. {apache_airflow_providers_fab-2.2.0 → apache_airflow_providers_fab-2.2.1}/src/airflow/providers/fab/auth_manager/security_manager/__init__.py +0 -0
  84. {apache_airflow_providers_fab-2.2.0 → apache_airflow_providers_fab-2.2.1}/src/airflow/providers/fab/auth_manager/security_manager/constants.py +0 -0
  85. {apache_airflow_providers_fab-2.2.0 → apache_airflow_providers_fab-2.2.1}/src/airflow/providers/fab/auth_manager/views/__init__.py +0 -0
  86. {apache_airflow_providers_fab-2.2.0 → apache_airflow_providers_fab-2.2.1}/src/airflow/providers/fab/auth_manager/views/permissions.py +0 -0
  87. {apache_airflow_providers_fab-2.2.0 → apache_airflow_providers_fab-2.2.1}/src/airflow/providers/fab/auth_manager/views/roles_list.py +0 -0
  88. {apache_airflow_providers_fab-2.2.0 → apache_airflow_providers_fab-2.2.1}/src/airflow/providers/fab/auth_manager/views/user.py +0 -0
  89. {apache_airflow_providers_fab-2.2.0 → apache_airflow_providers_fab-2.2.1}/src/airflow/providers/fab/auth_manager/views/user_edit.py +0 -0
  90. {apache_airflow_providers_fab-2.2.0 → apache_airflow_providers_fab-2.2.1}/src/airflow/providers/fab/auth_manager/views/user_stats.py +0 -0
  91. {apache_airflow_providers_fab-2.2.0 → apache_airflow_providers_fab-2.2.1}/src/airflow/providers/fab/get_provider_info.py +0 -0
  92. {apache_airflow_providers_fab-2.2.0 → apache_airflow_providers_fab-2.2.1}/src/airflow/providers/fab/migrations/README +0 -0
  93. {apache_airflow_providers_fab-2.2.0 → apache_airflow_providers_fab-2.2.1}/src/airflow/providers/fab/migrations/__init__.py +0 -0
  94. {apache_airflow_providers_fab-2.2.0 → apache_airflow_providers_fab-2.2.1}/src/airflow/providers/fab/migrations/env.py +0 -0
  95. {apache_airflow_providers_fab-2.2.0 → apache_airflow_providers_fab-2.2.1}/src/airflow/providers/fab/migrations/script.py.mako +0 -0
  96. {apache_airflow_providers_fab-2.2.0 → apache_airflow_providers_fab-2.2.1}/src/airflow/providers/fab/migrations/versions/0001_1_4_0_placeholder_migration.py +0 -0
  97. {apache_airflow_providers_fab-2.2.0 → apache_airflow_providers_fab-2.2.1}/src/airflow/providers/fab/migrations/versions/__init__.py +0 -0
  98. {apache_airflow_providers_fab-2.2.0 → apache_airflow_providers_fab-2.2.1}/src/airflow/providers/fab/www/__init__.py +0 -0
  99. {apache_airflow_providers_fab-2.2.0 → apache_airflow_providers_fab-2.2.1}/src/airflow/providers/fab/www/airflow_flask_app.py +0 -0
  100. {apache_airflow_providers_fab-2.2.0 → apache_airflow_providers_fab-2.2.1}/src/airflow/providers/fab/www/api_connexion/__init__.py +0 -0
  101. {apache_airflow_providers_fab-2.2.0 → apache_airflow_providers_fab-2.2.1}/src/airflow/providers/fab/www/api_connexion/exceptions.py +0 -0
  102. {apache_airflow_providers_fab-2.2.0 → apache_airflow_providers_fab-2.2.1}/src/airflow/providers/fab/www/api_connexion/parameters.py +0 -0
  103. {apache_airflow_providers_fab-2.2.0 → apache_airflow_providers_fab-2.2.1}/src/airflow/providers/fab/www/api_connexion/security.py +0 -0
  104. {apache_airflow_providers_fab-2.2.0 → apache_airflow_providers_fab-2.2.1}/src/airflow/providers/fab/www/api_connexion/types.py +0 -0
  105. {apache_airflow_providers_fab-2.2.0 → apache_airflow_providers_fab-2.2.1}/src/airflow/providers/fab/www/app.py +0 -0
  106. {apache_airflow_providers_fab-2.2.0 → apache_airflow_providers_fab-2.2.1}/src/airflow/providers/fab/www/auth.py +0 -0
  107. {apache_airflow_providers_fab-2.2.0 → apache_airflow_providers_fab-2.2.1}/src/airflow/providers/fab/www/constants.py +0 -0
  108. {apache_airflow_providers_fab-2.2.0 → apache_airflow_providers_fab-2.2.1}/src/airflow/providers/fab/www/extensions/__init__.py +0 -0
  109. {apache_airflow_providers_fab-2.2.0 → apache_airflow_providers_fab-2.2.1}/src/airflow/providers/fab/www/extensions/init_jinja_globals.py +0 -0
  110. {apache_airflow_providers_fab-2.2.0 → apache_airflow_providers_fab-2.2.1}/src/airflow/providers/fab/www/extensions/init_manifest_files.py +0 -0
  111. {apache_airflow_providers_fab-2.2.0 → apache_airflow_providers_fab-2.2.1}/src/airflow/providers/fab/www/extensions/init_security.py +0 -0
  112. {apache_airflow_providers_fab-2.2.0 → apache_airflow_providers_fab-2.2.1}/src/airflow/providers/fab/www/extensions/init_session.py +0 -0
  113. {apache_airflow_providers_fab-2.2.0 → apache_airflow_providers_fab-2.2.1}/src/airflow/providers/fab/www/extensions/init_views.py +0 -0
  114. {apache_airflow_providers_fab-2.2.0 → apache_airflow_providers_fab-2.2.1}/src/airflow/providers/fab/www/extensions/init_wsgi_middlewares.py +0 -0
  115. {apache_airflow_providers_fab-2.2.0 → apache_airflow_providers_fab-2.2.1}/src/airflow/providers/fab/www/security/__init__.py +0 -0
  116. {apache_airflow_providers_fab-2.2.0 → apache_airflow_providers_fab-2.2.1}/src/airflow/providers/fab/www/security/permissions.py +0 -0
  117. {apache_airflow_providers_fab-2.2.0 → apache_airflow_providers_fab-2.2.1}/src/airflow/providers/fab/www/security_appless.py +0 -0
  118. {apache_airflow_providers_fab-2.2.0 → apache_airflow_providers_fab-2.2.1}/src/airflow/providers/fab/www/security_manager.py +0 -0
  119. {apache_airflow_providers_fab-2.2.0 → apache_airflow_providers_fab-2.2.1}/src/airflow/providers/fab/www/session.py +0 -0
  120. {apache_airflow_providers_fab-2.2.0 → apache_airflow_providers_fab-2.2.1}/src/airflow/providers/fab/www/static/css/bootstrap-theme.css +0 -0
  121. {apache_airflow_providers_fab-2.2.0 → apache_airflow_providers_fab-2.2.1}/src/airflow/providers/fab/www/static/css/flash.css +0 -0
  122. {apache_airflow_providers_fab-2.2.0 → apache_airflow_providers_fab-2.2.1}/src/airflow/providers/fab/www/static/css/loading-dots.css +0 -0
  123. {apache_airflow_providers_fab-2.2.0 → apache_airflow_providers_fab-2.2.1}/src/airflow/providers/fab/www/static/css/main.css +0 -0
  124. {apache_airflow_providers_fab-2.2.0 → apache_airflow_providers_fab-2.2.1}/src/airflow/providers/fab/www/static/css/material-icons.css +0 -0
  125. {apache_airflow_providers_fab-2.2.0 → apache_airflow_providers_fab-2.2.1}/src/airflow/providers/fab/www/static/dist/48f0ea180c40270a5b05.png +0 -0
  126. {apache_airflow_providers_fab-2.2.0 → apache_airflow_providers_fab-2.2.1}/src/airflow/providers/fab/www/static/dist/649c0b07771e68fafdeb.png +0 -0
  127. /apache_airflow_providers_fab-2.2.0/src/airflow/providers/fab/www/static/dist/743.57634ddb93717b7c8c1a.js.LICENSE.txt → /apache_airflow_providers_fab-2.2.1/src/airflow/providers/fab/www/static/dist/743.b6629eaae7f541f4158f.js.LICENSE.txt +0 -0
  128. /apache_airflow_providers_fab-2.2.0/src/airflow/providers/fab/www/static/dist/airflowDefaultTheme.48540e25fb1e474cef20.css → /apache_airflow_providers_fab-2.2.1/src/airflow/providers/fab/www/static/dist/airflowDefaultTheme.5a4eda684d2f5f33fa6a.css +0 -0
  129. /apache_airflow_providers_fab-2.2.0/src/airflow/providers/fab/www/static/dist/airflowDefaultTheme.48540e25fb1e474cef20.js → /apache_airflow_providers_fab-2.2.1/src/airflow/providers/fab/www/static/dist/airflowDefaultTheme.5a4eda684d2f5f33fa6a.js +0 -0
  130. {apache_airflow_providers_fab-2.2.0 → apache_airflow_providers_fab-2.2.1}/src/airflow/providers/fab/www/static/dist/f7490d556a6c42e49ba4.png +0 -0
  131. /apache_airflow_providers_fab-2.2.0/src/airflow/providers/fab/www/static/dist/flash.02dea0c2ac20820e8d1b.css → /apache_airflow_providers_fab-2.2.1/src/airflow/providers/fab/www/static/dist/flash.9f756672299e9e57a824.css +0 -0
  132. /apache_airflow_providers_fab-2.2.0/src/airflow/providers/fab/www/static/dist/flash.02dea0c2ac20820e8d1b.js → /apache_airflow_providers_fab-2.2.1/src/airflow/providers/fab/www/static/dist/flash.9f756672299e9e57a824.js +0 -0
  133. {apache_airflow_providers_fab-2.2.0 → apache_airflow_providers_fab-2.2.1}/src/airflow/providers/fab/www/static/dist/jquery-ui.min.css +0 -0
  134. {apache_airflow_providers_fab-2.2.0 → apache_airflow_providers_fab-2.2.1}/src/airflow/providers/fab/www/static/dist/jquery-ui.min.js +0 -0
  135. {apache_airflow_providers_fab-2.2.0 → apache_airflow_providers_fab-2.2.1}/src/airflow/providers/fab/www/static/dist/jquery-ui.min.js.LICENSE.txt +0 -0
  136. /apache_airflow_providers_fab-2.2.0/src/airflow/providers/fab/www/static/dist/loadingDots.96221bc8b6345c7d65b3.css → /apache_airflow_providers_fab-2.2.1/src/airflow/providers/fab/www/static/dist/loadingDots.fc35e1feb443bd3a8d80.css +0 -0
  137. /apache_airflow_providers_fab-2.2.0/src/airflow/providers/fab/www/static/dist/loadingDots.96221bc8b6345c7d65b3.js → /apache_airflow_providers_fab-2.2.1/src/airflow/providers/fab/www/static/dist/loadingDots.fc35e1feb443bd3a8d80.js +0 -0
  138. /apache_airflow_providers_fab-2.2.0/src/airflow/providers/fab/www/static/dist/main.49c4d5787ef1f247f004.css → /apache_airflow_providers_fab-2.2.1/src/airflow/providers/fab/www/static/dist/main.26e36c3998f451900260.css +0 -0
  139. /apache_airflow_providers_fab-2.2.0/src/airflow/providers/fab/www/static/dist/main.49c4d5787ef1f247f004.js.LICENSE.txt → /apache_airflow_providers_fab-2.2.1/src/airflow/providers/fab/www/static/dist/main.26e36c3998f451900260.js.LICENSE.txt +0 -0
  140. /apache_airflow_providers_fab-2.2.0/src/airflow/providers/fab/www/static/dist/materialIcons.4fd835641d53f81af3d3.css → /apache_airflow_providers_fab-2.2.1/src/airflow/providers/fab/www/static/dist/materialIcons.e84a12f5be6e8d456d02.css +0 -0
  141. /apache_airflow_providers_fab-2.2.0/src/airflow/providers/fab/www/static/dist/materialIcons.4fd835641d53f81af3d3.js → /apache_airflow_providers_fab-2.2.1/src/airflow/providers/fab/www/static/dist/materialIcons.e84a12f5be6e8d456d02.js +0 -0
  142. /apache_airflow_providers_fab-2.2.0/src/airflow/providers/fab/www/static/dist/moment.6943aa3cca9cb1129a71.js → /apache_airflow_providers_fab-2.2.1/src/airflow/providers/fab/www/static/dist/moment.9023635a87b836172067.js +0 -0
  143. {apache_airflow_providers_fab-2.2.0 → apache_airflow_providers_fab-2.2.1}/src/airflow/providers/fab/www/static/dist/oss-licenses.json +0 -0
  144. /apache_airflow_providers_fab-2.2.0/src/airflow/providers/fab/www/static/dist/runtime.3c1a5fcbb3c1b7c62ad7.js → /apache_airflow_providers_fab-2.2.1/src/airflow/providers/fab/www/static/dist/runtime.78bb8f6146c25d99b9e2.js +0 -0
  145. {apache_airflow_providers_fab-2.2.0 → apache_airflow_providers_fab-2.2.1}/src/airflow/providers/fab/www/static/js/datetime_utils.js +0 -0
  146. {apache_airflow_providers_fab-2.2.0 → apache_airflow_providers_fab-2.2.1}/src/airflow/providers/fab/www/static/js/main.js +0 -0
  147. {apache_airflow_providers_fab-2.2.0 → apache_airflow_providers_fab-2.2.1}/src/airflow/providers/fab/www/static/sort_asc.png +0 -0
  148. {apache_airflow_providers_fab-2.2.0 → apache_airflow_providers_fab-2.2.1}/src/airflow/providers/fab/www/static/sort_both.png +0 -0
  149. {apache_airflow_providers_fab-2.2.0 → apache_airflow_providers_fab-2.2.1}/src/airflow/providers/fab/www/static/sort_desc.png +0 -0
  150. {apache_airflow_providers_fab-2.2.0 → apache_airflow_providers_fab-2.2.1}/src/airflow/providers/fab/www/templates/airflow/_messages.html +0 -0
  151. {apache_airflow_providers_fab-2.2.0 → apache_airflow_providers_fab-2.2.1}/src/airflow/providers/fab/www/templates/airflow/error.html +0 -0
  152. {apache_airflow_providers_fab-2.2.0 → apache_airflow_providers_fab-2.2.1}/src/airflow/providers/fab/www/templates/airflow/main.html +0 -0
  153. {apache_airflow_providers_fab-2.2.0 → apache_airflow_providers_fab-2.2.1}/src/airflow/providers/fab/www/templates/airflow/traceback.html +0 -0
  154. {apache_airflow_providers_fab-2.2.0 → apache_airflow_providers_fab-2.2.1}/src/airflow/providers/fab/www/templates/appbuilder/flash.html +0 -0
  155. {apache_airflow_providers_fab-2.2.0 → apache_airflow_providers_fab-2.2.1}/src/airflow/providers/fab/www/templates/appbuilder/index.html +0 -0
  156. {apache_airflow_providers_fab-2.2.0 → apache_airflow_providers_fab-2.2.1}/src/airflow/providers/fab/www/templates/appbuilder/navbar.html +0 -0
  157. {apache_airflow_providers_fab-2.2.0 → apache_airflow_providers_fab-2.2.1}/src/airflow/providers/fab/www/templates/appbuilder/navbar_menu.html +0 -0
  158. {apache_airflow_providers_fab-2.2.0 → apache_airflow_providers_fab-2.2.1}/src/airflow/providers/fab/www/templates/appbuilder/navbar_right.html +0 -0
  159. {apache_airflow_providers_fab-2.2.0 → apache_airflow_providers_fab-2.2.1}/src/airflow/providers/fab/www/utils.py +0 -0
  160. {apache_airflow_providers_fab-2.2.0 → apache_airflow_providers_fab-2.2.1}/src/airflow/providers/fab/www/views.py +0 -0
  161. {apache_airflow_providers_fab-2.2.0 → apache_airflow_providers_fab-2.2.1}/src/airflow/providers/fab/www/webpack.config.js +0 -0
  162. {apache_airflow_providers_fab-2.2.0 → apache_airflow_providers_fab-2.2.1}/tests/conftest.py +0 -0
  163. {apache_airflow_providers_fab-2.2.0 → apache_airflow_providers_fab-2.2.1}/tests/unit/__init__.py +0 -0
  164. {apache_airflow_providers_fab-2.2.0 → apache_airflow_providers_fab-2.2.1}/tests/unit/fab/__init__.py +0 -0
  165. {apache_airflow_providers_fab-2.2.0 → apache_airflow_providers_fab-2.2.1}/tests/unit/fab/auth_manager/__init__.py +0 -0
  166. {apache_airflow_providers_fab-2.2.0 → apache_airflow_providers_fab-2.2.1}/tests/unit/fab/auth_manager/api/__init__.py +0 -0
  167. {apache_airflow_providers_fab-2.2.0 → apache_airflow_providers_fab-2.2.1}/tests/unit/fab/auth_manager/api/auth/__init__.py +0 -0
  168. {apache_airflow_providers_fab-2.2.0 → apache_airflow_providers_fab-2.2.1}/tests/unit/fab/auth_manager/api/auth/backend/__init__.py +0 -0
  169. {apache_airflow_providers_fab-2.2.0 → apache_airflow_providers_fab-2.2.1}/tests/unit/fab/auth_manager/api/auth/backend/test_basic_auth.py +0 -0
  170. {apache_airflow_providers_fab-2.2.0 → apache_airflow_providers_fab-2.2.1}/tests/unit/fab/auth_manager/api/auth/backend/test_kerberos_auth.py +0 -0
  171. {apache_airflow_providers_fab-2.2.0 → apache_airflow_providers_fab-2.2.1}/tests/unit/fab/auth_manager/api/auth/backend/test_session.py +0 -0
  172. {apache_airflow_providers_fab-2.2.0 → apache_airflow_providers_fab-2.2.1}/tests/unit/fab/auth_manager/api_endpoints/__init__.py +0 -0
  173. {apache_airflow_providers_fab-2.2.0 → apache_airflow_providers_fab-2.2.1}/tests/unit/fab/auth_manager/api_endpoints/api_connexion_utils.py +0 -0
  174. {apache_airflow_providers_fab-2.2.0 → apache_airflow_providers_fab-2.2.1}/tests/unit/fab/auth_manager/api_endpoints/remote_user_api_auth_backend.py +0 -0
  175. {apache_airflow_providers_fab-2.2.0 → apache_airflow_providers_fab-2.2.1}/tests/unit/fab/auth_manager/api_endpoints/test_auth.py +0 -0
  176. {apache_airflow_providers_fab-2.2.0 → apache_airflow_providers_fab-2.2.1}/tests/unit/fab/auth_manager/api_endpoints/test_role_and_permission_endpoint.py +0 -0
  177. {apache_airflow_providers_fab-2.2.0 → apache_airflow_providers_fab-2.2.1}/tests/unit/fab/auth_manager/api_endpoints/test_user_endpoint.py +0 -0
  178. {apache_airflow_providers_fab-2.2.0 → apache_airflow_providers_fab-2.2.1}/tests/unit/fab/auth_manager/api_fastapi/__init__.py +0 -0
  179. {apache_airflow_providers_fab-2.2.0 → apache_airflow_providers_fab-2.2.1}/tests/unit/fab/auth_manager/api_fastapi/conftest.py +0 -0
  180. {apache_airflow_providers_fab-2.2.0 → apache_airflow_providers_fab-2.2.1}/tests/unit/fab/auth_manager/api_fastapi/routes/__init__.py +0 -0
  181. {apache_airflow_providers_fab-2.2.0 → apache_airflow_providers_fab-2.2.1}/tests/unit/fab/auth_manager/api_fastapi/routes/test_login.py +0 -0
  182. {apache_airflow_providers_fab-2.2.0 → apache_airflow_providers_fab-2.2.1}/tests/unit/fab/auth_manager/api_fastapi/services/__init__.py +0 -0
  183. {apache_airflow_providers_fab-2.2.0 → apache_airflow_providers_fab-2.2.1}/tests/unit/fab/auth_manager/api_fastapi/services/test_login.py +0 -0
  184. {apache_airflow_providers_fab-2.2.0 → apache_airflow_providers_fab-2.2.1}/tests/unit/fab/auth_manager/cli_commands/__init__.py +0 -0
  185. {apache_airflow_providers_fab-2.2.0 → apache_airflow_providers_fab-2.2.1}/tests/unit/fab/auth_manager/cli_commands/test_db_command.py +0 -0
  186. {apache_airflow_providers_fab-2.2.0 → apache_airflow_providers_fab-2.2.1}/tests/unit/fab/auth_manager/cli_commands/test_definition.py +0 -0
  187. {apache_airflow_providers_fab-2.2.0 → apache_airflow_providers_fab-2.2.1}/tests/unit/fab/auth_manager/cli_commands/test_role_command.py +0 -0
  188. {apache_airflow_providers_fab-2.2.0 → apache_airflow_providers_fab-2.2.1}/tests/unit/fab/auth_manager/cli_commands/test_sync_perm_command.py +0 -0
  189. {apache_airflow_providers_fab-2.2.0 → apache_airflow_providers_fab-2.2.1}/tests/unit/fab/auth_manager/cli_commands/test_user_command.py +0 -0
  190. {apache_airflow_providers_fab-2.2.0 → apache_airflow_providers_fab-2.2.1}/tests/unit/fab/auth_manager/cli_commands/test_utils.py +0 -0
  191. {apache_airflow_providers_fab-2.2.0 → apache_airflow_providers_fab-2.2.1}/tests/unit/fab/auth_manager/conftest.py +0 -0
  192. {apache_airflow_providers_fab-2.2.0 → apache_airflow_providers_fab-2.2.1}/tests/unit/fab/auth_manager/models/__init__.py +0 -0
  193. {apache_airflow_providers_fab-2.2.0 → apache_airflow_providers_fab-2.2.1}/tests/unit/fab/auth_manager/models/test_anonymous_user.py +0 -0
  194. {apache_airflow_providers_fab-2.2.0 → apache_airflow_providers_fab-2.2.1}/tests/unit/fab/auth_manager/models/test_db.py +0 -0
  195. {apache_airflow_providers_fab-2.2.0 → apache_airflow_providers_fab-2.2.1}/tests/unit/fab/auth_manager/schemas/__init__.py +0 -0
  196. {apache_airflow_providers_fab-2.2.0 → apache_airflow_providers_fab-2.2.1}/tests/unit/fab/auth_manager/schemas/test_role_and_permission_schema.py +0 -0
  197. {apache_airflow_providers_fab-2.2.0 → apache_airflow_providers_fab-2.2.1}/tests/unit/fab/auth_manager/schemas/test_user_schema.py +0 -0
  198. {apache_airflow_providers_fab-2.2.0 → apache_airflow_providers_fab-2.2.1}/tests/unit/fab/auth_manager/security_manager/__init__.py +0 -0
  199. {apache_airflow_providers_fab-2.2.0 → apache_airflow_providers_fab-2.2.1}/tests/unit/fab/auth_manager/security_manager/test_constants.py +0 -0
  200. {apache_airflow_providers_fab-2.2.0 → apache_airflow_providers_fab-2.2.1}/tests/unit/fab/auth_manager/security_manager/test_override.py +0 -0
  201. {apache_airflow_providers_fab-2.2.0 → apache_airflow_providers_fab-2.2.1}/tests/unit/fab/auth_manager/test_models.py +0 -0
  202. {apache_airflow_providers_fab-2.2.0 → apache_airflow_providers_fab-2.2.1}/tests/unit/fab/auth_manager/test_security.py +0 -0
  203. {apache_airflow_providers_fab-2.2.0 → apache_airflow_providers_fab-2.2.1}/tests/unit/fab/auth_manager/views/__init__.py +0 -0
  204. {apache_airflow_providers_fab-2.2.0 → apache_airflow_providers_fab-2.2.1}/tests/unit/fab/auth_manager/views/test_permissions.py +0 -0
  205. {apache_airflow_providers_fab-2.2.0 → apache_airflow_providers_fab-2.2.1}/tests/unit/fab/auth_manager/views/test_roles_list.py +0 -0
  206. {apache_airflow_providers_fab-2.2.0 → apache_airflow_providers_fab-2.2.1}/tests/unit/fab/auth_manager/views/test_user.py +0 -0
  207. {apache_airflow_providers_fab-2.2.0 → apache_airflow_providers_fab-2.2.1}/tests/unit/fab/auth_manager/views/test_user_edit.py +0 -0
  208. {apache_airflow_providers_fab-2.2.0 → apache_airflow_providers_fab-2.2.1}/tests/unit/fab/auth_manager/views/test_user_stats.py +0 -0
  209. {apache_airflow_providers_fab-2.2.0 → apache_airflow_providers_fab-2.2.1}/tests/unit/fab/decorators.py +0 -0
  210. {apache_airflow_providers_fab-2.2.0 → apache_airflow_providers_fab-2.2.1}/tests/unit/fab/utils.py +0 -0
  211. {apache_airflow_providers_fab-2.2.0 → apache_airflow_providers_fab-2.2.1}/tests/unit/fab/www/__init__.py +0 -0
  212. {apache_airflow_providers_fab-2.2.0 → apache_airflow_providers_fab-2.2.1}/tests/unit/fab/www/test_auth.py +0 -0
  213. {apache_airflow_providers_fab-2.2.0 → apache_airflow_providers_fab-2.2.1}/tests/unit/fab/www/test_utils.py +0 -0
  214. {apache_airflow_providers_fab-2.2.0 → apache_airflow_providers_fab-2.2.1}/tests/unit/fab/www/views/__init__.py +0 -0
  215. {apache_airflow_providers_fab-2.2.0 → apache_airflow_providers_fab-2.2.1}/tests/unit/fab/www/views/conftest.py +0 -0
  216. {apache_airflow_providers_fab-2.2.0 → apache_airflow_providers_fab-2.2.1}/tests/unit/fab/www/views/test_connection_form_fields.py +0 -0
  217. {apache_airflow_providers_fab-2.2.0 → apache_airflow_providers_fab-2.2.1}/tests/unit/fab/www/views/test_views_custom_user_views.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: apache-airflow-providers-fab
3
- Version: 2.2.0
3
+ Version: 2.2.1
4
4
  Summary: Provider package apache-airflow-providers-fab for Apache Airflow
5
5
  Keywords: airflow-provider,fab,airflow,integration
6
6
  Author-email: Apache Software Foundation <dev@airflow.apache.org>
@@ -36,8 +36,8 @@ Requires-Dist: werkzeug>=2.2,<4
36
36
  Requires-Dist: wtforms>=3.0,<4
37
37
  Requires-Dist: kerberos>=1.3.0 ; extra == "kerberos"
38
38
  Project-URL: Bug Tracker, https://github.com/apache/airflow/issues
39
- Project-URL: Changelog, https://airflow.apache.org/docs/apache-airflow-providers-fab/2.2.0/changelog.html
40
- Project-URL: Documentation, https://airflow.apache.org/docs/apache-airflow-providers-fab/2.2.0
39
+ Project-URL: Changelog, https://airflow.apache.org/docs/apache-airflow-providers-fab/2.2.1/changelog.html
40
+ Project-URL: Documentation, https://airflow.apache.org/docs/apache-airflow-providers-fab/2.2.1
41
41
  Project-URL: Mastodon, https://fosstodon.org/@airflow
42
42
  Project-URL: Slack Chat, https://s.apache.org/airflow-slack
43
43
  Project-URL: Source Code, https://github.com/apache/airflow
@@ -69,7 +69,7 @@ Provides-Extra: kerberos
69
69
 
70
70
  Package ``apache-airflow-providers-fab``
71
71
 
72
- Release: ``2.2.0``
72
+ Release: ``2.2.1``
73
73
 
74
74
 
75
75
  `Flask App Builder <https://flask-appbuilder.readthedocs.io/>`__
@@ -82,7 +82,7 @@ This is a provider package for ``fab`` provider. All classes for this provider p
82
82
  are in ``airflow.providers.fab`` python package.
83
83
 
84
84
  You can find package information and changelog for the provider
85
- in the `documentation <https://airflow.apache.org/docs/apache-airflow-providers-fab/2.2.0/>`_.
85
+ in the `documentation <https://airflow.apache.org/docs/apache-airflow-providers-fab/2.2.1/>`_.
86
86
 
87
87
  Installation
88
88
  ------------
@@ -133,5 +133,5 @@ Dependent package
133
133
  ================================================================================================================== =================
134
134
 
135
135
  The changelog for the provider package can be found in the
136
- `changelog <https://airflow.apache.org/docs/apache-airflow-providers-fab/2.2.0/changelog.html>`_.
136
+ `changelog <https://airflow.apache.org/docs/apache-airflow-providers-fab/2.2.1/changelog.html>`_.
137
137
 
@@ -23,7 +23,7 @@
23
23
 
24
24
  Package ``apache-airflow-providers-fab``
25
25
 
26
- Release: ``2.2.0``
26
+ Release: ``2.2.1``
27
27
 
28
28
 
29
29
  `Flask App Builder <https://flask-appbuilder.readthedocs.io/>`__
@@ -36,7 +36,7 @@ This is a provider package for ``fab`` provider. All classes for this provider p
36
36
  are in ``airflow.providers.fab`` python package.
37
37
 
38
38
  You can find package information and changelog for the provider
39
- in the `documentation <https://airflow.apache.org/docs/apache-airflow-providers-fab/2.2.0/>`_.
39
+ in the `documentation <https://airflow.apache.org/docs/apache-airflow-providers-fab/2.2.1/>`_.
40
40
 
41
41
  Installation
42
42
  ------------
@@ -87,4 +87,4 @@ Dependent package
87
87
  ================================================================================================================== =================
88
88
 
89
89
  The changelog for the provider package can be found in the
90
- `changelog <https://airflow.apache.org/docs/apache-airflow-providers-fab/2.2.0/changelog.html>`_.
90
+ `changelog <https://airflow.apache.org/docs/apache-airflow-providers-fab/2.2.1/changelog.html>`_.
@@ -20,6 +20,31 @@
20
20
  Changelog
21
21
  ---------
22
22
 
23
+ 2.2.1
24
+ .....
25
+
26
+ Bug Fixes
27
+ ~~~~~~~~~
28
+
29
+ * ``Fix: allow users with specific DAG permissions to access DAGs when no pecific DAG is requested (#51462)``
30
+ * ``Fix fab asset compilation hashing script (#51446)``
31
+ * ``Fix default setting for hash algorithm for FAB password hash (#51858)``
32
+
33
+ Misc
34
+ ~~~~
35
+
36
+ * ``Add back security api in FAB auth manager (#51578)``
37
+ * ``Bump @babel/eslint-parser from 7.27.1 to 7.27.5 in /providers/fab/src/airflow/providers/fab/www in the fab-ui-package-updates group across 1 directory (#51375)``
38
+
39
+ Doc-only
40
+ ~~~~~~~~
41
+
42
+ * ``Fix docstring in 'FabAuthManager' (#51892)``
43
+
44
+ .. Below changes are excluded from the changelog. Move them to
45
+ appropriate section above if needed. Do not delete the lines(!):
46
+ * ``Prepare release for June 2025 provider wave (#51724)``
47
+
23
48
  2.2.0
24
49
  .....
25
50
 
@@ -84,7 +84,7 @@ apache-airflow-providers-fab package
84
84
  `Flask App Builder <https://flask-appbuilder.readthedocs.io/>`__
85
85
 
86
86
 
87
- Release: 2.2.0
87
+ Release: 2.2.1
88
88
 
89
89
  Provider package
90
90
  ----------------
@@ -146,5 +146,5 @@ Downloading official packages
146
146
  You can download officially released packages and verify their checksums and signatures from the
147
147
  `Official Apache Download site <https://downloads.apache.org/airflow/providers/>`_
148
148
 
149
- * `The apache-airflow-providers-fab 2.2.0 sdist package <https://downloads.apache.org/airflow/providers/apache_airflow_providers_fab-2.2.0.tar.gz>`_ (`asc <https://downloads.apache.org/airflow/providers/apache_airflow_providers_fab-2.2.0.tar.gz.asc>`__, `sha512 <https://downloads.apache.org/airflow/providers/apache_airflow_providers_fab-2.2.0.tar.gz.sha512>`__)
150
- * `The apache-airflow-providers-fab 2.2.0 wheel package <https://downloads.apache.org/airflow/providers/apache_airflow_providers_fab-2.2.0-py3-none-any.whl>`_ (`asc <https://downloads.apache.org/airflow/providers/apache_airflow_providers_fab-2.2.0-py3-none-any.whl.asc>`__, `sha512 <https://downloads.apache.org/airflow/providers/apache_airflow_providers_fab-2.2.0-py3-none-any.whl.sha512>`__)
149
+ * `The apache-airflow-providers-fab 2.2.1 sdist package <https://downloads.apache.org/airflow/providers/apache_airflow_providers_fab-2.2.1.tar.gz>`_ (`asc <https://downloads.apache.org/airflow/providers/apache_airflow_providers_fab-2.2.1.tar.gz.asc>`__, `sha512 <https://downloads.apache.org/airflow/providers/apache_airflow_providers_fab-2.2.1.tar.gz.sha512>`__)
150
+ * `The apache-airflow-providers-fab 2.2.1 wheel package <https://downloads.apache.org/airflow/providers/apache_airflow_providers_fab-2.2.1-py3-none-any.whl>`_ (`asc <https://downloads.apache.org/airflow/providers/apache_airflow_providers_fab-2.2.1-py3-none-any.whl.asc>`__, `sha512 <https://downloads.apache.org/airflow/providers/apache_airflow_providers_fab-2.2.1-py3-none-any.whl.sha512>`__)
@@ -28,13 +28,14 @@ description: |
28
28
  # For providers until we think it should be released.
29
29
  state: ready
30
30
 
31
- source-date-epoch: 1747132761
31
+ source-date-epoch: 1749896451
32
32
 
33
33
  # Note that those versions are maintained by release manager - do not update them manually
34
34
  # with the exception of case where other provider in sources has >= new provider version.
35
35
  # In such case adding >= NEW_VERSION and bumping to NEW_VERSION in a provider have
36
36
  # to be done in the same PR
37
37
  versions:
38
+ - 2.2.1
38
39
  - 2.2.0
39
40
  - 2.1.0
40
41
  - 2.0.2
@@ -25,7 +25,7 @@ build-backend = "flit_core.buildapi"
25
25
 
26
26
  [project]
27
27
  name = "apache-airflow-providers-fab"
28
- version = "2.2.0"
28
+ version = "2.2.1"
29
29
  description = "Provider package apache-airflow-providers-fab for Apache Airflow"
30
30
  readme = "README.rst"
31
31
  authors = [
@@ -127,8 +127,8 @@ apache-airflow-providers-common-sql = {workspace = true}
127
127
  apache-airflow-providers-standard = {workspace = true}
128
128
 
129
129
  [project.urls]
130
- "Documentation" = "https://airflow.apache.org/docs/apache-airflow-providers-fab/2.2.0"
131
- "Changelog" = "https://airflow.apache.org/docs/apache-airflow-providers-fab/2.2.0/changelog.html"
130
+ "Documentation" = "https://airflow.apache.org/docs/apache-airflow-providers-fab/2.2.1"
131
+ "Changelog" = "https://airflow.apache.org/docs/apache-airflow-providers-fab/2.2.1/changelog.html"
132
132
  "Bug Tracker" = "https://github.com/apache/airflow/issues"
133
133
  "Source Code" = "https://github.com/apache/airflow"
134
134
  "Slack Chat" = "https://s.apache.org/airflow-slack"
@@ -29,7 +29,7 @@ from airflow import __version__ as airflow_version
29
29
 
30
30
  __all__ = ["__version__"]
31
31
 
32
- __version__ = "2.2.0"
32
+ __version__ = "2.2.1"
33
33
 
34
34
  if packaging.version.parse(packaging.version.parse(airflow_version).base_version) < packaging.version.parse(
35
35
  "3.0.2"
@@ -308,9 +308,9 @@ class FabAuthManager(BaseAuthManager[User]):
308
308
 
309
309
  There are multiple scenarios:
310
310
 
311
- 1. ``dag_access`` is not provided which means the user wants to access the DAG itself and not a sub
311
+ 1. ``access_entity`` is not provided which means the user wants to access the DAG itself and not a sub
312
312
  entity (e.g. DAG runs).
313
- 2. ``dag_access`` is provided which means the user wants to access a sub entity of the DAG
313
+ 2. ``access_entity`` is provided which means the user wants to access a sub entity of the DAG
314
314
  (e.g. DAG runs).
315
315
 
316
316
  a. If ``method`` is GET, then check the user has READ permissions on the DAG and the sub entity.
@@ -564,8 +564,8 @@ class FabAuthManager(BaseAuthManager[User]):
564
564
  # Check whether the user has permissions to access a specific DAG
565
565
  resource_dag_name = permissions.resource_name(details.id, RESOURCE_DAG)
566
566
  return self._is_authorized(method=method, resource_type=resource_dag_name, user=user)
567
-
568
- return False
567
+ authorized_dags = self.get_authorized_dag_ids(user=user, method=method)
568
+ return len(authorized_dags) > 0
569
569
 
570
570
  def _is_authorized_dag_run(
571
571
  self,
@@ -590,8 +590,8 @@ class FabAuthManager(BaseAuthManager[User]):
590
590
  # Check whether the user has permissions to access a specific DAG Run permission on a DAG Level
591
591
  resource_dag_name = permissions.resource_name(details.id, RESOURCE_DAG_RUN)
592
592
  return self._is_authorized(method=method, resource_type=resource_dag_name, user=user)
593
-
594
- return False
593
+ authorized_dags = self.get_authorized_dag_ids(user=user, method=method)
594
+ return len(authorized_dags) > 0
595
595
 
596
596
  @staticmethod
597
597
  def _get_fab_action(method: ResourceMethod) -> str:
@@ -43,6 +43,7 @@ from flask_appbuilder.const import (
43
43
  )
44
44
  from flask_appbuilder.models.sqla import Base
45
45
  from flask_appbuilder.models.sqla.interface import SQLAInterface
46
+ from flask_appbuilder.security.api import SecurityApi
46
47
  from flask_appbuilder.security.registerviews import (
47
48
  RegisterUserDBView,
48
49
  RegisterUserOAuthView,
@@ -187,6 +188,10 @@ class FabAirflowSecurityManagerOverride(AirflowSecurityManagerV2):
187
188
  useroidmodelview = CustomUserOIDModelView
188
189
  userstatschartview = CustomUserStatsChartView
189
190
 
191
+ # API
192
+ security_api = SecurityApi
193
+ """ Override if you want your own Security API login endpoint """
194
+
190
195
  jwt_manager = None
191
196
  """ Flask-JWT-Extended """
192
197
  oauth = None
@@ -401,6 +406,9 @@ class FabAirflowSecurityManagerOverride(AirflowSecurityManagerV2):
401
406
  if not self.appbuilder.get_app.config.get("FAB_ADD_SECURITY_VIEWS", True):
402
407
  return
403
408
 
409
+ # Security APIs
410
+ self.appbuilder.add_api(self.security_api)
411
+
404
412
  if self.auth_user_registration:
405
413
  if self.auth_type == AUTH_DB:
406
414
  self.registeruser_view = self.registeruserdbview()
@@ -743,6 +751,15 @@ class FabAirflowSecurityManagerOverride(AirflowSecurityManagerV2):
743
751
  """Get the builtin roles."""
744
752
  return self._builtin_roles
745
753
 
754
+ @property
755
+ def api_login_allow_multiple_providers(self):
756
+ return self.appbuilder.get_app.config["AUTH_API_LOGIN_ALLOW_MULTIPLE_PROVIDERS"]
757
+
758
+ @property
759
+ def auth_type_provider_name(self):
760
+ provider_to_auth_type = {AUTH_DB: "db", AUTH_LDAP: "ldap"}
761
+ return provider_to_auth_type.get(self.auth_type)
762
+
746
763
  def _init_config(self):
747
764
  """
748
765
  Initialize config.
@@ -767,12 +784,14 @@ class FabAirflowSecurityManagerOverride(AirflowSecurityManagerV2):
767
784
 
768
785
  parsed_werkzeug_version = Version(werkzeug_version)
769
786
  if parsed_werkzeug_version < Version("3.0.0"):
787
+ app.config.setdefault("FAB_PASSWORD_HASH_METHOD", "pbkdf2:sha256")
770
788
  app.config.setdefault(
771
789
  "AUTH_DB_FAKE_PASSWORD_HASH_CHECK",
772
790
  "pbkdf2:sha256:150000$Z3t6fmj2$22da622d94a1f8118"
773
791
  "c0976a03d2f18f680bfff877c9a965db9eedc51bc0be87c",
774
792
  )
775
793
  else:
794
+ app.config.setdefault("FAB_PASSWORD_HASH_METHOD", "scrypt")
776
795
  app.config.setdefault(
777
796
  "AUTH_DB_FAKE_PASSWORD_HASH_CHECK",
778
797
  "scrypt:32768:8:1$wiDa0ruWlIPhp9LM$6e409d093e62ad54df2af895d0e125b05ff6cf6414"
@@ -525,6 +525,14 @@ class AirflowAppBuilder:
525
525
  log.warning(LOGMSG_WAR_FAB_VIEW_EXISTS, baseview.__class__.__name__)
526
526
  return baseview
527
527
 
528
+ def add_api(self, baseview):
529
+ """
530
+ Add a BaseApi class or child to AppBuilder.
531
+
532
+ :param baseview: A BaseApi type class
533
+ """
534
+ return self.add_view_no_menu(baseview)
535
+
528
536
  @property
529
537
  def get_url_for_index(self):
530
538
  return url_for(f"{self.indexview.endpoint}.{self.indexview.default_view}")
@@ -14,7 +14,7 @@
14
14
  },
15
15
  "devDependencies": {
16
16
  "@babel/core": "^7.27.4",
17
- "@babel/eslint-parser": "^7.27.1",
17
+ "@babel/eslint-parser": "^7.27.5",
18
18
  "@babel/plugin-transform-runtime": "^7.27.4",
19
19
  "@babel/preset-env": "^7.27.2",
20
20
  "babel-loader": "^10.0.0",
@@ -112,9 +112,9 @@
112
112
  }
113
113
  },
114
114
  "node_modules/@babel/eslint-parser": {
115
- "version": "7.27.1",
116
- "resolved": "https://registry.npmjs.org/@babel/eslint-parser/-/eslint-parser-7.27.1.tgz",
117
- "integrity": "sha512-q8rjOuadH0V6Zo4XLMkJ3RMQ9MSBqwaDByyYB0izsYdaIWGNLmEblbCOf1vyFHICcg16CD7Fsi51vcQnYxmt6Q==",
115
+ "version": "7.27.5",
116
+ "resolved": "https://registry.npmjs.org/@babel/eslint-parser/-/eslint-parser-7.27.5.tgz",
117
+ "integrity": "sha512-HLkYQfRICudzcOtjGwkPvGc5nF1b4ljLZh1IRDj50lRZ718NAKVgQpIAUX8bfg6u/yuSKY3L7E0YzIV+OxrB8Q==",
118
118
  "dev": true,
119
119
  "license": "MIT",
120
120
  "dependencies": {
@@ -40,7 +40,7 @@
40
40
  },
41
41
  "devDependencies": {
42
42
  "@babel/core": "^7.27.4",
43
- "@babel/eslint-parser": "^7.27.1",
43
+ "@babel/eslint-parser": "^7.27.5",
44
44
  "@babel/plugin-transform-runtime": "^7.27.4",
45
45
  "@babel/preset-env": "^7.27.2",
46
46
  "babel-loader": "^10.0.0",