Content Bundles

You can view previous versions of content bundles deployed to Posit Connect within the Bundles dialog.

Content bundles are created and uploaded to Connect as part of the publishing process, and can contain source code, environment specifications, or other files. Old bundles are retained until you reach the limit imposed by Applications.BundleRetentionLimit, at which point older bundles are deleted.

To view the bundles associated with a piece of content, open the Settings panel and select the Current Bundle tab. In the Active Bundle section, click View all bundles to open the Bundles dialog.

Each bundle tracks the user who created it. You can see the creator in the Bundles dialog and in the Active Bundle section of the Settings panel.

For more information about managing content, see the Content Management section of the Posit Connect Admin Guide.

Inspecting bundle files

You can browse the files inside a bundle directly in Connect, without downloading it. Click View files to open a read-only file browser for that bundle. The View files button appears in two places:

  • In the Active Bundle section of the Current Bundle settings tab, for the active bundle.
  • In the Bundles dialog, after you select a bundle from the list.

The file browser lists every file in the bundle. Select a file to view its contents, and use the Copy button to copy them. The header shows the bundle ID, the number of files, and the total size of the bundle.

The browser cannot preview files larger than 5 MB, or binary files such as images and compiled objects. Download the bundle to view these files.

Only content owners and collaborators can inspect bundle files.

Changing an active bundle

Publishing new content or updates to an existing content item will set that bundle to active. You can activate a different bundle for a piece of content by selecting it and clicking the Activate button.

  • For interactive applications

    Activating an alternate bundle causes new incoming users to be directed to the new version of the application. Existing users of the application who are viewing the previously active bundle are not interrupted.

  • For APIs

    Activating an alternate bundle causes new requests to be serviced by new processes running the new code. Existing requests are serviced by processes already launched running the old code.

  • For documents

    Activating an alternate bundle immediately renders the newly activated bundle and promotes it to be the authoritative version of that document. For parameterized documents, only the default variant is rendered. Other instances of the report are not automatically regenerated, but the next manual or scheduled rendering is performed on the newly active bundle.

Content owners and collaborators can delete, download, activate, and view activation logs for their content bundles.

Reviewing content before it goes live

Publishing a new bundle does not have to change what your audience sees. A draft is any content bundle that is not the currently active (served) version — a newly deployed bundle that has not been activated, or an earlier bundle. Viewing a draft lets you open and exercise that version in its real running environment without changing what viewers see, so you can confirm it behaves before promoting it.

This supports a review-before-release workflow, where a new version is deployed but held back for a person to check before it replaces the live version:

  • Deploy from CI without activating. Trusted publishing lets a CI/CD pipeline — such as GitHub Actions or GitLab CI/CD — publish a content item without storing a long-lived API key. For example, on pull requests, configure the deploy step to publish without activating, and each pipeline run produces a draft rather than immediately replacing the live version.

  • Deploy from rsconnect-python without activating. Deploying with rsconnect-python deploy --draft ... will upload a bundle to Connect without making it the active version, leaving it as a draft to review, and providing a URL to get to the draft.

Then review the draft in place. Open the draft and you will see the running application or rendered report — the same environment your audience uses — and validates it before anyone activates it.

An application open in draft view within Connect, with a Draft label in the header and Back to active version and Activate buttons in a banner above the content.

Drafts are visible only to a content item’s owners, collaborators, and reviewers. Viewers always see the active version, never the draft.

You can also open the draft in standalone mode to see it exactly as it would look in this mode, without the surrounding Connect dashboard. In standalone mode, a banner across the top of the content marks it as an unpublished draft and links to the published version on Connect, so the draft is never mistaken for the active version. This is also helpful if you need a direct URL to an API, MCP, or applications without an interface.

An application open in standalone draft view, with a banner reading 'This is an unpublished draft! The published version of this app is available on Connect.'

What a draft reflects

A draft runs the code and dependencies from the bundle you are previewing, but it shares the content item’s configuration with the active version:

  • Specific to the draft: the bundle’s source code, along with the package dependencies and language versions (R, Python, Quarto, and so on) recorded with that bundle. The dependencies shown in the Current Bundle tab reflect the draft you are viewing, not the active version.

  • Shared with the active version: environment variables, access permissions, and runtime and scheduler settings. You cannot change these while viewing a draft; the draft inherits them from the content item’s current configuration.

Keep this in mind when a change depends on a new environment variable or a permission update — the draft will not reflect those until you activate the bundle and update the configuration.

Viewing earlier versions

You can also use View Draft to look back in time. From the content’s Settings, click Bundles to open the Bundles dialog, select the bundle you want to inspect, and click View Draft. The draft is clearly labeled with a banner, so it is never mistaken for the active version.