From a1afc6f59da9a0959a1be79456c205f00fedb49d Mon Sep 17 00:00:00 2001 From: Markus Mottl Date: Sat, 18 Jan 2025 19:34:41 -0500 Subject: [PATCH] Improved changelog --- CHANGELOG.md | 184 ++++++++++++++++++++++++--------------------------- 1 file changed, 86 insertions(+), 98 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 10c3370..ad06f7c 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,173 +1,161 @@ # Changelog -## 11.1.1 (2024-12-07) +## [11.1.1] - 2024-12-07 -- Removed obsolete `base-bytes` and `base-bigarray` dependencies +### Removed -## 11.1.0 (2024-11-28) +- Obsolete `base-bytes` and `base-bigarray` dependencies. -- Bug fix: moved incorrect `Bool_val` out of blocking section. +## [11.1.0] - 2024-11-28 -- Removed -O3, -ffast-math, and -march=native flags. They may be too risky as - defaults. +### Fixed -- Rewrote README and improved changelog. +- Moved incorrect `Bool_val` out of blocking section. + +### Removed + +- `-O3`, `-ffast-math`, and `-march=native` flags due to risk as defaults. +### Changed + +- Rewrote README and improved changelog. - Reformatted all C-code using `clang-format` and OCaml code using `ocamlformat`. -- Added GitHub workflow. +### Added -## 11.0.10 (2023-05-16) +- GitHub workflow. -- Fixed platform configuration bug +## [11.0.10] - 2023-05-16 -## 11.0.9 (2023-05-05) +### Fixed -- Fixed a bug in the bytecode bindings for `lamch`, which also affected - `syevr`. These functions should now not crash anymore when compiling - to bytecode or using the OCaml interpreter. +- Platform configuration bug. - Thanks to Philippe Veber for the bug report. +## [11.0.9] - 2023-05-05 -- Added support for Apple Silicon. +### Fixed - Thanks to Marcello Seri for this contribution. +- Bug in bytecode bindings for `lamch`, affecting `syevr`. -- Improved Dune build rules + Thanks to Philippe Veber for the bug report. -## 11.0.8 (2020-08-15) +### Added -- Improved detection of (complex) `dotu` and `dotc` calling conventions. +- Support for Apple Silicon. -## 11.0.7 (2020-07-30) + Thanks to Marcello Seri for this contribution. -- Removed package dependencies on `stdio` and `base`. This allows - testing with the new OCaml multicore compiler, which as of now does not - yet support these libraries. +### Improved - Thanks to Anthony Scemama for this contribution. +- Dune build rules. -- Added support for const char strings in stubs due to stricter handling - in newer OCaml runtimes. This eliminates C-compiler warnings. +## [11.0.8] - 2020-08-15 -## 11.0.6 (2020-01-23) +### Improved -- Switched to OPAM file generation via `dune-project` +- Detection of (complex) `dotu` and `dotc` calling conventions. -- Added missing autogenerated dependencies to `dune` file to avoid - build system race conditions. +## [11.0.7] - 2020-07-30 -## 11.0.5 (2019-10-11) +### Removed -- Fixed warnings in C-stubs +- Package dependencies on `stdio` and `base` for OCaml multicore testing. -## 11.0.4 (2019-05-21) + Thanks to Anthony Scemama for this contribution. -- Fixed an API misspecification in `ptsv`, which leads to incorrect results. +### Added -Thanks to Nicolas Ratier for the bug report. +- Support for const char strings in stubs due to stricter OCaml runtimes. -## 11.0.3 (2018-12-31) +## [11.0.6] - 2020-01-23 -- Fixed a portability bug in (complex) `dotu` and `dotc` due to BLAS API - incompatibilities between different platforms. +### Changed -## 11.0.2 (2018-10-24) +- Switched to OPAM file generation via `dune-project`. -- Switched to dune, dune-release, and OPAM 2.0 +### Added -## 11.0.1 (2018-05-23) +- Missing autogenerated dependencies to `dune` file to avoid race conditions. -- Fixed warnings and errors in configuration code due to upstream changes. +## [11.0.5] - 2019-10-11 -- Fixed bug in Vec.ssqr. +### Fixed -## 11.0.0 (2018-02-28) +- Warnings in C-stubs. -WARNING: +## [11.0.4] - 2019-05-21 -- User code changes in existing code required. User code may still compile, - but can behave differently. +### Fixed - The following functions have changed: +- API misspecification in `ptsv`, leading to incorrect results. - - `potrf` - - `potri` - - `potrs` + Thanks to Nicolas Ratier for the bug report. - The above functions now do not support the `jitter` argument anymore. - Users should remove the flag from calls to the above functions and call the - new `Mat.add_const_diag` function if they need to add jitter. This call - should happen right before the (now required) call to `potrf`. +## [11.0.3] - 2018-12-31 - More importantly, `potri` and `potrs` now do not support the `factorize` - flag anymore, which would call `potrf` automatically beforehand. This was - the (ill-conceived) default, which makes it harder to port LAPACK code to - Lacaml. To upgrade your code, please do the following: +### Fixed - - If `potri` or `potrs` received `~factorize:false`, remove the flag. +- Portability bug in (complex) `dotu` and `dotc` due to BLAS API differences. - - If `potri` or `potrs` received `~factorize:true` _or did not receive - the `factorize` flag_, remove the flag if necessary and call - `potrf` with the corresponding arguments used before. +## [11.0.2] - 2018-10-24 - Usage of these functions is infrequent, and the changes are trivial. Apologies - for the churn. +### Changed -- New functions +- Switched to dune, dune-release, and OPAM 2.0. - - `Mat.add_const_diag` for adding a constant to the diagonal of a - (sub-)matrix. +## [11.0.1] - 2018-05-23 -- `orgqr` now detects if `m < n` and raises an exception instead of printing - a Fortran error message and continuing. +### Fixed -- Eigenvalue offsets should work now. +- Warnings and errors in configuration code due to upstream changes. +- Bug in `Vec.ssqr`. -- Improved documentation. +## [11.0.0] - 2018-02-28 -## 10.0.2 (2017-11-08) +### Warning -- Fixed bugs accessing lower pentagonal matrix patterns +- User code changes required for functions `potrf`, `potri`, and `potrs`. -- Fixed library override issue on Mac OS X +### Added -## 10.0.1 (2017-10-21) +- `Mat.add_const_diag` for adding a constant to the diagonal of a matrix. + +### Changed + +- `orgqr` now raises an exception if `m < n`. +- Improved documentation. +- Eigenvalue offsets should work now. -- Fixed wrongly capitalized build targets missed due to Mac OS X file - system case insensitivity. +## [10.0.2] - 2017-11-08 -## 10.0.0 (2017-10-20) +### Fixed -- Switched to jbuilder and topkg +- Bugs accessing lower pentagonal matrix patterns. +- Library override issue on Mac OS X. -- API changes +## [10.0.1] - 2017-10-21 - - `trmm` and `trsm` now do not label argument `a` anymore +### Fixed - - Some matrix functions now support an optional `patt` argument - for specifying rectangular, triagonal, trapezoidal, and pentagonal - patterns on which to perform an operation. +- Wrongly capitalized build targets missed due to Mac OS X file system case + insensitivity. - - New functions +## [10.0.0] - 2017-10-20 - - `Mat.sum_prod` computes the sum of element-wise products of - two matrices. Some use cases are already covered by `Mat.gemm_trace`, - but the latter does not support patterns. +### Changed -- Improved C-code to better support SIMD compiler optimizations +- Switched to jbuilder and topkg. -- Internal improvements, including untagged and unboxed passing of - parameters to and from external functions. +### Added -- Compilation now uses `-march=native -O3 -ffast-math` by default, which - should be safe and exploit SIMD on platforms that support it to greatly - improve performance of some operations. +- New functions: `Mat.sum_prod`. -- Improved documentation +### Improved -- Improved configuration and build process +- C-code for better SIMD compiler optimizations. +- Documentation. +- Configuration and build process. ## Changes Before Version 10.0.0