Diffify - the anniversary update!
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.
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”:
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:
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:
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:
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:
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:
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.
Usability
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!