blob: 9cad05857f82d614281f2d4253ac8fb2a7381c0e [file] [log] [blame]
.. Licensed to the Apache Software Foundation (ASF) under one
or more contributor license agreements. See the NOTICE file
distributed with this work for additional information
regarding copyright ownership. The ASF licenses this file
to you under the Apache License, Version 2.0 (the
"License"); you may not use this file except in compliance
with the License. You may obtain a copy of the License at
.. http://www.apache.org/licenses/LICENSE-2.0
.. Unless required by applicable law or agreed to in writing,
software distributed under the License is distributed on an
"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
KIND, either express or implied. See the License for the
specific language governing permissions and limitations
under the License.
.. NOTE TO CONTRIBUTORS:
Please, only add notes to the Changelog just below the "Changelog" header when there are some breaking changes
and you want to add an explanation to the users on how they are supposed to deal with them.
The changelog is updated and maintained semi-automatically by release manager.
``apache-airflow-providers-databricks``
Changelog
---------
5.1.0
.....
.. note::
This release of provider is only available for Airflow 2.6+ as explained in the
`Apache Airflow providers support policy <https://github.com/apache/airflow/blob/main/PROVIDERS.rst#minimum-supported-version-of-airflow-for-community-managed-providers>`_.
Misc
~~~~
* ``Bump minimum Airflow version in providers to Airflow 2.6.0 (#36017)``
5.0.1
.....
Misc
~~~~
* ``Make pyodbc.Row and databricks.Row JSON-serializable via new 'make_serializable' method (#32319)``
.. Below changes are excluded from the changelog. Move them to
appropriate section above if needed. Do not delete the lines(!):
* ``Use reproducible builds for provider packages (#35693)``
* ``Fix and reapply templates for provider documentation (#35686)``
5.0.0
.....
Breaking changes
~~~~~~~~~~~~~~~~
The ``offset`` parameter has been deprecated from ``list_jobs`` in favor of faster pagination with ``page_token`` similarly to `Databricks API <https://docs.databricks.com/api/workspace/jobs/list>`_.
* ``Remove offset-based pagination from 'list_jobs' function in 'DatabricksHook' (#34926)``
4.7.0
.....
Features
~~~~~~~~
* ``Add operator to create jobs in Databricks (#35156)``
.. Below changes are excluded from the changelog. Move them to
appropriate section above if needed. Do not delete the lines(!):
* ``Prepare docs 3rd wave of Providers October 2023 (#35187)``
* ``Pre-upgrade 'ruff==0.0.292' changes in providers (#35053)``
* ``D401 Support - Providers: DaskExecutor to Github (Inclusive) (#34935)``
4.6.0
.....
.. note::
This release of provider is only available for Airflow 2.5+ as explained in the
`Apache Airflow providers support policy <https://github.com/apache/airflow/blob/main/PROVIDERS.rst#minimum-supported-version-of-airflow-for-community-managed-providers>`_.
Features
~~~~~~~~
* ``Add 'DatabricksHook' ClusterState (#34643)``
Bug Fixes
~~~~~~~~~
* ``Respect 'soft_fail' parameter in 'DatabricksSqlSensor' (#34544)``
* ``Respect 'soft_fail' argument when running DatabricksPartitionSensor (#34517)``
* ``Decode response in f-string (#34518)``
Misc
~~~~
* ``Bump min airflow version of providers (#34728)``
* ``Use aiohttp.BasicAuth instead of HTTPBasicAuth for aiohttp session in databricks hook (#34590)``
* ``Update 'list_jobs' function in 'DatabricksHook' to token-based pagination (#33472)``
.. Below changes are excluded from the changelog. Move them to
appropriate section above if needed. Do not delete the lines(!):
* ``Refactor usage of str() in providers (#34320)``
4.5.0
.....
Features
~~~~~~~~
* ``Add "QUEUED" to RUN_LIFE_CYCLE_STATES following deployement of … (#33886)``
* ``allow DatabricksSubmitRunOperator to accept a pipeline name for a pipeline_task (#32903)``
Misc
~~~~
* ``Replace sequence concatenation by unpacking in Airflow providers (#33933)``
* ``Improve modules import in Airflow providers by some of them into a type-checking block (#33754)``
* ``Use literal dict instead of calling dict() in providers (#33761)``
* ``Use f-string instead of in Airflow providers (#33752)``
4.4.0
.....
.. note::
This release excluded databricks-sql-connector version 2.9.0 due to a bug that it does not properly declare urllib3
for more information please see https://github.com/databricks/databricks-sql-python/issues/190
Features
~~~~~~~~
* ``Add Service Principal OAuth for Databricks. (#33005)``
Misc
~~~~
* ``Update docs in databricks.py - we use 2.1 now (#32340)``
* ``Do not create lists we don't need (#33519)``
* ``Refactor: Improve detection of duplicates and list sorting (#33675)``
* ``Simplify conditions on len() in other providers (#33569)``
* ``Refactor: Simplify code in smaller providers (#33234)``
.. Below changes are excluded from the changelog. Move them to
appropriate section above if needed. Do not delete the lines(!):
* ``Ecldude databrick connector 2.9.0 due to a bug (#33311)``
4.3.3
.....
Misc
~~~~
* ``Add a new parameter to SQL operators to specify conn id field (#30784)``
4.3.2
.....
Bug Fixes
~~~~~~~~~
* ``fix(providers/databricks): remove the execute method from to-be-deprecated DatabricksRunNowDeferrableOperator (#32806)``
Misc
~~~~
* ``Add missing execute_complete method for 'DatabricksRunNowOperator' (#32689)``
* ``Add more accurate typing for DbApiHook.run method (#31846)``
4.3.1
.....
Bug Fixes
~~~~~~~~~
* ``Modify 'template_fields' of 'DatabricksSqlOperator' to support parent class fields (#32253)``
Misc
~~~~
* ``Add default_deferrable config (#31712)``
.. Below changes are excluded from the changelog. Move them to
appropriate section above if needed. Do not delete the lines(!):
* ``D205 Support - Providers: Databricks to Github (inclusive) (#32243)``
* ``Improve provider documentation and README structure (#32125)``
* ``Remove spurious headers for provider changelogs (#32373)``
* ``Prepare docs for July 2023 wave of Providers (#32298)``
4.3.0
.....
.. note::
This release dropped support for Python 3.7
Features
~~~~~~~~
* ``add a return when the event is yielded in a loop to stop the execution (#31985)``
Bug Fixes
~~~~~~~~~
* ``Fix type annotation (#31888)``
* ``Fix Databricks SQL operator serialization (#31780)``
* ``Making Databricks run related multi-query string in one session again (#31898) (#31899)``
Misc
~~~~
* ``Remove return statement after yield from triggers class (#31703)``
* ``Remove Python 3.7 support (#30963)``
.. Below changes are excluded from the changelog. Move them to
appropriate section above if needed. Do not delete the lines(!):
* ``Improve docstrings in providers (#31681)``
* ``Add discoverability for triggers in provider.yaml (#31576)``
* ``Add D400 pydocstyle check - Providers (#31427)``
* ``Add note about dropping Python 3.7 for providers (#32015)``
4.2.0
.....
.. note::
This release of provider is only available for Airflow 2.4+ as explained in the
`Apache Airflow providers support policy <https://github.com/apache/airflow/blob/main/PROVIDERS.rst#minimum-supported-version-of-airflow-for-community-managed-providers>`_.
Features
~~~~~~~~
* ``Add conditional output processing in SQL operators (#31136)``
* ``Add cancel all runs functionality to Databricks hook (#31038)``
* ``Add retry param in databrics async operator (#30744)``
* ``Add repair job functionality to databricks hook (#30786)``
* ``Add 'DatabricksPartitionSensor' (#30980)``
Misc
~~~~
* ``Bump minimum Airflow version in providers (#30917)``
* ``Deprecate databricks async operator (#30761)``
.. Below changes are excluded from the changelog. Move them to
appropriate section above if needed. Do not delete the lines(!):
* ``Move TaskInstanceKey to a separate file (#31033)``
* ``Use 'AirflowProviderDeprecationWarning' in providers (#30975)``
* ``Add full automation for min Airflow version for providers (#30994)``
* ``Add cli cmd to list the provider trigger info (#30822)``
* ``Use '__version__' in providers not 'version' (#31393)``
* ``Fixing circular import error in providers caused by airflow version check (#31379)``
* ``Prepare docs for May 2023 wave of Providers (#31252)``
4.1.0
.....
Features
~~~~~~~~
* ``Add delete inactive run functionality to databricks provider (#30646)``
* ``Databricks SQL sensor (#30477)``
.. Below changes are excluded from the changelog. Move them to
appropriate section above if needed. Do not delete the lines(!):
* ``Add mechanism to suspend providers (#30422)``
4.0.1
.....
Bug Fixes
~~~~~~~~~
* ``DatabricksSubmitRunOperator to support taskflow (#29840)``
.. Below changes are excluded from the changelog. Move them to
appropriate section above if needed. Do not delete the lines(!):
* ``adding trigger info to provider yaml (#29950)``
4.0.0
.....
Breaking changes
~~~~~~~~~~~~~~~~
The ``DatabricksSqlHook`` is now conforming to the same semantics as all the other ``DBApiHook``
implementations and returns the same kind of response in its ``run`` method. Previously (pre 4.* versions
of the provider, the Hook returned Tuple of ("cursor description", "results") which was not compatible
with other DBApiHooks that return just "results". After this change (and dependency on common.sql >= 1.3.1),
The ``DatabricksSqlHook`` returns now "results" only. The ``description`` can be retrieved via
``last_description`` field of the hook after ``run`` method completes.
That makes the ``DatabricksSqlHook`` suitable for generic SQL operator and detailed lineage analysis.
If you had custom hooks or used the Hook in your TaskFlow code or custom operators that relied on this
behaviour, you need to adapt your DAGs.
The Databricks ``DatabricksSQLOperator`` is also more standard and derives from common
``SQLExecuteQueryOperator`` and uses more consistent approach to process output when SQL queries are run.
However in this case the result returned by ``execute`` method is unchanged (it still returns Tuple of
("description", "results") and this Tuple is pushed to XCom, so your DAGs relying on this behaviour
should continue working without any change.
* ``Fix errors in Databricks SQL operator introduced when refactoring (#27854)``
* ``Bump common.sql provider to 1.3.1 (#27888)``
Bug Fixes
~~~~~~~~~
* ``Fix templating fields and do_xcom_push in DatabricksSQLOperator (#27868)``
* ``Fixing the behaviours of SQL Hooks and Operators finally (#27912)``
.. Below changes are excluded from the changelog. Move them to
appropriate section above if needed. Do not delete the lines(!):
* ``Prepare for follow-up release for November providers (#27774)``
3.4.0
.....
.. note::
This release of provider is only available for Airflow 2.3+ as explained in the
`Apache Airflow providers support policy <https://github.com/apache/airflow/blob/main/PROVIDERS.rst#minimum-supported-version-of-airflow-for-community-managed-providers>`_.
Misc
~~~~
* ``Move min airflow version to 2.3.0 for all providers (#27196)``
* ``Replace urlparse with urlsplit (#27389)``
Features
~~~~~~~~
* ``Add SQLExecuteQueryOperator (#25717)``
* ``Use new job search API for triggering Databricks job by name (#27446)``
.. Below changes are excluded from the changelog. Move them to
appropriate section above if needed. Do not delete the lines(!):
* ``Update old style typing (#26872)``
* ``Enable string normalization in python formatting - providers (#27205)``
3.3.0
.....
Features
~~~~~~~~
* ``DatabricksSubmitRunOperator dbt task support (#25623)``
Misc
~~~~
* ``Add common-sql lower bound for common-sql (#25789)``
* ``Remove duplicated connection-type within the provider (#26628)``
Bug Fixes
~~~~~~~~~
* ``Databricks: fix provider name in the User-Agent string (#25873)``
.. Below changes are excluded from the changelog. Move them to
appropriate section above if needed. Do not delete the lines(!):
* ``Apply PEP-563 (Postponed Evaluation of Annotations) to non-core airflow (#26289)``
* ``D400 first line should end with period batch02 (#25268)``
3.2.0
.....
Features
~~~~~~~~
* ``Databricks: update user-agent string (#25578)``
* ``More improvements in the Databricks operators (#25260)``
* ``Improved telemetry for Databricks provider (#25115)``
* ``Unify DbApiHook.run() method with the methods which override it (#23971)``
Bug Fixes
~~~~~~~~~
* ``Databricks: fix test_connection implementation (#25114)``
* ``Do not convert boolean values to string in deep_string_coerce function (#25394)``
* ``Correctly handle output of the failed tasks (#25427)``
* ``Databricks: Fix provider for Airflow 2.2.x (#25674)``
.. Below changes are excluded from the changelog. Move them to
appropriate section above if needed. Do not delete the lines(!):
* ``updated documentation for databricks operator (#24599)``
* ``Prepare docs for new providers release (August 2022) (#25618)``
3.1.0
.....
Features
~~~~~~~~
* ``Added databricks_conn_id as templated field (#24945)``
* ``Add 'test_connection' method to Databricks hook (#24617)``
* ``Move all SQL classes to common-sql provider (#24836)``
Bug Fixes
~~~~~~~~~
* ``Update providers to use functools compat for ''cached_property'' (#24582)``
.. Below changes are excluded from the changelog. Move them to
appropriate section above if needed. Do not delete the lines(!):
* ``Automatically detect if non-lazy logging interpolation is used (#24910)``
* ``Remove "bad characters" from our codebase (#24841)``
* ``Move provider dependencies to inside provider folders (#24672)``
* ``Remove 'hook-class-names' from provider.yaml (#24702)``
3.0.0
.....
Breaking changes
~~~~~~~~~~~~~~~~
.. note::
This release of provider is only available for Airflow 2.2+ as explained in the
`Apache Airflow providers support policy <https://github.com/apache/airflow/blob/main/PROVIDERS.rst#minimum-supported-version-of-airflow-for-community-managed-providers>`_.
Features
~~~~~~~~
* ``Add Deferrable Databricks operators (#19736)``
* ``Add git_source to DatabricksSubmitRunOperator (#23620)``
Bug Fixes
~~~~~~~~~
* ``fix: DatabricksSubmitRunOperator and DatabricksRunNowOperator cannot define .json as template_ext (#23622) (#23641)``
* ``Fix UnboundLocalError when sql is empty list in DatabricksSqlHook (#23815)``
.. Below changes are excluded from the changelog. Move them to
appropriate section above if needed. Do not delete the lines(!):
* ``AIP-47 - Migrate databricks DAGs to new design #22442 (#24203)``
* ``Introduce 'flake8-implicit-str-concat' plugin to static checks (#23873)``
* ``Add explanatory note for contributors about updating Changelog (#24229)``
* ``Prepare docs for May 2022 provider's release (#24231)``
* ``Update package description to remove double min-airflow specification (#24292)``
2.7.0
.....
Features
~~~~~~~~
* ``Update to the released version of DBSQL connector``
* ``DatabricksSqlOperator - switch to databricks-sql-connector 2.x``
* ``Further improvement of Databricks Jobs operators (#23199)``
.. Below changes are excluded from the changelog. Move them to
appropriate section above if needed. Do not delete the lines(!):
* ``Address review comments``
* ``Clean up in-line f-string concatenation (#23591)``
* ``Use new Breese for building, pulling and verifying the images. (#23104)``
2.6.0
.....
Features
~~~~~~~~
* ``More operators for Databricks Repos (#22422)``
* ``Add a link to Databricks Job Run (#22541)``
* ``Databricks SQL operators are now Python 3.10 compatible (#22886)``
Bug Fixes
~~~~~~~~~
* ``Databricks: Correctly handle HTTP exception (#22885)``
Misc
~~~~
* ``Refactor 'DatabricksJobRunLink' to not create ad hoc TaskInstances (#22571)``
.. Below changes are excluded from the changelog. Move them to
appropriate section above if needed. Do not delete the lines(!):
* ``Update black precommit (#22521)``
* ``Fix new MyPy errors in main (#22884)``
* ``Prepare mid-April provider documentation. (#22819)``
* ``Prepare for RC2 release of March Databricks provider (#22979)``
2.5.0
.....
Features
~~~~~~~~
* ``Operator for updating Databricks Repos (#22278)``
Bug Fixes
~~~~~~~~~
* ``Fix mistakenly added install_requires for all providers (#22382)``
2.4.0
.....
Features
~~~~~~~~
* ``Add new options to DatabricksCopyIntoOperator (#22076)``
* ``Databricks hook - retry on HTTP Status 429 as well (#21852)``
Misc
~~~~
* ``Skip some tests for Databricks from running on Python 3.10 (#22221)``
2.3.0
.....
Features
~~~~~~~~
* ``Add-showing-runtime-error-feature-to-DatabricksSubmitRunOperator (#21709)``
* ``Databricks: add support for triggering jobs by name (#21663)``
* ``Added template_ext = ('.json') to databricks operators #18925 (#21530)``
* ``Databricks SQL operators (#21363)``
Bug Fixes
~~~~~~~~~
* ``Fixed changelog for January 2022 (delayed) provider's release (#21439)``
Misc
~~~~
* ``Support for Python 3.10``
* ``Updated Databricks docs for correct jobs 2.1 API and links (#21494)``
.. Below changes are excluded from the changelog. Move them to
appropriate section above if needed. Do not delete the lines(!):
* ``Add documentation for January 2021 providers release (#21257)``
* ``Remove ':type' lines now sphinx-autoapi supports typehints (#20951)``
2.2.0
.....
Features
~~~~~~~~
* ``Add 'wait_for_termination' argument for Databricks Operators (#20536)``
* ``Update connection object to ''cached_property'' in ''DatabricksHook'' (#20526)``
* ``Remove 'host' as an instance attr in 'DatabricksHook' (#20540)``
* ``Databricks: fix verification of Managed Identity (#20550)``
.. Below changes are excluded from the changelog. Move them to
appropriate section above if needed. Do not delete the lines(!):
* ``Fix MyPy Errors for Databricks provider. (#20265)``
* ``Use typed Context EVERYWHERE (#20565)``
* ``Fix template_fields type to have MyPy friendly Sequence type (#20571)``
* ``Fix mypy databricks operator (#20598)``
* ``Update documentation for provider December 2021 release (#20523)``
2.1.0
.....
Features
~~~~~~~~
* ``Databricks: add more methods to represent run state information (#19723)``
* ``Databricks - allow Azure SP authentication on other Azure clouds (#19722)``
* ``Databricks: allow to specify PAT in Password field (#19585)``
* ``Databricks jobs 2.1 (#19544)``
* ``Update Databricks API from 2.0 to 2.1 (#19412)``
* ``Authentication with AAD tokens in Databricks provider (#19335)``
* ``Update Databricks operators to match latest version of API 2.0 (#19443)``
* ``Remove db call from DatabricksHook.__init__() (#20180)``
Bug Fixes
~~~~~~~~~
* ``Fixup string concatenations (#19099)``
* ``Databricks hook: fix expiration time check (#20036)``
.. Below changes are excluded from the changelog. Move them to
appropriate section above if needed. Do not delete the lines(!):
* ``Prepare documentation for October Provider's release (#19321)``
* ``Refactor DatabricksHook (#19835)``
* ``Update documentation for November 2021 provider's release (#19882)``
* ``Unhide changelog entry for databricks (#20128)``
* ``Update documentation for RC2 release of November Databricks Provider (#20086)``
2.0.2
.....
Bug Fixes
~~~~~~~~~
* ``Move DB call out of DatabricksHook.__init__ (#18339)``
.. Below changes are excluded from the changelog. Move them to
appropriate section above if needed. Do not delete the lines(!):
* ``Static start_date and default arg cleanup for misc. provider example DAGs (#18597)``
2.0.1
.....
Misc
~~~~
* ``Optimise connection importing for Airflow 2.2.0``
.. Below changes are excluded from the changelog. Move them to
appropriate section above if needed. Do not delete the lines(!):
* ``Update description about the new ''connection-types'' provider meta-data (#17767)``
* ``Import Hooks lazily individually in providers manager (#17682)``
* ``Prepares docs for Rc2 release of July providers (#17116)``
* ``Prepare documentation for July release of providers. (#17015)``
* ``Removes pylint from our toolchain (#16682)``
2.0.0
.....
Breaking changes
~~~~~~~~~~~~~~~~
* ``Auto-apply apply_default decorator (#15667)``
.. warning:: Due to apply_default decorator removal, this version of the provider requires Airflow 2.1.0+.
If your Airflow version is < 2.1.0, and you want to install this provider version, first upgrade
Airflow to at least version 2.1.0. Otherwise your Airflow package version will be upgraded
automatically and you will have to manually run ``airflow upgrade db`` to complete the migration.
.. Below changes are excluded from the changelog. Move them to
appropriate section above if needed. Do not delete the lines(!):
* ``Prepares provider release after PIP 21 compatibility (#15576)``
* ``An initial rework of the 'Concepts' docs (#15444)``
* ``Remove Backport Providers (#14886)``
* ``Updated documentation for June 2021 provider release (#16294)``
* ``Add documentation for Databricks connection (#15410)``
* ``More documentation update for June providers release (#16405)``
* ``Synchronizes updated changelog after buggfix release (#16464)``
1.0.1
.....
Updated documentation and readme files.
1.0.0
.....
Initial version of the provider.