Releases: Unidata/netcdf-c
netCDF-C 4.5.0 - Release Candidate 3
We are pleased to announce the third release candidate for netCDF 4.5.0. Assuming no further bug reports (won't that be nice!) we should have the full release out soon. In addition to general bug fixes, the main improvements from rc2 are as follows:
- [Update] Due to ongoing issues, native CDF5 support has been disabled by default. You can use the options mentioned below (
--enable-cdf5
or-DENABLE_CDF5=TRUE
forconfigure
orcmake
, respectively). Just be aware that for the time being, Reading/Writing CDF5 files on 32-bit platforms may result in unexpected behavior when using extremely large variables. For 32-bit platforms it is best to continue usingNC_FORMAT_64BIT_OFFSET
. - [Bug] Corrected an issue where older versions of curl might fail. See GitHub #487 for more information.
- [Enhancement] Added options to enable/disable
CDF5
support at configure time for autotools and cmake-based builds. The options are--enable/disable-cdf5
andENABLE_CDF5
, respectively. See Github #484 for more information. - [Bug Fix] Corrected an issue when subsetting a netcdf3 file via
nccopy -v/-V
. See Github #425 and Github #463 for more information. - [Bug Fix] Corrected
--has-dap
and--has-dap4
output for cmake-based builds. See GitHub #473 for more information. - [Bug Fix] Corrected an issue where
NC_64BIT_DATA
files were being read incorrectly by ncdump, despite the data having been written correctly. See GitHub #457 for more information. - [Bug Fix] Corrected a potential stack buffer overflow. See GitHub #450 for more information.
Release Tarball - https://github.com/Unidata/netcdf-c/releases
Windows Installer Downloads - http://www.unidata.ucar.edu/software/netcdf/docs_rc/winbin.html
Documentation - http://www.unidata.ucar.edu/software/netcdf/docs_rc
netCDF-C 4.5.0 - Release Candidate 2
We are pleased to announce the second release candidate for netCDF 4.5.0. Assuming no further bug reports (won't that be nice!) we should have the full release out soon. In addition to general bug fixes, the main improvements from rc1 are as follows:
- [Bug Fix] Addressed an issue with how cmake was implementing large file support on 32-bit systems. See GitHub #385 for more information.
- [Bug Fix] Addressed an issue where ncgen would not respect keyword case. See GitHub #310 for more information.
The documentation and release code may be downloaded via the following links. We look forward to any feedback and suggestions. Once the official 4.5.0 release is out, we will move forward with the next versions of the Fortran and C++ interfaces.
- Release Tarball - https://github.com/Unidata/netcdf-c/releases
- Windows Installer Downloads - http://www.unidata.ucar.edu/software/netcdf/docs_rc/winbin.html
- Documentation - http://www.unidata.ucar.edu/software/netcdf/docs_rc
netCDF-C 4.5.0 - Release Candidate 1
The following list captures the main changes/improvements/bug fixes since version 4.4.1.1
:
4.5.0-rc1 - June 5, 2017
- [Enhancement] DAP4 is now included. Since dap2 is the default for urls, dap4 must be specified by
(1) using "dap4:" as the url protocol, or
(2) appending "#protocol=dap4" to the end of the url, or
(3) appending "#dap4" to the end of the url
Note that dap4 is enabled by default but remote-testing is
disbled until the testserver situation is resolved. - [Enhancement] The remote testing server can now be specified with the
--with-testserver
option to ./configure. - [Enhancement] Modified netCDF4 to use ASCII for NC_CHAR. See Github Pull request #316 for more information.
- [Bug Fix] Corrected an error with how dimsizes might be read. See Github #410 for more information.
- [Bug Fix] Corrected an issue where 'make check' would fail if 'make' or 'make all' had not run first. See Github #339 for more information.
- [Bug Fix] Corrected an issue on Windows with Large file tests. See Github #385 for more information.
- [Bug Fix] Corrected an issue with diskless file access, see Pull Request #400 and Pull Request #403 for more information.
- [Upgrade] The bash based test scripts have been upgraded to use a common test_common.sh include file that isolates build specific information.
- [Upgrade] The bash based test scripts have been upgraded to use a common test_common.sh include file that isolates build specific information.
- [Refactor] the oc2 library is no longer independent of the main netcdf-c library. For example, it now uses ncuri, nclist, and ncbytes instead of its homegrown equivalents.
- [Bug Fix]
NC_EGLOBAL
is now properly returned when attempting to set a global_FillValue
attribute. See GitHub #388 and GitHub #389 for more information. - [Bug Fix] Corrected an issue where data loss would occur when
_FillValue
was mistakenly allowed to be redefined. See Github #390, GitHub #387 for more information. - [Upgrade][Bug] Corrected an issue regarding how "orphaned" DAS attributes were handled. See GitHub #376 for more information.
- [Upgrade] Update utf8proc.[ch] to use the version now maintained by the Julia Language project (https://github.com/JuliaLang/utf8proc/blob/master/LICENSE.md).
- [Bug] Addressed conversion problem with Windows sscanf. This primarily affected some OPeNDAP URLs on Windows. See GitHub #365 and GitHub #366 for more information.
- [Enhancement] Added support for HDF5 collective metadata operations when available. Patch submitted by Greg Sjaardema, see Pull request #335 for more information.
- [Bug] Addressed a potential type punning issue. See GitHub #351 for more information.
- [Bug] Addressed an issue where netCDF wouldn't build on Windows systems using MSVC 2012. See GitHub #304 for more information.
- [Bug] Fixed an issue related to potential type punning, see GitHub #344 for more information.
- [Enhancement] Incorporated an enhancement provided by Greg Sjaardema, which may improve read/write times for some complex files. Basically, linked lists were replaced in some locations where it was safe to use an array/table. See Pull request #328 for more information.
netCDF-C 4.4.1.1
This is the official release of netCDF-C 4.4.1.1
. This is a maintenance release which contains several important bug fixes. The Unidata/netCDF team recommend migrating to netCDF 4.4.1.1 as soon as is possible to avoid a potential, albeit rare, data loss issue in ncgen
(as described below or detailed at #323).
- Documentation for netCDF may be found at http://www.unidata.ucar.edu/software/netcdf/documentation/4.4.1.1
- Windows installer files may be found at http://www.unidata.ucar.edu/software/netcdf/documentation/4.4.1.1/winbin.html
- Source downloads are available from https://github.com/Unidata/netcdf-c/releases/v4.4.1.1
- Tarball and zip archives are available from http://www.unidata.ucar.edu/downloads/netcdf/index.jsp
Changes from version 4.4.1
Below is a list of notable changes from the previous release.
- [Bug] Fixed an issue where
ncgen
would potentially crash or write incorrect netCDF4 binary data under very specific circumstances. This bug did not affect data written on 32-bit systems or by using the netCDF library; it was specific toncgen
. This would only happen when writing a compound data type containing an 8-byte data type followed by a 4-byte data type and the 4-byte data type was not properly aligned; this would possibly result in incorrect padding. This did not affect 32-bit systems, or data written directly by the library. See GitHub #323 for more information. - [Documentation] Updated documentation related to netCDF variable names and DAP2 access to reflect the undefined behavior potentially observed when DAP2 reserved keywords are used as netCDF variable names. See GitHub #308 for more information.
- [Bug] Fixed an issue with
nc_inq_type()
not returning proper value in some circumstances. See GitHub #317 for more information. - [Bug] Corrected an issue related to test failures when
--disable-utilities
or-DENABLE_UTILITIES=OFF
are specified when building with autotools or cmake, respectively. See GitHub #313 for more information. - [Bug][Enhancement] Corrected a behavioral issue with the
_NCProperties
attribute taking up too much space. See GitHub #300 and GitHub #301 for more information. - [Bug] Corrected behavior for
nc-config
so that, ifnf-config
is found in system, the proper fortran-related information will be conveyed. See [GitHub #296](https://github.com/Unidata/netcdf-c/issues/296] for more information.
netCDF-C 4.4.1
This is the official release of netCDF-C 4.4.1
.
This release provides compatibility with libhdf5 1.10.0+
; previous versions of netCDF will generate binary files which cannot be read on systems using older versions of libhdf5. A summary of changes between this official release and the previous release candidate are as follows:
- [File Change] Starting with release 4.4.1, netCDF-4 files created will have superblock version 0 instead of superblock version 2, as was observed in previous netCDF versions. This is due to a workaround required to avoid backwards binary incompatibility when using libhdf5 1.10.x or greater. Superblock versions 0 and 2 appear to be forward and backward compatible. Other than a different superblock number the data should remain consistent.
- [Enhancement] Added better error reporting when ncdump/nccopy are given a bad constraint in a DAP url. See GitHub #279 for more information.
Full release notes are available here.
netCDF-C 4.4.1-rc3
This is the third release candidate for netCDF-C 4.4.1
. It contains various improvements and bug fixes over the previous release candidate. The notes for this release may be seen below, and the full list of release notes may be seen here. Notable improvements are as follows:
4.4.1-RC3 - June 17, 2016
- [Bug Fix] Corrected an issue where adding a _FillValue attribute to a variable would result in other attributes being lost. See GitHub #239 for more details.
- [Bug Fix][Parallel I/O] Corrected an issue reported by Kent Yang at the HDF group related to Collective Parallel I/O and a potential hang.
- [Bug Fix] Misc. bug fixes and improvements.
netCDF-C 4.4.1-rc2
This is the second release candidate for netCDF-C 4.4.1
. It contains various improvements and bug fixes over the first release candidate. The notes for this release may be seen below, and the full list of release notes may be seen here.
4.4.1-RC2 - May 13, 2016
- [Enhancement] Added provenance information to files created. This information consists of a persistent attribute named
_NCProperties
plus two computed attributes,_IsNetcdf4
and_SuperblockVersion
. Associated documentation was added to the filedocs/attribute_conventions.md
. See GitHub pull request #260 for more information. - [Bug Fix] Cleaned up some dead links in the doxygen-generated documentation.
- [Bug Fix] Corrected several issues related to building under Visual Studio 2014.
- [Bug Fix] Corrected several test failures related to HDF5
1.10.0
- [Bug Fix] Reverted SOVersion current to 11 from 12; it was incorrectly incremented in netCDF-C release 4.4.1-RC1.
- [Enhancement][Windows] Updated included libhdf5 version from 1.8.15 to 1.8.16 for pre-built Windows/Visual Studio installers.
netCDF-4.4.1-rc1
This is the first release candidate for netCDF 4.4.1
. It contains many improvements and bug fixes, and addresses one very important issue. This is the first release which will write backwards-compatible netCDF4 files properly when linked against HDF5 1.10.0. See #250 for full details.
See the file RELEASE_NOTES.md
for full release notes. Here is a summary of changes made so far:
Changes from 4.4.0 to 4.4.1-rc1
- [Bug Fix][Enhancement] Fixed an issue with netCDF4 files generated using version
1.10.0
of the HDF5 library. The 1.10 release potentially changed the underlying file format, introducing a backwards compatibility issue with the files generated. HDF5 provided an API for retaining the 1.8.x file format, which is now on by default. See GitHub Issue #250 for more information. - [Bug Fix] Corrected an issue with autotools-based builds performed out-of-source-tree. See GitHub Issue #242 for more information.
- [Enhancement] Modified
nc_inq_type()
so that it would work more broadly without requiring a valid ncid. See GitHub Issue #240 for more information. - [Enhancement] Accepted a patch code which added a hashmap lookup for rapid var and dim retrieval in nc3 files, contributed by Greg Sjaardema. See GitHub Pull Request #238 for more information.
- [Bug Fix] Accepted a contributed pull request which corrected an issue with how the cmake-generated
nc-config
file determined the location of installed files. See GitHub Pull Request #235 for more information. - [Enhancement] Added an advanced option for CMake-based builds,
ENABLE_SHARED_LIBRARY_VERSION
. This option isON
by default, but if turned off, onlylibnetcdf.dylib
will be generated, instead of files containing the SOVERSION in the file name. This is a requested feature most people might not care about. See GitHub #228 for more information. - [Bug Fix] Corrected an issue with duplicated error codes defined in multiple header files. See GitHub #213 for more information.
- [Bug Fix] Addressed an issue specific to Visual Studio 2015 on Windows. On very large files, some calls to the
fstat
class of functions would fail for no apparent reason. This behavior was not observed under Visual Studio 2013. This has now been mitigated. See GitHub #188 for more information. - [Enhancement] Updated
nc-config
to report whetherlogging
is enabled in netcdf. Additionally, iff03
is available in an installed netcdf-fortran library, it will now be reported as well. - [Bug Fix] Addressed an issue where
netcdf_mem.h
was not being installed by cmake. See GitHub #227 for more information. - [Bug Fix] Addressed an issue where
ncdump
would crash when trying to read a netcdf file containing an empty raggedVLEN
variable in an unlimited dimension. See GitHub #221 for more information.
netCDF-4.4.0
netCDF-4.4.0 Release
This is the long-awaited netCDF-4.4.0 release
. Full release notes can be here. Release notes for the changes between 4.4.0
and the previous release candidate, 4.4.0-rc5
are as follows:
Changes from 4.4.0-rc5
to 4.4.0
- Bumped SO version to 11.0.0.
- Modified
CMakeLists.txt
to work with the re-organized cmake configuration used by the latest HDF5,1.8.16
, on Windows. Before this fix, netCDF would fail to locate hdf5 1.8.16 when using cmake on Windows. See GitHub #186 for more information. - Addressed an issue with
ncdump
when annotations were used. The indices for the last row suffered from an off-by-1 error. See GitHub issue #181 for more information. - Addressed an issue on platforms where
char
isunsigned
by default (such asARM
), as well as an issue describing regarding undefined behavior, again onARM
. See GitHub issue #159 for detailed information. - Fixed an ambiguity in the grammar for cdl files. See GitHub #178 for more information.
- Updated documentation for
nc_get_att_string()
to reflect the fact that it returns allocated memory which must be explicitly free'd usingnc_free_string()
. Reported by Constantine Khroulev, see GitHub Issue 171 for more information. - Modified ncgen to properly handle the L and UL suffixes for integer constants
to keep backward compatibility. Now it is the case the single L suffix
(e.g. 111L) is treated as a 32 bit integer. This makes it consistent with
the fact that NC_LONG (netcdf.h) is an alias for NC_INT. Existing .cdl
files should be examined for occurrences of the L prefix to ensure that
this change will not affect them.
(see Github issue 156[https://github.com//issues/156]). - Updated documentation to reference the new
NodeJS
interface to netcdf4, by Sven Willner. It is available from https://www.npmjs.com/package/netcdf4 or from the GitHub repository at https://github.com/swillner/netcdf4-js. - Incorporated pull request #150 from Greg Sjaardema to remove the internal hard-wired use of
NC_MAX_DIMS
, instead using a dynamic memory allocation.
netCDF-4.4.0-rc5
This is the fifth and (hopefully) final release candidate for netCDF 4.4.0
. There are a multitude of changes, including the addition of CDF-5
support. Below are the release notes for this release, and see See the release notes for full details for the full release note file.
4.4.0-RC5 Released - November 11, 2015
- Added a fix for #149, which was reported several times in quick succession within an hour of the RC4 release.
4.4.0-RC4 Released - November 10, 2015
-
Added CDM-5 support via new mode flag called NC_64BIT_DATA (alias NC_CDF5).
Major kudos to Wei-Keng Liao for all the effort he put into getting this to work.
This cascaded into a number of other changes.
- Renamed libsrcp5 -> libsrcp because pnetcdf can do parallel io for CDF-1, CDF-2 and CDF-5, not just CDF-5.
- Given #1, then the NC_PNETCDF mode flag becomes a subset of NC_MPIIO, so made NC_PNETCDF an alias for NC_MPII.
- NC_FORMAT_64BIT is now deprecated. Use NC_FORMAT_64BIT_OFFSET.
Further information regarding the CDF-5 file format specification may be found here: http://cucis.ece.northwestern.edu/projects/PnetCDF/CDF-5.html
- Modified configure.ac to provide finer control over parallel
support. Specifically, add flags for:- HDF5_PARALLEL when hdf5 library has parallel enabled
- --disable-parallel4 to be used when we do not want
netcdf-4 to use parallelism even if hdf5 has it enabled.
- Deprecating various extended format flags.
The various extended format flags of the format NC_FORMAT_FOO
have been refactored into the form NC_FORMATX_FOO
. The old flags still exist but have been marked as deprecated and will be removed at some point. This was done to avoid confusion between the extended format flags and the format flags NC_FORMAT_CLASSIC
, NC_FORMAT_64BIT_OFFSET
, etc. The mapping of deprecated-to-new flags is as follows:
Deprecated | Replaced with |
---|---|
NC_FORMAT_NC3 | NC_FORMATX_NC3 |
NC_FORMAT_NC_HDF5 | NC_FORMATX_NC_HDF5 |
NC_FORMAT_NC4 | NC_FORMATX_NC4 |
NC_FORMAT_NC_HDF4 | NC_FORMATX_NC_HDF4 |
NC_FORMAT_PNETCDF | NC_FORMATX_PNETCDF |
NC_FORMAT_DAP2 | NC_FORMATX_DAP2 |
NC_FORMAT_DAP4 | NC_FORMATX_DAP4 |
NC_FORMAT_UNDEFINED | NC_FORMATX_UNDEFINED |
- Reduced minimum cmake version to
2.8.11
from2.8.12
. This will allow for cmake use on a broader set of popular linux platforms without having to do a custom cmake install. See #135 for more information. - The documentation section
The Default Chunking Scheme
has been updated with more information. This lives in theguide.dox
file in thedocs/
directory, or can be found online in the appropriate location (typically http://www.unidata.ucar.edu/netcdf/docs), once this release has been published.