What's Changed
toolsUI
A special v5.9.1.1 toolsUI only release contains a critical update for the application to address an issue that prevented startup. Please see the v5.9.1.1 release page for toolsUI downloads.
Major bug fix
- Load EnhancementProviders upon VariableDS instantiation by @lesserwhirls in #1478
This bug was introduced during the development of 5.6.1 (may be present in 5.6.1-SNAPSHOTs), and is present in releases v5.7.0 up to v5.9.1. This bug triggers a runtime error in a critical part of the codebase (VariableDS) in multithreaded environments. Here is an example of a stacktrace that is generated when the bug is triggered:
java.util.NoSuchElementException
at java.base/java.lang.CompoundEnumeration.nextElement(ClassLoader.java:2770)
at java.base/java.util.ServiceLoader$LazyClassPathLookupIterator.nextProviderClass(ServiceLoader.java:1213)
at java.base/java.util.ServiceLoader$LazyClassPathLookupIterator.hasNextService(ServiceLoader.java:1228)
at java.base/java.util.ServiceLoader$LazyClassPathLookupIterator.hasNext(ServiceLoader.java:1273)
at java.base/java.util.ServiceLoader$2.hasNext(ServiceLoader.java:1309)
at java.base/java.util.ServiceLoader$3.hasNext(ServiceLoader.java:1393)
at ucar.nc2.dataset.VariableDS.createEnhancements(VariableDS.java:975)
at ucar.nc2.dataset.VariableDS.enhance(VariableDS.java:238)
at ucar.nc2.dataset.NetcdfDataset.enhance(NetcdfDataset.java:532)
at ucar.nc2.dataset.NetcdfDataset.<init>(NetcdfDataset.java:1148)
at ucar.nc2.dataset.NetcdfDataset.openDataset(NetcdfDataset.java:491)
<snip>
Other notable bug fixes:
- Fix netCDF-C loading in RuntimeConfigParser by @lesserwhirls in #1474
- ToolsUI Bug fixes by @lesserwhirls in #1481
- Set variable caching to true for deferred value creation in NcML by @lesserwhirls in #1482
Minimum Java version for netCDF-Java 
Currently, the netCDF-Java project targets version 8 of the JVM. We are looking to get a feel for the minimum version required by the community, as support for Java 8 begins to dwindle for 3rd party dependencies that the project relies upon. Please consider participating in our GitHub poll. Thank you to those who have voted!
Full Changelog: v5.9.0...v5.9.1
