| NEWS | R Documentation | 
NEWS file for the minimaxApprox package
Developmental Note: Version 0.0.0+
- 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:”. 
Version 0.4.3 (2024-06-20)
Changed
- Efficiency tweaks to C code. 
- Use native CRAN DOI and update ‘README’. 
- Expanded package metadata testing. 
Version 0.4.2 (2024-05-20)
Changed
- If an explicitly passed - conviteris larger than- miniter, then- miniteris set to- conviter.
- Documentation made more consistent. 
- C code tweaked for clarity and efficiency. 
- Updated unit tests. 
- Set up Github workflow for testing with rhub. 
Version 0.4.1 (2024-02-28)
Changed
- 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. 
Version 0.4.0 (2024-02-26)
Added
-  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 appropriatebasisparameter.
- The internal functions underlying the Chebyshev polynomial calculations were ported to C for speed. 
Changed
-  Breaking: Changed names in return object. What was Basisis nowExtrema. Thebasisparameter is now used to capture whether monomials or Chebyshev polynomials should be/were used.
-  Breaking: User-facing functions now have basisparameter to determine which basis to use; see appropriate help files. Parameter positions have thus changed.
- The - print,- plot, and- coefmethods were updated to recognize or allow basis selection.
- The - printmethod now shows 14 digits for the convergence ratio by default.
- Internal code was streamlined and tolerances were tightened. 
- Updated documentation for new functionality. 
- The C files were split and header files created to keep Chebyshev and Horner code seperate from each other. 
Fixed
- Fixed potential division-by-zero problem in the “unchanging” test. 
- Fixed outdated parameter name in documentation. 
- Fixed incorrect ‘NEWS’ entries. 
Version 0.3.0 (2024-01-25)
Changed
-  Breaking: More descriptive names in return object. See the Value section of help("minimaxApprox")for details.
-  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-12in the appropriate direction and proceed with a warning.
-  Breaking: Forced convergence to look only at the ratio if the difference between tested values is \le.Machine$double.eps.
-  Breaking: Increased default for conviterfrom 10 to 30 as tests on some values now need more iterations to acheive ratio convergence given a distance\le.Machine$double.eps.
Added
- Added unit tests for additional functionality. 
Fixed
- Fixed a misnamed option value in some unit tests. 
Version 0.2.2 (2023-10-12)
Changed
- Refactored ‘README’ to split out security and contributions wordings to their own respective files and link the citation to the file on CRAN. 
- Changed some tests to be more acceptable for CRAN. 
Added
- Added - LTO_OPTto ‘Makevars’ and- UseLTOto ‘DESCRIPTION’.
Version 0.2.1 (2023-09-04)
Changed
- Test for calculating polynomial of degree - n + 1when one of degree- nfails, 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.
Version 0.2.0 (2023-09-04)
Added
- 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- NULLskips the test. (see Issue 2 with thanks to Hans W. Borchers).
- New option - ztolwhich acts similarly to- zapsmallin that it will zero out coefficient values—both polynomial and rational—whose contributions are- \le- ztolat each step of the iteration. The default,- NULL, skips the test.
Changed
- Ported Compensated Horner Scheme algorithms to C for speed. The algorithms are now roughly 10x faster. 
- Changed linear solution algorithm to use - qr.solvewhen the default- solvefails with a singular matrix issue. This may allow for higher degree polynomials in certain cases.
-  Breaking: Changed name of ‘ round’ parameter in print method to ‘digits’ to prevent any confusion with base functionround.
- Updated unit tests. 
- Cleaned up and updated some documentation and various messages. 
- Tightened tolerances and cleaned up some internal functions. 
- Added ‘LICENSE’ to ‘.Rbuildignore’ and removed from ‘DESCRIPTION’ as suggested on R-pkg-devel. 
Version 0.1.0 (2023-08-07)
Changed
- Internal polynomial evaluations now uses Compensated Horner Scheme of Langlois et al. (2006) for increased precision and stability. 
- Clarified some error messages. 
Removed
- 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
- Added file LICENSE with text of MPL-2.0. 
- Added copyright and license notices to source code where it was missing. 
- Added unit tests. 
Version 0.0.2 (2023-07-20)
Changed
- Correct documentation and make more consistent. 
- Provide better examples for - minimaxApprox.
- Updated README with live CRAN links. 
Version 0.0.1 (2023-07-18)
Added
- Initial release.