1Release Notes {#nf_release_notes} 2============================== 3 4\brief Release notes file for the netcdf-fortran package. 5 6This file contains a high-level description of this package's evolution. 7Entries are in reverse chronological order (most recent first). 8## 4.5.4 - TBD 9 10### Requirements 11 12* netCDF-C: 4.7.4+ 13 14## 4.5.3 - June 2, 2020 15 16### Requirements 17 18* netCDF-C: 4.7.4+ 19 20### Changes 21 22* Adds a `libnetcdff.settings` file similar to libnetcdf.settings. See [Github #256](https://github.com/Unidata/netcdf-fortran/issues/256) for more information. 23* Added support for gcc/gfortran 10. The `-fallow_argument_mismatch` flag is passed to the underlying compiler when the flag is found to be supported. This change has been added to the `autotools` and `cmake` based builds. See [GitHub #212](https://github.com/Unidata/netcdf-fortran/issues/212) for more information. 24* Added support for HDF5 compact storage. See [Github #213](https://github.com/Unidata/netcdf-fortran/issues/207). 25* Added support for creating netCDF/HDF5 files with szip compression with new functions nf90_def_var_szip() and nf_def_var_szip(). See [Github #213](https://github.com/Unidata/netcdf-fortran/issues/213). 26* Corrected an issue where parallel netCDF-Fortran builds would fail despite the presense of MPI libraries/compiler/infrastructure. See [Github #208](https://github.com/Unidata/netcdf-fortran/issues/208) for more information. 27 28## 4.5.2 - September 18, 2019 29 30### Requirements 31 32* netCDF-C: 4.6.0 or greater 33 34### Changes 35 36* Corrected an issue where netCDF-Fortran would fail to build correctly on some platforms when the underlying `libnetcdf` lacked netCDF-4 support. See [GitHub #200](https://github.com/Unidata/netcdf-fortran/issues/200) for more information. 37* Corrected an issue where cmake-specific large file tests weren't being captured by `make dist`. See [Github #198](https://github.com/Unidata/netcdf-fortran/issues/198) for more details. 38 39## 4.5.1 - September 4, 2019 40 41### Requirements 42 43* netCDF-C: 4.6.0 or greater 44 45### Changes 46 47* Corrected an issue where a cmake-specific file wasn't being captured by `make dist`. 48* Corrected an issue where nf-config wasn't being generated by cmake-based builds. Corrected a couple of other missing files. See [Github #108](https://github.com/Unidata/netcdf-fortran/issues/108) for more information. 49 50## 4.5.0 - August 28, 2019 51 52### Requirements 53 54* netCDF-C: 4.6.0 or greater 55 56### Changes 57 58* Moved netCDF classic F90 API tests to new subdirectory nf03_test. 59* Moved netCDF-4 F77 API tests to new subdirectory nf_test4. 60* Moved netCDF-4 F90 API tests to new subdirectory nf03_test4. 61* Fixed bug which caused parallel I/O tests to not be run. See [#155](https://github.com/Unidata/netcdf-fortran/issues/155) and [#157](https://github.com/Unidata/netcdf-fortran/issues/157). 62* Fixed bug in the setting of file cache preemption for netCDF-4 files. See [#146](https://github.com/Unidata/netcdf-fortran/issues/146). 63* Removed many near-duplicate tests files, now they are created at build time with sed. See [#165](https://github.com/Unidata/netcdf-fortran/issues/165). 64* Removed no longer needed configure options --enable-dll (see [#161](https://github.com/Unidata/netcdf-fortran/issues/161)), `--enable-extra-tests` (see [#114](https://github.com/Unidata/netcdf-fortran/issues/114)), `--enable-extra-example-tests` (see [#126](https://github.com/Unidata/netcdf-fortran/issues/126)), and `--enable-valgrind` (see [#118](https://github.com/Unidata/netcdf-fortran/issues/118)). 65* Moved handling of F77 man page to the docs directory. See [#141](https://github.com/Unidata/netcdf-fortran/issues/141). 66 67## 4.4.5 - Release Jan 9, 2019 68 69### Requirements 70 71* netCDF-C: 4.6.0 or greater 72 73### Changes 74 75* Removed legacy cfortran.h based build, which allowed F77-only compilers to build the F77 API (only). Since all compilers now support F2003, we can use F2003 features to build the F77 API. Full backwards-compatibility with all existing F77 API code is assured. See [#85](https://github.com/Unidata/netcdf-fortran/issues/85) for more information. 76* Added an option in cmake builds, `BUILD_EXAMPLES`, `TRUE` by default. When disabled, the examples will not be built. See [#93](https://github.com/Unidata/netcdf-fortran/issues/92) for more information. 77* Misc. Bugfixes to bring netCDF-Fortran in line with the features in netCDF-C. 78* Updated CMakeLists.txt to check for C types that match Fortran ones. See [GitHub #67](https://github.com/Unidata/netcdf-fortran/pull/67) for more information. 79 80## 4.4.4 Released May 13, 2016 81 82* Corrected an issue where cmake-based builds specifying `USE_LOGGING` were not seeing expected behavior. The issue was reported, and subsequently fixed, by Neil Carlson at Los Alamos Nat'l Laboratory. See [Github Pull Request #44](https://github.com/Unidata/netcdf-fortran/pull/44) for more information. 83* Integrated improvements provided by Richard Weed. For a *complete* list of modifications, see the file `docs/netcdf_fortran_4.4.2dev_notes_RW.pdf`. **It is highly detailed and worth reading!** 84 85 The highlights of the improvements are as follows: 86 87 * Explicit dependencies on `NC_MAX_DIM` constant for arrays has been removed and replaced with dynamically-allocated arrays. 88 * Support for `nc_open_mem()` in the C library, allowing for the creation of "in memory" files. 89 * General clean up. 90 91## 4.4.3 Released 2016-01-20 92 93* Corrected a bug which would return a false-positive in `nf_test` when using netCDF-C `4.4.0`. 94 95* Updated the `cfortran.doc` license document for the `cfortran.h` library. The most recent version was pulled from http://cfortran.sourceforge.net. The previous version did not reflect that the author had released cfortran under the LGPL. See [Github Issue 27](https://github.com/Unidata/netcdf-fortran/issues/27) for more information. 96 97## 4.4.2 Released 2015-02-02 98 99* Added infrastructure to support the new `netcdf-c` option, `ENABLE_REMOTE_FORTRAN_BOOTSTRAP`. 100 101* Incorporated changes submitted by Nico Schlomer which extends the cmake compatibility between `netcdf-c` and `netcdf-fortran`. 102 103* Incorporated a patch submitted by Thomas Jahns which fixed `FC` being unconditionally overwritten by `F77` when `Fortran 90` was disabled. 104 105## 4.4.1 Released 2014-09-09 106 107* No significant changes from RC1. 108 109### 4.4.1-RC1 Released 2014-08-05 110 111* Added a new variable for cmake-based builds, `NC_EXTRA_DEPS`. Use this to specify additional dependencies when linking against a static `netcdf-c` library, e.g. 112 113```.fortran 114netcdf-fortran/build$ cmake .. -DNC_EXTRA_DEPS="-lhdf5 -lhdf5_hl -lcurl" 115``` 116 117* Fixed to build correctly with netCDF-3-only C library, for example C library configured with --disable-netcdf-4 (R. Weed). 118 119## 4.4 Released 2014-07-08 120 121* For 32-bit platforms fixed integer fill parameters, initialized potentially 122 unitialized variables, and provided some missing defaults (R. Weed). 123 124* Fixed CMake builds on 32-bit platforms. 125 126* Added new `inq_path` and `rename_grps` functions analogous to 127 corresponding C functions. Added associated tests (R. Weed). 128 129* Added support for NF\_MPIIO, `NF_MPIPOSIX`, `NF_PNETCDF` flags and 130 `NF_FILL_UINT`. (R. Weed) 131 132* Fixed potential bug in attribute functions for integer values when 133 Fortran `INTEGER*1` or `INTEGER*2` types are the same size as C 134 long (R. Weed). 135 136* Added test for compiler support of Fortran 2008 `ISO_FORTRAN_ENV` 137 additions and TS29113 standard extension. 138 139* Fixed `C_PTR_DIFF_T` issue reported by Orion Poplowski (R. Weed). 140 141### 4.4-rc1 Released 2013-10-06 142 143* Added doxygen-generated documentation, using the `--enable-doxygen` and `-DENABLE_DOXYGEN` flags for autotools and cmake-based builds, respectively. 144 145* Added missing error codes for DAP and some netCDF-4 errors 146 147* Fixed some documentation for F77 API, added make rule for creating netcdf-f77 HTML files. 148 149### 4.4-beta5 Released 2013-08-27 150 151* Added configuration files to github distribution. 152 153### 4.4-beta4 154 155* Moved to GitHub from Subversion, the location of the new GitHub repository is at: http://github.com/Unidata/netCDF-Fortran 156 157* Parallel-build portability fixes, particularly for 158 OpenMPI and gcc/gfortran-4.8.x on the Mac. Also added 159 test from Reto Stöckli for NCF-250 bug, demonstrating 160 it was fixed in previous commit. 161 162* Add support for NF\_MPIIO, NF\_MPIPOSIX, NF\_PNETCDF, and 163 NF\_FILL\_UINT in the data files. 164 165* Add support for nf\_inq\_path. 166 167* Add a pre-processor macro that can be used to bypass 168 the home-brew C_PTRDIFF_T definition and use the 169 standard one for compilers that support it. 170 171* Fix a potential bug in nf\_attio to call the \_long 172 version of some puts/gets instead of the \_int 173 version. These were inside INT1\_IS\_C\_LONG and 174 INT2\_IS\_C\_LONG ifdef blocks so they would have only 175 showed up when those macros were true. 176 177### 4.4-beta3 Released 2012-12-07 178 179* Fixed bug that "make -j check" fails, but "make check" works fine. 180 181* Fixed build problems resulting from syncing with separate C distribution. 182 183* Synchronize with all changes made to version 4.2 since ts release. 184 185### 4.4-beta2 Released 2012-06-29 186 187* Made handling of --disable-f03 more transparent. 188 189* Fixed adding flags for parallel I/O for MPI from David Warren. 190 191* Removed all the old C code that's not needed for this separate distribution. 192 193* Inadvertently broke the build until syncing with C distribution in later beta release. 194 195### 4.4-beta1 Released 2012-03-02 196 197* `Fortran 2003 Support` 198 199 Version 4.4 is the first release to support fortran 2003 and to use the ISO C Bindings available in fortran 2003 to replace the older C code wrappers. 200 201 Congratulations and thanks to Richard Weed at Mississippi State University, who is the author of new code. 202 203 See the file `README_F03_MODS` for a more complete description of the changes. Many changes to the build structure have been made at the same time as the new 2003 code has been inserted. 204 205 As part of the fortran 2003 refactor, the directory structure has been significantly modified. All the previous F90 C wrapper code has been moved to the "libsrc" directory. 206 207 All of the fortran code has been moved to the "fortran" directory. The directories names F77 and F90 have been removed. The most important consequence of this refactor is that pure Fortran77 compilers are no longer supported. It is assumed that the compiler supports at least Fortran 90 and also Fortran 77. If it also supports the ISO C Bindings, then the new 2003 code is used instead of the older C wrappers. 208