Changes in version 0.5.0 (2026-01-08) Fixed o Fixed error in one package metadata unit test. Changed o *Breaking:* Converted C code for Compensated Horner method to use long double internally to eke out a bit more precision. One unit test had to be updated as what was formerly an error now converged. o Updated Github-related files and workflows. o Updated WORDLIST. o Reduced overwriting of base R function names. o Simplified code and nesting of various functions. o Package metadata tests now use vapply for type safety. Changes in version 0.4.3 (2024-06-20) Changed o Efficiency tweaks to C code. o Use native CRAN DOI and update README. o Expanded package metadata testing. Changes in version 0.4.2 (2024-05-20) Changed o If an explicitly passed conviter is larger than miniter, then miniter is set to conviter. o Documentation made more consistent. o C code tweaked for clarity and efficiency. o Updated unit tests. o Set up Github workflow for testing with rhub. Changes in version 0.4.1 (2024-02-29) Changed o One unit test adjusted to pass on Professor Ripley's OpenBLAS test machine which has different tolerances than the standard twelve on CRAN, six on Github, three on R Win Builder, and the one on R Mac Builder. Changes in version 0.4.0 (2024-02-26) Added o *Breaking:* Analysis now uses the Chebyshev polynomials of the first kind, T_k, as the default basis instead of the monomials, x^k. Monomials can still be used by passing the appropriate basis parameter. o The internal functions underlying the Chebyshev polynomial calculations were ported to C for speed. Changed o *Breaking:* Changed names in return object. What was Basis is now Extrema. The basis parameter is now used to capture whether monomials or Chebyshev polynomials should be/were used. o *Breaking:* User-facing functions now have basis parameter to determine which basis to use; see appropriate help files. Parameter positions have thus changed. o The print, plot, and coef methods were updated to recognize or allow basis selection. o The print method now shows 14 digits for the convergence ratio by default. o Internal code was streamlined and tolerances were tightened. o Updated documentation for new functionality. o The C files were split and header files created to keep Chebyshev and Horner code seperate from each other. Fixed o Fixed potential division-by-zero problem in the “unchanging” test. o Fixed outdated parameter name in documentation. o Fixed incorrect NEWS entries. Changes in version 0.3.0 (2024-01-25) Changed o *Breaking:* More descriptive names in return object. See the *Value* section of help("minimaxApprox") for details. o *Breaking:* When using relative error for convergence and one of the basis points has a functional value of 0, instead of stopping with an error, the algorithm will perturb that basis point by 1e-12 in the appropriate direction and proceed with a warning. o *Breaking:* Forced convergence to look _only_ at the ratio if the difference between tested values is <= .Machine$double.eps. o *Breaking:* Increased default for conviter from 10 to 30 as tests on some values now need more iterations to acheive ratio convergence given a distance <= .Machine$double.eps. Added o Added unit tests for additional functionality. Fixed o Fixed a misnamed option value in some unit tests. Changes in version 0.2.2 (2023-10-13) Changed o Refactored README to split out security and contributions wordings to their own respective files and link the citation to the file on CRAN. o Changed some tests to be more acceptable for CRAN. Added o Added LTO_OPT to Makevars and UseLTO to DESCRIPTION. Changes in version 0.2.1 (2023-09-05) Changed o Test for calculating polynomial of degree n + 1 when one of degree n fails, while passing both R Mac Builder and Github's Mac platform, failed on CRAN's testbed. So test is no longer run for Mac on CRAN. Changes in version 0.2.0 (2023-09-04) Added o When the polynomial algorithm fails with a singular matrix error for degree n, it will now look for a polynomial of degree n + 1. If found, *and* the contribution of that coefficient is less than the new option tailtol (default 1e-10), it will return the found polynomial without the uppermost coefficient-which is effectively 0. It will message the user to that effect. Passing NULL skips the test. (see Issue 2 with thanks to Hans W. Borchers). o New option ztol which acts similarly to zapsmall in that it will zero out coefficient values-both polynomial and rational-whose contributions are <= ztol at each step of the iteration. The default, NULL, skips the test. Changed o Ported Compensated Horner Scheme algorithms to C for speed. The algorithms are now roughly 10x faster. o Changed linear solution algorithm to use qr.solve when the default solve fails with a singular matrix issue. This _may_ allow for higher degree polynomials in certain cases. o *Breaking:* Changed name of ‘round’ parameter in print method to ‘digits’ to prevent any confusion with base function round. o Updated unit tests. o Cleaned up and updated some documentation and various messages. o Tightened tolerances and cleaned up some internal functions. o Added LICENSE to .Rbuildignore and removed from DESCRIPTION as suggested on R-pkg-devel. Changes in version 0.1.0 (2023-08-08) Changed o Internal polynomial evaluations now uses Compensated Horner Scheme of Langlois et al. (2006) for increased precision and stability. o Clarified some error messages. Removed o Remove one test which fails on M1 Mac (thanks to Professor Brian Ripley) and PowerPC (Issue 1; thanks to Sergey Fedorov) due to it returning a singular matrix where on Linux and Windows it does not. Added o Added file LICENSE with text of MPL-2.0. o Added copyright and license notices to source code where it was missing. o Added unit tests. Changes in version 0.0.2 (2023-07-20) Changed o Correct documentation and make more consistent. o Provide better examples for minimaxApprox. o Updated README with live CRAN links. Changes in version 0.0.1 (2023-07-19) Added o Initial release. Changes in version 0.0.0 o So long as the package remains in its experimental development state-noted by a 0 major version-the API may change without incrementing the major version. Please read these development notes carefully. Breaking changes will be prefaced by “*Breaking:*”.