Repository navigation
Search function changes across all versions of a package #14
Description
What and why
The reporter hit a function that was no longer in an R package. The package NEWS didn't say it had been deprecated or removed. diffify had no direct way to answer "when did this go?", so they compared one pair of versions after another until they found it.
They suggest a table covering every version, filterable by function:
| function | action | version |
|---|---|---|
| a | new | 0.0.1 |
| b | new | 0.0.1 |
| a | removed | 0.0.2 |
Filtering on a shows it was removed in 0.0.2.
In February 2026 a second user needed the same thing: when did curl::form_file() gain its name parameter? They would like to pick a package, pick a function, and see that function's diffs across versions.
A third commenter offered a workaround. The metaCRAN mirror at https://github.com/cran tags every CRAN version, even when the package's own repo doesn't. Find the file and read its commit history, e.g. https://github.com/cran/curl/commits/master/R/form.R:
Their best guess for the curl question was 5.0.1, from this commit: cran/curl@44af7b9#diff-1c9c36a71cfd1f5031c0be794e978691fa6a471669745e7e826865678c0e8a90
Where
diffify.com. A new view, or an extension of the function entries.
Done when
- For a chosen package, diffify lists each function with the version in which it was added, changed or removed
- The list can be filtered to one function
- Argument changes appear in the list, so the
curl::form_file()question can be answered from diffify
Activity
JosiahParry commentedon Feb 2, 2026
I'm in a similar boat right now. I want to see when the
nameparameter tocurl::form_file()was added.I would love an interface that lets me:
Thanks for this awesome tool!
remlapmot commentedon Feb 4, 2026
You've probably found your answer by now but I find the metaCRAN CRAN mirror on GitHub, https://github.com/cran, very helpful for this kind of thing - because it has a tag for every version on CRAN (whereas the actual source repo might not).
Find the relevant file then look at its commit history
https://github.com/cran/curl/commits/master/R/form.R
And then check those commits.
I believe version 5.0.1 is your likely answer.
cran/curl@44af7b9#diff-1c9c36a71cfd1f5031c0be794e978691fa6a471669745e7e826865678c0e8a90
[-]Using diffiy to find the right version needed[/-][+]Search function changes across all versions of a package[/+]csgillespie commentedon Oct 15, 2026
Merged into #5, which now holds the version table idea, the
curl::form_file()question and the metaCRAN workaround from this thread. Closing as a duplicate.