Changelog
Source:NEWS.md
fabricQueryR (development version)
Shiny sign-in, OAuth client/provider presets, and the integrated Fabric app now live in shinyOAuthDB. The development-only
fabric_shiny_*()helpers have been removed. Use fabricQueryR’s existingtokenargument with a bearer string orfunction(audience, force_refresh)callback; no Shiny dependencies or provider-specific credential metadata are needed in this package.The persistent Shiny sandbox remains managed by this repository. Its launch instructions now point to the single Fabric app in shinyOAuthDB.
fabricQueryR 1.0.1
CRAN release: 2026-09-30
- Fix a GraphQL numeric round-trip test on R builds without long-double support (CRAN’s
noLDcheck). Package behavior is unchanged.
fabricQueryR 1.0.0
CRAN release: 2026-09-24
Breaking changes
-
fabric_onelake_read_delta_table()now uses the optional Python ‘deltalake’ reader through ‘reticulate’. Thedest_dirargument has been removed. Remove this argument from existing calls; usecolumnsandlimitto restrict a read, orresult = "arrow_stream"to consume batches. Tables using unsupported Delta features should be read through SQL or Spark instead.
New
Discovery functions find the Fabric workspaces and items available to the signed-in user or application. Use
fabric_workspaces()andfabric_items()for general discovery, or typed helpers such asfabric_lakehouses()andfabric_semantic_models()to find a specific kind of item. Discovery results are read-only R6 objects that include every service field, reuse the discovery credential, and provide type-specific methods for workspaces, SQL items, Lakehouses, Warehouses, mirrored databases, Eventhouses, KQL databases, GraphQL APIs, semantic models, and runnable jobs. Semantic models and runnable jobs expose status, wait, and cancellation methods; KQL items expose status and wait methods for asynchronous ingestion. Discovered resources can be passed directly to other ‘fabricQueryR’ functions, avoiding copied IDs and endpoints in most workflows. Use$as_list(),as.list(), oroutput = "list"when a plain record is specifically required.fabric_livy_session()andfabric_livy_batch_submit()add reusable Spark sessions and standalone batch jobs.fabric_livy_query()is the simplest option for running one piece of Spark code.fabric_onelake_read_file(),fabric_onelake_write_file(),fabric_onelake_download(), andfabric_onelake_upload()move files and Parquet, CSV, or Arrow data between R, local storage, and OneLake.fabric_onelake_list(),fabric_onelake_metadata(), andfabric_onelake_delete()list, inspect, and delete files.fabric_lakehouse_schemas(),fabric_lakehouse_table(),fabric_lakehouse_tables(),fabric_lakehouse_read_table(),fabric_lakehouse_load_table(), andfabric_lakehouse_write_table()discover Lakehouse schemas and tables, read them, load CSV or Parquet files, and write data frames or Arrow data. Both ordinary and schema-enabled Lakehouses are supported.fabric_warehouse_schemas(),fabric_warehouse_table(),fabric_warehouse_tables(),fabric_warehouse_read_table(), andfabric_warehouse_write_table()discover schemas and tables, read them, and bulk-write Warehouse tables using data frames or Arrow data. Tables can be created, appended to, overwritten, or recreated as requested.fabric_mirrored_databases()and thefabric_mirrored_database_*()helpers discover mirrored databases and inspect or read their OneLake Delta tables. Discovered records also work with the generic SQL helpers through each mirrored database’s read-only SQL analytics endpoint.fabric_kql_tables(),fabric_kql_query(), andfabric_kql_read_table()discover Eventhouse tables and bring query or table results into R as typed R objects.fabric_kql_ingest(),fabric_kql_write_table(), andfabric_kql_export()load existing files or R and Arrow data into Eventhouse, monitor the load, and export large query results to OneLake or other supported storage. A destination table can be created when needed.fabric_graphql_*()functions query a Fabric API for GraphQL, inspect its schema, work through paginated results, and collect the result into tidy R objects.fabric_function_invoke()calls published Fabric User Data Functions from R.fabric_onelake_shortcuts()andfabric_onelake_shortcut_*()functions inspect, create, update, and delete OneLake shortcuts, which link Fabric items to data stored elsewhere.fabric_pbi_refresh_*()functions start, monitor, wait for, cancel, and inspect the history of semantic-model refreshes.fabric_sql_connect()andfabric_sql_query()support ODBC and ADBC connections, discovered SQL items, bound query parameters, and Arrow streams for larger results. SQL queries and Warehouse reads default to the driver’s numeric conversion for ODBC, with a once-per-session precision warning, and exact conversion for ADBC. Setnumeric_policy = "driver"to explicitly accept driver conversion without the warning, ornumeric_policy = "exact"to reject potentially lossy ODBC results.fabric_job_*()functions run, monitor, wait for, and cancel Fabric Notebooks, data pipelines, Spark job definitions, and other supported item jobs. They also inspect run history and manage recurring schedules.fabric_operation_*()functions resume, monitor, and retrieve the results of longer-running Fabric tasks such as Lakehouse loads.
Changed
Arrow streams from
fabric_onelake_read_file()andfabric_pbi_dax_query()release their temporary IPC files on Windows even when returned Arrow tables remain in use.Authenticated functions now consistently accept an ‘AzureAuth’ token, a bearer token, or a function that supplies refreshed tokens through
token;auth_argscontrols ‘AzureAuth’ sign-in. The olderaccess_tokenargument for SQL and Livy is deprecated.fabric_pbi_dax_query()now accepts discovered semantic models or direct IDs, can test results for a user under row-level security, and reports incomplete Power BI results instead of silently returning them. An optional Arrow mode provides typed tibbles or streams for models that support it. Both JSON and Arrow executions now expose a client-side HTTPtimeout. Mixed JSON Whole Number columns preserve both signed 64-bit extrema exactly.fabric_onelake_read_delta_table()now reads current or historical Lakehouse and compatible Warehouse tables through an optional Python Delta reader. It supports selected columns, row limits, and Arrow streams for large or nested results, including through discovered workspace-private OneLake endpoints.fabric_livy_query()table results now follow the declared Spark schema and preserve large whole numbers and decimals exactly.fabric_livy_query()now bounds temporary-session cleanup with a separate deadline and reports both errors when statement execution and session deletion fail together.