- Fixed OAuth U2M and M2M authentication across multiple Databricks workspaces in one R session by isolating OAuth clients and cached tokens per workspace (#256, @zacdav-db)
- OAuth tokens are now refreshed 40 seconds before expiry, avoiding Databricks API rejections during the final 30 seconds of a token's lifetime; this requires
{httr2}1.3.0 or later (#258, @zacdav-db) - Added
databricks-cliauthentication support for profiles created bydatabricks auth login;{brickster}obtains tokens throughdatabricks auth token, caches only the short-lived access token in memory, and leaves durable credentials and refresh to the CLI (#258, @zacdav-db) - Authentication mode overrides now come from
auth_typein the selected.databrickscfgprofile; replaceDATABRICKS_AUTH_TYPEwith the profile field. Environment-only authentication continues to infer the mode from available credentials (#258, @zacdav-db) - Fixed
dbWriteTable()anddbAppendTable()standard-path writes for binary columns, which now use DatabricksBINARYtypes andX'...'literals when no staging volume is configured (#246, @zacdav-db) dbConnect()now preserves Databricks API error details when its validation query fails (#247, @zacdav)db_perform_request()anddb_perform_response()now preserve useful error messages when Databricks returns non-JSON error bodies such as empty, plain-text, or HTML responses (#247, @zacdav)- Fixed
git_source()erroring whentypewas left at its default (#225, @m-muecke) - Fixed Unity Catalog volume file requests so
db_volume_*paths containing spaces are encoded correctly (#233, @zacdav-db) db_cluster_events()now forwards theevent_typesargument to the API, which was previously ignored (#236, @m-muecke)db_sql_warehouse_create()anddb_sql_warehouse_edit()now forward thetagsargument to the API, which was previously ignored (#240, @m-muecke)- Unity Catalog list helpers now preserve
next_page_tokenmetadata in list responses for catalogs, schemas, tables, and volumes; their list arguments are sent as documented query parameters (#244, @zacdav-db) db_uc_volumes_list()now forwards themax_results,include_browse, andpage_tokenarguments to the API, which were previously ignored (#228, @m-muecke)db_vs_indexes_query()now sends thescore_thresholdargument to the API, which was previously ignored (#235, @m-muecke)- Added
show_progresstodbConnect()for the DBI backend;dbGetQuery(),dbFetch(),dbWriteTable(), and dbplyrcollect()now use the connection default while preserving per-callshow_progressoverrides (#223, @zacdav-db)
- Enabled
db_request()retries for transient low-level HTTP request failures, improving resilience to intermittent curl/HTTP2 framing errors (#215) - Added a DBI connection-level
dispositionsetting sodbSendQuery()and defaultdbGetQuery()calls can useINLINEresults when direct cloud-storage downloads are blocked (#205) - Added Azure AD service principal OAuth M2M support (
ARM_CLIENT_ID,ARM_CLIENT_SECRET,ARM_TENANT_ID) with optionalDATABRICKS_AUTH_TYPEoverride (oauth-m2m,azure-client-secret,oauth-u2m); default auth resolution now prefers Azure M2M over U2M when ARM credentials are present (#185) - Marked DBFS REST wrappers (
db_dbfs_*) as deprecated and moved them to internal-only, guiding users towards using volumes (db_volume_*) - Added
db_volume_download_dir()for parallel directory downloads from Unity Catalog volumes to local directories - Renamed
preserve_structuretorecursiveindb_volume_upload_dir()anddb_volume_download_dir()for consistent directory traversal semantics - Added a new vignette for working with volumes
- Added compact, colorized
{cli}S3 print methods fordb_cluster_get()/db_cluster_list(),db_sql_warehouse_get()/db_sql_warehouse_list(), anddb_jobs_get()/db_jobs_list()that preserve nested list structures while improving at-a-glance summaries - Standardized DBI write progress argument naming:
dbWriteTable()and internaldb_write_table_volume()now useshow_progress(#201)
- Fixed
dbplyr::computeinteraction for DBI backend (#184) - Added OAuth M2M support for workspace-level service principal authentication (#173, #103)
- DBI connections accept
http_pathas an alternative towarehouse_idand extract the warehouse ID from/sql/1.0/warehouses/<id>. - Added RStudio/Positron Connections Pane support for the DBI backend.
- Added DBI helpers for
dbCreateTable(),dbReadTable(), anddbRemoveTable()withId/AsIssupport, plus offline tests for DBI table helpers. - Optimized SQL result fetching for single-chunk external links by using the inline link from the initial response when available.
- Increment version of testthat required (>= 3.3.0)
- Added Lakebase workspace database helpers (
db_lakebase_*) including credential generation, instance listing, instance lookup by name or UID, and catalog retrieval (#113) - Moving all filesystem related calls to {fs} (#140)
- The DBI backend now always respects a staging volume when specified, even for small data (#143)
schemaEvolutionModeis now alwaysnonewhen writing to tables with DBI backend and staging volumes (#147)
- Increment version of httr2 required (>= 1.1.1)
- DBI connections expose
max_active_connectionsandfetch_timeoutto control result download concurrency and timeouts - DBI/dbplyr write table methods now make two transactions (create empty table --> insert into) to ensure type correctness
- Allow optional schedules in
db_jobs_reset()and propagate parameters in reset/update requests. - DBI/dbplyr inline writes now preserve single quotes in character columns via explicit escaping (#130)
- Added DBI + dbplyr backend support:
DatabricksSQL()driver for standard DBI operations - Increase support for job level parameters
- Added
db_jobs_repair_run
- Added SQL Queries API coverage
- Updated Jobs to 2.2
- Added additional tasks for jobs:
for_each_task,condition_task,sql_query_task,sql_file_task,run_job_task - Removing the Python SQL connector as
db_sql_querysupersedes it. - Added
db_sql_queryto simplify execution of SQL - Adjusted
db_replto handle mulit-line expressions (R only) - Removed RStudio Addins to send lines/selection/files to console
- Moved arrow to Suggests
- Exporting UC table functions (
db_uc_table*) (#72) - Adding support for
direct_downloadoption indb_workspace_export() - Exporting UC Catalog/Schema get/list functions (#72)
- Adding support for UC Volume management (#72)
- Fixing command execution context cancel (#86, #87)
- Adding stricter version requirements for {httr2} (#81, #63)
- Fixing
db_volume_delete()function (#73, @vladimirobucina) - Adjustments to ensure {httr2} changes don't break things (#75, @hadley)
- Adding
db_repl()a remote REPL to a Databricks cluster (#53) - Removing defunct RStudio add-in for browsing Databricks compute
- Changes to DESCRIPTION file in preperation for CRAN (#64)
- Removal of
notebook_use_posit_repo()andnotebook_enable_htmlwidgets()as they are incompatible with CRAN (#64) - Removing kntir engine due to many render edge cases not being solvable
- Adding shortcuts for REPL under addins
- Added
db_context_command_run_and_wait - Adjusted tests to use
withr(#68)
open_workspace()and the rstudio connection pane have been heavily revised to enhance browsing unity catalog and also remove DBFS and WSFS browsing (#52)
- Adding NEWS.md
- Renamed
set_lib_pathtoadd_lib_pathand added theafterparameter - Adding OAuth U2M support (workspace level), considered the default when
DATABRICKS_TOKENisn't specified (e.gdb_token()returnsNULL) - Updating authentication vignette to include information on OAuth
- Updating README.md to include quick start and clearer information
- Adding vector search index functions