rOpenSci News Digest, November 2025

[This article was first published on rOpenSci - open tools for open science, 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.

Dear rOpenSci friends, it’s time for our monthly news roundup! You can read this post on our blog. Now let’s dive into the activity at and around rOpenSci!

rOpenSci HQ

rOpenSci at LatinR

We’re excited to continue supporting LatinR as a community partner in 2025. Registration is now open for the free LatinR Conference, bringing together researchers, developers, and open science advocates from across the region.

Keynotes

  • Heather Turner — Lowering Barriers to Contributing to R
  • Stephanie Zimmer — Transforming a team to open-source first
  • TRACE-LAC Team — Lo invisible del código abierto: Lessons from the TRACE-LAC / Epiverso project for connecting software development with public health

Talks in Spanish

Talks in English

Tutorials in Spanish

  • ¡Miércoles, Git! Manejo de errores en Git y no morir en el intentoMaëlle Salmon & Yanina Bellini Saibene. Tuesday, December 2. 10:00-12:00 UTC-3.
  • Introducción a TidymodelsFrancisco Cardozo & Edgar Ruiz. Monday, December 1. 18:00-20:00 UTC-3.
  • Automatización de workflows en R y Python con targets y snakemakeDiana Garcia. Tuesday, December 2. 14:00-16:00 UTC-3.
  • ¿Qué historia vas a contar hoy? Herramientas para una comunicación eficazAlejandra Bellini. Tuesday, December 2. 17:00-19:15 UTC-3.

Tutorials in English

  • Coding with AI in RStudio — Juan Cruz Rodríguez & Luis D. Verde Arregoitia. Tuesday, December 2. 10:00-12:00 UTC-3.

Full tutorial schedule: https://latinr.org/en/cronograma/tutoriales/workshops.html

rOpenSci Dev Guide Now Available in Portuguese!

rOpenSci has published the Portuguese translation of the “Packages: Development, Maintenance, and Peer Review” guide, expanding access to best practices in R package development across the Portuguese-speaking world.

The two-year, community-led effort brought together contributors from Angola, Brazil, and Portugal, following rOpenSci’s open workflow with automated translation, multi-reviewer editing, and collaborative decisions on terminology and inclusivity.

This new version strengthens rOpenSci’s multilingual infrastructure and helps lower language barriers for contributors.

Read the full blog post to learn more about the project.

Big Team Collaboration on Data Management and Analysis with rOpenSci

Liz Hare and Yanina Bellini Saibene gave a talk on Big Team Collaboration on Software Peer Review with rOpenSci at the Big Team Science Conference 2025. The slides and recording have been posted!

rOpenSci at posit::conf(2025): recordings

Recordings from posit::conf(2025) are now publicly available on YouTube! Many excellent talks to enjoy and learn from, including those from rOpensci community members.

Blog contributor roles in rOpenSci and beyond

We recently added support for contributor roles on our blog: author, editor, translator, interviewee. Rogue Scholar, that generates the DOI of our posts (and many others’), also added this feature. Read more in their announcement. Thanks to Martin Fenner for supporting our efforts in recognizing all contributions to blog posts!

Coworking

Read all about coworking!

  • Tuesday December 2nd, 14h00 Europe Central (13:00 UTC), “Getting to know The Carpentries” with Steffi LaZerte and cohost Angelique Trusler.
    • Visit The Carpentries;
    • Meet community host, Angelique Trusler, and learn more about The Carpentries and how you might get involved.
  • Tuesday January 13th, 9:00 Americas Pacific (17:00 UTC), “Let it go!” with Steffi LaZerte and cohost Yanina Bellini Saibene.
    • Spend some time reviewing the forums, Slack workspaces, Newsletters, RSS feeds (etc. etc.) you’re subscribed to;
    • Unsubscribe to all you no longer need (Let it go!);
    • Meet co-host, Yanina Bellini Saibene, and discuss strategies for this New Year decluttering of your digital (or perhaps not-so-digital) life.
  • Tuesday February 2nd, 9:00 Australia Western (01:00 UTC), “Share your Positron setup!” with Steffi LaZerte and cohost Noam Ross.
    • Setup Poistron and explore extensions and custom settings;
    • Meet community host, Noam Ross, share how you have set up Positron for your workflow and learn from others.

And remember, you can always cowork independently on work related to R, work on packages that tend to be neglected, or work on what ever you need to get done!

Software 📦

New packages

The following package recently became a part of our software suite:

  • distionary, developed by Vincenzo Coia: Create and evaluate probability distribution objects from a variety of families or define custom distributions. Automatically compute distributional properties, even when they have not been specified. This package supports statistical modeling and simulations, and forms the core of the probaverse suite of R packages. It has been reviewed.

Discover more packages, read more about Software Peer Review.

New versions

The following fifteen packages have had an update since the last newsletter: babelquarto (v0.1.0), pkgmatch (v0.5.0), pkgstats (v0.1.6), aRxiv (0.14), daiquiri (v1.2.1), dataset (0.4.1), fireexposuR (v1.2.0), googleLanguageR (v0.3.1.1), GSODR (v5.0.0), prism (v0.3.0), rgbif (v3.8.4), taxizedb (v0.3.2), USAboundaries (v0.5.1), USAboundariesData (v0.5.1), and weatherOz (v2.0.2).

Software Peer Review

There are fifteen recently closed and active submissions and 3 submissions on hold. Issues are at different stages:

Find out more about Software Peer Review and how to get involved.

On the blog

Software Review

Computo logo

Calls for contributions

Calls for maintainers

If you’re interested in maintaining any of the R packages below, you might enjoy reading our blog post What Does It Mean to Maintain a Package?.

photosearcher, searches Flickr for photographs and metadata. Issue for volunteering.

Calls for contributions

Refer to our help wanted page – before opening a PR, we recommend asking in the issue whether help is still needed.

Package development corner

Some useful tips for R package developers. 👀

Update of the vcr chapter in HTTP testing in R

We’ve updated the introduction to vcr in the HTTP testing in R book, so that it reflects the current vcr version, in particular the local_cassette() function.

Jarl: just another R linter

Etienne Bacher introduced the new CLI jarl in a blog post. Like Air, it is run in the terminal. Like the flir R package, it can fix bad patterns in R code.

pkgdown 2.2.0 makes it easier for LLMs to read your documentation

The latest pkgdown version adds a step to the website building, that creates:

  • a Markdown version of all HTML pages;
  • a standard file called llms.txt that compiles the content of the homepage and of the reference and article indices.

Read more about this, including how to opt-out (one config line) in the release announcement.

testthat 3.3.0

If you use testthat, don’t miss its release announcement! Of note:

  • A new function skip_unless_r() to skip tests depending on the R version;
  • Tests using Suggested packages will now be automatically skipped on CRAN;
  • A new expectation expect_shape() to check the dimensions, number of rows or number of columns!

A Git trick: keeping Git blame informative

If you reformat your whole codebase with Air, you’ll end up with one or several commits that only change the aspect of your code. A good code style is tantamount to readability, but when you’re exploring the history through Git blame, that commit or those commits are not relevant. This problem is solvable!

Thanks to Hugo Gruson to telling us this: you can create (and .Rbuildignore) a file called .git-blame-ignore-revs where you list the hashes of the commits you want to exclude from Git blame.

Example in testthat:

# This file lists revisions of large-scale formatting/style changes so that
# they can be excluded from git blame results.
#
# To set this file as the default ignore file for git blame, run:
# $ git config blame.ignoreRevsFile .git-blame-ignore-revs

# https://github.com/r-lib/testthat/pull/2121
13d17788e5d3a54fa83beed25e325703608f8b9f

To use this file,

  • you tell your local Git about it by running git config blame.ignoreRevsFile .git-blame-ignore-revs;
  • GitHub, on the other hand, automatically picks it up!

Another Git trick: rebase all commits

Imagine you work on a private repository, on a single branch, not bothering about a clean Git history. Then you have to make the repository public. How to fix up the history before doing so?

You can rebase all the commits on main (or any branch) using the --root option of git rebase. So you can type git rebase -i --root and, say, combine all the commits into a very deceitful “First commit”!

You can practice git rebase -i with the saperlipopette R package.

Some talks from posit::conf(2025)

Besides talks by community members (see HQ section), you can watch recordings of talks relevant to software development:

Last words

Thanks for reading! If you want to get involved with rOpenSci, check out our Contributing Guide that can help direct you to the right place, whether you want to make code contributions, non-code contributions, or contribute in other ways like sharing use cases. You can also support our work through donations.

If you haven’t subscribed to our newsletter yet, you can do so via a form. Until it’s time for our next newsletter, you can keep in touch with us via our website and Mastodon account.

To leave a comment for the author, please follow the link and comment on their blog: rOpenSci - open tools for open science.

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)