From f1c1f550b2fb90fec2f29e747afb845d9402c0ff Mon Sep 17 00:00:00 2001 From: bmribler <39579120+bmribler@users.noreply.github.com> Date: Thu, 20 Feb 2025 09:01:24 -0500 Subject: [PATCH] Update timeline (#805) * Update about 3.1 and 4.0 releases --- README.md | 19 ++++++++++--------- doc/img/release-schedule.plantuml | 14 ++++++++------ doc/img/release-schedule.png | Bin 11234 -> 19917 bytes 3 files changed, 18 insertions(+), 15 deletions(-) diff --git a/README.md b/README.md index f07555ce0..60c80b2e8 100644 --- a/README.md +++ b/README.md @@ -54,22 +54,23 @@ new features and bug fixes, though we try to have at least one release of each maintenance branch per year. Future HDF4 releases indicated on this schedule are tentative. -| Release | New Features | -| ------- | ------------ | -| 4.4.0 | Drop FORTRAN 77 support, Drop netCDF 2.3.2 API + tools, Unified library (maybe) | +| Release | New Features | +| -------- | ------------ | +| HDF4 3.1 | Fix memory issues and update documentation to match the software +| HDF4 4.0 | Drop FORTRAN 77 support, Drop netCDF 2.3.2 API + tools, Unified library (maybe) | -HDF 4.4.0 (February 2025) +HDF4 3.1 is scheduled to be released at the end of May, 2025. +HDF4 4.0 (Tentatively Feb, 2026) * We will drop support for FORTRAN 77 and move to modern Fortran (2003 or 2008) -* HDF4 includes an ancient netCDF 2.3.2 API along with HDF4-built ncdump and ncgen tools. Support for these will be dropped in 4.4.0. netCDF APIs and tools should be obtained from Unidata. +* HDF4 includes an ancient netCDF 2.3.2 API along with HDF4-built ncdump and ncgen tools. These will be removed in 4.0 and are available by installing the [netCDF-C library](https://github.com/Unidata/netcdf-c). * (maybe) libdf and libmfhdf will be merged into a single libhdf4 library, Fortran will be built as a separate library -The goal of the HDF 4.4.0 release is to address long-standing deficiencies +The goal of the HDF4 4.0 release is to address long-standing deficiencies and bring HDF4 in line with HDF5's build practices. This should allow HDF4 to work better with modern systems and compilers and be more easily maintained. -The 4.3 maintenance line will be retired when 4.4.0 releases. There are no -more planned HDF 4.3.x releases. +There will be one more release in the HDF4 3.x series, 3.1, then the 4.3 maintenance line will be retired when HDF4 4.0 releases. SNAPSHOTS, PREVIOUS RELEASES AND SOURCE CODE @@ -129,4 +130,4 @@ System Requirements To build the HDF library from source, you need: * C and Fortran compilers. For a list of the supported compilers, - see release_docs/RELEASE.txt file. + see release_docs/RELEASE.txt file or [RELEASE.txt](https://github.com/HDFGroup/hdf4/blob/hdf4.3.0/release_notes/RELEASE.txt) on GitHub. diff --git a/doc/img/release-schedule.plantuml b/doc/img/release-schedule.plantuml index 1ef836244..2db9ecf3a 100644 --- a/doc/img/release-schedule.plantuml +++ b/doc/img/release-schedule.plantuml @@ -5,18 +5,20 @@ title HDF4 Release Schedule projectscale monthly Project starts 2023-01-01 -[4.2] starts 2022-01-01 and lasts 61 weeks +[4.2] starts 2022-01-01 and lasts 39 weeks [4.2.16] happens 2023-02-28 [4.2.16-2] happens 2023-06-30 [4.2.16-2] displays on same row as [4.2.16] [4.2] is colored in #2EDB54 -[4.3] starts 2024-02-28 and lasts 52 weeks -[4.3.0] happens 2024-02-28 +[4.3] starts 2023-10-01 and lasts 87 weeks +[4.3.0] happens 2024-02-29 +[4.3.1] happens 2025-05-30 +[4.3.1] displays on same row as [4.3.0] [4.3] is colored in #3385FF -[4.4] starts 2025-02-28 and lasts 44 weeks -[4.4.0] happens 2025-02-28 -[4.4] is colored in #E66DCB +[4.4] starts 2025-01-01 and lasts 65 weeks +[4.4.0] happens 2026-02-28 +[4.4] is colored in #700DCB @endgantt diff --git a/doc/img/release-schedule.png b/doc/img/release-schedule.png index f9241e0f5230c051602582e6bcdd785e725ccdf5..80f3c4abd64d11487f214af864f70d204e21a388 100644 GIT binary patch literal 19917 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�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