connectapi 0.8.0
Breaking changes
-
get_apps()has been removed in favor ofget_content().dashboard_url_chr()has been removed. (#415)
New features
- New
get_usage()function returns content usage data from Connect’sGET v1/instrumentation/content/hitsendpoint on Connect v2025.04.0 and higher. (#390) - The
get_oauth_credentials()andconnect()functions have a newaudienceparameter. On Connect v2025.07.0 and higher, pass the GUID of an integration to this parameter to specify which OAuth integration you wish to use. (#423) - New
get_integrations()function lists all OAuth integrations available on the Connect server from theGET v1/oauth/integrationsendpoint on Connect v2024.12.0 and higher. (#413)
Enhancements and fixes
-
get_groups()now paginates through all results when aprefixis provided, if the Connect server API version supports pagination. (#328) - Timestamps from the Connect server are now displayed in your local time zone, rather than in UTC. (#400)
-
get_content()now includes vanity URLs in the returned data frame on Connect v2024.06.0 and later. (#398) - Removed unnecessary null check with default from
get_oauth_credentials()andget_oauth_content_credentials()functions forrequested_token_typeparameter that was causing issues with Connect < 2025.03.0. (#407) -
Connect$content()now respects theincludeargument when aguidis provided. (#411)
connectapi 0.7.0
CRAN release: 2025-03-27
New features
- New
get_packages()function to get a data frame of all packages on a Connect server. (#374) - New
get_content_packages()function to get a data frame of all package dependencies for a content item. (#374) - New
get_aws_credentials()andget_aws_content_credentialsfunctions for interacting with Connect’s/v1/oauth/integrations/credentialsendpoint. This endpoint allows content running on Posit Connect to obtain temporary AWS credentials for an AWS IAM role specified by the system administrator. (#380).
connectapi 0.6.0
CRAN release: 2025-02-11
New features
- New
get_log()function which lets you get the log for a given job. (#341) - New
get_job_list()function returns a list of jobs for a content item. (#341) - New
tokenparameter toconnect()function allows you to create a Connect client with permissions scoped to the content visitor when running on a Connect server. (#362)
Enhancements and fixes
-
swap_vanity_urls()can correctly perform a swap involving a content item with no vanity URL. (#360) -
swap_vanity_urls()handles permissions errors gracefully, attempting to roll back any changes made. (#360) -
get_jobs()andget_job_list()return objects containcontent_idandcontent_guidfields. These contain the same values asapp_idandapp_guid, which are deprecated and will be removed in a future update.
connectapi 0.5.0
CRAN release: 2024-12-18
Breaking changes
-
get_jobs()now uses the publicv1jobs endpoint when available, and as a result, the data returned by this function has changed. In particular, thefinalizedcolumn is no longer present, replaced bystatus.status == 0corresponds toisFALSE(finalized). See?get_jobs()for more details about the new return data format. (#340)
New features
-
get_users()has new parameters for filtering users byaccount_statusanduser_role. This allows you to find, for example, all licensed users on a Connect server. (#311) - The new
get_group_content()function lets you view the content that groups have permission to access. (#334) - The new
terminate_jobs()function lets you terminate processes associated with a content item. (#332) - The new
get_vanity_urls()function lets you get all vanity URLs on a Connect server (#333) - Added new
get_oauth_content_credentials()function for interacting with Connect’s/v1/oauth/integrations/credentialsendpoint. This endpoint allows content running on Posit Connect to obtain an OAuth access token using the client credentials flow. (#344).
Minor improvements and fixes
- The task returned by
content_render()now has the expectedtask_idparameter and is able to be polled. (#338)
connectapi 0.4.0
CRAN release: 2024-11-08
New features
- New functions
set_thumbnail(),get_thumbnail(),delete_thumbnail()andhas_thumbnail()let you interact with content thumbnails, replacing older*_image()functions. (#294, #304) -
groups_create_remote()now has anexactparameter. Settingexactcauses the function to consider only exact group name matches when searching for remote groups and checking for existing local groups. (#216) - New functions to let you view and delete runtime caches on a Connect server:
get_runtime_caches(),delete_runtime_cache()(#312) - New
get_runtimes()lets you view available runtimes and versions on a Connect server. (#311)
Lifecycle changes
Newly deprecated
-
set_image_path(),set_image_url(), andset_image_webshot()have been deprecated and will be removed in a future update. They have been replaced byset_thumbnail(), which works both with local file paths and remote URLs to images. Likewise,has_image()anddelete_image()have been deprecated in favor ofhas_thumbnail()anddelete_thumbnail(). (#294, #304) -
Connect$server_settings_r()has been deprecated in favor ofget_runtimes(client, "r"). (#311)
Minor improvements and fixes
- Upgrade
pkgdownto bootstrap 5 to enable search (@fh-mthomson, #275) - The
get_timezones()function now uses thev1/timezonesendpoint if available. (#300) -
connect$DELETE()now respects theparserargument rather than always usingNULL. -
get_groups()no longer hangs when a searchprefixis provided. (#319)
connectapi 0.3.0
CRAN release: 2024-09-05
New features
- New
content_render()andcontent_restart()functions.content_render()allows you to programmatically re-render content such as Quarto and R Markdown reports and Jupyter notebooks, optionally passing in avariant_keyto render a specific variant of parameterized content.content_restart()lets you restart interactive content, such as Shiny applications, APIs, or dashboards (#283, #289) - New
get_oauth_credentials()function for interacting with Connect’s/v1/oauth/integrations/credentialsendpoint. This endpoint allows content running on Posit Connect to obtain the content viewer’s OAuth access token (#297).
Minor improvements and fixes
- Timestamps with non-zero offsets received from Connect no longer parse as
NA(#290). - Timestamps sent to Connect are now correctly converted to UTC, instead of simply being labeled as GMT (#291).
- Functions to render variants and email reports now contain the request query that Connect expects (#277).
- HTTP verb functions can take any URL, not just one relative to API root, and can optionally return the
httr_responseobject (#274).
connectapi 0.2.0
CRAN release: 2024-06-06
Breaking changes
- All previously deprecated functions are now removed.
- The functions
Connect$download_bundle()andConnect$bundle_delete()have been removed. UseContent$bundle_download()andContent$bundle_delete()instead. -
audit_vanity_urls()has been removed. To check if a vanity URL is in use, usevanity_is_available()instead. - Other
audit_*functions have been modified to accept the result ofget_content()rather thancache_apps()(which is now removed). They are faster as a result. - dplyr is no longer a required dependency. If you use
tbl_connect(), you will need to install dplyr and dbplyr explicitly. (#246)
Enhancements and fixes
- The package is now tested against many versions of Connect, back to 1.8.8.2 (May 2021). There are now fewer warnings about version mismatches: you should only see a warning if your Connect server is older than that. (#244)
- Now correctly provides methods for
tbl_connect, rather thantbl_lazy, preventing problems when also using dplyr (#177). -
progressis now an optional dependency. To show pretty progress bars, install the package explicitly. (#269) -
Content$tag_delete()removes the tag from the target content item rather than removing the tag entirely. (#194) -
audit_r_versions()returns a bar chart instead of a histogram (#179) - Fix issue with
NULLorlength 1job outputs (#193) - Timestamp parsing now correctly preserves time components (#259)
connectapi 0.1.3
- Rebrand RStudio to Posit
-
RStudioConnectdocumentation is now atPositConnect
-
- Fix
purrrdeprecated changes
connectapi 0.1.1.1
CRAN release: 2022-07-21
BREAKING
- BREAKING: the following functions now require RStudio Connect 1.8.6 or later (because they are no longer experimental, as of that release). (#128)
-
set_vanity_url(),get_vanity_url(),swap_vanity_url() -
get_tags(),get_tag_data(),get_content_tags(),create_tag(),create_tag_tree(),delete_tag(),get_content_tags(),set_content_tags(),set_content_tag_tree(),filter_tag_tree_id(),filter_tag_tree_chr(),set_environment_new(),get_environment(),set_environment_remove(),download_bundle() -
tag ids are now character strings (of integers) instead of integers
-
- BREAKING:
Connect$new()now takes aserverargument (instead ofhost) - BREAKING:
set_environment_new()andset_environment_remove()no longer take a.versionargument, and output data structure is a bit different (a list of names). They now use the public API, which changes the interface a bit. Also, intricacies of how to set / remove environment variables are changed (i.e. settingVAR=NAwill removeVAR). (#141) - BREAKING:
get_vanity_url()andset_vanity_url()are now no longer experimental functions. (#113) However:-
get_vanity_url()now returns a character string representing the vanity url in use (or NULL if not defined) -
set_vanity_url()still returns aVanityR6 object, butvanity$get_vanity()$path_prefixis nowvanity$get_vanity()$path
-
- BREAKING:
tag_page()andtag_page_iframe()have been removed. Similar functions belong in theconnectwidgetspackage in the future. - BREAKING: Several
content_*and other APIs have moved from experimental to “v1” variants. This means they have stabilized, but with several subtle breaking changes that could impact your scripts. (#115)- i.e.
bundle_idhas becomeidin some response data. In others,urlhas becomecontent_url. - The R6 method
content$get_bundles()no longer takes apage_numberargument, and theget_bundles(limit)argument is now deprecated (#129) -
Connect$download_bundleis now deprecated in favor ofContent$bundle_download(), anddelete_bundle()now takes aContentitem instead ofConnect. (#153)
- i.e.
- BREAKING:
acl_*()functions are deprecated in favor ofget_content_permissions(),content_add_user(), and friends. - BREAKING:
Connect$PUT(),Connect$POST()andConnect$PATCH()endpoints now presume that an empty list is really a “map”/“object” (like{}instead of[]). This can break some endpoints that expect a list. Set.empty_object=FALSEto avoid this behavior.
Other Changes
-
users_create_remote()gains anexactargument to simplify complex cases (#135). Long term, we should solicit feedback on whether this function attempts to do too much. - Add helpers for common content modification actions:
content_update(),content_update_access_type()andcontent_update_owner() - Fix an issue with relative paths in
bundle_dir()(@slodge) (#118, #121) - Add
overwrite=parameter todownload_bundle() - Add HTTP request customization options, and related documentation (#101)
- Add git deployment (#112)
- Switch
Taskclass toContentTask- R6 does not support multiple inheritance, so we keep the
Taskinterface up-to-date onContentTaskandVariantTaskmanually
- R6 does not support multiple inheritance, so we keep the
- Improve several print methods (#18, #19)
- Protect against bad bundles (#13)
- Error if an empty API key is defined (#16)
- Add a few
content_list_*helpers (#130):-
content_list_with_permissionsreturns acontent_listwith a “permission” column that includes who has access -
content_list_by_tagallows fetching just acontent_listfor a particular tag -
content_list_guid_has_accessfilters a “content list with permission” by whether a user or group GUID has access
-
- Add a
user_guid_from_username()function to convertsession$useror other usernames to a user GUID (#130)
connectapi 0.1.0.9018
- Add a
client$PATCHverb - Switch
Content$update()to usePATCH(which depends on RStudio Connect 1.8.6+) - Add error messaging for new API endpoints when using older versions of Connect
- Fail more gracefully if/when protocol
http/httpsis not defined
connectapi 0.1.0.9017
BREAKING: * Switch from RSTUDIO_CONNECT_* variables to CONNECT_* variables * Rename a handful of functions: - connect$activate_bundle to connect$content_deploy - connect$create_app to connect$content_create - connect$upload_bundle to connect$content_upload - connect$get_users to connect$users * Change some return types to be consistent with the API - connect$content_upload returns the response instead of bundle_id - connect$content_deploy returns the response instead of task_id * Switch endpoints from using app_id to guid * get_task$start renamed to get_task$first * promote$app_name renamed to promote$name * rename the package to connectapi * change functions to take a Connect object instead of server / api key - cache_apps - tag_page
OTHER: * Add some endpoints: - content - audit_logs - server_settings - server_settings_r - inst_shiny_usage - inst_content_visits * Add some helper functions: - swap_vanity_url, deployment functions - browse_ family of functions - users_create_remote and groups_create_remote for remote users/groups * Update Connect R6 object to be compatible with Connect 1.7.0+ APIs * Added a NEWS.md file to track changes to the package. * Add integration testing to protect against regressions * Add tbl_connect() as a lazy_tbl for querying Connect API endpoints * Add get_* functions as alternatives to lazy_tbl