Skip to content
Prev 2014 / 12125 Next

[R-pkg-devel] Semantic versioning and maintenance releases

On 26/10/2017 10:36 AM, Bruce Hoff wrote:
You could do that, but it would be very unusual (and fragile) to have 
your package depend on a particular version of another package.  The 
more common thing is to say "Depends:  yourpackage" (or "Imports:", 
etc.), with no version dependency.  Users installing mypackage would 
need to have some version of yourpackage installed, but R would be happy 
with either one.

When there's only one active version of yourpackage, CRAN enforces 
quality by requiring that any update to yourpackage doesn't break 
mypackage (and the other reverse dependencies), and that any update to 
mypackage works with the latest yourpackage.  That's already a lot of 
work.  When I was testing for CRAN, a few packages required 10 or 20 
hours of testing when they submitted an update.

The problem arises if both versions of yourpackage are on CRAN with 
equal status.  Then CRAN shouldn't accept mypackage unless it works fine 
with both, but that's twice as much testing.  And in the extended 
version with n packages having m active versions, it's m^n times as much 
testing.

Duncan Murdoch

  The author of 'mypackage' is free to move up to 1.7.0 when