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