Skip to content

Releases: Unidata/netcdf-c

netCDF-C 4.5.0 - Release Candidate 3

29 Sep 20:59
Compare
Choose a tag to compare
Pre-release

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 for configure or cmake, 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 using NC_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 and ENABLE_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

07 Aug 20:02
Compare
Choose a tag to compare
Pre-release

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.

netCDF-C 4.5.0 - Release Candidate 1

05 Jun 21:34
Compare
Choose a tag to compare
Pre-release

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

21 Nov 22:36
Compare
Choose a tag to compare

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).

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 to ncgen. 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, if nf-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

28 Jun 21:30
Compare
Choose a tag to compare

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

20 Jun 20:48
Compare
Choose a tag to compare
netCDF-C 4.4.1-rc3 Pre-release
Pre-release

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

13 May 20:38
Compare
Choose a tag to compare
netCDF-C 4.4.1-rc2 Pre-release
Pre-release

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 file docs/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

15 Apr 21:18
Compare
Choose a tag to compare
netCDF-4.4.1-rc1 Pre-release
Pre-release

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 is ON by default, but if turned off, only libnetcdf.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 whether logging is enabled in netcdf. Additionally, if f03 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 ragged VLEN variable in an unlimited dimension. See GitHub #221 for more information.

netCDF-4.4.0

13 Jan 21:59
Compare
Choose a tag to compare

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 is unsigned by default (such as ARM), as well as an issue describing regarding undefined behavior, again on ARM. 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 using nc_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

11 Nov 21:26
Compare
Choose a tag to compare
netCDF-4.4.0-rc5 Pre-release
Pre-release

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.

    1. Renamed libsrcp5 -> libsrcp because pnetcdf can do parallel io for CDF-1, CDF-2 and CDF-5, not just CDF-5.
    2. Given #1, then the NC_PNETCDF mode flag becomes a subset of NC_MPIIO, so made NC_PNETCDF an alias for NC_MPII.
    3. 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:
    1. HDF5_PARALLEL when hdf5 library has parallel enabled
    2. --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 from 2.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 the guide.dox file in the docs/ directory, or can be found online in the appropriate location (typically http://www.unidata.ucar.edu/netcdf/docs), once this release has been published.