Repository navigation
Status of testing Providers that were prepared on August 18, 2026 #71847
Description
Body
I have a kind request for all the contributors to the latest provider distributions release.
Could you please help us to test the RC versions of the providers?
The guidelines on how to test providers can be found in
Verify providers by contributors
Let us know in the comments, whether the issue is addressed.
These are providers that require testing as there were some substantial changes introduced:
Provider amazon: 9.35.0rc1
- Replace
resume_glue_job_on_retrywith durable execution forGlueJobOperator(#71211): @amoghrajesh
Linked issues: - Prevent a broken job from stalling AWS Batch executor sync (#71380): @AlexanderBLR
- Fail Glue job tasks promptly when a verbose job run errors (#71570): @rjgoyln
Linked issues: - Make
durablereachdefault_argsand warn when set below Airflow 3.3 (#71531): @amoghrajesh - Fail Glue job tasks stopped mid-run in deferrable verbose mode (#71495): @rjgoyln
Linked issues: - Include Bedrock ingestion job failure reasons in the error messages (#71124): @ferruzzi
- Narrow AirflowException to specific exceptions in DataSync operator (#70152): @haseebmalik18
- Move SendGrid and SES email backend setup docs to their providers (#71571): @eladkal
- Add type annotations for Airflow connection in SQL lineage hooks (#70815): @VladaZakharova
- Fix incorrect documented defaults for MwaaTriggerDagRunOperator waiter params (#71740): @maupatel
- Document how clearing tasks works with task state store on durable operators (#71358): @amoghrajesh
Provider anthropic: 0.3.0rc1
- Record Anthropic agent session token usage and cost in XCom (#71463): @kaxil
- Add a budget argument to AnthropicAgentSessionOperator (#71462): @kaxil
- Interrupt a running Anthropic session before archiving it (#71465): @kaxil
- Fix misleading error when an Anthropic agent session stops on its budget (#71461): @kaxil
- Document Anthropic advisor rosters and pinned inference regions (#71464): @kaxil
Provider apache.hdfs: 4.13.0rc1
- Add HdfsRemoteLogIO.from_config and register hdfs remote logging scheme (#71278): @baha-bouali
Linked issues:
Provider apache.iceberg: 2.1.0rc1
Provider apache.kafka: 1.16.0rc1
- Kafka: Return consumed message results on request (#69740): @Vamsi-klu
Linked issues:
Provider apache.livy: 4.6.1rc1
Provider apache.spark: 6.3.2rc1
- Make SparkSubmitOperator durable execution inert below Airflow 3.3 (#71534): @amoghrajesh
- Make
durablereachdefault_argsand warn when set below Airflow 3.3 (#71531): @amoghrajesh - Document how clearing tasks works with task state store on durable operators (#71358): @amoghrajesh
Provider cncf.kubernetes: 10.21.1rc1
- Make KPO durable execution inert below Airflow 3.3 (#71492): @amoghrajesh
- Coerce explicit None _request_timeout in async/sync k8s API clients (#69611): @ZhaoMJ
- added missing argument docs (#71217): @Nataneljpwd
Provider common.ai: 0.8.0rc1
- Add SandboxToolset for sandboxed agent shell and file access (#68847): @zozo123
Linked issues: - Support require_approval in LLMSchemaCompareOperator (#71051): @guan404ming
- Bound SQL toolset query results by size, not just row count (#71317): @kaxil
- Support custom redaction and message length cap in LLMRetryPolicy (#70830): @Lee-W
- Let the agent retry on a rejected DataFusion query instead of failing (#71445): @ColtenOuO
- Show which LLM providers each Common AI connection type reaches (#70497): @Lee-W
- Document the dedicated pydantic-ai vendor connection types (#71774): @Lee-W
- Document the common-ai MCPHook (#71817): @Lee-W
- Document the common-ai LangChain and LlamaIndex connection types (#71818): @Lee-W
- Fix and expand the common-ai provider's When to use guidance (#71820): @Lee-W
- Add LLMSchemaCompareOperator to the common-ai operator index table (#71738): @ColtenOuO
Provider common.sql: 2.1.1rc1
Provider databricks: 7.19.0rc1
- Add Databricks SQL warehouse lifecycle operators (#70088): @Vamsi-klu
Linked issues: - Add performance_target parameter to DatabricksSubmitRunOperator (#71374): @li-xiang-db
- Add Databricks-native retry settings to task operators (#69182): @Beat-Nick
- Make
durablereachdefault_argsand warn when set below Airflow 3.3 (#71531): @amoghrajesh - Document how clearing tasks works with task state store on durable operators (#71358): @amoghrajesh
Provider edge3: 4.3.1rc1
Provider fab: 3.8.1rc1
- Validate issuer and audience of Azure AD id_tokens in FAB auth manager (#71735): @potiuk
- Add pnpm overrides after audit review in fab provider (#71448): @vincbeck
- Fix SSO docs pointing at the pre-Airflow 3 OAuth redirect path (#71624): @MannXo
Linked issues: - Document API token response details (#71583): @feberbo
Provider git: 0.4.3rc1
- Fix malformed GitDagBundle error message for missing repository path (#70622): @WonYong-Jang
- Document commit SHA support for GitDagBundle tracking_ref (#69735): @coleheflin
Linked issues:
Provider google: 22.4.0rc1
- Support sovereign console links (#70001): @auyua9
Linked issues: - Add synchronous Vertex AI Agent Engine query operator (#70933): @AlejandroMorgante
Linked issues: - Add Cloud Run job links during execution (#70179): @VladaZakharova
- Prepare Cloud Batch jobs before template rendering (#70835): @shivaam
Linked issues: - Improve BigQuerytoSQL column lineage rendering (#70816): @VladaZakharova
- Make
durablereachdefault_argsand warn when set below Airflow 3.3 (#71531): @amoghrajesh - Use latest Google Ads API version by default (#71280): @VladaZakharova
- Restore the evaluation extra of google-cloud-aiplatform (#71520): @potiuk
Linked issues: - Add type annotations for Airflow connection in SQL lineage hooks (#70815): @VladaZakharova
Provider hashicorp: 4.8.1rc1
Provider jdbc: 5.5.1rc1
Provider keycloak: 0.9.0rc2
- Grant team Op role access to team Dags in Keycloak auth manager (#71572): @coleheflin
Linked issues: - Make KeycloakAuthManager cache configurable (#70839): @stephen-bracken
- Add KeycloakJWTMiddleware to KeycloakAuthManager (#70800): @stephen-bracken
Linked issues: - Fix Airflow JWT getting cleared in KeycloakAuthManager /login_callback route (#71077): @stephen-bracken
Linked issues: - Fix login loop when the login callback carries an expired Airflow JWT in KeycloakAuthManager (#71506): @stegololz
Linked issues: - Implement bulk authorization methods in KeycloakAuthManager (#70647): @abhishekmauryaKsolves
Linked issues: - Fix Keycloak multi-team permission repair (#71614): @fat-catTW
Linked issues: - Make Keycloak permission creation quietly idempotent like its sibling helpers (#71505): @stegololz
Linked issues: - Fix Keycloak access for individual roles (#70906): @dhkim1920
Linked issues: - Move keycloak JWT tokens to separate cookies (#70550): @stephen-bracken
Linked issues: - Disable separate Keycloak JWTs for Airflow v3.2- (#70981): @stephen-bracken
- Remove groups claim from access tokens in Keycloak clients from the KeycloakAuthManager cli (#71093): @stephen-bracken
Linked issues:
Provider microsoft.azure: 15.0.0rc1
- Azure batch 15x migration (#71071): @baha-bouali
Linked issues: - Support certificate auth for Microsoft Graph filesystem (#71362): @fat-catTW
Linked issues: - Keep MSGraph request configuration across paginated pages (#71649): @SEPURI-SAI-KRISHNA
- Fix Microsoft Graph filesystem auth by defaulting OAuth2 scope (#70879): @haseebmalik18
Linked issues: - Check GCSToAzureBlobStorageOperator match_glob support after template… (#70574): @bramhanandlingala
Linked issues:
Provider microsoft.mssql: 4.7.1rc1
Provider microsoft.psrp: 3.2.7rc1
Provider mysql: 6.6.2rc1
Provider openlineage: 2.20.1rc1
- Fix incorrect availability versions for OpenLineage config options (#71449): @ramitkataria
- UI: Show owning team on Dag, Dag Run, and Task Instance detail pages (#70312): @vincbeck
Provider oracle: 4.6.3rc1
Provider postgres: 7.0.2rc1
Provider samba: 4.13.0rc1
- Add auth_protocol support to SambaHook for Kerberos authentication #29590 (#64643): @haseebmalik18
Linked issues:- Linked Issue #29590: @mrBlackHat777
Provider snowflake: 6.16.1rc1
- Make
durablereachdefault_argsand warn when set below Airflow 3.3 (#71531): @amoghrajesh - Document how clearing tasks works with task state store on durable operators (#71358): @amoghrajesh
Provider standard: 1.18.0rc1
Provider tableau: 5.6.1rc1
- Skip Tableau refresh/task run on 409093 resource conflict (#69382): @jayamanikharyono
All users involved in the PRs:
@guan404ming @ryanahamilton @li-xiang-db @coleheflin @AlejandroMorgante @Nataneljpwd @abhishekmauryaKsolves @WonYong-Jang @rjgoyln @VladaZakharova @ramitkataria @vincbeck @ferruzzi @Lee-W @SEPURI-SAI-KRISHNA @eladkal @auyua9 @feberbo @dhkim1920 @kaxil @Vamsi-klu @Beat-Nick @fat-catTW @jayamanikharyono @stegololz @mitre88 @ColtenOuO @MannXo @zozo123 @ZhaoMJ @maupatel @bramhanandlingala @baha-bouali @shivaam @1fanwang @jason810496 @amoghrajesh @potiuk @haseebmalik18 @stephen-bracken @AlexanderBLR
Committer
- I acknowledge that I am a maintainer/committer of the Apache Airflow project.
Activity
stephen-bracken commentedon Aug 19, 2026
keycloak 0.9.0rc2
Keycloak JWT changes #70800 #71077 #71506 and #70550 all working on v3.3.0, Keycloak cookies are created and read correctly.
MannXo commentedon Aug 19, 2026
Verified the
fab 3.8.1rc1item for #71624 (docs fix for #71569).Setup: Airflow 3.3.1 with
apache-airflow-providers-fab==3.8.1rc1on Python 3.12, installed against the 3.3.1 constraints file with the fab pin removed so the RC could go in without dragging pre-release builds of SQLAlchemy and friends along.FabAuthManagerenabled,AUTH_TYPE = AUTH_OAUTH, onegoogleentry inOAUTH_PROVIDERSwith dummy credentials.What the running RC does:
/auth/login/googleredirects to the IdP withredirect_uri=http%3A%2F%2Flocalhost%3A8080%2Fauth%2Foauth-authorized%2Fgoogle. That is exactly the path the corrected docs now tell you to register.GET /auth/oauth-authorized/googleis a real route (302).GET /oauth-authorized/google, the path the docs gave before, returns 200 with the UI shell, byte-identical to what a nonsense path returns, because the SPA catch-all serves it. So the old instructions never failed loudly: the IdP redirected to a page that looked fine and the login simply never completed.The corrected text is present at the
providers-fab/3.8.1rc1tag.Separately, while setting this up I hit a second problem in the same guide, not related to this release. Step 1 of the SSO page still says to set
auth_managerin the[webserver]section. On 3.3.1 that key is silently ignored, you stay onSimpleAuthManager, and no warning is emitted; the option lives in[core]. I will send a follow-up PR for it.I only tested my own item, not the rest of the fab list.
coleheflin commentedon Aug 19, 2026
Verified both items I'm tagged on:
git 0.4.3rc1 — #69735 (Document commit SHA support for
GitDagBundle.tracking_ref)Confirmed the rendered docs at
providers/git/docs/bundles/index.rstcorrectly describe branch/tag/full-SHA support fortracking_ref, the static-ref no-refresh caveat, and the promote-vs-rollback asymmetry (tracked in #71388). Ran the bundle test suite, all SHA checkout/promotion/rollback tests pass.keycloak 0.9.0rc2 — #71572 (Grant team Op role access to team Dags)
Confirmed
Op-{team}now includesDag:{team}in both the permission-creation and permission-attach code paths. Fulltest_commands.pysuite passes (16/16).Both addressed. ✅
SEPURI-SAI-KRISHNA commentedon Aug 20, 2026
Verified the
microsoft.azure 15.0.0rc1item for #71649 (Keep MSGraph request configuration across paginated pages).Setup: Airflow 3.3.1 on Python 3.12 with
apache-airflow-providers-microsoft-azure==15.0.0rc1installed from PyPI into a clean venv, compared against14.1.0(the previous stable) in a second venv.Functional check. Built an
MSGraphAsyncOperatorcarrying a full request configuration (headers,data,scopes), fed it a first page ending in@odata.nextLink, and inspected theMSGraphTriggerthe operator defers to for page 2:headersNone❌{'Prefer': 'outlook.timezone="Europe/Brussels"', 'ConsistencyLevel': 'eventual'}✅dataNone❌{'filter': "displayName eq 'x'"}✅scopesNone❌['https://graph.microsoft.com/.default']✅methodGET✅GET✅conn_idmsgraph_api✅msgraph_api✅So on 14.1.0 the second and later pages were issued without the caller's headers, body, and scopes, which is what the fix addresses. On the RC all five survive the pagination hand-off.
Test suite. Ran the provider's MSGraph unit tests (operators, triggers, hooks) from
mainagainst the installed RC wheel: 92 passed, 1 xfailed.Also diffed the shipped
15.0.0rc1wheel againstmain,operators/msgraph.pymatches, so the release artifact carries the merged change.Addressed ✅
jason810496 commentedon Aug 20, 2026
I verified
apache-airflow-providers-standard==1.18.0rc1, including theis_stub=Truechange from #69757. Everything works as expected, and I've checked the corresponding box above as well.AlejandroMorgante commentedon Aug 20, 2026
Validated my change included in the current provider RC round:
apache-airflow-providers-google==22.4.0rc1— Add synchronous Vertex AI Agent Engine query operator #70933:example_vertex_ai_agent_engine.pypassed against real GCP (1 passed in 1046.82s). The test exercised Agent Engine creation and retrieval, the new synchronous query withRunReasoningEngineQueryOperator, synchronous and deferrable query jobs, update, and delete flows. The published RC wheel was installed from PyPI with provider sources unmounted. Post-test checks confirmed that the temporary GCS bucket, Artifact Registry repository, and Reasoning Engine were all removed.Environment: Breeze, Airflow 3.3.1, Python 3.10
Beat-Nick commentedon Aug 20, 2026
I verified
databricks: 7.19.0rc1native retry changes from PR #69182 against Databricks: standalone + workflow, sync + deferrable, precedence, templating, retry_on_timeout via real TIMEDOUT attemptshaseebmalik18 commentedon Aug 20, 2026
Verified my three items: samba 4.13.0rc1 (#64643), microsoft.azure 15.0.0rc1 (#70879) and amazon 9.35.0rc1 (#70152). Installed each RC from PyPI on Airflow 3.3.1 and confirmed all three fixes work as expected.
1fanwang commentedon Aug 20, 2026
Tested
apache-airflow-providers-apache-iceberg==2.1.0rc1from PyPI for #71387 on Airflow 3.3.1 and Python 3.12.A real
airflow standalonestack watcheddefault.ordersin a persistent PyIceberg SQL catalog. The first snapshot created one successful asset-triggered Dag run. Restarting the stack did not create a duplicate. A second snapshot created one more successful run, and the stored watermark moved to the new snapshot.Raw evidence
Addressed.
Drafted-by: GitHub Copilot CLI (GPT-5.6 Sol) (human reviewed before posting)
1fanwang commentedon Aug 20, 2026
Tested
apache-airflow-providers-microsoft-psrp==3.2.7rc1from PyPI for #70347 on Airflow 3.3.1 and Python 3.12.I parsed the same Dags against 3.2.6 and the RC. Stable rejected provided-but-empty options and accepted equal values for
commandandpowershell. The RC loaded the empty options, rejected the duplicate options, and kept a command that rendered to""on the command dispatch path.The Dag parse used Airflow's real
DagBag. I isolated the transport for the dispatch check because no Windows WinRM endpoint was available.Raw evidence
Addressed.
Drafted-by: GitHub Copilot CLI (GPT-5.6 Sol) (human reviewed before posting)
VladaZakharova commentedon Aug 21, 2026
Tested and verified for Google provider, everything looks good, +2
dhkim1920 commentedon Aug 22, 2026
Validated my change included in the current provider RC round:
apache-airflow-providers-keycloak==0.9.0rc2— Fix Keycloak access for individual roles #70906I reviewed the relevant implementation and verified that the RC creates the team
ReadOnlypermission with theAFFIRMATIVEstrategy while retaining the individual Viewer, User, Op, and Admin policies.I also tested the behavior before and after the change by restoring the team
ReadOnlypermission to its previousUNANIMOUSstrategy in the same provisioned realm:ReadOnlystrategyUNANIMOUSAFFIRMATIVEAFFIRMATIVEAFFIRMATIVEDag:team-a/GETgrantedThis confirms that #70906 changes the Viewer result from denied to granted as intended.
One configuration requirement should be documented: the Keycloak client's resource-server-level decision strategy must also be
AFFIRMATIVE. With Keycloak's defaultUNANIMOUSclient strategy, the Viewer request returned HTTP 403 both before and after the permission-level change. The provider documentation and provisioning CLI do not currently document or validate this requirement.Environment: Breeze with mounted provider sources removed, Airflow 3.3.1, Python 3.10, Keycloak 23.0.6, PostgreSQL 14.
Drafted-by: OpenAI Codex (GPT-5); reviewed by @dhkim1920 before posting
Vamsi-klu commentedon Aug 22, 2026
baha-bouali commentedon Aug 23, 2026
apache.hdfs 4.13.0rc1 ::: #71278 ✅
HdfsRemoteLogIO.from_config()withremote_base_log_folder = hdfs://namenode:8020/airflow/logsreturnsremote_base = '/airflow/logs'The
urlsplit(...).path stripping matches the legacyairflow_local_settings.pybranch, andbase_log_folderis expanded correctly.The hdfs scheme is registered in the shipped provider metadata, mapped to
airflow.providers.apache.hdfs.log.hdfs_task_handler.HdfsRemoteLogIO.Note: on 3.1.3 the ProvidersManager-based dispatch from Decouple remote logging config from core #67056 isn't present yet. The hardcoded
startswith("hdfs://")branch is still what runs. So the registration is correct but dormant on this version; it would need re-testing on the Airflow release that carries the core-side consumer.baha-bouali commentedon Aug 23, 2026
microsoft.azure 15.0.0rc1::: #71071⚠️ partial
AzureBatchHookimports without error.get_conn()credential path is untested; would appreciate someone with a live Batch account confirming.ColtenOuO commentedon Aug 23, 2026
Thanks for preparing the release!
Verified #71738 and #71445 in the common-ai provider, work as expected.
hussein-awala commentedon Aug 23, 2026
Thank you everyone. Providers are released.
28 providers from this wave are now on PyPI and their documentation is live at https://airflow.apache.org/docs/
apache-airflow-providers-fabwas excluded from the release. 3.8.1rc1 broke Azure AD SSO for deployments configuring the tenant authority with a domain name or an uppercase tenant GUID, reported by Aaron Chen during the vote. A fix is in review in #71920, and fab will be re-cut as 3.8.1rc2 either ad-hoc or in the next wave. The fab items ticked above stay ticked and will carry over, so nobody needs to re-verify them.Thanks in particular to everyone who ran real deployments against the RCs rather than just installing them — the Keycloak JWT cookie testing on 3.3.0, the MSGraph pagination comparison against 14.1.0, the Iceberg snapshot watermark end-to-end run, the Vertex AI Agent Engine run against live GCP, and the PSRP baseline diff were all genuinely useful. And thanks to Aaron for the -1: it caught a regression that would otherwise have shipped.
I invite everyone to help improve providers for the next release, a list of open issues can be found here.