Releases: Unidata/netcdf-c
netCDF-C 4.7.3
- [Bug Fix]Fixed an issue where installs from tarballs will not properly compile in parallel environments.
- [Bug Fix] Library was modified so that rewriting the same attribute happens without deleting the attribute, to avoid a limit on how many times this may be done in HDF5. This fix was thought to be in 4.6.2 but was not. See [https://github.com//issues/350].
- [Enhancement] Add a dispatch version number to netcdf_meta.h and libnetcdf.settings, in case we decide to change dispatch table in future. See [https://github.com//issues/1469].
- [Bug Fix] Now testing that endianness can only be set on atomic ints and floats. See [https://github.com//issues/1479].
- [Bug Fix] Fix for subtle error involving var and unlimited dim of the same name, but unrelated, in netCDF-4. See [https://github.com//issues/1496].
- [Enhancement] Update for attribute documentation. See [https://github.com//issues/1512].
- [Bug Fix][Enhancement] Corrected assignment of anonymous (a.k.a. phony) dimensions in an HDF5 file. Now when a dataset uses multiple dimensions of the same size, netcdf assumes they are different dimensions. See GitHub #1484 for more information.
netCDF-C 4.7.2
- [OSX][Bug Fix][Enhancement] Corrected an issue where protected memory was being written to with some pointer slight-of-hand. This has been in the code for a while, but appears to be caught by the compiler on OSX, under circumstances yet to be completely nailed down. See GitHub #1486 for more information.
- [Enhancement] [Parallel IO] Added support for parallel functions in MSVC. See Github #1492 for more information.
- [Enhancement] Added a function for changing the ncid of an open file. This function should only be used if you know what you are doing, and is meant to be used primarily with PIO integration. See GitHub #1483 and GitHub #1487 for more information.
- [Bug Fix][Enhancement] Various bug fixes and enhancements.
netCDF-C 4.7.1
-
[Enhancement] Added unit_test directory, which contains unit tests
for the libdispatch and libsrc4 code (and any other directories that
want to put unit tests there). Use --disable-unit-tests to run without
unit tests (ex. for code coverage analysis).
See GitHub #1458 -
[Bug Fix] Remove obsolete _CRAYMPP and LOCKNUMREC macros from
code. Also brought documentation up to date in man page. These macros
were used in ancient times, before modern parallel I/O systems were
developed. Programmers interested in parallel I/O should see
nc_open_par() and nc_create_par().
See GitHub #1459 -
[Enhancement] Remove obsolete and deprecated functions
nc_set_base_pe() and nc_inq_base_pe() from the dispatch table. (Both
functions are still supported in the library, this is an internal
change only.)
See GitHub #1468 -
[Bug Fix] Reverted nccopy behavior so that if no -c parameters
are given, then any default chunking is left to the netcdf-c library
to decide.
See GitHub #1436 -
Various other bugfixes and enhancements.
netCDF-C 4.7.0
The changes from 4.6.3
include but are not limited to:
-
[Enhancement] A plethora of bug fixes and performance improvements.
-
[Enhancement] Updated behavior of
pkgconfig
andnc-config
to allow the use of the--static
flags, e.g.nc-config --libs --static
, which will show information for linking againstlibnetcdf
statically. See Github #1360 and Github #1257 for more information. -
[Enhancement] Provide byte-range reading of remote datasets. This allows
read-only access to, for example, Amazon S3 objects and also Thredds Server
datasets via the HTTPService access method.
See GitHub #1251. -
Update the license from the home-brewed NetCDF license to the standard 3-Clause BSD License. This change does not result in any new restrictions; it is merely the adoption of a standard, well-known and well-understood license in place of the historic NetCDF license written at Unidata. This is part of a broader push by Unidata to adopt modern, standardized licensing.
netCDF-C 4.6.3
The changes from 4.6.2
include but are not limited to:
- [Bug Fix] Correctly generated
netcdf.pc
generated either byconfigure
orcmake
. If linking against a static netcdf, you would need to pass the--static
argument topkg-config
in order to list all of the downstream dependencies. See Github #1324 for more information. - Now always write hidden coordinates attribute, which allows faster file opens when present. See Github #1262 for more information.
- Some fixes for rename, including fix for renumbering of varids after a rename (#1307), renaming var to dim without coordinate var. See Github #1297.
- Fix of NULL parameter causing segfaults in put_vars functions. See Github #1265 for more information.
- Fix of --enable-benchmark benchmark tests Github #1211
- Update the license from the home-brewed NetCDF license to the standard 3-Clause BSD License. This change does not result in any new restrictions; it is merely the adoption of a standard, well-known and well-understood license in place of the historic NetCDF license written at Unidata. This is part of a broader push by Unidata to adopt modern, standardized licensing.
- [BugFix] Corrected DAP-releated issues on big-endian machines. See Github #1321, Github #1302 for more information.
- [BugFix][Enhancement] Various and sundry bugfixes and performance enhancements, thanks to @edhartnett, @gsjaardema, @t-b, @wkliao, and all of our other contributors.
- [Enhancement] Extended
nccopy -F
syntax to support multiple variables with a single invocation. See Github #1311 for more information. - [BugFix] Corrected an issue where DAP2 was incorrectly converting signed bytes, resulting in an erroneous error message under some circumstances. See GitHub #1317 for more information. See Github #1319 for related information.
- [BugFix][Enhancement] Modified
nccopy
so that_NCProperties
is not copied over verbatim but is instead generated based on the version oflibnetcdf
used when copying the file. Additionally,_NCProperties
are displayed if/when associated with a netcdf3 file, now. See GitHub #803 for more information.
netCDF-C 4.6.2
The changes from version 4.6.1
include (but are not limited to):
- [Enhancement] Lazy att read - only read atts when user requests one of them. See GitHub #857.
- [Enhancement] Fast global att read - when global atts are read, they are read much more quickly. See GitHub #857.
- [Enhancement] Add nccopy command options for per-variable chunk sizing, and minimum chunk size. See GitHub #1087.
- [Bug Fix] Fix nccopy handling of user specified chunk sizes. See GitHub #725,#1087.
- [Bug Fix] Avoid limit on number of times a netCDF4 attribute can be updated. Not a complete fix for the HDF5 "maximum creation order" problem, but should greatly reduce occurrences in many real-world cases. See GitHub #350.
- [Bug Fix] The use of NC_DISKLESS has been modified to make it cleaner. This adds a new flag called NC_PERSIST that takes over the now obsolete NC_MPIPOSIX.
- [Obsolete] Obsolete the MPIPOSIX flag.
- [Bug Fix] When using filters with HDF5 1.10.x or later, it is necessary to utilize the HDF5 replacements for malloc, realloc, and free in the filter code.
- [Enhancement] Create a new version of _NCProperties provenance attribute. This version (version 2) supports arbitrary key-value pairs. It is the default when new files are created. Version 1 continues to be accepted.
- [Enhancement] Allow user to set http read buffersize for DAP2 and DAP4 using the tag HTTP.READ.BUFFERSIZE in the .daprc file.
- [Enhancement] Allow user to set http keepalive for DAP2 and DAP4 using the tag HTTP.KEEPALIVE in the .daprc file (see the OPeNDAP documentation for details).
- [Enhancement] Support DAP4 remote tests using a new remote test server locatedon the Unidata JetStream project.
- [Enhancement] Improved the performance of the nc_get/put_vars operations by using the equivalent slab capabilities of hdf5. Result is a significant speedup of these operations. See GitHub #1001 for more information.
- [Enhancement] Expanded the capabilities of
NC_INMEMORY
to support writing and accessing the final modified memory. See GitHub #879 for more information. - [Enhancement] Made CDF5 support enabled by default. See Github #931 for more information.
- [Bug Fix] Corrected a number of memory issues identified in
ncgen
. See GitHub #558 for more information.
netCDF-C 4.6.2-rc2
The changes from the pervious version include (but are not limited to):
- [Enhancement] Add nccopy command options for per-variable chunk sizing, and minimum chunk size. See GitHub #1087.
- [Bug Fix] Fix nccopy handling of user specified chunk sizes. See GitHub #725,#1087.
- [Bug Fix] Avoid limit on number of times a netCDF4 attribute can be updated. Not a complete fix for the HDF5 "maximum creation order" problem, but should greatly reduce occurrences in many real-world cases. See GitHub #350.
- [Bug Fix] The use of NC_DISKLESS has been modified to make it cleaner. This adds a new flag called NC_PERSIST that takes over the now obsolete NC_MPIPOSIX.
- [Obsolete] Obsolete the MPIPOSIX flag.
- [Bug Fix] When using filters with HDF5 1.10.x or later, it is necessary to utilize the HDF5 replacements for malloc, realloc, and free in the filter code.
netCDF-C 4.6.2-rc1
The changes from the previous version include (but are not limited to):
- [Enhancement] Create a new version of _NCProperties provenance attribute. This version (version 2) supports arbitrary key-value pairs. It is the default when new files are created. Version 1 continues to be accepted.
- [Enhancement] Allow user to set http read buffersize for DAP2 and DAP4 using the tag HTTP.READ.BUFFERSIZE in the .daprc file.
- [Enhancement] Allow user to set http keepalive for DAP2 and DAP4 using the tag HTTP.KEEPALIVE in the .daprc file (see the OPeNDAP documentation for details).
- [Enhancement] Support DAP4 remote tests using a new remote test server locatedon the Unidata JetStream project.
- [Enhancement] Improved the performance of the nc_get/put_vars operations by using the equivalent slab capabilities of hdf5. Result is a significant speedup of these operations. See GitHub #1001 for more information.
- [Enhancement] Expanded the capabilities of
NC_INMEMORY
to support writing and accessing the final modified memory. See GitHub #879 for more information. - [Enhancement] Made CDF5 support enabled by default. See Github #931 for more information.
- [Bug Fix] Corrected a number of memory issues identified in
ncgen
. See GitHub #558 for more information.
netCDF-C 4.6.1
We are happy to announce the availability of netCDF-C 4.6.1. This is primarily a maintenance release. In addition to numerous internal changes, cleanup, bug fixes and reorganization, some notable changes since netCDF-C 4.6.0 are as follows:
- [Enhancement] Reverted some new behaviors that, while in line with the netCDF specification, broke existing workflows. See Github #843 for more information.
- [Bug Fix] Corrected an issue which could result in a dap4 failure. See Github #888 for more information.
- [Bug Fix][Enhancement] Allow
nccopy
to control output filter suppresion. See Github #894 for more information. - [Bug Fix] Improved support for CRT builds with Visual Studio, improves zlib detection in hdf5 library. See Github #853 for more information.
- [Enhancement][Internal] Moved HDF4 into a distinct dispatch layer. See Github #849 for more information.
netCDF-C 4.6.0
We are pleased to announce the netCDF-C 4.6.0 release. Highlighted changes from the 4.5.0 release are as follows:
- [Enhancement] Full support for using HDF5 dynamic filters, both for reading and writing. See the file docs/filters.md.
- [Enhancement] Reversed a handful of 4.5.0 changes which enforced documented-yet-previously-unenforced specifications, as these broke long established workflows.
- [Enhancement] Added an option to enable strict null-byte padding for headers; this padding was specified in the spec but was not enforced. Enabling this option will allow you to check your files, as it will return an E_NULLPAD error. It is possible for these files to have been written by older versions of libnetcdf. There is no effective problem caused by this lack of null padding, so enabling these options is informational only. The options for
configure
andcmake
are--enable-strict-null-byte-header-padding
and-DENABLE_STRICT_NULL_BYTE_HEADER_PADDING
, respectively. See Github #657 for more information. - [Enhancement] Reverted behavior/handling of out-of-range attribute values to pre-4.5.0 default. See Github #512 for more information.
- [Bug] Fixed error in tst_parallel2.c. See Github #545 for more information.
- [Bug] Fixed handling of corrupt files + proper offset handling for hdf5 files. See Github #552 for more information.
- [Bug] Corrected a memory overflow in
tst_h_dimscales
, see Github #511, Github #505, Github #363 and Github #244 for more information.