Skip to content

Conversation

@teunbrand
Copy link
Contributor

Hi there,

We've been preparing a new major release for ggplot2 and found an issue during a reverse dependency check.
We did not find a problem in qqplotr itself, but shared reverse dependencies implied there should be.

After a bit of head scratching, I finally found the culprit. The issue is that during package build time (e.g. on CRAN's machines), some of your ggproto classes capture (and fix) methods from ggplot2's ggproto classes. That means that if somebody updates ggplot2, they'd still be running the old methods in qqplotr, which can give version mismatches. Such version mismatches appeared in shared reverse dependencies.

The fix isn't too hard, we just need to make sure we call the method rather than to copy the method. This PR does that for the single method that was giving troubles.

You can test your code with the development version of ggplot2 by installing it as follows:

# install.packages("pak")
pak::pak("tidyverse/ggplot2")

We aim to release the new ggplot2 version in about 2 weeks, and hope you can submit a fix to CRAN around that time. Hopefully this will inform you in a timely manner.

Best wishes,
Teun

@aloy aloy merged commit 8d579ab into aloy:master Jun 23, 2025
0 of 4 checks passed
@aloy
Copy link
Owner

aloy commented Jun 23, 2025

Thanks for this! It looks like I won't be able to use rhub for checking with the new ggplot2, or do you know of a workaround?

Thanks!

@teunbrand
Copy link
Contributor Author

Thanks for picking this up! I'd just install the development version locally and run R CMD check yourself. If your working directory is in the package, you can do:

pak::pak("tidyverse/ggplot2")
devtools::check(remote = TRUE, manual = TRUE)

@teunbrand teunbrand deleted the compat_ggplot2_400 branch July 21, 2025 13:22
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants