Diffify – the anniversary update!

[This article was first published on The Jumping Rivers Blog, and kindly contributed to R-bloggers]. (You can report issue about the content on this page here)
Want to share your content on R-bloggers? click here if you have a blog, or here if you don't.

We’ve just passed an important milestone for diffify: our app for tracking Python and R package releases has just turned 1 year old! To mark this exciting occasion we are delighted to announce an “anniversary update” featuring numerous quality of life improvements. This post will outline the latest changes and tease at some exciting developments in the works…

First, though, we would like to take this opportunity to thank everyone that continues to use the app and welcome any new users to the service. Your continued feedback via social media and GitHub has played a major role in shaping the last year of development.

Data comes in all shapes and sizes. It can often be difficult to know where to start. Whatever your problem, Jumping Rivers can help.

Anniversary update

Let’s start by going through the changes introduced by today’s anniversary update!

Latest package releases

When you navigate to the R and Python homepages, you will notice a new window titled “Latest Releases and Updates”:

A screenshot of the R packages homepage: As before, there is a dropdown to the left for selecting an R package. There is also a new window to the right titled “Latest Releases and Updates”, which shows a list of new and updated packages that have been published in the past day or so.

This lists any new or updated packages that have been published in the past day or so. See a package that you’re using? Just click on it and you will be redirected to the diffify summary with the latest changes.

Package dependencies

In response to user feedback, we have added cross-links for package dependencies. Let’s check out the changes between versions 3.6.3 and 3.7.1 of the matplotlib package:

A screenshot of the package dependencies window: This is showing changes to the required dependencies between versions 3.6.3 and 3.7.1 of the matplotlib package. A new link icon is visible next to the name of each package. Clicking this would redirect users to the diffify summaries for those packages.

We see that the version requirement has changed for the numpy and pyparsing packages. You may now be wondering what’s changed in the latest versions of those packages? Just click the link icons and that will open a new tab with the two latest versions diffed.

Quick disclaimer that not all package dependencies will have cross-links. We can only provide cross-links for packages that are actually tracked by diffify, which includes:

  • All R packages published on CRAN (this does not include base-R packages)
  • Any Python package that is in the top 5000 PyPI packages list and has an accessible wheel file on PyPI

News layout

We have made some changes to the way we display news for R packages. Let’s check out the changes between versions 1.0.7 and 1.0.10 of {dplyr}. As before, the news can be accessed for all versions since (but not including) the earlier version:

A screenshot of the updated news window: Tabs are displayed for versions 1.0.8, 1.0.9 and 1.0.10 for the {dplyr} package. The 1.0.8 and 1.0.10 tabs have been expanded so that the news for these versions is displayed.

However, you’ll notice we now have an accordion layout with the version tabs listed vertically. You are now free to have as many of these versions open as you like, and scrolling through these will feel just like scrolling through a NEWS.md file.

Dark theme

Last but not least … we now have a dark theme! Just click the theme dropdown at the top of the page, select “Theme: Dark” and enjoy this lower-light setting:

A screenshot of the diffify webpage with the new dark theme applied: The webpage displays some changes between versions 1.1.0 and 1.1.2 of the {dplyr} package. With the dark theme applied, the background is now darkened and the colour of the text has been changed to white to maintain a high contrast.

On the topic of themes, we have also improved the default theme by incorporating beneficial features from the old boosted contrast theme.

Other recent changes

In case you missed them, here are some other improvements that have been made over the past six months or so.

Maintainer section

Just below the version dropdowns you will notice a new maintainer section:

A screenshot of the expanded maintainer section located below the version dropdowns: This contains links to raise an issue and get a badge.

If you maintain a package that is featured on diffify, you can generate a diffify badge to copy into your GitHub repository. Simply click “Get a badge”, then paste the copied HTML code directly into an HTML or Markdown file (perhaps your package README).

As an example, here’s the badge generated for the {dplyr} package:

The diffify page for the R package {dplyr}

Clicking this icon will redirect users to the {dplyr} page on diffify.

Python content

We have expanded the list of Python packages that are tracked by diffify to cover the top 5000 packages on PyPI according to download counts. We are still only tracking packages that have a wheel file on PyPI, but will look to expand this to zips and tars within the next month.


We are continuing to optimise the usability and performance of the app. Recent improvements include:

  • text wrapping on narrow screens
  • smoother transitions using the backward and forward navigation buttons
  • improvements to keyboard navigation.

Exciting times ahead…

In the coming months we will be releasing two public APIs to accompany diffify. We will release dedicated blogs to coincide with those releases, but here’s a quick overview to whet your appetite:

  • Next month we will release an API which will allow R package authors to submit development versions to diffify. Package authors and users will then be able to use diffify to view changes between published versions and the latest development version.
  • The second API, which will take a little longer to develop, will act as a command-line interface for submitting queries to diffify. This will allow you to check whether installing the latest version of a package could break your code.

We can’t wait to share more when these release!

Wrapping up

That’s all from us for today. Thanks again for your continued feedback on the app, and please stay tuned for more updates…

For further reading, you can check out our previous blog posts here!

For updates and revisions to this article, see the original post

To leave a comment for the author, please follow the link and comment on their blog: The Jumping Rivers Blog.

R-bloggers.com offers daily e-mail updates about R news and tutorials about learning R and many other topics. Click here if you're looking to post or find an R/data-science job.
Want to share your content on R-bloggers? click here if you have a blog, or here if you don't.

Never miss an update!
Subscribe to R-bloggers to receive
e-mails with the latest R posts.
(You will not see this message again.)

Click here to close (This popup will not appear again)