Log changes in rmumps package ============================= Version 5.9.1-1 --------------- * 2026-10-23 - MUMPS updated from 5.2.1 to 5.9.1 (sequential, double precision real) - the bundled MUMPS, PORD and METIS 5.1.0 sources are now generated from the pristine upstream tarballs by a reproducible pipeline (tools/ in the source repository): pinned checksums, numbered patches, and automatic transforms that remove all output to the console, all process exits, file access and use of the Fortran/C random generators - SCOTCH is no longer bundled (RMUMPS_PERM_SCOTCH falls back to AUTO, as in 5.2.1-44) - MUMPS prints nothing any more (ICNTL(1:4) have no visible effect); errors are reported through INFO/INFOG and rmumps' messages - DMUMPS_STRUC_C has the MUMPS 5.9.1 layout (RMUMPS_DMUMPS_ABI 2). Client binaries built against older rmumps keep working: the legacy "dmumps_c" callable and the rmumps_dmumps_c*_abi1 entry points translate from the 5.2.1 layout ('deficiency' is filled from INFOG(28)). Packages built from source must include or : the top-level copies of the MUMPS headers are removed - results do not depend on earlier calls: the generator MUMPS uses internally is reset before every call, and never touches R's - control parameters: rmumps sets the same ICNTL values as before (reviewed against the 5.9.1 defaults); parameters it does not set take the MUMPS 5.9.1 defaults, e.g. ICNTL(58) = 2 (symbolic factorization) - the Fortran sources compile with gfortran >= 10 without -fallow-argument-mismatch and with LLVM flang, the package builds without significant warnings under -Wall -pedantic (gfortran, gcc and clang), and a link-time-optimization build reports no type mismatch between the Fortran callers and the C and Fortran definitions - copyright holders and inst/COPYRIGHTS updated for the bundled code; the CeCILL-C and Apache-2.0 license texts are included * 2026-10-26 - the single-precision BLAS calls (sgemm, cgemm) of MUMPS 5.9.1's mixed-precision low-rank code are computed in Fortran instead: R's reference BLAS has no single-precision routines and the Windows DLL did not link (patch 0012). Double-precision results are unchanged - a GitHub Actions workflow runs R CMD check on macOS, Windows, Linux x86_64 (R devel, release, oldrel-1) and Linux arm64 * 2026-11-02 - maintainer: Balasubramanian Narasimhan takes over from Serguei Sokol, at his request; the repository is now https://github.com/bnaras/rmumps Version 5.2.1-44 ---------------- * 2026-10-23 - new C interface for other packages, : registered entry points named after the DMUMPS_STRUC_C layout (rmumps_dmumps_c_safe_abi1, rmumps_dmumps_c_abi1) plus metadata (rmumps_api_version, rmumps_mumps_version, rmumps_orderings_available). The "safe" entry point never longjmps: R errors and interrupts raised inside MUMPS are returned as codes with a message, and the failed instance is marked (INFO(1) = -99999). The "dmumps_c" callable is kept. - MUMPS C headers are also installed under include/rmumps/; the top-level ones are kept for compatibility (they will go with MUMPS 5.9.x) - new pointer interface functions Rmumps__xptr(), Rmumps__symbolic(), Rmumps__numeric(), Rmumps__solvetptr(), Rmumps__set/get_icntl(), Rmumps__set/get_cntl(), Rmumps__get_infos(), Rmumps__det(), Rmumps__log2det(), Rmumps__get_sym_perm(), Rmumps__get_uns_perm(), Rmumps__set_perm_in(), Rmumps__mumps_version() (also callable from C++) - entry points are registered through Rcpp (no dynamic symbol lookup) - fixed undefined behavior: errors raised in the bundled C libraries threw C++ exceptions through Fortran code; all MUMPS calls now go through the error boundary above and give ordinary R errors - error messages describe the MUMPS INFO(1) code; positive INFO(1) values (MUMPS warnings) are now R warnings instead of errors - get_icntl(), get_cntl() and get_infos() return the full MUMPS vectors (ICNTL 60, CNTL 15, INFO/INFOG 80, RINFO/RINFOG 40); set_icntl(), set_cntl() and set_keep() accept all positions and reject invalid ones - RMUMPS_PERM_SCOTCH gives a warning and uses RMUMPS_PERM_AUTO - PORD ordering no longer fails on a 1 x 1 matrix - determinant() method fixed (it failed) and returns a "det" object - solvet() is exported - set_perm_in() keeps its own copy of the permutation - no deprecated Matrix coercions; out-of-core files go to tempdir() - rmumps.h no longer does 'using namespace Rcpp' and no longer includes rcpp_errwarn.h Version 5.2.1-43 ---------------- * 2026-05-28 - fixed dmumps_c() declaration to include MUMPS_STRUC_C (signaled by R CRAN team) VVersion 5.2.1-42 ---------------- * 2026-05-26 - accepted PR #4 by Balasubramanian Narasimhan exposing dmumps_c() to other packages ersion 5.2.1-41 ---------------- * 2026-03-13 - fixed more LTO warnings (signaled by R CRAN team) Version 5.2.1-40 ---------------- * 2026-03-13 - fixed gcc-san warnings in examples (signaled by R CRAN team) Version 5.2.1-39 ---------------- * 2026-03-12 - fixed gcc-san warnings in tests (signaled by R CRAN team) Version 5.2.1-38 ---------------- * 2026-03-11 - fixed gcc-15 warnings (signaled by R CRAN team) Version 5.2.1-37 ---------------- * 2026-02-27 - replaced Rf_error() by Rcpp::stop() in C++ code (issue #3) Version 5.2.1-36 ---------------- * 2025-12-11 - fixed gcc warning about FORTIFY_SOURCE under no optimization (signaled by R CRAN team) Version 5.2.1-35 ---------------- * 2025-05-16 - removed warnings in scotch parser - more cleaning of read/write Version 5.2.1-34 ---------------- * 2025-04-08 - even more cleaning 'write' calls Version 5.2.1-33 ---------------- * 2025-04-08 - more cleaning 'write' calls Version 5.2.1-32 ---------------- * 2025-04-07 - removed 'write' calls in *.F signaled by R CRAN team on debian system Version 5.2.1-31 ---------------- * 2025-04-02 - removed printf, sprintf, abort, exit, rand, srand, std[in,out,err] signaled by R CRAN team Version 5.2.1-30 ---------------- * 2024-06-14 - fixed buffer overflow on ubuntu/gcc13 Version 5.2.1-29 ---------------- * 2024-03-29 - added method 'log2det()' (requested in issue #2) Version 5.2.1-28 ---------------- * 2024-02-26 - fixed gcc UBSAN issues signaled by CRAN Version 5.2.1-27 ---------------- * 2024-02-02 - fixed warnings about _FORTIFY_SOURCE and fixed form fortran signaled by CRAN Version 5.2.1-26 ---------------- * 2023-11-28 - fixed warnings about format string signaled by CRAN Version 5.2.1-25 ---------------- * 2023-11-02 - fixed warnings on function prototype signaled by CRAN - fixed gcc UBSAN issues signaled by CRAN Version 5.2.1-23 ---------------- * 2023-03-08 - added set_perm_in() method to set user provided permutation - fixed buffer overflow in memset() call, likely due to gcc optimization (signaled by CRAN team) - updated CITATION as recommended by win-builder header Version 5.2.1-22 ---------------- * 2023-01-11 - fixed pointer qualifier discarding for clang15 (signaled by CRAN team) Version 5.2.1-21 ---------------- * 2023-01-10 - fixed compilation errors in C23 mode (signaled by CRAN team) Version 5.2.1-20 ---------------- * 2022-10-19 - fixed compilation errors about function prototypes (signaled by CRAN team) Version 5.2.1-18 ---------------- * 2022-10-03 - fixed metis/gklib compilation error from clang-15 (signaled by CRAN team) Version 5.2.1-15 ---------------- * 2022-03-25 - fixed rank mismatch errors from gcc-12 (signaled by CRAN team) Version 5.2.1-14 ---------------- * 2021-08-11 - fixed -Wunneeded-internal-declaration (signaled by CRAN team) Version 5.2.1-13 ---------------- * 2021-07-19 - fixed -Wswitch (signaled by CRAN team) Version 5.2.1-12 ---------------- * 2020-02-20 - MUMPS_SIZE_C() replaced by sizeof() - fixed set_keep() method - added get_keep() method - added a test for type-size results in KEEP - fixed import show method - fixed exported names; - updated scotch from 6.0.4 to 6.0.9 - get_cnst() renamed .get_cnst() and no more exported - constants RMUMPS_PERM_... are regrouped in a named vector RMUMPS_PERM - fixed warnings in graph_match.h and kgraph_map_df_loop.c Version 5.2.1-10 ---------------- * 2020-01-27 - fixed gcc-9 warning about uninitialized variables (signaled by CRAN team) Version 5.2.1-9 --------------- * 2020-01-27 - fixed gcc-10 warning about uninitialized variables (signaled by CRAN team) Version 5.2.1-8 --------------- * 2020-01-23 - fixed gcc-10 warning about type mismatches signaled by CRAN team (signaled by CRAN team) - added Copyright holders to DESCRIPTION file Version 5.2.1-7 --------------- * 2019-12-06 - fixed clang-10 warning (signaled by CRAN team) Version 5.2.1-6 --------------- * 2019-11-05 - added C wrappers for some methods. Wrappers are registered with R_RegisterCCallable() so they are available from other package's C++ code. Version 5.2.1-5 --------------- * 2019-08-26 - fixed clang issues (signaled by CRAN team) VVersion 5.2.1-4 --------------- * 2019-08-21 - fixed some more LTO warnings (signaled by CRAN team) ersion 5.2.1-3 --------------- * 2019-07-19 - removed compile test on all platforms Version 5.2.1-2 --------------- * 2019-07-19 - fixed LTO issues (signaled by CRAN team) - removed compile test on win-i386 Version 5.2.1-1 --------------- * 2019-07-15 - upgrade to MUMPS-5.2.1 - removed compile test on Mac OS; VVersion 5.1.2-7 --------------- * 2019-07-02 - fixed NAMESPACE corrupted by roxygen2 - fixed manual entries for constants RMUMPS_PERM_ ersion 5.1.2-6 --------------- * 2019-04-23 - added C++ methods set_mat_ptr(), set_rhs_ptr() - added R and C++ methods set_permutation(), get_permutation() - defined RMUMPS_PERM_ constants for different permutations - added C++ constructor from i,j,v pointers - added tests for C++ code; - changed F77 for FC in Makevars; Version 5.1.2-5 --------------- * 2018-12-18 - renamed MUMPS *.F files to *.F95 to be comnformant with R conventions for file extensions - removed STOP call in mpi.f Version 5.1.2-4 --------------- * 2018-01-05 - fixed usage of -fPIC option - fixed non ASCII character in DESCRIPTION file Version 5.1.2-3 --------------- * 2018-01-03 - added doi refs in DESCRIPTION:Description field - fixed errors in tests for older R releases Version 5.1.2-2 --------------- * 2017-12-13 - added inst/COPYRIGHTS and contributors in DESCRIPTION:Autors@R Version 5.1.2-1 --------------- * 2017-12-12 - upgrade MUMPS from v5.1.1 to v5.1.2 - fixed a compilation error of metis library on windows/R-released Version 5.1.1-3 --------------- * 2017-09-19 - fixed warning "Integer division truncated to constant ‘768614336404’" in dana_aux.F Version 5.1.1-2 --------------- * 2017-07-05 - fixed gfortran-6 warning "Integer division truncated to constant ‘768614336404’" - fixed C warning about header guard Version 5.1.1-1 --------------- * 2017-04-26 - upgraded MUMPS to the latest version 5.1.1 - added set_keep() method - added mumps_version() method Version 5.0.1.12 ---------------- * 2017-03-06 - added library SCOTCH v6.0.4 (http://gforge.inria.fr/projects/scotch/) as option for ordering (...$set_icntl(3, 7)) - default ICNTL(33) is set to 1, i.e. the determinant is calculated (before was 0, i.e. no determinant calculation) - added det() and determinant() methods returning determinant value - added sym parameter to constructor. Now symmetric matrices can be decomposed as LDL^t - added solvet() method for solving transposed system - fixed registering C-callable in coming R-3.4 Version 5.0.1.11 ---------------- * 2016-12-21 - increased default auxiliary memory via ICNTL(14)-50 (was 25) - added methods for finer control and information: set_cntl(), get_cntl(), set_icntl(), get_icntl(), get_infos() Version 5.0.1.10 ---------------- * 2016-08-25 - fixed compilation with -pedantic option Version 5.0.1.9-1 ----------------- * 2016-04-14 - fixed building process (signaled by CRAN team) Version 5.0.1.9 --------------- * 2016-04-12 - added method triplet() rendreding a simple_triplet_matrix (cf. package slam) - fixed job registering for symbolic() method - fixed compiler warning about non initialized n and nz in new_mat(); - fixed valgrind's warning about non initialized memory use in dmumps() Version 5.0.1.8 --------------- * 2016-02-22 - added constructor from slam::simple_triplet_matrix - added multiple right hand side solver for slam::simple_triplet_matrix - added S3method for Rcpp_Rmumps class: solve(), dim(), nrow(), ncol(), print(), show(); - fixed constructor from i, j, v triplicate; Version 5.0.1.7 --------------- * 2016-01-20 - INTEGER type is compiled as int32 and not int64 as in previous version; - fixed a typo in inst/example.R; - fixed some building issues on all platforms (all reported by Prof. Brian Ripley): + no more cmake is needed on Linux and Mac OS; + no more sources kept in binary package; + MAKE env. variable is respected now; + explicit mention of gcc is removed; + /bin/rm is replaced by $(RM); + fixed a non initialized variable use in C++ code; + a .a prefix is used for static library on Windows instead of .dll; - fixed the use of default values in constructors which are ignored by RcppModule (detected by UBSAN test run by CRAN team); Version 5.0.1.4 --------------- * 2015-12-17 - initial release. Provides solve(), numeric() and symbolic() methods