Releases: Unidata/netcdf-c
v4.9.3-rc1
The NSF Unidata netCDF team is happy to announce the first release candidate for netCDF-C v4.9.3. This release will include a lot of quality of life improvements and bug fixes, as well as improved support for ncZarr. We expect to release a second release candidate, with a focus on improved documentation, and a quick-start guide for our Zarr support with S3 and other cloud-based object stores.
The second release candidate will be out shortly; the final, full release will occur as quickly as possible, but that will depend on issues which arise through testing of this release candidate. The more broadly it is tested, the quicker we'll be able to get the full release out. Thanks all for your patience and your help!
What's Changed
- "Simplify" XGetopt usage by @DennisHeimbigner in #2678
- Fix bug in szip handling. by @DennisHeimbigner in #2679
- Add documentation for logging by @edwardhartnett in #2677
- Combine DAP4 test server fixes, resolve a couple conflicts. by @WardF in #2681
- Cleanup DAP4 testing by @DennisHeimbigner in #2555
- Fix DAP4 remotetest server by @DennisHeimbigner in #2558
- Fix issue #2674 by @uweschulzweida in #2675
- Check at nc_open if file appears to be in NCZarr/Zarr format. by @DennisHeimbigner in #2658
- Fix a syntax issue in CMakeLists.txt by @WardF in #2693
- hdf5open: check for the H5L info structure version directly by @mathstuf in #2695
- Improve S3 documentation, testing and support by @DennisHeimbigner in #2686
- Fix potential dead store by @ZhipengXue97 in #2644
- CI: Test --without-plugin-dir on Cygwin by @DWesl in #2659
- Fix handling of CURLOPT_CAINFO and CURLOPT_CAPATH by @DennisHeimbigner in #2690
- Adding a workaround for older versions of cmake by @WardF in #2703
- Remove obsolete code by @DennisHeimbigner in #2680
- Improve performance of the nc_reclaim_data and nc_copy_data functions. by @DennisHeimbigner in #2699
- CMakeLists.txt use ON vs yes, indent by @poelmanc in #2663
- Fix some dependency conditions between some ncdump tests. by @DennisHeimbigner in #2682
- awsincludes: remove executable permissions by @mathstuf in #2689
- Fix some problems with Earthdata authorization. by @DennisHeimbigner in #2709
- Provide a single option to disable all network access and testing. by @DennisHeimbigner in #2708
- Fix building on macOS by @skosukhin in #2710
- Update tinyxml and allow its use under OS/X. by @DennisHeimbigner in #2711
- Suppress filters on variables with non-fixed-size types. by @DennisHeimbigner in #2716
- Remove fortran bootstrap option by @WardF in #2707
- Add support for HDF5 transient types by @ZedThree in #2655
- Modify PR 2655 to ensure transient types have names. by @DennisHeimbigner in #2724
- Fix memory leak by @DennisHeimbigner in #2725
- Enable/Disable some plugins at configure time by @WardF in #2722
- Add capability to enable/disable compression libraries by @gsjaardema in #2712
- Release notes: Minor. Add historical tag, and spell fix. by @Dave-Allured in #2684
- Fix potential null dereference by @ZhipengXue97 in #2646
- Fix a crash when accessing a corrupted classic file. by @DennisHeimbigner in #2732
- Explicitly suppress variable length type compression by @DennisHeimbigner in #2730
- Cleanup the handling of cache parameters. by @DennisHeimbigner in #2734
- Fix a number of minor bugs by @DennisHeimbigner in #2726
- Fix major bug in the NCZarr cache management by @DennisHeimbigner in #2737
- Fix --has-quantize in autotools-generated nc-config. by @WardF in #2749
- Fix an issue with unescaped paths in the build system by @weiznich in #2756
- Mitigate S3 test interference + Unlimited Dimensions in NCZarr by @DennisHeimbigner in #2755
- Fix cmake s3 support.wif by @WardF in #2741
- CMake: Ensure all libraries link against MPI if needed by @ZedThree in #2758
- CMake: Change header in check for HDF5 zlib/szip support by @ZedThree in #2757
- Updated static software.html page with reference to met.3d by @WardF in #2760
- Revert a change made in d3c2cf2 that is proving confounding in MSYS2 bash by @WardF in #2769
- Address Windows and MacOS s3 issues by @WardF in #2759
- Fix bug with displaying log messages by @ZedThree in #2767
- Add ctest script to CI. by @WardF in #2778
- CI: Have nc-autotools use source distribution instead of repository by @DWesl in #2601
- Added stanza to workflow actions so that pushed changes cancel tests by @WardF in #2779
- netCDFConfig: find HDF5 if needed by @mathstuf in #2751
- Cleanup a number of issues. by @DennisHeimbigner in #2763
- CMake: Don't add uninstall target and CPack config if not top-level by @ZedThree in #2776
- Replace exec_program with execute_process by @WardF in #2784
- Fix Proxy problem for DAP2 by @DennisHeimbigner in #2764
- Remove stray character in cmake lfs tests for nczarr. by @WardF in #2786
- Renamed mmap variable, which conflicts with mmap() function on FreeBSD by @seanm in #2790
- Make ncZarr-specific deps and options dependent on ncZarr being enabled. by @WardF in #2793
- Fix most float conversion warnings by @ZedThree in #2782
- Fixed various UBSan warnings about invalid bit shifting by @seanm in #2787
- disable test that depends on ncpathcvt in cmake build w/o utilities by @tbussmann in #2795
- Update internal tinyxml2 code to the latest version by @DennisHeimbigner in #2771
- Remove the execinfo capability by @DennisHeimbigner in #2789
- Fixed various UBSan warnings about working with NULL pointers by @seanm in #2803
- Improve fetch performance of DAP4 by @DennisHeimbigner in #2765
- Fixed misaligned memory access flagged by UBSan by @seanm in #2800
- Tweaking PR to work with Visual Studio by @WardF in #2788
- CMake: Use helper libraries for nczarr tests by @ZedThree in #2783
- Fixed various UBSan warnings about working with NULL pointers by @seanm in #2802
- Fix some important bugs in various files by @DennisHeimbigner in #2813
- Removed a use of sprintf that required changing a function signature by @seanm in #2743
- sprintf -> snprintf by @seanm in #2691
- chore: unset executable flag by @e-kwsm in #2745
- Fix nc-config generated by cmake. by @WardF in #2825
- Do not compile test program unless required by @magnusuMET in #2761
- CMake: Add improvements to MPI support by @johnwparent in #2595
- Catching up on PRs by @WardF in #2826
- Minor fix to doxygen documentation by @gsjaardema in #2450
- Enable compilation with C89 compiler by @gsjaardema in #2379
- count argument in H5Sselect_hyperslab by @wkliao in #2296
- Changed link to netCDF-Fortran documentation. by @WardF in #2830
- Avoid segfault if opening file failed by @rouault in https://github.com/Unidata/netcdf-c/pull...
v4.9.2
4.9.2 - March 14, 2023
This is a maintenance release which adds support for HDF5 version 1.14.0, in addition to a handful of other changes and bug fixes.
- [Enhancement] Update H5FDhttp.[ch] to work with HDF5 version 1.14.0. See Github #2615.
- Update
nc-config
to remove inclusion from automatically-detectednf-config
andncxx-config
files, as the wrong files could be included in the output. This is in support of GitHub #2274. - Update H5FDhttp.[ch] to work with HDF5 version 1.13.2 and later. See Github #2635.
- [Bug Fix] Update DAP code to enable CURLOPT_ACCEPT_ENCODING by default. See Github #2630.
- [Bug Fix] Fix byterange failures for certain URLs. See Github #2649.
- [Bug Fix] Fix 'make distcheck' error in run_interop.sh. See Github #2631.
- [Enhancement] Update
nc-config
to remove inclusion from automatically-detectednf-config
andncxx-config
files, as the wrong files could be included in the output. This is in support of GitHub #2274.
Automatically Generated Changes
What's Changed
- Incorporate fix for errno check when fd < 0 by @WardF in #2610
- Modify H5FDhttp.c to work with HDF5 1.14.0 by @DennisHeimbigner in #2615
- Update nc-config by @WardF in #2619
- Unit Testing, Performance Testing infrastructure options. by @WardF in #2628
- Fix a distcheck failure with nczarr_test/run_interop.sh by @DennisHeimbigner in #2631
- A small, but meaningful start, to addressing undefined behavior by @WardF in #2633
- Avoid optionaly depends on zip for NCZarr by @mwestphal in #2592
- Fix dest for non-m4 path by @magnusuMET in #2623
- Cleaning up a few stray issues by @WardF in #2641
- Fix macro usage by @skosukhin in #2618
- Missing
goto fail
by @gsjaardema in #2607 - Fix byterange handling of some URLS by @DennisHeimbigner in #2649
- Enable ACCEPT_ENCODING on DAP requests by @DennisHeimbigner in #2630
- Extend the dispatch table for H5FD back to version 1.13.2 by @DennisHeimbigner in #2635
- Add hdf5 1.14.0 to GitHub CI. by @WardF in #2661
New Contributors
- @mwestphal made their first contribution in #2592
Full Changelog: v4.9.1...v4.9.2
netCDF-C 4.9.1
Known Issues
- A test in the
main
branch ofnetcdf-cxx4
is broken by this rc; this will bear further investigation, but not being treated as a roadblock for the release candidate. - The new document,
netcdf-c/docs/filter_quickstart.md
is in rough-draft form. - Race conditions exist in some of the tests when run concurrently with large numbers of processors
What's Changed from v4.9.0
(automatically generated)
- Fix nc_def_var_fletcher32 operation by @DennisHeimbigner in #2403
- Merge relevant info updates back into
main
by @WardF in #2387 - Add manual GitHub actions triggers for the tests. by @WardF in #2404
- Use env variable USERPROFILE instead of HOME for windows and mingw. by @DennisHeimbigner in #2405
- Make public a limited API for programmatic access to internal .rc tables by @DennisHeimbigner in #2408
- Fix typo in CMakeLists.txt by @georgthegreat in #2412
- Fix choice of HOME dir by @DennisHeimbigner in #2416
- Check for libxml2 development files by @WardF in #2417
- Updating Doxyfile.in with doxygen-1.8.17, turned on WARN_AS_ERROR, added doxygen build to CI run by @edwardhartnett in #2377
- updated release notes by @edwardhartnett in #2392
- increase read block size from 1 KB to 4 MB by @wkliao in #2319
- fixed RELEASE_NOTES.md by @edwardhartnett in #2423
- Fix pnetcdf tests in cmake by @WardF in #2437
- Updated CMakeLists to avoid corner case cmake error by @WardF in #2438
- Add
--disable-quantize
to configure by @WardF in #2439 - Fix the way CMake handles -DPLUGIN_INSTALL_DIR by @DennisHeimbigner in #2430
- fix and test quantize mode for NC_CLASSIC_MODEL by @edwardhartnett in #2445
- Guard _declspec(dllexport) in support of #2446 by @WardF in #2460
- Ensure that netcdf_json.h does not interfere with ncjson. by @DennisHeimbigner in #2448
- Prevent cmake writing to source dir by @magnusuMET in #2463
- more quantize testing and adding pre-processor constant NC_MAX_FILENAME to nc_tests.h by @edwardhartnett in #2457
- Provide a default enum const when fill value does not match any enum constant by @DennisHeimbigner in #2462
- Fix support for reading arrays of HDF5 fixed size strings by @DennisHeimbigner in #2466
- fix musl build by @magnusuMET in #1701
- Fix AWS SDK linking errors by @dzenanz in #2470
- Address jump-misses-init issue. by @WardF in #2488
- Remove stray merge conflict markers by @WardF in #2493
- Add support for Zarr string type to NCZarr by @DennisHeimbigner in #2492
- Fix some problems with PR 2492 by @DennisHeimbigner in #2497
- Fix some bugs in the blosc filter wrapper by @DennisHeimbigner in #2461
- Add option to control accessing external servers by @DennisHeimbigner in #2491
- Changed attribute case in documentation by @WardF in #2482
- Adding all-error-codes.md back in to distribution documentation. by @WardF in #2501
- Update hdf5 version in github actions. by @WardF in #2504
- Minor update to doxygen function documentation by @gsjaardema in #2451
- Fix some addtional errors in NCZarr by @DennisHeimbigner in #2503
- Cleanup szip handling some more by @DennisHeimbigner in #2421
- Check for zstd development headers in autotools by @WardF in #2507
- Add new options to nc-config by @WardF in #2509
- Cleanup built test sources in nczarr_test by @DennisHeimbigner in #2508
- Fix inconsistency in netcdf_meta.h by @WardF in #2512
- Small fix in nc-config.in by @WardF in #2513
- For loop initial declarations are only allowed in C99 mode by @gsjaardema in #2517
- Fix some dependencies in tst_nccopy3 by @WardF in #2518
- Update plugins/Makefile.am by @WardF in #2519
- Fix prereqs in ncdump/tst_nccopy4 in order to avoid race conditions. by @WardF in #2520
- Move construction of VERSION file to end of the build by @DennisHeimbigner in #2527
- Add draft filter quickstart guide by @WardF in #2531
- Turn off extraneous debug output by @DennisHeimbigner in #2537
- typo fix by @wkliao in #2538
- replace 4194304 with READ_BLOCK_SIZE by @wkliao in #2539
- Rename variable to avoid function name conflict by @ibaned in #2550
- Add Cygwin CI and stop installing unwanted plugins by @DWesl in #2529
- Merge subset of v4.9.1 files back into main development branch by @WardF in #2530
- Add a Filter quickstart guide document by @WardF in #2524
- Fix race condition in ncdump (and other) tests. by @DennisHeimbigner in #2552
- Make dap4 reference dap instead of hard-wired to be disabled. by @WardF in #2553
- Suppress nczarr_test/tst_unknown filter test by @DennisHeimbigner in #2557
- Add fenceposting for HAVE_DECL_ISINF and HAVE_DECL_ISNAN by @WardF in #2559
- Add an old static file. by @WardF in #2575
- Fix infinite loop in file inferencing by @DennisHeimbigner in #2574
- Merge Wellspring back into development branch by @WardF in #2560
- Allow ncdump -t to handle variable length string attributes by @srherbener in #2584
- Fix an issue I introduced with make distcheck by @WardF in #2590
- make UDF0 not require NC_NETCDF4 by @jedwards4b in #2586
- Expose user-facing documentation related to byterange DAP functionality. by @WardF in #2596
- Fix Memory Leak by @DennisHeimbigner in #2598
- CI: Change autotools CI build to out-of-tree build. by @DWesl in #2577
- Update github action configuration scripts. by @WardF in #2600
- Update the filter quickstart guide. by @WardF in #2602
- Fix symbol export on Windows by @WardF in #2604
New Contributors
- @georgthegreat made their first contribution in #2412
- @dzenanz made their first contribution in #2470
- @DWesl made their first contribution in #2529
- @srherbener made their first contribution in #2584
- @jedwards4b made their first contribution in #2586
Full Changelog: v4.9.0...v4.9.1
netCDF-C 4.9.1 - Release Candidate 2
Known Issues
- A test in the
main
branch ofnetcdf-cxx4
is broken by this rc; this will bear further investigation, but not being treated as a roadblock for the release candidate. - The new document,
netcdf-c/docs/filter_quickstart.md
is in rough-draft form. - Race conditions exist in some of the tests when run concurrently.
Changes
- Fixed issue with
libnetcdf-feedstock
at Conda-Forge.
Other Changes (automatically generated)
- Turn off extraneous debug output by @DennisHeimbigner in #2537
- typo fix by @wkliao in #2538
- replace 4194304 with READ_BLOCK_SIZE by @wkliao in #2539
- Rename variable to avoid function name conflict by @ibaned in #2550
- Add Cygwin CI and stop installing unwanted plugins by @DWesl in #2529
- Merge subset of v4.9.1 files back into main development branch by @WardF in #2530
- Fix race condition in ncdump (and other) tests. by @DennisHeimbigner in #2552
- Make dap4 reference dap instead of hard-wired to be disabled. by @WardF in #2553
- Suppress nczarr_test/tst_unknown filter test by @DennisHeimbigner in #2557
- Add fenceposting for HAVE_DECL_ISINF and HAVE_DECL_ISNAN by @WardF in #2559
New Contributors
Full Changelog: v4.9.1-rc1...v4.9.1-rc2
v4.9.1-rc1
v4.9.1-rc1
This is the first release candidate for netCDF-C v4.9.1
. This is primarily a maintenance release.
Known Issues
- A test in the
main
branch ofnetcdf-cxx4
is broken by this rc; this will bear further investigation, but not being treated as a roadblock for the release candidate. - The new document,
netcdf-c/docs/filter_quickstart.md
is in rough-draft form.
Notable Changes (Manually Recorded)
- [Enhancement][Documentation] Add Plugins Quick Start Guide. See GitHub #2524 for more information.
- [Enhancement] Add new entries in
netcdf_meta.h
,NC_HAS_BLOSC
andNC_HAS_BZ2
. See Github #2511 and Github #2512 for more information. - [Enhancement] Add new options to
nc-config
:--has-multifilters
,--has-stdfilters
,--has-quantize
,--plugindir
. See Github #2509 for more information. - [Bug Fix] Fix some errors detected in PR 2497. PR #2497 . See Github #2503.
- [Bug Fix] Split the remote tests into two parts: one for the remotetest server and one for all other external servers. Also add a configure option to enable the latter set. See Github #2491.
- [Bug Fix] Fix blosc plugin errors. See Github #2461.
- [Bug Fix] Fix support for reading arrays of HDF5 fixed size strings. See Github #2466.
- [Bug Fix] Fix some errors detected in PR #2492 . See Github #2497.
- [Enhancement] Add support for Zarr (fixed length) string type in nczarr. See Github #2492.
- [Bug Fix] Split the remote tests into two parts: one for the remotetest server and one for all other external servers. Also add a configure option to enable the latter set. See Github #2491.
- [Bug Fix] Fix support for reading arrays of HDF5 fixed size strings. See Github #2462.
- [Bug Fix] Provide a default enum const when fill value does not match any enum constant for the value zero. See Github #2462.
- [Bug Fix] Fix the json submodule symbol conflicts between libnetcdf and the plugin specific netcdf_json.h. See Github #2448.
- [Bug Fix] Fix quantize with CLASSIC_MODEL files. See Github #2405.
- [Enhancement] Add
--disable-quantize
option toconfigure
. - [Bug Fix] Fix CMakeLists.txt to handle all acceptable boolean values for -DPLUGIN_INSTALL_DIR. See Github #2430.
- [Bug Fix] Fix tst_vars3.c to use the proper szip flag. See Github #2421.
- [Enhancement] Provide a simple API to allow user access to the internal .rc file table: supports get/set/overwrite of entries of the form "key=value". See Github #2408.
- [Bug Fix] Use env variable USERPROFILE instead of HOME for windows and mingw. See Github #2405.
- [Bug Fix] Fix the nc_def_var_fletcher32 code in hdf5 to properly test value of the fletcher32 argument. See Github #2403.
Changes since v4.9.0 (Automatically Generated by GitHub)
- Fix nc_def_var_fletcher32 operation by @DennisHeimbigner in #2403
- Merge relevant info updates back into
main
by @WardF in #2387 - Add manual GitHub actions triggers for the tests. by @WardF in #2404
- Use env variable USERPROFILE instead of HOME for windows and mingw. by @DennisHeimbigner in #2405
- Make public a limited API for programmatic access to internal .rc tables by @DennisHeimbigner in #2408
- Fix typo in CMakeLists.txt by @georgthegreat in #2412
- Fix choice of HOME dir by @DennisHeimbigner in #2416
- Check for libxml2 development files by @WardF in #2417
- Updating Doxyfile.in with doxygen-1.8.17, turned on WARN_AS_ERROR, added doxygen build to CI run by @edwardhartnett in #2377
- updated release notes by @edwardhartnett in #2392
- increase read block size from 1 KB to 4 MB by @wkliao in #2319
- fixed RELEASE_NOTES.md by @edwardhartnett in #2423
- Fix pnetcdf tests in cmake by @WardF in #2437
- Updated CMakeLists to avoid corner case cmake error by @WardF in #2438
- Add
--disable-quantize
to configure by @WardF in #2439 - Fix the way CMake handles -DPLUGIN_INSTALL_DIR by @DennisHeimbigner in #2430
- fix and test quantize mode for NC_CLASSIC_MODEL by @edwardhartnett in #2445
- Guard _declspec(dllexport) in support of #2446 by @WardF in #2460
- Ensure that netcdf_json.h does not interfere with ncjson. by @DennisHeimbigner in #2448
- Prevent cmake writing to source dir by @magnusuMET in #2463
- more quantize testing and adding pre-processor constant NC_MAX_FILENAME to nc_tests.h by @edwardhartnett in #2457
- Provide a default enum const when fill value does not match any enum constant by @DennisHeimbigner in #2462
- Fix support for reading arrays of HDF5 fixed size strings by @DennisHeimbigner in #2466
- fix musl build by @magnusuMET in #1701
- Fix AWS SDK linking errors by @dzenanz in #2470
- Address jump-misses-init issue. by @WardF in #2488
- Remove stray merge conflict markers by @WardF in #2493
- Add support for Zarr string type to NCZarr by @DennisHeimbigner in #2492
- Fix some problems with PR 2492 by @DennisHeimbigner in #2497
- Fix some bugs in the blosc filter wrapper by @DennisHeimbigner in #2461
- Add option to control accessing external servers by @DennisHeimbigner in #2491
- Changed attribute case in documentation by @WardF in #2482
- Adding all-error-codes.md back in to distribution documentation. by @WardF in #2501
- Update hdf5 version in github actions. by @WardF in #2504
- Minor update to doxygen function documentation by @gsjaardema in #2451
- Fix some addtional errors in NCZarr by @DennisHeimbigner in #2503
- Cleanup szip handling some more by @DennisHeimbigner in #2421
- Check for zstd development headers in autotools by @WardF in #2507
- Add new options to nc-config by @WardF in #2509
- Cleanup built test sources in nczarr_test by @DennisHeimbigner in #2508
- Fix inconsistency in netcdf_meta.h by @WardF in #2512
- Small fix in nc-config.in by @WardF in #2513
- For loop initial declarations are only allowed in C99 mode by @gsjaardema in #2517
- Fix some dependencies in tst_nccopy3 by @WardF in #2518
- Update plugins/Makefile.am by @WardF in #2519
- Fix prereqs in ncdump/tst_nccopy4 in order to avoid race conditions. by @WardF in #2520
- Move construction of VERSION file to end of the build by @DennisHeimbigner in #2527
- Add draft filter quickstart guide by @WardF in #2531
New Contributors
- @georgthegreat made their first contribution in #2412
- @dzenanz made their first contribution in #2470
Full Changelog: v4.9.0...v4.9.1-rc1
netCDF-C v4.9.0
NOTE: CMAKE-BASED BUILDS see #2390 to get the correct library version. For now, you will need to either remove a stray
}
at line 39 inCMakeLists.txt
, or you will need to use theconfigure
script instead of cmake. Our sincere apologies!
Release Notes
This file contains a high-level description of this package's evolution. Releases are in reverse chronological order (most recent first). Note that, as of netcdf 4.2, the netcdf-c++
and netcdf-fortran
libraries have been separated into their own libraries.
4.9.0 - June 10, 2022
- [Enhancement] Improve filter installation process to avoid use of an extra shell script. See Github #2348.
- [Bug Fix] Get "make distcheck" to work See Github #/2343.
- [Enhancement] Allow the read/write of JSON-valued Zarr attributes to allow
for domain specific info such as used by GDAL/Zarr. See Github #2278. - [Enhancement] Turn on the XArray convention for NCZarr files by default. WARNING, this means that the mode should explicitly specify nczarr" or "zarr" even if "xarray" or "noxarray" is specified. See Github #2257.
- [Enhancement] Update the documentation to match the current filter capabilities See Github #2249.
- [Enhancement] Support installation of pre-built standard filters into user-specified location. See Github #2318.
- [Enhancement] Improve filter support. More specifically (1) add nc_inq_filter_avail to check if a filter is available, (2) add the notion of standard filters, (3) cleanup szip support to fix interaction with NCZarr. See Github #2245.
- [Enhancement] Switch to tinyxml2 as the default xml parser implementation. See Github #2170.
- [Bug Fix] Require that the type of the variable in nc_def_var_filter is not variable length. See Github #/2231.
- [File Change] Apply HDF5 v1.8 format compatibility when writing to previous files, as well as when creating new files. The superblock version remains at 2 for newly created files. Full backward read/write compatibility for netCDF-4 is maintained in all cases. See Github #2176.
- [Enhancement] Add ability to set dataset alignment for netcdf-4/HDF5 files. See Github #2206.
- [Bug Fix] Improve UTF8 support on windows so that it can use utf8 natively. See Github #2222.
- [Enhancement] Add complete bitgroom support to NCZarr. See Github #2197.
- [Bug Fix] Clean up the handling of deeply nested VLEN types. Marks nc_free_vlen() and nc_free_string as deprecated in favor of ncaux_reclaim_data(). See Github #2179.
- [Bug Fix] Make sure that netcdf.h accurately defines the flags in the open/create mode flags. See Github #2183.
- [Enhancement] Improve support for msys2+mingw platform. See Github #2171.
- [Bug Fix] Clean up the various inter-test dependencies in ncdump for CMake. See Github #2168.
- [Bug Fix] Fix use of non-aws appliances. See Github #2152.
- [Enhancement] Added options to suppress the new behavior from Github #2135. The options for
cmake
andconfigure
are, respectively-DENABLE_LIBXML2
and--(enable/disable)-libxml2
. Both of these options defaul to 'on/enabled'. When disabled, the bundledezxml
XML interpreter is used regardless of whetherlibxml2
is present on the system. - [Enhancement] Support optional use of libxml2, otherwise default to ezxml. See Github #2135 -- H/T to Egbert Eich.
- [Bug Fix] Fix several os related errors. See Github #2138.
- [Enhancement] Support byte-range reading of netcdf-3 files stored in private buckets in S3. See Github #2134
- [Enhancement] Support Amazon S3 access for NCZarr. Also support use of the existing Amazon SDK credentials system. See Github #2114
- [Bug Fix] Fix string allocation error in H5FDhttp.c. See Github #2127.
- [Bug Fix] Apply patches for ezxml and for selected oss-fuzz detected errors. See Github #2125.
- [Bug Fix] Ensure that internal Fortran APIs are always defined. See Github #2098.
- [Enhancement] Support filters for NCZarr. See Github #2101
- [Bug Fix] Make PR 2075 long file name be idempotent. See Github #2094.
What's Changed
- added 1.12.1 to hdf5 versions built by GitHub actions by @edwardhartnett in #2082
- cmake: extract the HDF5 version when finding HDF5 manually by @mathstuf in #2076
- v4.8.1 Wellspring changes to merge back upstream by @WardF in #2075
- Update Doxygen documentation by @WardF in #2092
- Make Issue #2077 work when build is repeated. by @DennisHeimbigner in #2094
- 2091 + Github Action to test by @WardF in #2093
- Adding missing file ncdap_test/manyurls.h by @DennisHeimbigner in #2091
- added info about logging to build summary, fixed info about byterange in build summary by @edwardhartnett in #2087
- Revamping the HDF5_VERSION logic. by @WardF in #2095
- Add filter support to NCZarr by @DennisHeimbigner in #2101
- Make the fortran cache API always be defined. by @DennisHeimbigner in #2098
- Remove netcdf-c/debug directory as no longer needed. by @DennisHeimbigner in #2099
- Make sure HDF5_C_LIBRARY and HDF5_HL_LIBRARY set by @gsjaardema in #2116
- Adding nc_def_var_quantize()/nc_inq_var_quantize() - second attempt by @edwardhartnett in #2088
- Fix handling of enum constants nested in compound types. by @DennisHeimbigner in #2109
- Fix a stack-read-overflow in ncindexlookup() by @rouault in #2113
- Patch errors by @DennisHeimbigner in #2125
- Attribute creation order on/off by @gsjaardema in #2056
- Avoid infinite loop for finding large prime values by @gsjaardema in #2126
- Fix bug in the default HDF5 byte-range reader by @DennisHeimbigner in #2127
- Remove duplicate line by @gsjaardema in #2131
- Significantly Improve Amazon S3 Cloud Storage Support by @DennisHeimbigner in #2114
- Fix additional S3 support issues by @DennisHeimbigner in #2134
- Typo in previous PR by @DennisHeimbigner in #2137
- Fix a number of OS specific bugs by @DennisHeimbigner in #2138
- libxml2 capability by @WardF in #2139
- Allow optional use of libxml2 by @DennisHeimbigner in #2135
- Refactor Z library detection by @gsjaardema in #2121
- Temporarily disable dap remote tests by @DennisHeimbigner in #2163
- Disable by default dap-remote-tests for CMake by @DennisHeimbigner in #2164
- Restore default enable for enable-dap-remote-testsc by @DennisHeimbigner in #2167
- Cleanup the CMake inter-test dependencies by @DennisHeimbigner in #2168
- tst_misc.sh: Fix hang in make check by @Dave-Allured in #2172
- Support MSYS2/Mingw platform by @DennisHeimbigner in #2171
- Make sure mode flags are properly defined in netcdf.h by @DennisHeimbigner in #2183
- Avoid redefinition of strcasecmp under mingw-w64 by @mjwoods in #2106
- Fix various problem around VLEN's by @DennisHeimbigner in #2179
- Granular BitGroom feature for netcdf-c by @czender in #2130
- Fix a few memory leaks and erroneous logic in nczarr_test/testfilter_misc by @hmaarrfk in #2180
- Now setting deflate_level of 0 is interpreted to mean no deflate. by @edwardhartnett in https://github.com/U...
netCDF-C v4.8.1
4.8.1 - August 18, 2021
- [Bug Fix] Fix multiple bugs in libnczarr. See Github #2066.
- [Enhancement] Support windows network paths (e.g. \svc...). See Github #2065.
- [Enhancement] Convert to a new representation of the NCZarr meta-data extensions: version 2. Read-only backward compatibility is provided. See Github #2032.
- [Bug Fix] Fix dimension_separator bug in libnczarr. See Github #2035.
- [Bug Fix] Fix bugs in libdap4. See Github #2005.
- [Bug Fix] Store NCZarr fillvalue as a singleton instead of a 1-element array. See Github #2017.
- [Bug Fixes] The netcdf-c library was incorrectly determining the scope of dimension; similar to the type scope problem. See Github #2012 for more information.
- [Bug Fix] Re-enable DAP2 authorization testing. See Github #2011.
- [Bug Fix] Fix bug with windows version of mkstemp that causes failure to create more than 26 temp files. See Github #1998.
- [Bug Fix] Fix ncdump bug when printing VLENs with basetype char. See Github #1986.
- [Bug Fixes] The netcdf-c library was incorrectly determining the scope of types referred to by nc_inq_type_equal. See Github #1959 for more information.
- [Bug Fix] Fix bug in use of XGetopt when building under Mingw. See Github #2009.
- [Enhancement] Improve the error reporting when attempting to use a filter for which no implementation can be found in HDF5_PLUGIN_PATH. See Github #2000 for more information.
- [Bug Fix] Fix
make distcheck
issue innczarr_test/
directory. See Github #2007. - [Bug Fix] Fix bug in NCclosedir in dpathmgr.c. See Github #2003.
- [Bug Fix] Fix bug in ncdump that assumes that there is a relationship between the total number of dimensions and the max dimension id. See Github #2004.
- [Bug Fix] Fix bug in JSON processing of strings with embedded quotes. See Github #1993.
- [Enhancement] Add support for the new "dimension_separator" enhancement to Zarr v2. See Github #1990 for more information.
- [Bug Fix] Fix hack for handling failure of shell programs to properly handle escape characters. See Github #1989.
- [Bug Fix] Allow some primitive type names to be used as identifiers depending on the file format. See Github #1984.
- [Enhancement] Add support for reading/writing pure Zarr storage format that supports the XArray _ARRAY_DIMENSIONS attribute. See Github #1952 for more information.
- [Update] Updated version of bzip2 used in filter testing/functionality, in support of Github #1969.
- [Bug Fix] Corrected HDF5 version detection logic as described in Github #1962.
netCDF-C 4.8.0
v4.7.4 to v4.8.0 ABI and ABI Compatibility Report
Generated with the following command, using docker
:
$ docker run --rm -it -e OLDVER=v4.7.4 -e NEWVER=v4.8.0 -v $(pwd):/output unidata/ncabi
4.8.0 - March 30, 2021
- [Enhancement] Bump the NC_DISPATCH_VERSION from 2 to 3, and as a side effect, unify the definition of NC_DISPATCH_VERSION so it only needs to be defined in CMakeLists.txt and configure.ac. See Github #1945 for more information.
- [Enhancement] Provide better cross platform path name management. This converts paths for various platforms (e.g. Windows, MSYS, etc.) so that they are in the proper format for the executing platform. See Github #1958 for more information.
- [Bug Fixes] The nccopy program was treating -d0 as turning deflation on rather than interpreting it as "turn off deflation". See Github #1944 for more information.
- [Enhancement] Add support for storing NCZarr data in zip files. See Github #1942 for more information.
- [Bug Fixes] Make fillmismatch the default for DAP2 and DAP4; too many servers ignore this requirement.
- [Bug Fixes] Fix some memory leaks in NCZarr, fix a bug with long strides in NCZarr. See Github #1913 for more information.
- [Enhancement] Add some optimizations to NCZarr, dosome cleanup of code cruft, add some NCZarr test cases, add a performance test to NCZarr. See Github #1908 for more information.
- [Bug Fix] Implement a better chunk cache system for NCZarr. The cache now uses extendible hashing plus a linked list for provide a combination of expandibility, fast access, and LRU behavior. See Github #1887 for more information.
- [Enhancement] Provide .rc fields for S3 authentication: HTTP.S3.ACCESSID and HTTP.S3.SECRETKEY.
- [Enhancement] Give the client control over what parts of a DAP2 URL are URL encoded (i.e. %xx). This is to support the different decoding rules that servers apply to incoming URLS. See Github #1884 for more information.
- [Bug Fix] Fix incorrect time offsets from
ncdump -t
, in some cases when the timeunits
attribute contains both a non-zero time-of-day, and a time zone suffix containing the letter "T", such as "UTC". See Github #1866 for more information. - [Bug Fix] Cleanup the NCZarr S3 build options. See Github #1869 for more information.
- [Bug Fix] Support aligned access for selected ARM processors. See Github #1871 for more information.
- [Documentation] Migrated the documents in the NUG/ directory to the dedicated NUG repository found at https://github.com/Unidata/netcdf
- [Bug Fix] Revert the internal filter code to simplify it. From the user's point of view, the only visible change should be that (1) the functions that convert text to filter specs have had their signature reverted and renamed and have been moved to netcdf_aux.h, and (2) Some filter API functions now return NC_ENOFILTER when inquiry is made about some filter. Internally, the dispatch table has been modified to get rid of the complex structures.
- [Bug Fix] If the HDF5 byte-range Virtual File Driver is available )HDf5 1.10.6 or later) then use it because it has better performance than the one currently built into the netcdf library.
- [Bug Fix] Fixed byte-range support with cURL > 7.69. See [https://github.com//pull/1798].
- [Enhancement] Added new test for using compression with parallel I/O: nc_test4/tst_h_par_compress.c. See [https://github.com//pull/1784].
- [Bug Fix] Don't return error for extra calls to nc_redef() for netCDF/HDF5 files, unless classic model is in use. See [https://github.com//issues/1779].
- [Enhancement] Added new parallel I/O benchmark program to mimic NOAA UFS data writes, built when --enable-benchmarks is in configure. See [https://github.com//pull/1777].
- [Bug Fix] Now allow szip to be used on variables with unlimited dimension [https://github.com//issues/1774].
- [Enhancement] Add support for cloud storage using a variant of the Zarr storage format. Warning: this feature is highly experimental and is subject to rapid evolution [https://www.unidata.ucar.edu/blogs/developer/en/entry/overview-of-zarr-support-in].
- [Bug Fix] Fix nccopy to properly set default chunking parameters when not otherwise specified. This can significantly improve performance in selected cases. Note that if seeing slow performance with nccopy, then, as a work-around, specifically set the chunking parameters. [https://github.com//issues/1763].
- [Bug Fix] Fix some protocol bugs/differences between the netcdf-c library and the OPeNDAP Hyrax server. Also cleanup checksum handling [https://github.com//issues/1712].* [Bug Fix] IMPORTANT: Ncgen was not properly handling large
data sections. The problem manifests as incorrect ordering of
data in the created file. Aside from examining the file with
ncdump, the error can be detected by running ncgen with the -lc
flag (to produce a C file). Examine the file to see if any
variable is written in pieces as opposed to a single call to
nc_put_vara. If multiple calls to nc_put_vara are used to write
a variable, then it is probable that the data order is
incorrect. Such multiple writes can occur for large variables
and especially when one of the dimensions is unlimited. - [Bug Fix] Add necessary __declspec declarations to allow compilation
of netcdf library without causing errors or (_declspec related)
warnings [https://github.com//issues/1725]. - [Enhancement] When a filter is applied twice with different
parameters, then the second set is used for writing the dataset
[https://github.com//issues/1713]. - [Bug Fix] Now larger cache settings are used for sequential HDF5 file creates/opens on parallel I/O capable builds; see Github #1716 for more information.
- [Bug Fix] Add functions to libdispatch/dnotnc4.c to support
dispatch table operations that should work for any dispatch
table, even if they do not do anything; functions such as
nc_inq_var_filter [https://github.com//issues/1693]. - [Bug Fix] Fixed a scalar annotation error when scalar == 0; see Github #1707 for more information.
- [Bug Fix] Use proper CURLOPT values for VERIFYHOST and VERIFYPEER; the semantics for VERIFYHOST in particular changed. Documented in NUG/DAP2.md. See [https://github.com//issues/1684].
- [Bug Fix][cmake] Correct an issue with parallel filter test logic in CMake-based builds.
- [Bug Fix] Now allow nc_inq_var_deflate()/nc_inq_var_szip() to be called for all formats, not just HDF5. Non-HDF5 files return NC_NOERR and report no compression in use. This reverts behavior that was changed in the 4.7.4 release. See [https://github.com//issues/1691].
- [Bug Fix] Compiling on a big-endian machine exposes some missing forward delcarations in dfilter.c.
netCDF-C 4.7.4
- [Windows] Bumped packaged HDF5 to 1.10.6, HDF4 to 4.2.14, and libcurl to 7.60.0.
- [Enhancement] Support has been added for HDF5-1.12.0. See [https://github.com//issues/1528].
- [Bug Fix] Correct behavior for the command line utilities when directly accessing a directory using utf8 characters. See Github #1669, Github #1668 and Github #1666 for more information.
- [Bug Fix] Attempts to set filters or chunked storage on scalar vars will now return NC_EINVAL. Scalar vars cannot be chunked, and only chunked vars can have filters. Previously the library ignored these attempts, and always storing scalars as contiguous storage. See [https://github.com//issues/1644].
- [Enhancement] Support has been added for multiple filters per variable. See [https://github.com//issues/1584].
- [Enhancement] Now nc_inq_var_szip retuns 0 for parameter values if szip is not in use for var. See [https://github.com//issues/1618].
- [Enhancement] Now allow parallel I/O with filters, for HDF5-1.10.3 and later. See [https://github.com//issues/1473].
- [Enhancement] Increased default size of cache buffer to 16 MB, from 4 MB. Increased number of slots to 4133. See [https://github.com//issues/1541].
- [Enhancement] Allow zlib compression to be used with parallel I/O writes, if HDF5 version is 1.10.3 or greater. See [https://github.com//issues/1580].
- [Enhancement] Restore use of szip compression when writing data (including writing in parallel if HDF5 version is 1.10.3 or greater). See [https://github.com//issues/1546].
- [Enhancement] Enable use of compact storage option for small vars in netCDF/HDF5 files. See [https://github.com//issues/1570].
- [Enhancement] Updated benchmarking program bm_file.c to better handle very large files. See [https://github.com//issues/1555].
- [Enhancement] Added version number to dispatch table, and now check version with nc_def_user_format(). See [https://github.com//issues/1599].
- [Bug Fix] Fixed user setting of MPI launcher for parallel I/O HDF5 test in h5_test. See [https://github.com//issues/1626].
- [Bug Fix] Fixed problem of growing memory when netCDF-4 files were opened and closed. See [https://github.com//issues/1575 and https://github.com//issues/1571].
- [Enhancement] Increased size of maximum allowed name in HDF4 files to NC_MAX_NAME. See [https://github.com//issues/1631].
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.