[R-pkg-devel] Matrix 1.7-0 to be released in March with ABI-breaking SuiteSparse update
Martin Maechler
m@ech|er @end|ng |rom @t@t@m@th@ethz@ch
Wed Apr 10 12:52:25 CEST 2024
>>>>> Tim Taylor
>>>>> on Wed, 10 Apr 2024 10:37:00 +0100 writes:
> Hi Mikael Revisiting this. Have the plans changed for
> 1.7-0 release?
> Tim
Yes. Matrix 1.7-0 *has* been on CRAN now for while
(i.e. 'March' has remained as announced), *but*
-- because of the ABI change and the problem it can cause for
*some* users --
we have made it 'Depends: R (>= 4.4.0)'
i.e., you *see* the new Matrix only once you use R 4.4.0
which has been available as "alpha" already and is now in
"beta" already, e.g.,
R version 4.4.0 beta (2024-04-10 r86393) -- "Puppy Cup"
Best regards,
Martin
--
Martin Maechler
ETH Zurich and R Core Team
> On Mon, 12 Feb 2024, at 6:36 PM, Mikael Jagan wrote:
>> Dear users and binary repository maintainers,
>>
>> We are preparing Matrix version 1.7-0 for CRAN submission
>> on March 11, ahead of the spring release of R version
>> 4.4.0. The only significant change from Matrix 1.6-5 is
>> an update of the internal SuiteSparse libraries (5.10.1
>> -> 7.6.0). Unfortunately, the old and new SuiteSparse
>> versions are binary incompatible, hence so too will be
>> the old and new Matrix versions.
>>
>> A corollary is that users and binary repository
>> maintainers switching between Matrix < 1.7-0 and Matrix
>> >= 1.7-0 must rebuild _from sources_ packages that link
>> Matrix:
>>
>> > tools::package_dependencies("Matrix", which =
>> "LinkingTo", reverse = TRUE)[[1L]] [1] "ahMLE"
>> "bayesWatch" "cplm" [4] "GeneralizedWendland" "geostatsp"
>> "irlba" [7] "lme4" "mcmcsae" "OpenMx" [10] "PRIMME"
>> "PUlasso" "robustlmm" [13] "spGARCH" "TMB" "bcSeq"
>>
>> For users, that means doing, e.g.,
>>
>> install.packages("lme4", type = "source")
>>
>> but an alternative for Windows and macOS users without
>> the required tools is
>>
>> oo <- options(repos = "https://cran.r-project.org/")
>> install.packages("Matrix") install.packages("lme4")
>> options(oo)
>>
>> where we trust CRAN to provide binaries compatible with
>> the latest Matrix version (because we notify CRAN upon
>> submission about required rebuilds). Once other
>> repositories react with rebuilds, they can be used
>> instead of CRAN.
>>
>> Our reverse dependency checks (and history, intuition,
>> ...) show that most problems (caught segfaults in this
>> case) can be traced to a binary incompatible lme4 and not
>> to one of the other packages linking Matrix. Still, we
>> recommend rebuilds for all 15 packages.
>>
>> Maintainers of packages that link Matrix can implement an
>> .onLoad test for possible binary incompatibility by
>> comparing the value of
>>
>> if (utils::packageVersion("Matrix") >= "1.6.2")
>> Matrix::Matrix.Version()[["abi"]] else
>> numeric_version("0")
>>
>> at install time and at load time, warning the user if the
>> values differ. But please do look at the above and not
>> at packageVersion("Matrix") directly, as the ABI version
>> is incremented less often than the package version.
>>
>> Mikael {on behalf of citation("Matrix")$author}
>>
>> ______________________________________________
>> R-package-devel using r-project.org mailing list
>> https://stat.ethz.ch/mailman/listinfo/r-package-devel
>>
> [[alternative HTML version deleted]]
> ______________________________________________
> R-package-devel using r-project.org mailing list
> https://stat.ethz.ch/mailman/listinfo/r-package-devel
More information about the R-package-devel
mailing list