NEWS.md
content_render()
and content_restart()
functions. content_render()
allows you to programmatically re-render content such as Quarto and R Markdown reports and Jupyter notebooks, optionally passing in a variant_key
to render a specific variant of parameterized content. content_restart()
lets you restart interactive content, such as Shiny applications, APIs, or dashboards (#283, #289)get_oauth_credentials()
function for interacting with Connect’s /v1/oauth/integrations/credentials
endpoint. This endpoint allows content running on Posit Connect to obtain the content viewer’s OAuth access token (#297).NA
(#290).httr_response
object (#274).Connect$download_bundle()
and Connect$bundle_delete()
have been removed. Use Content$bundle_download()
and Content$bundle_delete()
instead.audit_vanity_urls()
has been removed. To check if a vanity URL is in use, use vanity_is_available()
instead.audit_*
functions have been modified to accept the result of get_content()
rather than cache_apps()
(which is now removed). They are faster as a result.tbl_connect()
, you will need to install dplyr and dbplyr explicitly. (#246)tbl_connect
, rather than tbl_lazy
, preventing problems when also using dplyr (#177).progress
is 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)NULL
or length 1
job outputs (#193)RStudioConnect
documentation is now at PositConnect
purrr
deprecated changesset_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 id
s are now character strings (of integers) instead of integersConnect$new()
now takes a server
argument (instead of host
)
set_environment_new()
and set_environment_remove()
no longer take a .version
argument, 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. setting VAR=NA
will remove VAR
). (#141)get_vanity_url()
and set_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 a Vanity
R6 object, but vanity$get_vanity()$path_prefix
is now vanity$get_vanity()$path
tag_page()
and tag_page_iframe()
have been removed. Similar functions belong in the connectwidgets
package in the future.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)
bundle_id
has become id
in some response data. In others, url
has become content_url
.content$get_bundles()
no longer takes a page_number
argument, and the get_bundles(limit)
argument is now deprecated (#129)Connect$download_bundle
is now deprecated in favor of Content$bundle_download()
, and delete_bundle()
now takes a Content
item instead of Connect
. (#153)acl_*()
functions are deprecated in favor of get_content_permissions()
, content_add_user()
, and friends.Connect$PUT()
, Connect$POST()
and Connect$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=FALSE
to avoid this behavior.users_create_remote()
gains an exact
argument to simplify complex cases (#135). Long term, we should solicit feedback on whether this function attempts to do too much.content_update()
, content_update_access_type()
and content_update_owner()
bundle_dir()
(@slodge
) (#118, #121)overwrite=
parameter to download_bundle()
Task
class to ContentTask
Task
interface up-to-date on ContentTask
and VariantTask
manuallycontent_list_*
helpers (#130):
content_list_with_permissions
returns a content_list
with a “permission” column that includes who has accesscontent_list_by_tag
allows fetching just a content_list
for a particular tagcontent_list_guid_has_access
filters a “content list with permission” by whether a user or group GUID has accessuser_guid_from_username()
function to convert session$user
or other usernames to a user GUID (#130)client$PATCH
verbContent$update()
to use PATCH
(which depends on RStudio Connect 1.8.6+)http
/https
is not definedBREAKING: * 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