Skip to content

Commit 6f03f69

Browse files
author
Martha Bass
committed
add whats new
1 parent 7010236 commit 6f03f69

File tree

1 file changed

+189
-0
lines changed

1 file changed

+189
-0
lines changed

whats-new/whatsnew-2026Q1.qmd

Lines changed: 189 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,189 @@
1+
---
2+
title: "What’s New in the R–ArcGIS Bridge (Q1 2026)"
3+
authors: ["Josiah", "Martha", "Nick"]
4+
categories: ["R", "Developers", "ArcGIS Bridge"]
5+
---
6+
7+
<!-- Whats New - PR for doc site in what's new section (date, not version number), Blog should be more paragraphs about why users should care -->
8+
9+
## Introduction
10+
11+
The R–ArcGIS Bridge continues to grow as a powerful way to connect your R workflows with ArcGIS data, services, and analysis tools. This quarter brings major improvements across authentication, feature service editing, geoprocessing, Shiny integration, and developer ergonomics. Whether you're building reproducible data pipelines, interactive apps, or advanced spatial analyses, these updates make it easier than ever to work with your ArcGIS content directly from R.
12+
13+
Below is a look at the most impactful enhancements across the R-ArcGIS Bridge.
14+
15+
---
16+
17+
## 🔐 Authentication & Identity
18+
19+
### Interactive OAuth + Shiny App Login
20+
**Packages:** `{arcgisutils}` (dev)
21+
22+
- New `auth_shiny()` and `oauth_provider_arcgis()` functions make it possible to authenticate users directly inside Shiny apps.
23+
- `{shinyOAuth}` is now a suggested dependency, enabling smoother integration with existing OAuth flows.
24+
- Token validation improvements in `arc_base_req()` ensure more reliable authenticated requests.
25+
26+
### Portal & User Management Enhancements
27+
**Packages:** `{arcgisutils}` 0.4.0
28+
29+
- `arc_user_self()` retrieves metadata for the currently authenticated user.
30+
- New helpers for exploring your ArcGIS Enterprise portal:
31+
- `arc_portal_servers()` lists federated servers.
32+
- `arc_portal_users()` lists all users.
33+
- `arc_portal_resources()` lists file resources for a given item.
34+
- `arc_group_content()` and `arc_user_content()` fetch content listings.
35+
36+
These updates make it far easier to build R workflows that understand *who* is logged in and *what* they have access to.
37+
38+
---
39+
40+
## 🗂️ Feature Services: Editing, Definitions & Attachments
41+
42+
### Faster, Parallelized Feature Editing
43+
**Packages:** `{arcgislayers}` 0.5.0
44+
45+
- `update_features()` and `delete_features()` now run in parallel and operate in chunks for significantly improved performance on large datasets.
46+
- Both functions now return a `data.frame` instead of a list, simplifying downstream processing.
47+
- Improved error messaging when `objectid` fields are not integers.
48+
49+
### New Attachment Editing
50+
**Packages:** `{arcgislayers}` 0.5.0
51+
52+
- `update_attachments()` lets you add, update, or delete attachments on feature services directly from R.
53+
54+
### Layer & Service Definition Management
55+
**Packages:** `{arcgislayers}` 0.5.0
56+
57+
- New administrative helpers:
58+
- `add_definition()`
59+
- `update_definition()`
60+
- `delete_definition()`
61+
62+
These functions make it possible to manage FeatureServer and FeatureLayer definitions programmatically.
63+
64+
### Smarter Field Value Handling
65+
**Packages:** `{arcgislayers}` 0.5.1
66+
67+
- `encode_field_values(codes = "replace-valid")` now allows invalid coded values to be preserved.
68+
- Better handling of numeric coded value domains and range domains.
69+
70+
### More Robust Layer Access
71+
**Packages:** `{arcgislayers}` 0.5.0–dev
72+
73+
- `arc_open()` now accepts item IDs and a wider variety of ArcGIS URLs (items, users, groups, and more).
74+
- `get_layer()` now warns correctly on invalid layer names.
75+
- `arc_select()` returns an empty `data.frame` instead of `NULL` when no features match a query.
76+
77+
---
78+
79+
## 🌐 Geoprocessing Services
80+
81+
### First-Class GP Service Support
82+
**Packages:** `{arcgisutils}` 0.4.0 + dev
83+
84+
- New S7 classes for interacting with geoprocessing services:
85+
- `arc_gp_job`
86+
- `arc_job_status`
87+
- `arc_form_params`
88+
- `gp_job_from_url()` creates a job object directly from a GP service URL.
89+
- New utilities for parsing and creating GP service JSON (`?gp_params`).
90+
91+
These additions lay the groundwork for richer geoprocessing workflows entirely from R.
92+
93+
---
94+
95+
## 🔍 Content Search & URL Utilities
96+
97+
### Improved Item Search
98+
**Packages:** `{arcgisutils}` 0.4.0
99+
100+
- `search_item()` now includes automatic pagination, making it easier to retrieve large result sets.
101+
102+
### URL Parsing & Type Detection
103+
**Packages:** `{arcgisutils}` 0.4.0
104+
105+
- Experimental helpers:
106+
- `arc_url_parse()`
107+
- `arc_url_type()`
108+
- `is_url()`
109+
110+
These utilities help developers build more robust functions that accept a wide variety of ArcGIS URLs.
111+
112+
---
113+
114+
## 🧭 Geocoding Improvements
115+
116+
### Updated World Geocoder Interface
117+
**Packages:** `{arcgisgeocode}` 0.4.0
118+
119+
- The `world_geocoder` object has been replaced with the new `world_geocoder()` function.
120+
- Fixes issues with parsing geocoding results when certain fields are missing (#41, #42).
121+
122+
---
123+
124+
## 🧱 Shiny UI Components with Calcite Design System
125+
126+
### Expanded Calcite Component Library
127+
**Packages:** `{calcite}` (dev)
128+
129+
The Calcite package continues to grow into a comprehensive UI toolkit for Shiny developers. New or improved components include:
130+
131+
- **Layout containers:** `page_navbar()`, `page_sidebar()`, `page_actionbar()`
132+
- **Inputs:**
133+
`calcite_input_text()`, `calcite_input_number()`, `calcite_input_message()`, `calcite_select()`, `calcite_switch()`
134+
- **UI elements:**
135+
`calcite_action()`, `calcite_block()`, `calcite_tile()`, `calcite_tile_group()`, `calcite_slider()`,
136+
`calcite_segmented_control_item()`, `calcite_notice()`, `calcite_panel()`, `calcite_link()`
137+
- **Alerts:**
138+
`calcite_alert()`, `calcite_alert_info()`, `calcite_alert_warning()`, `calcite_alert_success()`,
139+
`calcite_alert_danger()`, `calcite_alert_brand()`
140+
- **Accordions:**
141+
`calcite_accordion()`, `calcite_accordion_item()`
142+
143+
### Examples Included
144+
145+
Use `open_example()` to explore new components, such as:
146+
147+
- `inst/examples/calcite-accordion.R`
148+
- `inst/examples/calcite-action-button.R`
149+
150+
These additions make it easier to build polished, accessible, ArcGIS‑styled Shiny apps.
151+
152+
---
153+
154+
## 🧭 Routing (In Progress)
155+
156+
### Early Routing Enhancements
157+
**Packages:** `{arcgisrouting}` (in progress)
158+
159+
- Initial support for geoprocessing‑based routing workflows via `{arcgisutils}` GP service classes.
160+
161+
More updates are expected in upcoming releases.
162+
163+
---
164+
165+
## 🧭 Spatial Reference & Geometry Helpers
166+
167+
**Packages:** `{arcgisutils}` (dev)
168+
169+
- `from_envelope()` and `from_spatial_reference()` convert Esri JSON geometry objects into `sf` bbox objects.
170+
171+
These utilities help bridge Esri geometry formats with the broader R spatial ecosystem.
172+
173+
---
174+
175+
## 📦 Other Developer Experience Improvements
176+
177+
- `{arcgislayers}` now requires **R 4.2+**.
178+
- `list_service_raster_fns()` is deprecated in favor of `list_raster_fns()`.
179+
- New `data_frame()` helper in `{arcgisutils}` creates tibble‑like output without requiring the tibble package.
180+
181+
---
182+
183+
## What Should We Build Next?
184+
185+
We’d love to hear what features would make your R + ArcGIS workflows even better.
186+
[Start a discussion](https://github.com/R-ArcGIS/arcgis/discussions/new?category=ideas) or open an issue on our GitHub repositories - your feedback helps shape our roadmap.
187+
188+
And if you're attending the [**2026 Esri Developer & Technology Summit**](https://www.google.com/aclk?sa=L&ai=DChsSEwiQ1Z_A5KySAxUwl-4BHfTlGcwYACICCAEQABoCZHo&ae=2&co=1&ase=2&gclid=Cj0KCQiA4eHLBhCzARIsAJ2NZoLM-NEdt3SuDmNAr7eYNBFX9Q5q3c1WDUlZP0054cgX3nzjzsWDroYaAlDyEALw_wcB&cid=CAASWeRoaON6h_k6nRAv_8-euL4AfSMig4NTSNt6YfPAvDOG8cSAWiBYrmk8mOIlfoVgSqdJypOpQKkFr4UNDiaPPyqbytdvrTDiOT5U83Q-nAa5DAaBerGCpOnH&cce=2&category=acrcp_v1_71&sig=AOD64_0SOYLxUzhS8Wvu9USFCVRJ7WdCIQ&q&nis=4&adurl&ved=2ahUKEwjX3ZTA5KySAxWeKUQIHUkbIxgQ0Qx6BAgXEAE), come say hello. We’d love to show you what’s new and what’s coming next.
189+

0 commit comments

Comments
 (0)