Browse Source

Add Changelog.jl infrastructure.

pull/23/head
Fredrik Ekre 1 year ago
parent
commit
b8317d77d1
No known key found for this signature in database
GPG Key ID: DE82E6D5E364C0A2
  1. 78
      CHANGELOG.md
  2. 7
      docs/Manifest.toml
  3. 1
      docs/Project.toml
  4. 10
      docs/make.jl

78
CHANGELOG.md

@ -5,42 +5,48 @@ All notable changes to this project will be documented in this file. @@ -5,42 +5,48 @@ All notable changes to this project will be documented in this file.
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
<!-- ## [Unreleased] -->
## [Unreleased]
### Changed
- PartitionedArrays.jl dependency upgraded from release series 0.3.x to release series
0.5.x. ([#17], [#18])
- CEnum.jl dependency upgraded to release series 0.5.x (release series 0.4.x still
allowed). ([#17], [#18])
## [1.5.0] - 2023-05-26
## [v1.5.0] - 2023-05-26
### Changed
- PartitionedArrays.jl dependency upgraded from version 0.2.x to version 0.3.x.
([#16][github-16])
([#16])
## [1.4.0] - 2023-01-20
## [v1.4.0] - 2023-01-20
### Added
- New function `HYPRE.GetFinalRelativeResidualNorm(s::HYPRESolver)` for getting the final
residual norm from a solver. This function dispatches on the solver to the corresponding
C API wrapper `LibHYPRE.HYPRE_${Solver}GetFinalRelativeResidualNorm`. ([#14][github-14])
C API wrapper `LibHYPRE.HYPRE_${Solver}GetFinalRelativeResidualNorm`. ([#14])
- New function `HYPRE.GetNumIterations(s::HYPRESolver)` for getting the number of
iterations from a solver. This function dispatches on the solver to the corresponding C
API wrapper `LibHYPRE.HYPRE_${Solver}GetNumIterations`. ([#14][github-14])
API wrapper `LibHYPRE.HYPRE_${Solver}GetNumIterations`. ([#14])
## [1.3.1] - 2023-01-14
## [v1.3.1] - 2023-01-14
### Fixed
- Solvers now keep an reference to the added preconditioner to make sure the preconditioner
is not finalized before the solver. This fixes crashes (segfaults) that could happen in
case no other reference to the preconditioner existed in the program. ([#12][github-12])
case no other reference to the preconditioner existed in the program. ([#12])
- The proper conversion methods for `ccall` are now defined for `HYPREMatrix`,
`HYPREVector`, and `HYPRESolver` such that they can be passed direcly to `HYPRE_*`
functions and let `ccall` guarantee the GC preservation of these objects. Although not
observed in practice, this fixes a possible race condition where the matrix/vector/solver
could be finalized too early. ([#13][github-13])
could be finalized too early. ([#13])
## [1.3.0] - 2022-12-30
## [v1.3.0] - 2022-12-30
### Added
- Rectangular matrices can now be assembled by the new method
`HYPRE.assemble!(::HYPREMatrixAssembler, i::Vector, j::Vector, a::Matrix)` where `i` are
the rows and `j` the columns. ([#7][github-7])
the rows and `j` the columns. ([#7])
### Fixed
- All created HYPRE objects (`HYPREMatrix`, `HYPREVector`, and `HYPRESolver`s) are now kept
track of internally and explicitly `finalize`d (if they haven't been GC'd) before
finalizing HYPRE. This fixes a "race condition" where MPI and/or HYPRE would finalize
before these Julia objects are garbage collected and finalized. ([#8][github-8])
before these Julia objects are garbage collected and finalized. ([#8])
### Deprecated
- The method `HYPRE.assemble!(A::HYPREMatrixAssembler, ij::Vector, a::Matrix)` have been
deprecated in favor of `HYPRE.assemble!(A::HYPREMatrixAssembler, i::Vector, j::Vector,
@ -48,37 +54,39 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 @@ -48,37 +54,39 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
individually. The motivation behind this is to support assembling of rectangular
matrices. Note that `HYPRE.assemble!(A::HYPREAssembler, ij::Vector, a::Matrix,
b::Vector)` is still supported, where `ij` are used as row and column indices for `a`, as
well as row indices for `b`. ([#6][github-6])
well as row indices for `b`. ([#6])
## [1.2.0] - 2022-10-12
## [v1.2.0] - 2022-10-12
### Added
- Added assembler interface to assemble `HYPREMatrix` and/or `HYPREVector` directly without
an intermediate sparse structure in Julia. ([#5][github-5])
an intermediate sparse structure in Julia. ([#5])
## [1.1.0] - 2022-10-05
## [v1.1.0] - 2022-10-05
### Added
- Added support for MPI.jl version 0.20.x (in addition to the existing version 0.19.x
support). ([#2][github-2])
support). ([#2])
## [1.0.0] - 2022-07-28
## [v1.0.0] - 2022-07-28
Initial release of HYPRE.jl.
[github-2]: https://github.com/fredrikekre/HYPRE.jl/pull/2
[github-5]: https://github.com/fredrikekre/HYPRE.jl/pull/5
[github-6]: https://github.com/fredrikekre/HYPRE.jl/pull/6
[github-7]: https://github.com/fredrikekre/HYPRE.jl/pull/7
[github-8]: https://github.com/fredrikekre/HYPRE.jl/pull/8
[github-12]: https://github.com/fredrikekre/HYPRE.jl/pull/12
[github-13]: https://github.com/fredrikekre/HYPRE.jl/pull/13
[github-14]: https://github.com/fredrikekre/HYPRE.jl/pull/14
[github-16]: https://github.com/fredrikekre/HYPRE.jl/pull/16
<!-- Links generated by Changelog.jl -->
[1.0.0]: https://github.com/fredrikekre/HYPRE.jl/releases/tag/v1.0.0
[1.1.0]: https://github.com/fredrikekre/HYPRE.jl/compare/v1.0.0...v1.1.0
[1.2.0]: https://github.com/fredrikekre/HYPRE.jl/compare/v1.1.0...v1.2.0
[1.3.0]: https://github.com/fredrikekre/HYPRE.jl/compare/v1.2.0...v1.3.0
[1.3.1]: https://github.com/fredrikekre/HYPRE.jl/compare/v1.3.0...v1.3.1
[1.4.0]: https://github.com/fredrikekre/HYPRE.jl/compare/v1.3.1...v1.4.0
[1.5.0]: https://github.com/fredrikekre/HYPRE.jl/compare/v1.4.0...v1.5.0
<!-- [Unreleased]: https://github.com/fredrikekre/HYPRE.jl/compare/v1.3.1...HEAD -->
[v1.0.0]: https://github.com/fredrikekre/HYPRE.jl/releases/tag/v1.0.0
[v1.1.0]: https://github.com/fredrikekre/HYPRE.jl/releases/tag/v1.1.0
[v1.2.0]: https://github.com/fredrikekre/HYPRE.jl/releases/tag/v1.2.0
[v1.3.0]: https://github.com/fredrikekre/HYPRE.jl/releases/tag/v1.3.0
[v1.3.1]: https://github.com/fredrikekre/HYPRE.jl/releases/tag/v1.3.1
[v1.4.0]: https://github.com/fredrikekre/HYPRE.jl/releases/tag/v1.4.0
[v1.5.0]: https://github.com/fredrikekre/HYPRE.jl/releases/tag/v1.5.0
[#2]: https://github.com/fredrikekre/HYPRE.jl/issues/2
[#5]: https://github.com/fredrikekre/HYPRE.jl/issues/5
[#6]: https://github.com/fredrikekre/HYPRE.jl/issues/6
[#7]: https://github.com/fredrikekre/HYPRE.jl/issues/7
[#8]: https://github.com/fredrikekre/HYPRE.jl/issues/8
[#12]: https://github.com/fredrikekre/HYPRE.jl/issues/12
[#13]: https://github.com/fredrikekre/HYPRE.jl/issues/13
[#14]: https://github.com/fredrikekre/HYPRE.jl/issues/14
[#16]: https://github.com/fredrikekre/HYPRE.jl/issues/16
[#17]: https://github.com/fredrikekre/HYPRE.jl/issues/17
[#18]: https://github.com/fredrikekre/HYPRE.jl/issues/18

7
docs/Manifest.toml

@ -2,7 +2,7 @@ @@ -2,7 +2,7 @@
julia_version = "1.10.5"
manifest_format = "2.0"
project_hash = "7c98a97551e318432a6ba3bc3fd4758623a247ac"
project_hash = "59b08f4b60c862a102ba6a5a40dd11b11cb0ae51"
[[deps.ANSIColoredPrinters]]
git-tree-sha1 = "574baf8110975760d391c710b6341da1afa48d8c"
@ -51,6 +51,11 @@ git-tree-sha1 = "eb4cb44a499229b3b8426dcfb5dd85333951ff90" @@ -51,6 +51,11 @@ git-tree-sha1 = "eb4cb44a499229b3b8426dcfb5dd85333951ff90"
uuid = "fa961155-64e5-5f13-b03f-caf6b980ea82"
version = "0.4.2"
[[deps.Changelog]]
git-tree-sha1 = "e579c6157598169ad4ef17263bdf3452b4a3e316"
uuid = "5217a498-cd5d-4ec6-b8c2-9b85a09b6e3e"
version = "1.1.0"
[[deps.CircularArrays]]
deps = ["OffsetArrays"]
git-tree-sha1 = "61bc114e595167090b4cbcb7305ddeacd4274f16"

1
docs/Project.toml

@ -1,3 +1,4 @@ @@ -1,3 +1,4 @@
[deps]
Changelog = "5217a498-cd5d-4ec6-b8c2-9b85a09b6e3e"
Documenter = "e30172f5-a6a5-5a46-863b-614d45cd2de4"
HYPRE = "b5ffcf37-a2bd-41ab-a3da-4bd9bc8ad771"

10
docs/make.jl

@ -7,6 +7,15 @@ end @@ -7,6 +7,15 @@ end
using Documenter
using HYPRE
using Changelog
# Changelog
Changelog.generate(
Changelog.Documenter(),
joinpath(@__DIR__, "..", "CHANGELOG.md"),
joinpath(@__DIR__, "src", "changelog.md");
repo = "Ferrite-FEM/Ferrite.jl",
)
makedocs(
sitename = "HYPRE.jl",
@ -16,6 +25,7 @@ makedocs( @@ -16,6 +25,7 @@ makedocs(
modules = [HYPRE],
pages = Any[
"Home" => "index.md",
hide("Changelog" => "changelog.md"),
"matrix-vector.md",
"solvers-preconditioners.md",
"libhypre.md",

Loading…
Cancel
Save