diff --git a/CHANGELOG.md b/CHANGELOG.md index c83fd98..35a1aa2 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -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] +### 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 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 + -[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 - +[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 diff --git a/docs/Manifest.toml b/docs/Manifest.toml index 4a37bc1..cea96be 100644 --- a/docs/Manifest.toml +++ b/docs/Manifest.toml @@ -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" 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" diff --git a/docs/Project.toml b/docs/Project.toml index 92f1f35..894ed74 100644 --- a/docs/Project.toml +++ b/docs/Project.toml @@ -1,3 +1,4 @@ [deps] +Changelog = "5217a498-cd5d-4ec6-b8c2-9b85a09b6e3e" Documenter = "e30172f5-a6a5-5a46-863b-614d45cd2de4" HYPRE = "b5ffcf37-a2bd-41ab-a3da-4bd9bc8ad771" diff --git a/docs/make.jl b/docs/make.jl index 484f572..c42a801 100644 --- a/docs/make.jl +++ b/docs/make.jl @@ -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( modules = [HYPRE], pages = Any[ "Home" => "index.md", + hide("Changelog" => "changelog.md"), "matrix-vector.md", "solvers-preconditioners.md", "libhypre.md",