100 Commits
Author SHA1 Message Date
bmribler ae8919a117 Changes blank issue template to non-security issue (#6678)
* Changes blank issue template to non-security issue

This is to further notify users to enter security vulnerabilities properly.
2026-09-23 11:39:08 -04:00
bmribler 2888f82e83 Add release page for 2.2.0 (#6578) 2026-07-29 15:41:21 -04:00
bmribler 3340ba53d3 Update timeline to add 2x (#6563) 2026-07-24 07:13:52 -05:00
1da455e53a Various improvement in documentation and a decoding function (#6383)
* Various improvement in documentation and a decoding function

- Improves documentation on the type size when creating/accessing a compound datatype with no predefined struct (GH issue #5371)
- Provides better description of the min_meta_perc and min_raw_perc arguments in the H5Pset_page_buffer_size() (GH issue #5711)
- Adds error checkings to an internal decoding function

* Corrected the checks, the base address equals the end-of-file is valid.

* Skip for multi-file and split drivers when validating addresses against stored_eof

* Committing clang-format changes

* Remove incorrect name

* Fix typos

* Modified description of type_size arguments

* Used a more robust condition when checking EOF

* Corrected incorrect conflict resolving

* Update src/H5Fsuper_cache.c

Co-authored-by: Neil Fortner <fortnern@gmail.com>

* Update src/H5Fsuper_cache.c

Co-authored-by: Neil Fortner <fortnern@gmail.com>

* Committing clang-format changes

* Modified per feedbacks.

* Fix comparison per feedbacks

* Omit unused parameter name in a catch block

---------

Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: Neil Fortner <fortnern@gmail.com>
2026-07-21 16:54:08 -04:00
bmribler 33eac87eea Correct miscellaneous mistakes (#6540)
* Correct miscellaneous mistakes

- remove unused calloc'ed pointers
- correct the order of the arguments to memcpy

* Add entry
2026-07-21 14:21:59 -04:00
bmribler 8a48c7ced8 Fix NULL pointer access when H5A_operator2_t is NULL (#6541)
* Fix NULL pointer access when H5A_operator2_t is NULL

Passing NULL for the callback function pointer to H5Aiterate2 and
H5Aiterate_by_name was not detected, leading to a subsequent access
of an uninitialized pointer. Add a check for this "no operator
specified" case in both functions so they fail gracefully instead.

Fixes GHSA-r7g4-hv2f-5c66 - CVE-2025-9274

* Fix format

* Fix Java test to handle NULL callback to H5Aiterate2
2026-07-21 14:21:38 -04:00
bmribler bc8f3cb38f Add a missing H5D__chunk_unlock() call in the failure case (#6526)
The H5D__chunk_lock() call has a matching H5D__chunk_unlock() in normal conditions, but it is missing when an operation fails after H5D__chunk_lock() succeeds.
2026-07-20 21:32:08 -05:00
4891139ebd Updated h5dump --xml (#6394)
* Updated h5dump --xml

The location of the files HDF5-File.xsd and HDF5-File.dtd no longer exists, and
the files were added to the repo (PR #5490).  Before the --xml is actually removed,
running the h5dump tests will fail.  This PR updated h5dump and the expected output
to use the correct files' location and actually completed the ticket HELP-2668.

* Added missing expected files from the previous commit

* Fixed typo

* Made corrections per review feedbacks

* Committing clang-format changes

* Missing files from previous commit

* Use valid URL for xmlns

---------

Co-authored-by: Larry Knox <lrknox@hdfgroup.org>
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
2026-06-08 14:44:10 -04:00
bmribler 3494822b95 Fixed the RFC link to the signed plugin RFC again (#6329)
Link checker can't access the acm url, hence will fail.  The change in
this PR is a workaround to provide the url but prevent the link checker
from accessing it.  Please do not add https://.
2026-03-29 15:48:05 -05:00
bmribler f770dade75 Updated release specific page (#6323) 2026-03-27 11:29:52 -05:00
bmribler 22d27e1bab Made URL correction per latest decisions (#6283) 2026-03-11 11:21:14 -05:00
bmribler 889e48b655 Changes release page to 2.1.0 (#6221) 2026-03-04 10:13:42 -06:00
bmribler 0405678e42 Fixes link checker failure (#6219)
Removed https:// as a workaround to avoid error by the link checker.
2026-02-16 10:29:40 -06:00
bmribler 95f6df54ac Adds RFCs to the RFC table (#6190)
* Added two RFCs to the RFC table

"Adding support for digitally signed plugins to HDF5"
" Write-Ahead log"

* Updated to use the ACM link
2026-02-10 13:09:43 -06:00
bmribler 8cd9f7a7ba Validate datatype size for consistency (#6173)
User report:
When a file is corrupted such that an array datatype's size, the number of elements,
and the element size are not in agreement, it can trigger an out of bounds read.
(private GH issue: GHSA-gh44-7wpq-622f)
Added a validation to ensure the above are in agreement.
2026-02-03 15:26:51 -06:00
bmribler 9268b803b7 Fixes buffer underflow (#6143)
Fixes security issue by treating non-NULL buffer with size 0 as length-only query in get_name API functions.

Behavior:
Modify get_name API functions to treat (buffer != NULL, size == 0) as length-only queries, preventing undefined behavior.
Fix applied to H5Aget_name, H5Aget_name_by_idx, H5Fget_name, H5Gget_objname_by_idx, H5Iget_name, H5Lget_name_by_idx, H5Rget_file_name, H5Rget_obj_name, H5Rget_attr_name, and 8 other functions.
Tests:
Update test/links.c, test/tattr.c, test/tfile.c, test/titerate.c, and test/trefer.c to verify new behavior with non-null buffer and size 0.
Documentation:
Update comments in H5A.c, H5F.c, H5Gdeprec.c, H5I.c, H5L.c, H5R.c, and H5Rdeprec.c to reflect new behavior.t]@users.noreply.github.com>
2026-01-26 18:07:23 -06:00
bmribler c067d3f471 Fixes invalid example URLs and makes other improvement in the C++ documentation (#6164) 2026-01-21 09:36:53 -06:00
bmribler 61d414b84a Adds release version to constants in H5Z and H5AC (#6141) 2026-01-06 10:27:39 -06:00
bmribler edf72d98c2 Adds release version to constants in H5S and H5T (#6135)
* Moved \since to the next line for consistency
2025-12-31 09:40:48 -06:00
bmribler c04787d4d8 Adds release version to more constants (#6134) 2025-12-29 16:47:56 -06:00
bmribler e979eee1dc Add release 1.14.6 page to doxygen docs (#6110) 2025-12-24 13:15:41 -05:00
bmribler a28ea2259f Changed download link to use the GitHub release page. (#6131) 2025-12-24 07:57:48 -06:00
bmribler 345c621468 Adds release version to constants in H5Dpublic.h (#6119)
Adds version information to constants and deprecates certain macros in H5Dpublic.h.
2025-12-19 07:58:10 -06:00
bmribler 94c3f7c08e Fixed typos to prevent parsing failures (#6099) 2025-12-12 09:20:09 -06:00
bmribler 72da2a290e Add the C++ API introduction page (#6092) 2025-12-09 16:07:12 -06:00
bmribler 2cee17d813 Added detailed description to the C++ RM (#6056)
Added c++ source files to file patterns to include detailed description
of member functions.
2025-12-06 07:22:19 -06:00
bmribler 3f49cfaf41 Updated current release in README files (#6072)
* Update current release
2025-12-03 16:43:42 -06:00
bmribler bd76ec789a Improved usage information (#6070) 2025-12-02 08:40:01 -06:00
bmribler 48f7cc504d Fixed release version to 2.0.0 where appropriate (#6045) 2025-11-20 07:54:00 -06:00
bmribler 163f902523 Removed an extra directory in an URL (#6026) 2025-11-11 16:56:42 -06:00
bmribler 50bc9e875a Fixed the URL to the compatibility reports (#6020)
* Fixed the URL to the compatibility reports
* Fixed URLs of compat reports
2025-11-11 15:18:07 -06:00
bmribler 4aaebff336 Update page (#6014)
* Corrected the release date
* Corrected the Newsletter url
2025-11-11 14:33:49 -06:00
bmribler f52203c9fa Corrected the release date (#6008) 2025-11-10 12:20:43 -06:00
bmribler 740ff5db24 Added a missing entry for predefined datatype (#6007) 2025-11-10 12:07:58 -06:00
bmribler aed7b7d53f Added release 2.0 documentation (#5997)
Moved HDF5 2.0 release page from the github.io repo to the HDF5 repo's documentation and added information about release 2.0 and compatibility with the previous release.
2025-11-10 08:50:14 -06:00
bmribler 18297c1923 Fix a crash when duplicate addesses occur (related to CVE-2025-6269) (#5924)
When two entries in the cache image have the same address, the library
did not fail and later crashed.

The cache reconstruction functions now detect duplicate addresses.  When
a failure occurs during the reconstruction, the cache is not clean properly.
H5C__reconstruct_cache_contents now expunges any prefetched entries that
were already added to the cache during the reconstruction.
2025-11-04 12:36:59 -06:00
bmribler 135c31b3c3 Add release version to constants documentation (#5966)
Added \since release version to constants in
H5VLnative.h
H5Fpublic.h

Fixes #4408 (part 5)
2025-11-03 13:52:55 -06:00
bmribler d37b537ff2 Fix CVE-2025-2926 (#5841)
An image size was corrupted and decoded as 0 resulting in a NULL image buffer,
which caused a NULL pointer dereference when the image being copied to the buffer.
The invalid image size was caught in the PR #5710.  This change catches right
before the copying.

Fixes GH issue #5384
2025-11-03 12:01:04 -06:00
bmribler cd2414b212 Fixed uninitialized memory issue in link table allocation. (#5936)
When H5G__dense_iterate failed early, the allocated H5O_link_t structures were never populated, causing cleanup code to read uninitialized lnk->type values and attempt to free invalid pointers.

The structures are now initialized with proper values and NULL pointers immediately after allocation.

Fixes GitHub #5375
2025-10-24 19:54:25 -05:00
bmribler 09e3cfe652 Add buffer overflow detection (#5884)
Add buffer overflow checks to H5C__decode_cache_image_header() in H5Cimage.c for security hardening.

Security Hardening:
Add buffer overflow checks in H5C__decode_cache_image_header() in H5Cimage.c.
Use H5_IS_BUFFER_OVERFLOW() to verify buffer space before accessing elements.
Checks added for signature, version, flags, image data length, and number of entries.
Misc:
Adjust H5C__reconstruct_cache_contents() to use updated buffer handling logic.
2025-10-15 09:36:35 -05:00
bmribler 86149a0988 Fixes CVE-2025-6750 (#5856)
* Fixes CVE-2025-6750

A heap buffer overflow occurred because an mtime message was not properly decoded, resulting in a buffer of size 0 being passed into the encoder.

This PR added decoding for both old and new mtime messages which will allow invalid message size to be detected.

Fixes #5549
2025-09-26 10:46:50 -05:00
bmribler 3914bb7f7e Fixed CVE-2025-6269 (#5850)
The GitHub issue #5579 included several security vulnerabilities in function
H5C__reconstruct_cache_entry().

This PR addressed them by:
- adding buffer size argument to the function
- adding buffer overflow checks
- adding input validations
- releasing allocated resource on failure

These changes addressed the crashes reported.  However, there is a skiplist
crash during the unwinding process that has to be investigated.
2025-09-25 21:17:14 -05:00
bmribler 804f3bace9 Refix of the attempts in PR-5209 (#5722)
This PR addresses the root cause of the issue by adding a sanity-check immediately
after reading the file space page size from the file.

The same fuzzer in GH-5376 was used to verify that the assert before the vulnerability
had occurred and that an error indicating a corrupted file space page size replaced it.
2025-08-13 13:45:41 -05:00
bmribler 7cc8b5e101 Fix reading bad size in the raw header continuation message (#5710)
This issue was reported in GH-5376 as a heap-use-after-free vulnerability in
one of the free lists.  It appeared that the library came to this vulnerability
after it encountered an undetected reading of a bad value.  The fuzzer now failed
with an appropriate error message.
2025-08-05 08:12:33 -05:00
bmribler 4f1c3b6a4c Correct the link to list of planned features. (#5703)
It pointed to a wiki page template.
2025-08-01 09:51:19 -05:00
bmribler 3580546e6f Fixed a typo (#5425) 2025-04-09 10:24:10 -05:00
bmribler d35d1ecce8 Add release information to enum constants - Part 4 (#5309)
Added \since to enum constants added in 1.14.x versions

* Changed for back-ported releases
2025-02-18 11:23:22 -06:00
bmribler 99aac48336 Fixed allocation-size-too-big error in H5MM.c (#5076)
A decoded length appeared to be corrupted and had a very large value.
This PR added a check to detect such potential data corruption.
2025-01-25 18:54:09 -06:00
bmribler 0d69892019 Add release information to enum constants - Part 3 cont. (#5240)
The releases 1.12.1-1.12.3 were missing in the previous Part 3 PR
2025-01-16 10:53:51 -06:00
bmriblerandDana Robinson eaf175ce9a Changed comment style to avoid long line issue. (#5237)
* Changed comment style to avoid long line issue.

* Update H5Mpublic.h for clang format

---------

Co-authored-by: Dana Robinson <43805+derobins@users.noreply.github.com>
2025-01-14 14:46:28 -08:00
bmribler 1458878b2c Add release information to enum constants - Part 3 (#5234)
- Added \since to enum constants added in 1.8.x versions
- Removed unnecessary continuation backslashes in doxygen comments
2025-01-14 14:02:47 -06:00
bmribler f0cffc90ac Add release information to enum constants - Part 2 (#5176)
Added \since to enum constants added in 1.10.x versions
2024-12-16 08:02:46 -06:00
bmribler d38baa4963 Add release information to enum constants - Part 1 (#5174)
* Add release information to enum constants - Part 1

- Added \since to enum constants added in 1.8.x versions
- Removed unnecessary continuation backslashes in doxygen comments; they
  are displayed in the generated output.
2024-12-11 15:29:36 -06:00
bmribler e423dc5526 Replaced an incorrect image with the correct one (#5161) 2024-12-02 05:43:29 -08:00
bmribler dc4bdade49 Added note about leaving callback functions properly. (#5127)
Added the alias \callback_note to APIs with a user callback function.  The note is
brief and refers to a more detail note in a central place, i.e., alias cpp_c_api_note.

Fixes issue GH-5089
2024-11-18 10:25:14 -08:00
bmribler 49935f8bbc Fixed H5Ovisit2() change of behavior between 1.10.11 and v1.14.4.3 (#5022)
H5O__visit() uses the object information to be returned to the
application, so when the application did not request for certain
information, they were not available to H5O__visit.  This lack of
information caused incorrect behavior down the road.

We now call H5O_get_info again providing H5O_INFO_BASIC for "fields",
so we can obtain correct object information for H5O__visit to use.

Fixes #4941
2024-11-04 08:08:11 -08:00
bmribler 5bdd379a64 Fix segfault in h5dump caused by corrupted btree node level (#5002)
Added another argument, expected node level, to H5B__iterate_helper to pass down
to H5B__cache_deserialize for checking the decoded node level.  When this expected
level is not known, the new macro H5_UNKNOWN_NODELEVEL (-1) will be used for not
checking the level.

Fixes GH-4432
2024-10-29 00:53:50 -07:00
bmribler 37a31135cc Added an entry for the GH-4585 fix (#4889) 2024-09-27 10:06:59 -05:00
bmribler c2baceab9a Fixed a memory leak from H5FL_blk_malloc (#4882)
In H5F__accum_reset(), when H5F__accum_flush() failed, the freeing of
f_sh->accum.buf was never reached, causing resource leak.

@fortnern added the third argument to H5F__accum_reset() so we can free
f_sh->accum.buf when we close the file, that is, when H5F__accum_reset()
is called from the H5F__dest() route, and can leave the accumulator in place
otherwise.
2024-09-26 16:05:50 -05:00
bmribler f39101806f Fix an incorrect returned value by H5LTfind_dataset() (#4869)
H5LTfind_dataset() returns true for non-existing datasets because it only compares up to the length of the searched string, such as "Day" vs "DayNight" (issue GH-4780).

This PR applied the user's patch and added tests.
2024-09-24 04:20:06 -07:00
bmribler abcdffb9b0 Fix minor spelling in documentation (#4870) 2024-09-23 20:28:23 -07:00
bmribler ff0839d922 Fixes a segfault in h5dump (#4862)
* Fixes a segfault in h5dump

The B-tree node level was corrupted, resulting in a segfault later.
This PR adds a check to detect when the node level is greater than
the number of entries and issue an error instead.

Fixes GH-4432
2024-09-23 07:25:18 -05:00
bmribler a75542b3e7 Detect invalid ID to H5Gmove2 (#4765)
User's application segfaulted because the returned value H5I_BADID wasn't
detected when H5I_get_type() was called.  This PR adds checks for invalid
file/group identifiers passed into H5Gmove2.

This defect occurs in many other places, hence, issue GH-4764.

Fixes #4737
2024-09-06 08:50:10 -07:00
bmribler 902131faf2 Replace non-VOL calls with VOL calls - part 5 (#4788)
This PR switches H5I_object() and H5I_object_verify() to H5VL_vol_object() and          H5VL_vol_object_verify(), respectively, in the H5M APIs and H5Gdeprec (was left         out by mistake).  This completes the fixes of issue GH-4730.
2024-09-03 11:46:34 -05:00
bmribler 1f0bd7f8ef Replace non-VOL calls with VOL calls - part 3 (#4771)
This PR switches H5I_object() to H5VL_vol_object() in H5O and H5T APIs.                 H5M is the last one and left out of this PR because it needs more work
in documentation and there is no test for the API functions.

Fixes GH-4730
2024-08-27 12:42:11 -05:00
bmribler d0fe57624f Replace non-VOL calls with VOL calls - part 3 (#4756)
This PR switches H5I_object_verify() to H5VL_vol_object_verify() in the H5G API
and removes unnecessary casts.
2024-08-26 09:04:18 -07:00
bmribler 9adacb54a6 Replace non-VOL calls with VOL calls - part 2 (#4748)
This PR switches H5I_object_verify() to H5VL_vol_object_verify() in the H5F API
and fixes documentation of H5Fmount and H5Funmount.

* More on H5F API
2024-08-23 11:44:48 -05:00
bmribler 379a5baa0f Fix inconsistent documentation of get_name functions (#4715)
- Verified that the listed functions do not include null terminator in the returned length
- Improved some of the tests
- Corrected documentation

Fixes GH-4704

* Casted a positive int to size_t
2024-08-23 11:17:35 -05:00
bmribler a03203afbc Replace non-VOL calls with VOL calls - part 1 (#4745)
This PR is part of the incremental switching H5I_object() and H5I_object_verify()
to their VOL counterpart, H5VL_object() and H5VL_vol_object_verify(), a newly addedinternal function.

Fixes GH-4730 partially.
2024-08-22 13:32:48 -05:00
bmribler aea4c53654 Fix incorrect VOL vs. non-VOL calls partially (#4733)
* Fix incorrect VOL vs. non-VOL calls

H5Lget_info2() called H5I_object() instead of H5VL_vol_object() crashed
user application.
This is a wide-spread issue (GH-4730) but this PR only addresses GH-4705.

* Remove an incorrect change
2024-08-20 19:36:40 -05:00
bmribler b4731e4a85 Cleanup up tests (#4724) 2024-08-19 08:02:13 -05:00
bmribler 70c6a7a901 Replace alias \Code with \TText (#4714)
Fixed GH-2151
2024-08-14 15:54:44 -05:00
bmribler d875f749e5 Add tests for H5R get name APIs (#4657)
Added functionality tests for the following APIs:
H5Rget_file_name
H5Rget_obj_name
H5Rget_attr_name

Also removed "+1" when returning a name length in H5R__get_attr_name().
The exter "+1" gave an incorrect value for the length of the referenced
object's attribute name.

Fixed GH-4447

* Fix Fortran test

The C API H5Rget_attr_name incorrectly added 1 to the length of the
referenced object's attribute name, so the Fortran API h5rget_attr_name_f
removed 1 from the returned value to accommodate the incorrectness.
This PR fixes H5Rget_attr_name so this workaround in h5rget_attr_name_f
is no longer needed.

* Add test H5Aget_name against H5Rget_attr_name
2024-08-12 09:40:48 -05:00
bmribler 5c39fddb92 Add check of returned value from API calls. (#4702)
These were found while investigating GH-4672, but they were not related
to GH-4672.
2024-08-08 07:38:25 -05:00
bmribler 9fd4fd0b58 Replace incorrect use of an internal function (#4668)
* Replace incorrect use of an internal function

In some API functions, the internal function H5I_object() was used instead
of H5I_object_verify(), which verifies the type of an ID argument.  So
when an inappropriate ID was passed in to the affected API, it was accepted.
This behavior can cause issues at a later time, including a segfault, as
reported in issue #GH-4656.

The fix was applied to the following functions:
H5Fget_intent()
H5Fget_fileno()
H5Fget_freespace()
H5Fget_create_plist()
H5Fget_access_plist()
H5Fget_vfd_handle()
H5Dvlen_get_buf_size()
H5Fget_mdc_config()
H5Fset_mdc_config()
H5Freset_mdc_hit_rate_stats()

Fixes GH-4662
2024-07-24 10:42:58 -05:00
bmribler 7f83faf9d9 Add Python examples (#4546)
These examples are referred to from the replacement page of https://portal.hdfgroup.org/display/HDF5/Other+Examples.
2024-06-07 17:03:05 -07:00
bmribler c8371caa6b Fix various mistakes in doxygen docs (#4541)
* Fix a dead link and example file names

* Add the missing content of a section
2024-06-03 07:46:41 -05:00
bmribler b6b7f547be Fixed link to Filters page. (#4514)
Forum post #12321
2024-05-22 04:10:29 -07:00
bmribler 773d6f970f Add a missing image from the original document (#4490) 2024-05-15 13:54:48 -05:00
bmribler 18321dee40 Fix typo in H5Rget_obj_type (#4470)
Issue GH-1723
2024-05-09 13:20:17 -07:00
bmribler 815453a78f Fix typo in H5Rget_obj_type (#4463)
Issue GH-1723
2024-05-06 08:32:02 -05:00
bmribler fa4f48d1e4 Fix heap-buffer-overflow in H5Fio.c (#4450)
The buffer size for checksum was smaller than H5_SIZEOF_CHKSUM, causing an
overflow while calculating the offset to the checksum in the buffer.

A check was added so H5F_get_checksums would fail appropriately in all
of its occurrences.

Fix gh-4434
2024-05-01 05:42:22 -07:00
bmribler 84e75e28dd Add training videos page (#4422) 2024-04-19 07:45:56 -05:00
bmribler dab8651a37 Update documentation (#4415)
Added the replacement for https://docs.hdfgroup.org/archive/support/HDF5/doc/TechNotes/Version.html
Corrected some minor typos and another deadlink
2024-04-17 08:22:27 -05:00
bmribler 3f0649cc06 Update documentation (#4403)
- Added File Image Operations to Technical Notes

* Use a correct example location
2024-04-16 13:02:36 -05:00
bmribler 2f8433491a Add additional terms to the glossary (#4401)
Fixes GH #4390
2024-04-16 07:24:36 -05:00
bmribler 84fac90ce8 Correct the high-level library link (#4398)
* Correct the high-level library link

The link currently used points to 1.13 release.  Changed to use the md file instead.

* Update Doxyfile for md files

* Update to include md files
2024-04-12 12:37:15 -07:00
bmribler 6ff227cb45 Fix a typo (#4352) 2024-04-08 14:49:13 -07:00
bmribler 95327c0170 Fix dead links cont. (#4349)
Added img/images_to_copy.dox as a temporary solution because doxygen didn't copy
the images used in the examples/*.html files - will investigate more.  This was
necessary for the links to intro_SWMR.html and intro_VDS.html.
2024-04-08 10:12:48 -05:00
bmribler 8def3f61bd Add VDS and SWMR to documentation (#4336) 2024-04-07 17:01:45 -05:00
bmribler ded34c53f4 Revert "Fixed dead links in docs (#4334)" (#4335)
This reverts commit 408fc66002.
2024-04-06 07:00:53 -05:00
bmribler 408fc66002 Fixed dead links in docs (#4334) 2024-04-05 11:13:46 -05:00
bmribler f24e8113a3 Add documentation (H5FD) (#4269) 2024-03-31 22:47:14 -05:00
bmribler bdbe584d44 Add documentation (H5P) (#4262) 2024-03-27 21:06:43 -05:00
bmribler 44738f17a2 Add documentation (H5M) (#4259) 2024-03-27 20:14:23 -05:00
bmribler 81c811b721 Fix links md files (#4239) 2024-03-25 10:54:31 -05:00
bmribler 817175e6e3 Fix broken URLs in documentation (#4214)
Fixes GH-3881 partially.  There are pages that need to be recreated.
2024-03-24 15:12:36 -05:00
bmribler ce8ad65b4f Fix broken links (#4224) 2024-03-23 22:33:36 -05:00
bmribler 62a905ae4a Fix URLs (#4210)
Also removed Copyright.html context because it's no longer valid.
2024-03-22 12:06:09 -05:00
bmribler 174c22df22 Summarize the library version table (#4212)
Fixes GH-3773
2024-03-22 11:54:46 -05:00