Viewing package version history
The History tab on the package details page provides a chronological timeline of every change that affected a package’s availability. Use it to understand when each version became available, which source provides it, and to get snapshot URLs for reproducible environments.
Unlike the Activity Log, which shows repository-wide changes per source, the History tab focuses on a single package across all sources. It shows the historical source priority as it was at each point in time — not just the current state — so you can trace exactly how source and version changes affected what was served.
Accessing the history tab
- Navigate to a package details page (see Viewing Package Details).
- Click the History tab.
Understanding the timeline
The timeline displays vertically with the most recent dates at the top and oldest at the bottom. Each entry represents a snapshot date — a point in time when something changed for this package.
Each timeline entry shows:
- Date and a change description summarizing what happened
- Latest version at that date, with source status badges
- Snapshot URL for that date, with a Copy button and a View Snapshot Packages link
- An expandable section showing other versions available at that date
What triggers a new timeline entry
The following events create new entries in the timeline:
- A new package version is added from a source — for example, a CRAN (Comprehensive R Archive Network) or PyPI (Python Package Index) sync brings a newer version. The change description reads something like “v2.0.0 added from CRAN”.
- A source is subscribed (added) to the repository — for example, an admin adds a new local source. The change description reads something like “my-local-source added”.
- A source is unsubscribed (removed) from the repository — the change description reads something like “my-local-source removed”.
- Sources are reordered — an admin changes the source priority order. The change description reads “Sources reordered”.
- Multiple versions added on the same date — for example, a bulk upload to a local source. The change description reads something like “v2.0.0, v1.5.0 and v1.0.0 added”.
Adding a new package version does not change older snapshot dates. Each snapshot is a fixed point in time. If you need access to a version that was added later, use a newer snapshot date.
Understanding source status badges
Each version in the timeline displays a status badge for every source that contains the package. The badges indicate how the version is served at that snapshot date:
| Status | Color | Meaning |
|---|---|---|
| Available | Green | This version is served from this source at this snapshot date |
| Archived | Gray | This version exists in this source but a newer version is now the latest (R repositories only) |
| Not served (lower priority) | Orange | This version exists in this source, but another source with higher priority provides a different version |
In R repositories, you can only install the latest version of a package via install.packages(). Older versions are shown as Archived. The “other versions” section shows when each archived version was last available (the “Last available” date).
In Python repositories, you can install all versions via pip install package==version. Both current and older versions show as Available. The “other versions” section shows older versions that are still installable.
The following examples show the different source status badges in action:
Available and Not served (lower priority): The latest version (0.15) is Available from the higher-priority local2 source. The expanded other versions show an older version (0.14) from local1 marked as “Not served (lower priority)” with a “Last available” date indicating when it was last served before the higher-priority source added a newer version.
Not served with Never available: When a lower-priority source adds a new version (v1.42.61 from pypi), it appears as “Not served (lower priority)” with “Never available” because the higher-priority local-python source continues to serve its own version (1.42.48).
Not served with Last available dates: The expanded other versions section shows multiple versions from a lower-priority source — one marked “Never available” because it was always outranked, and another with a “Last available” date indicating when it was last served before the higher-priority source took over.
Understanding source priority
When a repository has multiple sources containing the same package, the source listed first (highest priority) determines which version is served. The History tab shows the source priority as it was at each snapshot date, not the current priority.
If an admin reorders sources, the timeline shows a “Sources reordered” entry. Entries after that date reflect the new priority order. A version marked “Not served (lower priority)” means it exists in a source, but another higher-priority source provides a different version at that date.
For more details on how source priority works, see Repositories with Multiple Sources.
Source priority can change over time. Look at the source status badges across different dates to understand how priority changes affected which version was served.
Using snapshot URLs for reproducibility
Each timeline entry includes a snapshot URL that pins your environment to the exact set of packages available at that date.
- Click Copy to copy the snapshot URL to your clipboard.
- Click View Snapshot Packages to open a new tab showing all packages available at that snapshot date.
Use the snapshot URL in your renv.lock, requirements.txt, or R/Python configuration to pin to a reproducible set of packages. For more details on configuring frozen URLs, see Getting frozen URLs for improving reproducibility.
If you need a specific version of a package, find a snapshot date in the History timeline where that version was the latest, then use that snapshot URL for your environment configuration.
Expanding other versions
Click Show N other versions available to expand the list of all other versions that existed at a given snapshot date. Each version shows:
- Its source status badges
- Last available date (R repositories): the last snapshot date where this version was the latest
- Never available (R repositories): this version was never served because a higher-priority source always provided a different version
This section is useful for understanding version history and finding when a specific version was available.
Pagination
The timeline loads 20 entries at a time, sorted newest-first. Click Load More at the bottom to load older entries.






