From c26c49ea39801780354195c1e87a2963a4fc2651 Mon Sep 17 00:00:00 2001 From: Miguel Jimenez-Urias Date: Tue, 21 Jul 2026 08:29:04 -0700 Subject: [PATCH 01/30] update build offset number --- travis/travis_libdap_build_offset.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/travis/travis_libdap_build_offset.sh b/travis/travis_libdap_build_offset.sh index 3f00d5e89..d02bbf44f 100644 --- a/travis/travis_libdap_build_offset.sh +++ b/travis/travis_libdap_build_offset.sh @@ -5,4 +5,4 @@ # x.y.z- is zero. jhrg 3/22/21 # -export LIBDAP_TRAVIS_BUILD_OFFSET=1392 +export LIBDAP_TRAVIS_BUILD_OFFSET=1892 From 5ae42259deb0a164d64fa94ac7c09169323b74c0 Mon Sep 17 00:00:00 2001 From: Miguel Jimenez-Urias Date: Tue, 21 Jul 2026 09:15:36 -0700 Subject: [PATCH 02/30] update ChangeLog --- ChangeLog | 915 ++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 915 insertions(+) diff --git a/ChangeLog b/ChangeLog index 8c0ada201..7a396a32d 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,918 @@ +2026-07-21 Miguel Jimenez-Urias + + update build offset number + +2026-07-20 James Gallagher + + #370 coverage cleanup and #365 Document coverage data + generation (PR #371) + * Remove python script that tested coverge data validity + * Added a note to README.md about README.coverage.md + * Added a pre-commit tempate + + Sonar fixes for HTTP -vs- HTTPS and '/tmp' use + +2026-07-18 James Gallagher + + Backed out the use of Sonar build wrapper on make check for now + This will take more work - seemed trivial, but it introduces + more + code to the analysis. Pick this up on a branch. + +2026-07-17 James Gallagher + + Turn off the 'diff script' and add 'build wrapper' to make + check in the scan step + + Diff the gcovr coverage.xml and compile commands JSON built by + Sonar + + Changes for test coverage (#366) + Remove DAPCache3Test from the CMake builds + Sync sonar-project.properties and gcovr.config + Added gcovr version print to .travis.yml + Removed macos 15 build - we don't that OS any more + Move from the buggy (WRT sonarscan) gcovr 4.2 to 8.2 + +2026-07-14 James Gallagher + + I removed the code in tidy-warnings (#361) + +2026-07-07 James Gallagher + + Change DOI badge to new link + Updated DOI badge link in README.md. This DOI points to the + latest version of the software on Zenodo. + +2026-06-04 kyang2014 + + HYRAX-2176, fix the segmentation fault bug when a DAP4 + attribute container doesn't contain attributes and the find menthod is + called. (#359) + +2026-06-01 James Gallagher + + Added mac os 26 to the GHA workflow + + HYRAX-2119 Remove macos-intel from GHA (#358) + * Remove macos-intel from GHA + * Tweak to settings.json for vscode + +2026-05-19 James Gallagher + + Fixes to settings.json + [skip ci] + +2026-05-18 James Gallagher + + Added rulers to vscode C++ + +2026-05-10 James Gallagher + + Merge branch 'master' of https://github.com/OPENDAP/libdap4 + + cleanup + +2026-05-08 kyang2014 + + HYRAX-2149, add the error message when a DAP4 dimension cannot + be fou… (#356) + * HYRAX-2149, add the error message when a DAP4 dimension + cannot be found in a DAP4 expression constraint. Previously a + segmentation fault occurs. Verify with an example and it returns the + expected output. + * clang-format + * more clang-format + +2026-04-21 Nathan Potter + + Revert dmrVersion change "Jhrg/hyrax-1963 dmr version bump + (#320)" (#355) + * Revert "Jhrg/hyrax-1963 dmr version bump (#320)" + This reverts commit e3bf0b3d8c2f0665bd3758c54fdd4a11b802130f. + * Force D4ParserSax2 to always set dmrVersion="1.0" earn + parsing a DMR + +2026-04-20 James Gallagher + Hannah Robertson + + cmake with autotest (#350) + This idea is a different take on using cmake to build libdap4. + The same build process + is in place. I changed how the integration tests are run. + Before, I made them + use ctest and more completely integrated then with the cmake + system. The problem + was that about 1k lines of python were needed and the result + was less useful than + using autotest. I switched to using ctest/cmake for the unit + tests but autotest for the + integration tests. The downside is that developers need both + systems (cmake and + autoconf) on their machines. That seems like a small price to + pay for better tests. + --------- + +2026-04-10 Sam Lloyd + James Gallagher + + HYRAX-1758 seg_read_write_unittests + * seg_read tests, broken + * little baby tests + * 2GB read tests + * 2GB write tests and 4GB tests + * draft-PR fix + * clang psuedo fixes + * more clang psuedo fixes + * more clang psuedo fixes II + * more clang psuedo fixes III + * splitting of the segReadWrite unit tests + --------- + +2026-04-03 James Gallagher + + HYRAX-2087 D4StreamMarshallerTest fix and gh workflow speedup + (#349) + I experimented with a number of ways to reduce CICD times. The + most effective seem to be + using path-ignore and caching of previous builds. These changes + can be transferred to the BES + where build times are quite long. In the course of doing this, + I addressed a warning that made the + CICD build output hard to read and fixed the issue in + HYRAX-2087. + +2026-03-24 James Gallagher + + Added AI doc about repo layout + + Added the prompts I used for the questions about AI + + Merge branch 'master' of https://github.com/OPENDAP/libdap4 + + Added notes about codex in vscode + +2026-03-16 kyang2014 + + Hyrax 1950 (#347) + * HYRAX-2007, add a member and a method to store the ratio of + the array size to the real storage size. Application needs to feed in + the number. This member can apply to both the whole array or the subset. + * HYRAX-1950, make the switch-branch work. + * HYRAX-1950, add a two new fields. One for the direct chunk + IO, one for the optimization to see if compression should be turned on + in the fileout netCDF module. + * HYRAX-1950, use clang-format. + * HYRAX-1950, set the filled chunk flag for the varaible + storage info. + * HYRAX-1950, follow clang-format. + * HYRAX-1950, reduce a sonar cloud code smell + +2026-03-12 James Gallagher + + Improvements to the libdap README documentation (#346) + - Added README.vscode.md + - Normalized NEWS and README.md + - Removed silly text about the DOI - I figured out how to get a + DOI to the latest release. Zenodo actually has one so that the + README does not have to be changed for each release. + +2026-03-10 James Gallagher + + Minor tweak to my vscode stuff + + Add (more) documentation to libdap (#342) + Start of more complete documentation for libdap. + Stage 1 docs from the Doxygen-plan.md and the AGENTS.md file + Ran stage 2, ..., 9 with a separate approval and commit for + each stage + plan. Additional steps I took: + - Documentation build date to main page + - Replaced @defgroup with @name. @defgroup names a 'module' not + a group of related methods. @name is used to group + documentation for + a related group of methods in a class. + + Could this be the last vscode branch? (#344) + Moved versioned vscode files to .vscode/jhrg + + Refactored configure.ac (#345) + Added the DAP 2 spec and a codex-generated deep-dive + Used codex to write and implement a plan to streamline + configure.ac + The plan is in the docs dir as configure-ac-refactor-plan.md + + Fixed minor errors in run_tests_cppunit.h (#340) + Fixed the DBG macros when they hold 2++ statements + +2026-03-09 James Gallagher + + More .vscode support (#343) + tasks.json for vscode needs $prefix's value - used a template + file. + +2026-03-03 James Gallagher + + Merge branch 'master' of https://github.com/OPENDAP/libdap4 + + Added the Doxygen-documentation-plan.md + [skip-ci] + + Added the suggested README for the vscode edits (#339) + Also removed the generated compile_commands.json file from git. + Normalized NEWS and README.md + Added some missing requirements to the README + +2026-03-02 James Gallagher + + I made a settings.json.template si settings.json can be + customized (#338) + I also modified tasks.json and launch.json so they use info in + the + settings.json file, eliminating the need to edit those for + changes + to the hyrax $prefix env var. I added settings.json to + .gitignore + so that one persons $prefix paths don't over write someone + elses. + + HYRAX-1903: Use 'override' where appropriate (#337) + Updated code to use override, dropped + -Wno-inconsistent-missing-override. + Also, fixed self-assignment tests and suppressed warnings + + Add support for the autotools build with vscode. (#336) + * Added a named configuration to .vscode/settings.json + * For debugger support that is more complete, I fixed issues in + launch.json. + I still had to make the dSYM lib by hand, the command to make + the dSYM lib was: + dsymutil .libs/libdap.27.dylib -o .libs/libdap.27.dylib.dSYM + * The four compiler warnings from the flex scanner code are now + suppressed. + * /Users/jhrg --> ~ in PATH settings. This will need more work, + but it's good enough. + +2026-02-24 James Gallagher + Hannah Robertson + + Unit test experiment - these were written by codex (#335) + Added BaseTypeTest.cc. + Fixed my hack to include DAPCache3Test w/o adding it to the + library. + +2026-01-27 James Gallagher + + auto * --> auto in MarshallerTest and marshT + + Resolve conflicts + + Merge branch 'master' of https://github.com/OPENDAP/libdap4 + + Revert "Switched so edits to use 'auto' and not 'auto *' for + pointer types." + This reverts commit aef651e6a4d0b08121f410dc794f6b0ab1545c10. + + Switched so edits to use 'auto' and not 'auto *' for pointer + types. + + Add comment about warning suppression. + + Add comment about warning suppression. + + HYRAX-2000 warnings in tests (#333) + RCReaderTest fixed + More fixes for RCReaderTest + Fixed warnings in MarshallerTest + Suppress warnings for a range of lines in XDRUtil.cc + Added diagnostic_suppression.h to Makefile.am for distcheck + + Added diagnostic_suppression.h to Makefile.am for distcheck + + Reinstate in MarshallerTest + + Reinstate in RCReaderTest + +2026-01-26 James Gallagher + + Reinstate + + Added reference for the warning suppression macro + + Suppress warnings for a range of lines in XDRUtil.cc + + more fixes in MarshallerTest + + more fixes in MarshallerTest + + Fixed warnings in MarshallerTest + + More fixes for RCReaderTest + + RCReaderTest fixed + +2026-01-22 James Gallagher + + Jhrg/hyrax-1963 dmr version bump (#320) + I bumped up the DMR version number to 2.0 from 1.0 + This indicates the change in the serialization algorithm + to match the DAP4 specification. + +2026-01-06 James Gallagher + + make cmake tests tolerable (#329) + Remove integration test .out files for das, dds, ..., tests + Added baseline generation for the das, dds, ..., tests + For the dmr tess, move the test COMMAND to a bash script, + adding a level of + indirection but simplifying debugging. + dmr-test and expr-test now support parallel tests + Added TempFileTest unit test to the cmake build + +2025-12-29 James Gallagher + + I fixed several unit tests that were not being run + +2025-12-22 Nathan Potter + + Adding support for test deployment tracking (#321) + +2025-12-01 James Gallagher + + jhrg/libdap4-305, HYRAX-1948, serialization bug (#306) + The DAP4 specification was/is confusing about the order of + serialization + of datasets that contain Groups. The order is specified, but in + the best + form of a specification, the explanation is spread across two + parts of the + spec. + The variables in the root group are now serialized first, then + variables in + child groups. + Added tests for this bug and a fix for the broken + implementation in libdap. + Tested the fix against the NSIDC OA application, which is the + only NGAP + we are aware of that makes direct use of the DAP4 binary + responses using + client code from Unidata. + +2025-11-25 James Gallagher + + HYRAX-1960: Fix cppunit search by configure (#319) + +2025-11-19 Nathan Potter + + Additional RHEL9 work. (#318) + * Dropped AWS creds from docker invocation when building rocky9 + rpms. + * Added rocky9 stuff to before_deploy and deploy + +2025-11-18 Nathan Potter + + Rhel9 (#317) + * Made a specialized version of the rpm build scripts both + rhel8 and rhel9 + * Added Travis stage for rhel9 rpms + +2025-11-12 James Gallagher + + HYRAX-1911: Fixed the broken shared library version numbers in + the cmake build. (#316) + +2025-11-07 James Gallagher + + HYRAX-1945: Warnings found on the GitHub actions build fixed + (#315) + Warnings found on the GitHub actions build fixed + +2025-11-06 James Gallagher + Hannah Robertson + + HYRAX-1923: cmake presets (#313) + There is a problem with the precommit code and languages like + yaml and json. + Also, the preset-based build failed a test (ErrorTest) + +2025-11-05 kyang2014 + + Hyrax 1709 (#310) + * HYRAX-1709, make getdap4 prints the full path for variables + under a non-root group. + * HYRAX-1709, make the seqeuence data print the row again. + * HYRAX-1709, make the source code to following clang-format. + * HYRAX-1709, reduce code smells detected by sonar cloud. + * HYRAX-1709, reduce another code smell. + * HYRAX-1709, remove some debugging info. + +2025-10-31 kyang2014 + James Gallagher + + Hyrax 1906 dev final (#312) + * HYRAX-1906, add a debug unit-test + * HYRAX-1906, create a simple program to duplicate the call of + dmr memory cache + * HYRAX-1906-test-deploy add the dmr memory testing code + * include the memory header + * Correct typo in order to build rpm successfully + * Fix to D4EnumDefs parent pointer assignment in + D4Group::m_duplicate + * changing the order of releasing the resource. + * HYRAX-1906, add a check to the parent pointer in the + fully_qualified_names() to make sure it is not null. + * Add another check for nullptr. + * HYRAX-1906, WIP + * HYRAX-1906, Still WIP. Add more debugging info. + * HYRAX-1906, WIP update the DAP4 dimensons after copying the + objects. + * HYRAX-1906, turn off some debugging information. + * HYRAX-1906, trigger another hyrax trivis test + * HYRAX-1906, add three more complex units as well as the + corresponding xml files to test the copy constructor of DMR that + contains the groups and the dimensions. + * HYRAX-1906, more clean up + * HYRAX-1906, clean up and make the code follow clang-format. + * HYRAX-1906, another file to follow the clang-format + * HYRAX-1905, reduce code smells and update method names, + comments. + * HYRAX-1906, update a method name. + --------- + +2025-10-28 James Gallagher + + Merge remote-tracking branch 'origin/master' + + Removed encrypted information + +2025-10-27 Nathan Potter + + It's TravisCI Time + +2025-10-21 James Gallagher + + HYRAX-1909: Changed #include of libxml/parserInternals.h to + libxml/SAX2.h (#311) + Add #include to ErrorTest for strerror on Ubuntu + +2025-10-03 Sam Lloyd + + Sbl hyrax 1351 meyers libdap singletons (#309) + * singleton fixes first pass, broken unit-tests + * singletons changes, travis test run + * removed comments and '#if 0' blocks [skip ci] + * review changes + +2025-08-08 James Gallagher + + Repaired the BUILD_DEVELOPER and USE_ASAN options + These were set in the sub-CmakeLists files - not needed - + and there was a name mix up. + +2025-08-07 James Gallagher + + HYRAX-1857 Removed TestCommon.cc from the cmake build (#303) + It was already gone from the autotools build + + Jhrg/hyrax 1856 dmr dap2 (#302) + Fixed result file writing for cmake builds, baselines for + ...nc.das + Fixed issues '\' representation. + Fixed DmrRoundTripTest's write-result-on-debug feature: + This needed a change to work with the cmake build since + it was writing to a directory that does not exist with + that build. + +2025-08-05 James Gallagher + + Jhrg/hyrax 1855 warnings (#301) + Edits to remove warnings about missing 'override' + Fixed the annoying chunk[] warning in D4Connect.cc + Added my python code to hack warnings. + Removed redundant 'virtual' on 'override' declarations. + +2025-08-05 ndp-opendap + + hail-mary + +2025-08-05 Nathan Potter + + Optional checksums redux (#299) + * Making it so that optional checksums also means optional + computation of said checksums + +2025-08-04 James Gallagher + Slav Korolev + ndp-opendap + + Jhrg/hyrax 1854 dmr2dds branches (#300) + HK-450. Made show shared dimensions condition. + The test (DmrRoundTripTest) now passes. + Fixed memory leak in DmrRoundtripTest + Removed #if 0 stuff. + --------- + +2025-07-31 James Gallagher + ndp-opendap + + Jhrg/hyrax 1849 http test checksums (#298) + HTTPThreadConnectTest fixed for 'empty end chunk' behavior + See HYRAX-1849 + +2025-07-30 James Gallagher + + Fixed the mysterious disappearing config.log with make clean + (#297) + Also fixed a bug in the HTTPThreadConnectTestb + +2025-07-21 James Gallagher + + Jhrg/HYRAX-1847-DMR-tests-to-numbers (#294) + * All the DMR tests use numbers - the odd names are gone. + * More cleaned up the string quoting.;Wrapping strings + in "" is often not needed in cmake. I removed more, but + it seems somewhat pointless. Still,it's good to know. Any + function argument with a ';' needsto be double-quoted. + * I removed two tests from HTTPThreadConnect Test. See + HYRAX-1849. + +2025-07-20 James Gallagher + + Fixed HTTPThreadConnectTest for the new no crc server. + +2025-07-18 James Gallagher + + Jhrg/hyrax 1836 cmake part 4 (#291) + Added the DMR integration tests + Most of the expr tests now work, but there are 2 problems + 1. I think there are still some broken baselines + 2. There are some problems with quoting the CEs for strings + Now all 500+ tests work in/with cmake. The parallel option + works. + Started moving the DMR tests to use numbers. + +2025-07-17 James Gallagher + + More bad baselines fixed. (#293) + +2025-07-17 Nathan Potter + James Gallagher + + Optional checksum (#289) + * Added DMR state and evaluation for optional checksum + computation + * Added checksum option to getdap4 and down into D4Connect + * getdap4 supports optional checksums + * Fixing broken tests. Looks like functions remain broken. + * Fixed function tests in dmr-test + * getdap4 refactor main() + * dmr-test.cc debugging ftw + * Simplified use of DConnect and eliminated the use of new and + delete from its lifecycle in getdap4 + --------- + +2025-07-16 James Gallagher + + Fixed null baselines. See HYRAX-1839. (#292) + A bunch of our libdap4 regression tests had empty baseline + files. I fixed this, + and it was not as widespread as it could have been. But the bug + was that our + test macro for the 'expr-test' program was using a logical OR + to test if the + baseline was equal to the stdout OR stderr output. If the + expr-test program + ran correctly, then the stderr output was null, so the tests + will null baselines + passed no matter what expr-test put on stdout! + +2025-07-10 James Gallagher + + Jhrg/hyrax 1811 cmake part3 (#290) + Added das-test, dds-test, expr-test, and dmr-test to the build + Adding das integration tests.. + Added dds tests, and added comments about the dds tests. + Might move the various tests to *.cmake files that are included, + but that's for the next PR, when the tests will get more + complex. + +2025-06-30 James Gallagher + + jhrg/HYRAX-1796-cmake-install (#286) + Added a cmake config script. See the end of the TL CMakeLists. + I used OBJECT type libraries to make the convenience libraries. + This was needed to get the + objects they contained copied into the installed libraries. + Added two missing source files to libtest-types. + Typo fixed in test/CMakeLists.txt + +2025-06-24 James Gallagher + Hannah Robertson + + CMake build of libdap4 (#284) + Added CMake support + Bailed on byteswap and the idea of using libgnu, for now. + Added unit tests work - includes a fix for Regex. + Fixed dods- and xdr-datatypes, BigArrayTest + Downgrade the bison version to 3.0 or greater for the Rocky8 + build. + --------- + +2025-05-28 James Gallagher + + Jhrg/xsputn part1 (#283) + This patch calls ostream::write() multiple times when data + greater than 2GB are returned as a data response. Each call + will be no more (2^31)-1 bytes. Tests with a 4 and 8GB variable + worked. + The bulk of the time (99.3%) to test these large data transfers + is + in TestArray where it builds a monster array (i.e., 8GB). + Looking + for ways to reduce that... + Tests pass for both --disable-threads and the default build. + Parallel I/O with libdap now works with variables that are 2^33 + bytes. + Added a new class MarshallerFuture (header only) and unit tests. + This is not used, but could be a replacement for + MarshallerThread, + which uses the old and cumbersome pthreads library. This new + class + uses the C++11/14 futures and also supports shared_ptr buffers + for + potential reductions in memory use. + +2025-05-20 James Gallagher + + Coverage 3.0 (#282) + Added comments to gcovr.config and added --sort to the coverage + target. + With these changes, the Makefiles now include a target that + will compute coverage + for libdap and build HTML pages that show coverage by line. + Very easy to use. + At the same time, the Travis-CI 'scan' target will build a + coverage.xml file + that sonarqube can use. The two coverage measures are not + exactly the same, + but they are close and each is useful in its own way. + +2025-05-13 James Gallagher + + Retred the ErrorAssignmentTest - subsumed by ErrorTest + [skip ci] + + Coverage 2.0 (#281) + Unit test hackery - Error.cc/h + Fixed ErrorTest.cc, removed sort=uncovered-percent since it + triggers a warning + Remove the gcov-ignore-errors = no_working_dir_found option + since this seems + to break the coverage.xml used by sonarqube. + +2025-05-08 James Gallagher + dh-opendap + + Code coverage changes (#280) + Use gcovr and the --sonarqube option. + Added gcovr.config + Removed travis/sonar-scanner-coverage.sh + --------- + +2025-05-02 James Gallagher + + Fix to HTTPConnect (#278) + Prefer explicit over implicit captures in a C++ lambda + Changed the lambda in HTTPConnect::header_match to + explicitly capture a value instead of using the [=] notation + to implicitly capture all variables used by the lambda. + +2025-04-21 James Gallagher + + Enum dmr test fix (#279) + Fixed the DMRTest tests for enums + For test macros like PARSE and PARSE_CE, there are no word + order issues because there are no checksums. But for TRANS + and TRANS_CE, the presence of a checksum means that there + are big- and little-endian baselines. This is because the + checksum is a function of byte values but many types are + multibyte values, so the same binary data is represented + differently in the architectures and thus has a different + checksum. + +2025-04-16 kyang2014 + + Merge pull request #277 from OPENDAP/hyrax-1736 + HYRAX-1736, add a convenient method to check if a DAP4 group + contains… + +2025-04-15 James Gallagher + + Minor fix to clion-source-discovery + +2025-04-15 myang6 + + HYRAX-1736, clang-format and reduce code smell according to + sonar cloud. + + HYRAX-1736, add a convenient method to check if a DAP4 group + contains an enum constant. + +2025-04-10 ndp-opendap + + Rewind: Drop the (unused) git creds from .travis.yml + + Drop the (unused) git creds from .travis.yml + + Rewind The R0b0t Travis info + + Update The R0b0t Travis info + + Update The R0b0t Travis info + + Update The R0b0t Travis info + + Update The R0b0t Travis info + + Merge branch 'master' of https://github.com/OPENDAP/libdap4 + + Update The R0b0t Travis info + +2025-04-09 kyang2014 + + Merge pull request #275 from OPENDAP/hyrax-1705 + HYRAX-1705, the enum handling code doesn't work for the group + that ha… + +2025-04-09 myang6 + + use nullptr instead of 0 and add a comment for a private method. + +2025-04-08 myang6 + + HYRAX-1706, add a test that includes enum variables in nested + groups. + +2025-04-07 myang6 + + HYRAX-1705, use clang-format. + + HYRAX-1705, the enum handling code doesn't work for the group + that have more than one level. This check-in fixes this by adding a + method to recursively checking the nested group path + +2025-03-26 James Gallagher + + Update Makefile.am regarding gh-pages. + [skip ci] + + Added README about gh-pages build + [skip ci] + +2025-03-25 James Gallagher + + Doxygen mainpage update to the date + [skip ci] + + Added 'edge: true' to .travis.yml + A potential fix for a CICD build issue. + +2025-03-24 James Gallagher + + Removed old docs + + more fixes to the gh-docs script and makefile target + + Added new docs + + More fixes to build-gh-pages.sh + + Syntax error in build-gh-docs.sh + + Updated the documentation build date + + Mionr update to build-gh-docs.sh + + Merge branch 'gh-docs-fix' + + Small change to the doxygen mainpage + [skip ci] + + Added new docs + + Working on the doxygen pages. + [skip ci] + + Removed old docs + + Removed old docs + + Try fix for gh-docs + + Added new docs + + Removed old docs + + Added new docs + +2025-03-18 James Gallagher + + Minor refactor of the D4Sequence code (#274) + +2025-03-13 James Gallagher + + Removed -fsanitize=undefined from the ASAN options + This seems to be causing a number of issues when we have + other problems that asan finds that are more important. + Work those, then reintroduce this. + [skip ci] + +2025-03-13 ndp-opendap + + Trigger TravisCI + +2025-02-18 James Gallagher + + Changes to configure.ac for autoconf 2.72 (#273) + Dropped the autoconf version to 2.69 in configure.ac + Removed AC_CHECK_INCLUDES_DEFAULT in configure.ac; wait for 2.70 + +2025-02-11 James Gallagher + + Refactor dmr-test in advance to working on an ASAN bug. (#272) + See HYRAX-1651 + +2025-02-10 James Gallagher + + Switch to the Meyers singleton pattern for HTTPCache (#271) + Switch to the Meyers singleton pattern for HTTPCache + Removed second unique ptr for HTTPCacheTable + Fixed a memory leak in HTTPResponse in transform_to_cpp(). + Better fix for double-free/memory-leak issues with Response and + Cpp Streams + +2025-02-07 James Gallagher + + Build/install fix: add to pkginclude_HEADERS to fix BES build + issue. + HTTPCache.h and HTTPCacheDisconnectedMode.h were added. + Commit and push w/o the usual PR cycle since this is a simple + fix to the installation process that clearly fixes an issue + that's + breaking our CI/CD pipeline. + +2025-02-04 James Gallagher + + Response refactor works (#223) + Move HTTP code to new subdir http_dap as convenience lib + Minor improvements to HTTPCacheTest.cc + Memory leak fixed in Response/HTTPResponse + Removed most (all?) of the pthreads code in HTTPCache + Change the initialization of the 'readers' atomic + Removed HTTPCacheInterruptHandler.h + The (HTTP)cache table is now a vector of vector of CacheEntry + pointers + Cleanup - better RAII for the MP cache lock. No RAII for + CacheEntry + Added multithreaded tests of HTTPConnect (and thus HTTPCache). + +2025-01-28 James Gallagher + + Improvements to chunked_iostream_test (#270) + Improvements to chunked_iostream_test + The improvements include making the huge write test added to + do profiling and timing tests and not a unit-test per se + optional. + This saves CI-CD build times and and keeps the check target + from writing 10GB of test data. + +2025-01-27 James Gallagher + + Remove warnings 1 (#255) + Removed some unary_ and binary_function classes. + Other chnages: sprintf to snprintf and string compare warnings; + Updated README.pre-commit.md; Bison version nonsense - when \ + will RHEL8 upgrade?; More refactoring and some compiler warnings + ignored; Added to HTTPConnect.cc for RHEL8. + +2025-01-13 Mikejmnez + + update offset + +2025-01-13 Miguel Jimenez + + Merge pull request #269 from OPENDAP/3.21.1 + version 3.21.1 + +2025-01-13 ndp-opendap + + Trigger CI + +2025-01-13 Mikejmnez + + update travis offset + + changes for releasing version 3.21.1 2024-12-31 kyang2014 Merge pull request #268 from OPENDAP/hyrax-1497 From f410b1b0eee9bdf7b0b0c460ce64f2804ff4cc24 Mon Sep 17 00:00:00 2001 From: Miguel Jimenez-Urias Date: Tue, 21 Jul 2026 10:29:34 -0700 Subject: [PATCH 03/30] update NEWS --- NEWS | 31 +++++++++++++++++++++++++++++++ 1 file changed, 31 insertions(+) diff --git a/NEWS b/NEWS index 4fd5fd3a0..13669d181 100644 --- a/NEWS +++ b/NEWS @@ -3,6 +3,37 @@ This file is the canonical, version-by-version record of user-visible changes. Keep entries in reverse chronological order (newest first). +## Version 3.22.0 + +- Multi-pass overhaul of the test coverage tooling: switched to gcovr-based reporting (including a SonarQube-compatible format), fixed issues, and documented how to generate the coverage data. +- Recurring warnings cleanup across the codebase: removed legacy `unary_function` usage, added `override` throughout, and fixed warnings surfaced in tests and on GitHub Actions builds over several passes. +- Fixed a segmentation fault caused by bad data in a DAP4 attribute. +- Removed the macos-intel runner from the GitHub Actions CI matrix. +- Added an error message for when a DAP4 dimension can't be found. +- Bumped the DMR version, then reverted it after it caused compatibility problems. +- CMake migration: initial CMake build, install step, shared-library versioning fixes, presets, integration test support (DAS/DMR/EXPR), and cleanup, ending with CMake plus autotest support. +- Sped up the GitHub Actions workflow. +- Added unit tests for `utils::segmented_read()` and `utils::segmented_write()`. +- Expanded and improved the libdap README and general documentation. +- Autotools/configure fixes: updated configure.ac for autoconf 2.72, fixed cppunit detection, stopped `make clean` from deleting config.log, then refactored configure.ac further. +- Added and iterated on VS Code support for the autotools build (tasks/launch config, customizable settings.json, supporting README). +- Experimented with Codex-generated unit tests, which surfaced a real bug in the process. +- Added support for tracking test deployments. +- Added RHEL9 build/packaging support to CI. +- Swapped a libxml include to fix a build issue. +- Switched libdap/HTTPCache singletons over to the Meyers singleton pattern. +- Fixed a DAP4 serialization bug. +- Fixed and merged in long-stale DMR-to-DAP2/DDS conversion work. +- Made DAP4 checksums optional and fixed related HTTP test handling. +- Fixed a batch of tests with bad/null baseline files. +- Refactored streaming code (xsputn) to support sending variables larger than 2GB. +- Fixed DAP4 enum handling for nested groups and added a way to check whether a group contains a given enum. +- Fix to HTTPConnect. +- Minor refactor of the D4Sequence code. +- Refactored dmr-test ahead of investigating an ASAN bug. +- Made the large chunked_iostream_test data write optional to speed up CI runs. +- Checkpointed a large response-handling refactor (not yet safe for multi-process use). + ## Version 3.21.1 - Initial support for UTF-8 From b00fdd2448f3e0f3c0534a7f4d27cee4f893922e Mon Sep 17 00:00:00 2001 From: Miguel Jimenez-Urias Date: Tue, 21 Jul 2026 10:33:58 -0700 Subject: [PATCH 04/30] pre-commit formatting --- ChangeLog | 710 +++++++++++++++++++++++++++--------------------------- 1 file changed, 355 insertions(+), 355 deletions(-) diff --git a/ChangeLog b/ChangeLog index 7a396a32d..58e75ae83 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,121 +1,121 @@ 2026-07-21 Miguel Jimenez-Urias - + update build offset number - + 2026-07-20 James Gallagher - - #370 coverage cleanup and #365 Document coverage data + + #370 coverage cleanup and #365 Document coverage data generation (PR #371) * Remove python script that tested coverge data validity * Added a note to README.md about README.coverage.md * Added a pre-commit tempate - + Sonar fixes for HTTP -vs- HTTPS and '/tmp' use - + 2026-07-18 James Gallagher - + Backed out the use of Sonar build wrapper on make check for now - This will take more work - seemed trivial, but it introduces + This will take more work - seemed trivial, but it introduces more code to the analysis. Pick this up on a branch. - + 2026-07-17 James Gallagher - - Turn off the 'diff script' and add 'build wrapper' to make + + Turn off the 'diff script' and add 'build wrapper' to make check in the scan step - - Diff the gcovr coverage.xml and compile commands JSON built by + + Diff the gcovr coverage.xml and compile commands JSON built by Sonar - + Changes for test coverage (#366) Remove DAPCache3Test from the CMake builds Sync sonar-project.properties and gcovr.config Added gcovr version print to .travis.yml Removed macos 15 build - we don't that OS any more Move from the buggy (WRT sonarscan) gcovr 4.2 to 8.2 - + 2026-07-14 James Gallagher - + I removed the code in tidy-warnings (#361) - + 2026-07-07 James Gallagher - + Change DOI badge to new link Updated DOI badge link in README.md. This DOI points to the latest version of the software on Zenodo. - + 2026-06-04 kyang2014 - - HYRAX-2176, fix the segmentation fault bug when a DAP4 - attribute container doesn't contain attributes and the find menthod is + + HYRAX-2176, fix the segmentation fault bug when a DAP4 + attribute container doesn't contain attributes and the find menthod is called. (#359) - + 2026-06-01 James Gallagher - + Added mac os 26 to the GHA workflow - + HYRAX-2119 Remove macos-intel from GHA (#358) * Remove macos-intel from GHA * Tweak to settings.json for vscode - + 2026-05-19 James Gallagher - + Fixes to settings.json [skip ci] - + 2026-05-18 James Gallagher - + Added rulers to vscode C++ - + 2026-05-10 James Gallagher - + Merge branch 'master' of https://github.com/OPENDAP/libdap4 - + cleanup - + 2026-05-08 kyang2014 - - HYRAX-2149, add the error message when a DAP4 dimension cannot + + HYRAX-2149, add the error message when a DAP4 dimension cannot be fou… (#356) - * HYRAX-2149, add the error message when a DAP4 dimension - cannot be found in a DAP4 expression constraint. Previously a - segmentation fault occurs. Verify with an example and it returns the + * HYRAX-2149, add the error message when a DAP4 dimension + cannot be found in a DAP4 expression constraint. Previously a + segmentation fault occurs. Verify with an example and it returns the expected output. * clang-format * more clang-format - + 2026-04-21 Nathan Potter - - Revert dmrVersion change "Jhrg/hyrax-1963 dmr version bump + + Revert dmrVersion change "Jhrg/hyrax-1963 dmr version bump (#320)" (#355) * Revert "Jhrg/hyrax-1963 dmr version bump (#320)" This reverts commit e3bf0b3d8c2f0665bd3758c54fdd4a11b802130f. - * Force D4ParserSax2 to always set dmrVersion="1.0" earn + * Force D4ParserSax2 to always set dmrVersion="1.0" earn parsing a DMR - + 2026-04-20 James Gallagher Hannah Robertson - + cmake with autotest (#350) - This idea is a different take on using cmake to build libdap4. + This idea is a different take on using cmake to build libdap4. The same build process - is in place. I changed how the integration tests are run. + is in place. I changed how the integration tests are run. Before, I made them - use ctest and more completely integrated then with the cmake + use ctest and more completely integrated then with the cmake system. The problem - was that about 1k lines of python were needed and the result + was that about 1k lines of python were needed and the result was less useful than - using autotest. I switched to using ctest/cmake for the unit + using autotest. I switched to using ctest/cmake for the unit tests but autotest for the - integration tests. The downside is that developers need both + integration tests. The downside is that developers need both systems (cmake and - autoconf) on their machines. That seems like a small price to + autoconf) on their machines. That seems like a small price to pay for better tests. --------- - + 2026-04-10 Sam Lloyd James Gallagher - + HYRAX-1758 seg_read_write_unittests * seg_read tests, broken * little baby tests @@ -128,438 +128,438 @@ * more clang psuedo fixes III * splitting of the segReadWrite unit tests --------- - + 2026-04-03 James Gallagher - - HYRAX-2087 D4StreamMarshallerTest fix and gh workflow speedup + + HYRAX-2087 D4StreamMarshallerTest fix and gh workflow speedup (#349) - I experimented with a number of ways to reduce CICD times. The + I experimented with a number of ways to reduce CICD times. The most effective seem to be - using path-ignore and caching of previous builds. These changes + using path-ignore and caching of previous builds. These changes can be transferred to the BES - where build times are quite long. In the course of doing this, + where build times are quite long. In the course of doing this, I addressed a warning that made the - CICD build output hard to read and fixed the issue in + CICD build output hard to read and fixed the issue in HYRAX-2087. - + 2026-03-24 James Gallagher - + Added AI doc about repo layout - + Added the prompts I used for the questions about AI - + Merge branch 'master' of https://github.com/OPENDAP/libdap4 - + Added notes about codex in vscode - + 2026-03-16 kyang2014 - + Hyrax 1950 (#347) - * HYRAX-2007, add a member and a method to store the ratio of - the array size to the real storage size. Application needs to feed in + * HYRAX-2007, add a member and a method to store the ratio of + the array size to the real storage size. Application needs to feed in the number. This member can apply to both the whole array or the subset. * HYRAX-1950, make the switch-branch work. - * HYRAX-1950, add a two new fields. One for the direct chunk - IO, one for the optimization to see if compression should be turned on + * HYRAX-1950, add a two new fields. One for the direct chunk + IO, one for the optimization to see if compression should be turned on in the fileout netCDF module. * HYRAX-1950, use clang-format. - * HYRAX-1950, set the filled chunk flag for the varaible + * HYRAX-1950, set the filled chunk flag for the varaible storage info. * HYRAX-1950, follow clang-format. * HYRAX-1950, reduce a sonar cloud code smell - + 2026-03-12 James Gallagher - + Improvements to the libdap README documentation (#346) - Added README.vscode.md - Normalized NEWS and README.md - Removed silly text about the DOI - I figured out how to get a DOI to the latest release. Zenodo actually has one so that the README does not have to be changed for each release. - + 2026-03-10 James Gallagher - + Minor tweak to my vscode stuff - + Add (more) documentation to libdap (#342) Start of more complete documentation for libdap. Stage 1 docs from the Doxygen-plan.md and the AGENTS.md file - Ran stage 2, ..., 9 with a separate approval and commit for + Ran stage 2, ..., 9 with a separate approval and commit for each stage plan. Additional steps I took: - Documentation build date to main page - Replaced @defgroup with @name. @defgroup names a 'module' not - a group of related methods. @name is used to group + a group of related methods. @name is used to group documentation for a related group of methods in a class. - + Could this be the last vscode branch? (#344) Moved versioned vscode files to .vscode/jhrg - + Refactored configure.ac (#345) Added the DAP 2 spec and a codex-generated deep-dive - Used codex to write and implement a plan to streamline + Used codex to write and implement a plan to streamline configure.ac The plan is in the docs dir as configure-ac-refactor-plan.md - + Fixed minor errors in run_tests_cppunit.h (#340) Fixed the DBG macros when they hold 2++ statements - + 2026-03-09 James Gallagher - + More .vscode support (#343) - tasks.json for vscode needs $prefix's value - used a template + tasks.json for vscode needs $prefix's value - used a template file. - + 2026-03-03 James Gallagher - + Merge branch 'master' of https://github.com/OPENDAP/libdap4 - + Added the Doxygen-documentation-plan.md [skip-ci] - + Added the suggested README for the vscode edits (#339) Also removed the generated compile_commands.json file from git. Normalized NEWS and README.md Added some missing requirements to the README - + 2026-03-02 James Gallagher - - I made a settings.json.template si settings.json can be + + I made a settings.json.template si settings.json can be customized (#338) - I also modified tasks.json and launch.json so they use info in + I also modified tasks.json and launch.json so they use info in the - settings.json file, eliminating the need to edit those for + settings.json file, eliminating the need to edit those for changes - to the hyrax $prefix env var. I added settings.json to + to the hyrax $prefix env var. I added settings.json to .gitignore - so that one persons $prefix paths don't over write someone + so that one persons $prefix paths don't over write someone elses. - + HYRAX-1903: Use 'override' where appropriate (#337) - Updated code to use override, dropped + Updated code to use override, dropped -Wno-inconsistent-missing-override. Also, fixed self-assignment tests and suppressed warnings - + Add support for the autotools build with vscode. (#336) * Added a named configuration to .vscode/settings.json - * For debugger support that is more complete, I fixed issues in + * For debugger support that is more complete, I fixed issues in launch.json. - I still had to make the dSYM lib by hand, the command to make + I still had to make the dSYM lib by hand, the command to make the dSYM lib was: dsymutil .libs/libdap.27.dylib -o .libs/libdap.27.dylib.dSYM - * The four compiler warnings from the flex scanner code are now + * The four compiler warnings from the flex scanner code are now suppressed. - * /Users/jhrg --> ~ in PATH settings. This will need more work, + * /Users/jhrg --> ~ in PATH settings. This will need more work, but it's good enough. - + 2026-02-24 James Gallagher Hannah Robertson - + Unit test experiment - these were written by codex (#335) Added BaseTypeTest.cc. - Fixed my hack to include DAPCache3Test w/o adding it to the + Fixed my hack to include DAPCache3Test w/o adding it to the library. - + 2026-01-27 James Gallagher - + auto * --> auto in MarshallerTest and marshT - + Resolve conflicts - + Merge branch 'master' of https://github.com/OPENDAP/libdap4 - - Revert "Switched so edits to use 'auto' and not 'auto *' for + + Revert "Switched so edits to use 'auto' and not 'auto *' for pointer types." This reverts commit aef651e6a4d0b08121f410dc794f6b0ab1545c10. - - Switched so edits to use 'auto' and not 'auto *' for pointer + + Switched so edits to use 'auto' and not 'auto *' for pointer types. - + Add comment about warning suppression. - + Add comment about warning suppression. - + HYRAX-2000 warnings in tests (#333) RCReaderTest fixed More fixes for RCReaderTest Fixed warnings in MarshallerTest Suppress warnings for a range of lines in XDRUtil.cc Added diagnostic_suppression.h to Makefile.am for distcheck - + Added diagnostic_suppression.h to Makefile.am for distcheck - + Reinstate in MarshallerTest - + Reinstate in RCReaderTest - + 2026-01-26 James Gallagher - + Reinstate - + Added reference for the warning suppression macro - + Suppress warnings for a range of lines in XDRUtil.cc - + more fixes in MarshallerTest - + more fixes in MarshallerTest - + Fixed warnings in MarshallerTest - + More fixes for RCReaderTest - + RCReaderTest fixed - + 2026-01-22 James Gallagher - + Jhrg/hyrax-1963 dmr version bump (#320) I bumped up the DMR version number to 2.0 from 1.0 This indicates the change in the serialization algorithm to match the DAP4 specification. - + 2026-01-06 James Gallagher - + make cmake tests tolerable (#329) Remove integration test .out files for das, dds, ..., tests Added baseline generation for the das, dds, ..., tests - For the dmr tess, move the test COMMAND to a bash script, + For the dmr tess, move the test COMMAND to a bash script, adding a level of indirection but simplifying debugging. dmr-test and expr-test now support parallel tests Added TempFileTest unit test to the cmake build - + 2025-12-29 James Gallagher - + I fixed several unit tests that were not being run - + 2025-12-22 Nathan Potter - + Adding support for test deployment tracking (#321) - + 2025-12-01 James Gallagher - + jhrg/libdap4-305, HYRAX-1948, serialization bug (#306) - The DAP4 specification was/is confusing about the order of + The DAP4 specification was/is confusing about the order of serialization - of datasets that contain Groups. The order is specified, but in + of datasets that contain Groups. The order is specified, but in the best - form of a specification, the explanation is spread across two + form of a specification, the explanation is spread across two parts of the spec. - The variables in the root group are now serialized first, then + The variables in the root group are now serialized first, then variables in child groups. - Added tests for this bug and a fix for the broken + Added tests for this bug and a fix for the broken implementation in libdap. - Tested the fix against the NSIDC OA application, which is the + Tested the fix against the NSIDC OA application, which is the only NGAP - we are aware of that makes direct use of the DAP4 binary + we are aware of that makes direct use of the DAP4 binary responses using client code from Unidata. - + 2025-11-25 James Gallagher - + HYRAX-1960: Fix cppunit search by configure (#319) - + 2025-11-19 Nathan Potter - + Additional RHEL9 work. (#318) - * Dropped AWS creds from docker invocation when building rocky9 + * Dropped AWS creds from docker invocation when building rocky9 rpms. * Added rocky9 stuff to before_deploy and deploy - + 2025-11-18 Nathan Potter - + Rhel9 (#317) - * Made a specialized version of the rpm build scripts both + * Made a specialized version of the rpm build scripts both rhel8 and rhel9 * Added Travis stage for rhel9 rpms - + 2025-11-12 James Gallagher - - HYRAX-1911: Fixed the broken shared library version numbers in + + HYRAX-1911: Fixed the broken shared library version numbers in the cmake build. (#316) - + 2025-11-07 James Gallagher - - HYRAX-1945: Warnings found on the GitHub actions build fixed + + HYRAX-1945: Warnings found on the GitHub actions build fixed (#315) Warnings found on the GitHub actions build fixed - + 2025-11-06 James Gallagher Hannah Robertson - + HYRAX-1923: cmake presets (#313) - There is a problem with the precommit code and languages like + There is a problem with the precommit code and languages like yaml and json. Also, the preset-based build failed a test (ErrorTest) - + 2025-11-05 kyang2014 - + Hyrax 1709 (#310) - * HYRAX-1709, make getdap4 prints the full path for variables + * HYRAX-1709, make getdap4 prints the full path for variables under a non-root group. * HYRAX-1709, make the seqeuence data print the row again. * HYRAX-1709, make the source code to following clang-format. * HYRAX-1709, reduce code smells detected by sonar cloud. * HYRAX-1709, reduce another code smell. * HYRAX-1709, remove some debugging info. - + 2025-10-31 kyang2014 James Gallagher - + Hyrax 1906 dev final (#312) * HYRAX-1906, add a debug unit-test - * HYRAX-1906, create a simple program to duplicate the call of + * HYRAX-1906, create a simple program to duplicate the call of dmr memory cache * HYRAX-1906-test-deploy add the dmr memory testing code * include the memory header * Correct typo in order to build rpm successfully - * Fix to D4EnumDefs parent pointer assignment in + * Fix to D4EnumDefs parent pointer assignment in D4Group::m_duplicate * changing the order of releasing the resource. - * HYRAX-1906, add a check to the parent pointer in the + * HYRAX-1906, add a check to the parent pointer in the fully_qualified_names() to make sure it is not null. * Add another check for nullptr. * HYRAX-1906, WIP * HYRAX-1906, Still WIP. Add more debugging info. - * HYRAX-1906, WIP update the DAP4 dimensons after copying the + * HYRAX-1906, WIP update the DAP4 dimensons after copying the objects. * HYRAX-1906, turn off some debugging information. * HYRAX-1906, trigger another hyrax trivis test - * HYRAX-1906, add three more complex units as well as the - corresponding xml files to test the copy constructor of DMR that + * HYRAX-1906, add three more complex units as well as the + corresponding xml files to test the copy constructor of DMR that contains the groups and the dimensions. * HYRAX-1906, more clean up * HYRAX-1906, clean up and make the code follow clang-format. * HYRAX-1906, another file to follow the clang-format - * HYRAX-1905, reduce code smells and update method names, + * HYRAX-1905, reduce code smells and update method names, comments. * HYRAX-1906, update a method name. --------- - + 2025-10-28 James Gallagher - + Merge remote-tracking branch 'origin/master' - + Removed encrypted information - + 2025-10-27 Nathan Potter - + It's TravisCI Time - + 2025-10-21 James Gallagher - - HYRAX-1909: Changed #include of libxml/parserInternals.h to + + HYRAX-1909: Changed #include of libxml/parserInternals.h to libxml/SAX2.h (#311) Add #include to ErrorTest for strerror on Ubuntu - + 2025-10-03 Sam Lloyd - + Sbl hyrax 1351 meyers libdap singletons (#309) * singleton fixes first pass, broken unit-tests * singletons changes, travis test run * removed comments and '#if 0' blocks [skip ci] * review changes - + 2025-08-08 James Gallagher - + Repaired the BUILD_DEVELOPER and USE_ASAN options These were set in the sub-CmakeLists files - not needed - and there was a name mix up. - + 2025-08-07 James Gallagher - + HYRAX-1857 Removed TestCommon.cc from the cmake build (#303) It was already gone from the autotools build - + Jhrg/hyrax 1856 dmr dap2 (#302) - Fixed result file writing for cmake builds, baselines for + Fixed result file writing for cmake builds, baselines for ...nc.das Fixed issues '\' representation. Fixed DmrRoundTripTest's write-result-on-debug feature: This needed a change to work with the cmake build since it was writing to a directory that does not exist with that build. - + 2025-08-05 James Gallagher - + Jhrg/hyrax 1855 warnings (#301) Edits to remove warnings about missing 'override' Fixed the annoying chunk[] warning in D4Connect.cc Added my python code to hack warnings. Removed redundant 'virtual' on 'override' declarations. - + 2025-08-05 ndp-opendap - + hail-mary - + 2025-08-05 Nathan Potter - + Optional checksums redux (#299) - * Making it so that optional checksums also means optional + * Making it so that optional checksums also means optional computation of said checksums - + 2025-08-04 James Gallagher Slav Korolev ndp-opendap - + Jhrg/hyrax 1854 dmr2dds branches (#300) HK-450. Made show shared dimensions condition. The test (DmrRoundTripTest) now passes. Fixed memory leak in DmrRoundtripTest Removed #if 0 stuff. --------- - + 2025-07-31 James Gallagher ndp-opendap - + Jhrg/hyrax 1849 http test checksums (#298) HTTPThreadConnectTest fixed for 'empty end chunk' behavior See HYRAX-1849 - + 2025-07-30 James Gallagher - - Fixed the mysterious disappearing config.log with make clean + + Fixed the mysterious disappearing config.log with make clean (#297) Also fixed a bug in the HTTPThreadConnectTestb - + 2025-07-21 James Gallagher - + Jhrg/HYRAX-1847-DMR-tests-to-numbers (#294) * All the DMR tests use numbers - the odd names are gone. * More cleaned up the string quoting.;Wrapping strings in "" is often not needed in cmake. I removed more, but it seems somewhat pointless. Still,it's good to know. Any function argument with a ';' needsto be double-quoted. - * I removed two tests from HTTPThreadConnect Test. See + * I removed two tests from HTTPThreadConnect Test. See HYRAX-1849. - + 2025-07-20 James Gallagher - + Fixed HTTPThreadConnectTest for the new no crc server. - + 2025-07-18 James Gallagher - + Jhrg/hyrax 1836 cmake part 4 (#291) Added the DMR integration tests Most of the expr tests now work, but there are 2 problems 1. I think there are still some broken baselines 2. There are some problems with quoting the CEs for strings - Now all 500+ tests work in/with cmake. The parallel option + Now all 500+ tests work in/with cmake. The parallel option works. Started moving the DMR tests to use numbers. - + 2025-07-17 James Gallagher - + More bad baselines fixed. (#293) - + 2025-07-17 Nathan Potter James Gallagher - + Optional checksum (#289) - * Added DMR state and evaluation for optional checksum + * Added DMR state and evaluation for optional checksum computation * Added checksum option to getdap4 and down into D4Connect * getdap4 supports optional checksums @@ -567,128 +567,128 @@ * Fixed function tests in dmr-test * getdap4 refactor main() * dmr-test.cc debugging ftw - * Simplified use of DConnect and eliminated the use of new and + * Simplified use of DConnect and eliminated the use of new and delete from its lifecycle in getdap4 --------- - + 2025-07-16 James Gallagher - + Fixed null baselines. See HYRAX-1839. (#292) - A bunch of our libdap4 regression tests had empty baseline + A bunch of our libdap4 regression tests had empty baseline files. I fixed this, - and it was not as widespread as it could have been. But the bug + and it was not as widespread as it could have been. But the bug was that our - test macro for the 'expr-test' program was using a logical OR + test macro for the 'expr-test' program was using a logical OR to test if the - baseline was equal to the stdout OR stderr output. If the + baseline was equal to the stdout OR stderr output. If the expr-test program - ran correctly, then the stderr output was null, so the tests + ran correctly, then the stderr output was null, so the tests will null baselines passed no matter what expr-test put on stdout! - + 2025-07-10 James Gallagher - + Jhrg/hyrax 1811 cmake part3 (#290) Added das-test, dds-test, expr-test, and dmr-test to the build Adding das integration tests.. Added dds tests, and added comments about the dds tests. Might move the various tests to *.cmake files that are included, - but that's for the next PR, when the tests will get more + but that's for the next PR, when the tests will get more complex. - + 2025-06-30 James Gallagher - + jhrg/HYRAX-1796-cmake-install (#286) Added a cmake config script. See the end of the TL CMakeLists. - I used OBJECT type libraries to make the convenience libraries. + I used OBJECT type libraries to make the convenience libraries. This was needed to get the objects they contained copied into the installed libraries. Added two missing source files to libtest-types. Typo fixed in test/CMakeLists.txt - + 2025-06-24 James Gallagher Hannah Robertson - + CMake build of libdap4 (#284) Added CMake support Bailed on byteswap and the idea of using libgnu, for now. Added unit tests work - includes a fix for Regex. Fixed dods- and xdr-datatypes, BigArrayTest - Downgrade the bison version to 3.0 or greater for the Rocky8 + Downgrade the bison version to 3.0 or greater for the Rocky8 build. --------- - + 2025-05-28 James Gallagher - + Jhrg/xsputn part1 (#283) This patch calls ostream::write() multiple times when data greater than 2GB are returned as a data response. Each call will be no more (2^31)-1 bytes. Tests with a 4 and 8GB variable worked. - The bulk of the time (99.3%) to test these large data transfers + The bulk of the time (99.3%) to test these large data transfers is - in TestArray where it builds a monster array (i.e., 8GB). + in TestArray where it builds a monster array (i.e., 8GB). Looking for ways to reduce that... Tests pass for both --disable-threads and the default build. - Parallel I/O with libdap now works with variables that are 2^33 + Parallel I/O with libdap now works with variables that are 2^33 bytes. Added a new class MarshallerFuture (header only) and unit tests. - This is not used, but could be a replacement for + This is not used, but could be a replacement for MarshallerThread, - which uses the old and cumbersome pthreads library. This new + which uses the old and cumbersome pthreads library. This new class - uses the C++11/14 futures and also supports shared_ptr buffers + uses the C++11/14 futures and also supports shared_ptr buffers for potential reductions in memory use. - + 2025-05-20 James Gallagher - + Coverage 3.0 (#282) - Added comments to gcovr.config and added --sort to the coverage + Added comments to gcovr.config and added --sort to the coverage target. - With these changes, the Makefiles now include a target that + With these changes, the Makefiles now include a target that will compute coverage - for libdap and build HTML pages that show coverage by line. + for libdap and build HTML pages that show coverage by line. Very easy to use. - At the same time, the Travis-CI 'scan' target will build a + At the same time, the Travis-CI 'scan' target will build a coverage.xml file - that sonarqube can use. The two coverage measures are not + that sonarqube can use. The two coverage measures are not exactly the same, but they are close and each is useful in its own way. - + 2025-05-13 James Gallagher - + Retred the ErrorAssignmentTest - subsumed by ErrorTest [skip ci] - + Coverage 2.0 (#281) Unit test hackery - Error.cc/h - Fixed ErrorTest.cc, removed sort=uncovered-percent since it + Fixed ErrorTest.cc, removed sort=uncovered-percent since it triggers a warning - Remove the gcov-ignore-errors = no_working_dir_found option + Remove the gcov-ignore-errors = no_working_dir_found option since this seems to break the coverage.xml used by sonarqube. - + 2025-05-08 James Gallagher dh-opendap - + Code coverage changes (#280) Use gcovr and the --sonarqube option. Added gcovr.config Removed travis/sonar-scanner-coverage.sh --------- - + 2025-05-02 James Gallagher - + Fix to HTTPConnect (#278) Prefer explicit over implicit captures in a C++ lambda Changed the lambda in HTTPConnect::header_match to explicitly capture a value instead of using the [=] notation to implicitly capture all variables used by the lambda. - + 2025-04-21 James Gallagher - + Enum dmr test fix (#279) Fixed the DMRTest tests for enums For test macros like PARSE and PARSE_CE, there are no word @@ -699,170 +699,170 @@ multibyte values, so the same binary data is represented differently in the architectures and thus has a different checksum. - + 2025-04-16 kyang2014 - + Merge pull request #277 from OPENDAP/hyrax-1736 - HYRAX-1736, add a convenient method to check if a DAP4 group + HYRAX-1736, add a convenient method to check if a DAP4 group contains… - + 2025-04-15 James Gallagher - + Minor fix to clion-source-discovery - + 2025-04-15 myang6 - - HYRAX-1736, clang-format and reduce code smell according to + + HYRAX-1736, clang-format and reduce code smell according to sonar cloud. - - HYRAX-1736, add a convenient method to check if a DAP4 group + + HYRAX-1736, add a convenient method to check if a DAP4 group contains an enum constant. - + 2025-04-10 ndp-opendap - + Rewind: Drop the (unused) git creds from .travis.yml - + Drop the (unused) git creds from .travis.yml - + Rewind The R0b0t Travis info - + Update The R0b0t Travis info - + Update The R0b0t Travis info - + Update The R0b0t Travis info - + Update The R0b0t Travis info - + Merge branch 'master' of https://github.com/OPENDAP/libdap4 - + Update The R0b0t Travis info - + 2025-04-09 kyang2014 - + Merge pull request #275 from OPENDAP/hyrax-1705 - HYRAX-1705, the enum handling code doesn't work for the group + HYRAX-1705, the enum handling code doesn't work for the group that ha… - + 2025-04-09 myang6 - + use nullptr instead of 0 and add a comment for a private method. - + 2025-04-08 myang6 - - HYRAX-1706, add a test that includes enum variables in nested + + HYRAX-1706, add a test that includes enum variables in nested groups. - + 2025-04-07 myang6 - + HYRAX-1705, use clang-format. - - HYRAX-1705, the enum handling code doesn't work for the group - that have more than one level. This check-in fixes this by adding a + + HYRAX-1705, the enum handling code doesn't work for the group + that have more than one level. This check-in fixes this by adding a method to recursively checking the nested group path - + 2025-03-26 James Gallagher - + Update Makefile.am regarding gh-pages. [skip ci] - + Added README about gh-pages build [skip ci] - + 2025-03-25 James Gallagher - + Doxygen mainpage update to the date [skip ci] - + Added 'edge: true' to .travis.yml A potential fix for a CICD build issue. - + 2025-03-24 James Gallagher - + Removed old docs - + more fixes to the gh-docs script and makefile target - + Added new docs - + More fixes to build-gh-pages.sh - + Syntax error in build-gh-docs.sh - + Updated the documentation build date - + Mionr update to build-gh-docs.sh - + Merge branch 'gh-docs-fix' - + Small change to the doxygen mainpage [skip ci] - + Added new docs - + Working on the doxygen pages. [skip ci] - + Removed old docs - + Removed old docs - + Try fix for gh-docs - + Added new docs - + Removed old docs - + Added new docs - + 2025-03-18 James Gallagher - + Minor refactor of the D4Sequence code (#274) - + 2025-03-13 James Gallagher - + Removed -fsanitize=undefined from the ASAN options This seems to be causing a number of issues when we have other problems that asan finds that are more important. Work those, then reintroduce this. [skip ci] - + 2025-03-13 ndp-opendap - + Trigger TravisCI - + 2025-02-18 James Gallagher - + Changes to configure.ac for autoconf 2.72 (#273) Dropped the autoconf version to 2.69 in configure.ac Removed AC_CHECK_INCLUDES_DEFAULT in configure.ac; wait for 2.70 - + 2025-02-11 James Gallagher - + Refactor dmr-test in advance to working on an ASAN bug. (#272) See HYRAX-1651 - + 2025-02-10 James Gallagher - + Switch to the Meyers singleton pattern for HTTPCache (#271) Switch to the Meyers singleton pattern for HTTPCache Removed second unique ptr for HTTPCacheTable Fixed a memory leak in HTTPResponse in transform_to_cpp(). - Better fix for double-free/memory-leak issues with Response and + Better fix for double-free/memory-leak issues with Response and Cpp Streams - + 2025-02-07 James Gallagher - - Build/install fix: add to pkginclude_HEADERS to fix BES build + + Build/install fix: add to pkginclude_HEADERS to fix BES build issue. HTTPCache.h and HTTPCacheDisconnectedMode.h were added. Commit and push w/o the usual PR cycle since this is a simple - fix to the installation process that clearly fixes an issue + fix to the installation process that clearly fixes an issue that's breaking our CI/CD pipeline. - + 2025-02-04 James Gallagher - + Response refactor works (#223) Move HTTP code to new subdir http_dap as convenience lib Minor improvements to HTTPCacheTest.cc @@ -870,48 +870,48 @@ Removed most (all?) of the pthreads code in HTTPCache Change the initialization of the 'readers' atomic Removed HTTPCacheInterruptHandler.h - The (HTTP)cache table is now a vector of vector of CacheEntry + The (HTTP)cache table is now a vector of vector of CacheEntry pointers - Cleanup - better RAII for the MP cache lock. No RAII for + Cleanup - better RAII for the MP cache lock. No RAII for CacheEntry Added multithreaded tests of HTTPConnect (and thus HTTPCache). - + 2025-01-28 James Gallagher - + Improvements to chunked_iostream_test (#270) Improvements to chunked_iostream_test The improvements include making the huge write test added to - do profiling and timing tests and not a unit-test per se + do profiling and timing tests and not a unit-test per se optional. This saves CI-CD build times and and keeps the check target from writing 10GB of test data. - + 2025-01-27 James Gallagher - + Remove warnings 1 (#255) Removed some unary_ and binary_function classes. Other chnages: sprintf to snprintf and string compare warnings; Updated README.pre-commit.md; Bison version nonsense - when \ will RHEL8 upgrade?; More refactoring and some compiler warnings ignored; Added to HTTPConnect.cc for RHEL8. - + 2025-01-13 Mikejmnez - + update offset - + 2025-01-13 Miguel Jimenez - + Merge pull request #269 from OPENDAP/3.21.1 version 3.21.1 - + 2025-01-13 ndp-opendap - + Trigger CI - + 2025-01-13 Mikejmnez - + update travis offset - + changes for releasing version 3.21.1 2024-12-31 kyang2014 From 0bd9e57422a4fb2402f63021ed0338a860fbe84d Mon Sep 17 00:00:00 2001 From: Miguel Jimenez-Urias Date: Tue, 21 Jul 2026 11:14:47 -0700 Subject: [PATCH 05/30] update versioning for Humans --- INSTALL | 2 +- configure.ac | 2 +- travis/travis_libdap_build_offset.sh | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/INSTALL b/INSTALL index a5a22747e..ac4eb79c1 100644 --- a/INSTALL +++ b/INSTALL @@ -1,5 +1,5 @@ -Updated for version 3.21.1 of the OPeNDAP DAP2/4 library software. +Updated for version 3.22.0 of the OPeNDAP DAP2/4 library software. Installing the DAP2/4 library diff --git a/configure.ac b/configure.ac index 6eb191248..5db1f8b47 100644 --- a/configure.ac +++ b/configure.ac @@ -10,7 +10,7 @@ dnl 'pc' files and tarball for the source. See dnl libdap4/travis/travis_libdap_build_offset.sh for info about setting the dnl base value for the build number. jhrg 3/22/21 -AC_INIT([libdap],[3.21.1],[opendap-tech@opendap.org]) +AC_INIT([libdap],[3.22.0],[opendap-tech@opendap.org]) # Get today's date in ISO 8601 format (YYYY-MM-DD) CONFIG_DATE=$(date +%Y-%m-%d) diff --git a/travis/travis_libdap_build_offset.sh b/travis/travis_libdap_build_offset.sh index d02bbf44f..ec7d37a3b 100644 --- a/travis/travis_libdap_build_offset.sh +++ b/travis/travis_libdap_build_offset.sh @@ -5,4 +5,4 @@ # x.y.z- is zero. jhrg 3/22/21 # -export LIBDAP_TRAVIS_BUILD_OFFSET=1892 +export LIBDAP_TRAVIS_BUILD_OFFSET=1893 From cfd98ba5e6de309587dbacf758b3b305d059c540 Mon Sep 17 00:00:00 2001 From: Miguel Jimenez-Urias Date: Tue, 21 Jul 2026 11:14:58 -0700 Subject: [PATCH 06/30] fix typos --- ChangeLog | 28 ++++++++++++++-------------- 1 file changed, 14 insertions(+), 14 deletions(-) diff --git a/ChangeLog b/ChangeLog index 58e75ae83..3e7a746b1 100644 --- a/ChangeLog +++ b/ChangeLog @@ -6,9 +6,9 @@ #370 coverage cleanup and #365 Document coverage data generation (PR #371) - * Remove python script that tested coverge data validity + * Remove python script that tested coverage data validity * Added a note to README.md about README.coverage.md - * Added a pre-commit tempate + * Added a pre-commit template Sonar fixes for HTTP -vs- HTTPS and '/tmp' use @@ -31,7 +31,7 @@ Remove DAPCache3Test from the CMake builds Sync sonar-project.properties and gcovr.config Added gcovr version print to .travis.yml - Removed macos 15 build - we don't that OS any more + Removed macos 15 build - we don't use that OS any more Move from the buggy (WRT sonarscan) gcovr 4.2 to 8.2 2026-07-14 James Gallagher @@ -90,7 +90,7 @@ (#320)" (#355) * Revert "Jhrg/hyrax-1963 dmr version bump (#320)" This reverts commit e3bf0b3d8c2f0665bd3758c54fdd4a11b802130f. - * Force D4ParserSax2 to always set dmrVersion="1.0" earn + * Force D4ParserSax2 to always set dmrVersion="1.0" when parsing a DMR 2026-04-20 James Gallagher @@ -159,11 +159,11 @@ the array size to the real storage size. Application needs to feed in the number. This member can apply to both the whole array or the subset. * HYRAX-1950, make the switch-branch work. - * HYRAX-1950, add a two new fields. One for the direct chunk + * HYRAX-1950, add two new fields. One for the direct chunk IO, one for the optimization to see if compression should be turned on in the fileout netCDF module. * HYRAX-1950, use clang-format. - * HYRAX-1950, set the filled chunk flag for the varaible + * HYRAX-1950, set the filled chunk flag for the variable storage info. * HYRAX-1950, follow clang-format. * HYRAX-1950, reduce a sonar cloud code smell @@ -225,7 +225,7 @@ 2026-03-02 James Gallagher - I made a settings.json.template si settings.json can be + I made a settings.json.template so settings.json can be customized (#338) I also modified tasks.json and launch.json so they use info in the @@ -233,7 +233,7 @@ changes to the hyrax $prefix env var. I added settings.json to .gitignore - so that one persons $prefix paths don't over write someone + so that one person's $prefix paths don't over write someone elses. HYRAX-1903: Use 'override' where appropriate (#337) @@ -323,7 +323,7 @@ make cmake tests tolerable (#329) Remove integration test .out files for das, dds, ..., tests Added baseline generation for the das, dds, ..., tests - For the dmr tess, move the test COMMAND to a bash script, + For the dmr tests, move the test COMMAND to a bash script, adding a level of indirection but simplifying debugging. dmr-test and expr-test now support parallel tests @@ -531,8 +531,8 @@ * All the DMR tests use numbers - the odd names are gone. * More cleaned up the string quoting.;Wrapping strings in "" is often not needed in cmake. I removed more, but - it seems somewhat pointless. Still,it's good to know. Any - function argument with a ';' needsto be double-quoted. + it seems somewhat pointless. Still, it's good to know. Any + function argument with a ';' needs to be double-quoted. * I removed two tests from HTTPThreadConnect Test. See HYRAX-1849. @@ -659,7 +659,7 @@ 2025-05-13 James Gallagher - Retred the ErrorAssignmentTest - subsumed by ErrorTest + Retired the ErrorAssignmentTest - subsumed by ErrorTest [skip ci] Coverage 2.0 (#281) @@ -791,7 +791,7 @@ Updated the documentation build date - Mionr update to build-gh-docs.sh + Minor update to build-gh-docs.sh Merge branch 'gh-docs-fix' @@ -890,7 +890,7 @@ Remove warnings 1 (#255) Removed some unary_ and binary_function classes. - Other chnages: sprintf to snprintf and string compare warnings; + Other changes: sprintf to snprintf and string compare warnings; Updated README.pre-commit.md; Bison version nonsense - when \ will RHEL8 upgrade?; More refactoring and some compiler warnings ignored; Added to HTTPConnect.cc for RHEL8. From 99a3a2b0b6541cf13dfe40def57fff180b3c6895 Mon Sep 17 00:00:00 2001 From: Miguel Jimenez-Urias Date: Tue, 21 Jul 2026 11:30:25 -0700 Subject: [PATCH 07/30] update API/ABI versioning --- configure.ac | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/configure.ac b/configure.ac index 5db1f8b47..bf2a9ef64 100644 --- a/configure.ac +++ b/configure.ac @@ -95,9 +95,9 @@ dnl increment AGE, set REVISION to 0. dnl Interfaces removed or changed (BAD, breaks upward compatibility): dnl ==> Increment CURRENT, set AGE and REVISION to 0. -DAPLIB_CURRENT=30 +DAPLIB_CURRENT=31 DAPLIB_REVISION=0 -DAPLIB_AGE=3 +DAPLIB_AGE=0 AC_SUBST(DAPLIB_CURRENT) AC_SUBST(DAPLIB_REVISION) From bb652f2768a4e07bc6c056101607bc1e976a7253 Mon Sep 17 00:00:00 2001 From: ndp-opendap Date: Tue, 21 Jul 2026 14:58:16 -0700 Subject: [PATCH 08/30] Moved to jammy and java-21 for sonarstuff --- .travis.yml | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) diff --git a/.travis.yml b/.travis.yml index f291d117b..328631840 100644 --- a/.travis.yml +++ b/.travis.yml @@ -10,7 +10,7 @@ # virt: lxd # use a lxd container # arch: amd64 # optional, this is the default, routes to a full VM # os: linux # optional, this is the default -dist: focal # xenial (Ubuntu 16) is the default; focal is Ubuntu 20 +dist: jammy # xenial (Ubuntu 16) is the default; focal is Ubuntu 20; jammy is Ubuntu 22 vm: size: x-large @@ -79,11 +79,11 @@ env: before_install: - if test -n "$AWS_ACCESS_KEY_ID" -a \( "$TRAVIS_JOB_NAME" = "make" -o "$TRAVIS_JOB_NAME" = "asan" -o "$TRAVIS_JOB_NAME" = "distcheck" \); then pip install --user awscli; fi # fix for Java 17 install for Sonar from Travis CI support. jhrg 1/23/24 - - if test "$TRAVIS_JOB_NAME" = "scan"; then curl -s "https://get.sdkman.io" | bash; fi - - if test "$TRAVIS_JOB_NAME" = "scan"; then source "$HOME/.sdkman/bin/sdkman-init.sh"; fi - - if test "$TRAVIS_JOB_NAME" = "scan"; then sdk install java 17.0.2-open; fi - - if test "$TRAVIS_JOB_NAME" = "scan"; then sdk use java 17.0.2-open; fi - - if test "$TRAVIS_JOB_NAME" = "scan"; then java -version; fi + #- if test "$TRAVIS_JOB_NAME" = "scan"; then curl -s "https://get.sdkman.io" | bash; fi + #- if test "$TRAVIS_JOB_NAME" = "scan"; then source "$HOME/.sdkman/bin/sdkman-init.sh"; fi + #- if test "$TRAVIS_JOB_NAME" = "scan"; then sdk install openjdk-21-jre-headless -y; fi + #- if test "$TRAVIS_JOB_NAME" = "scan"; then sdk use java openjdk-21; fi + #- if test "$TRAVIS_JOB_NAME" = "scan"; then java -version; fi install: - which bison flex @@ -144,6 +144,7 @@ jobs: - stage: scan name: "scan" + jdk: openjdk21 env: CACHE_NAME=scan TESTSUITEFLAGS=-j1 script: From 84355611264934f3655f000d472566455d531e19 Mon Sep 17 00:00:00 2001 From: ndp-opendap Date: Tue, 21 Jul 2026 15:00:32 -0700 Subject: [PATCH 09/30] Moved to jammy and java-21 for sonarstuff --- .travis.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.travis.yml b/.travis.yml index 328631840..423a1a230 100644 --- a/.travis.yml +++ b/.travis.yml @@ -148,6 +148,7 @@ jobs: env: CACHE_NAME=scan TESTSUITEFLAGS=-j1 script: + - echo "# Java Version is '$(java -version)'" - export LIBDAP_BUILD=sonar - export SONAR_TOKEN=$SONAR_LOGIN - autoreconf --force --install --verbose From cda8e4ee3a5562881dc949d5295315d712d270ca Mon Sep 17 00:00:00 2001 From: ndp-opendap Date: Tue, 21 Jul 2026 15:27:30 -0700 Subject: [PATCH 10/30] More java-21 for sonarstuff --- .travis.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.travis.yml b/.travis.yml index 423a1a230..b912b6ef7 100644 --- a/.travis.yml +++ b/.travis.yml @@ -144,7 +144,7 @@ jobs: - stage: scan name: "scan" - jdk: openjdk21 + jdk: jdk21 env: CACHE_NAME=scan TESTSUITEFLAGS=-j1 script: From 271d9a5893884ee9bca739e77c59a2b92a3d5d1f Mon Sep 17 00:00:00 2001 From: ndp-opendap Date: Tue, 21 Jul 2026 15:29:35 -0700 Subject: [PATCH 11/30] More java-21 for sonarstuff --- .travis.yml | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/.travis.yml b/.travis.yml index b912b6ef7..cdef11058 100644 --- a/.travis.yml +++ b/.travis.yml @@ -112,10 +112,13 @@ stages: # build but only for things that are not pull requests with the sole exception that branches # that end in '-test-deploy' are also allowed to trigger a BES build. jhrg 1/18/24 if: type != pull_request AND NOT branch =~ ^(.*-test-scan)$ OR branch =~ ^(.*-test-deploy)$ + - name: never + if: branch = never jobs: include: - - stage: build + # build + - stage: never name: "make" env: CACHE_NAME=make script: @@ -124,7 +127,8 @@ jobs: - ./configure --disable-dependency-tracking --prefix=$prefix - make -j$BUILD_PROCS && make check -j$BUILD_PROCS && make install - - stage: build + # build + - stage: never name: "asan" env: CACHE_NAME=asan script: @@ -132,8 +136,8 @@ jobs: - autoreconf --force --install --verbose - ./configure --disable-dependency-tracking --prefix=$prefix --enable-developer --enable-asan - make -j$BUILD_PROCS && make check -j$BUILD_PROCS - - - stage: build + # build + - stage: never name: "distcheck" env: CACHE_NAME=distcheck script: From 31463e7b03c17cf6f83072dce2f6d074cfd949e8 Mon Sep 17 00:00:00 2001 From: ndp-opendap Date: Tue, 21 Jul 2026 15:36:25 -0700 Subject: [PATCH 12/30] More java-21 for sonarstuff --- .travis.yml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/.travis.yml b/.travis.yml index cdef11058..6fc6ac0d3 100644 --- a/.travis.yml +++ b/.travis.yml @@ -152,7 +152,8 @@ jobs: env: CACHE_NAME=scan TESTSUITEFLAGS=-j1 script: - - echo "# Java Version is '$(java -version)'" + - echo "####################### SCAN BEGIN ################################" + - java -version - export LIBDAP_BUILD=sonar - export SONAR_TOKEN=$SONAR_LOGIN - autoreconf --force --install --verbose From 8e7403fa30b4860465754dc65ce005b1d8a9061f Mon Sep 17 00:00:00 2001 From: ndp-opendap Date: Tue, 21 Jul 2026 15:43:28 -0700 Subject: [PATCH 13/30] More java-21 for sonarstuff --- .travis.yml | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/.travis.yml b/.travis.yml index 6fc6ac0d3..611423fb7 100644 --- a/.travis.yml +++ b/.travis.yml @@ -19,6 +19,8 @@ language: cpp compiler: gcc # Could add clang +jdk: openjdk21 + # Build only 'master,' 'main,' or '.*-test-deploy' branches. This is used down in the # "stages" section where we assume the build process is only run for branches that # match those patterns. jhrg 8/22/22 @@ -81,8 +83,8 @@ before_install: # fix for Java 17 install for Sonar from Travis CI support. jhrg 1/23/24 #- if test "$TRAVIS_JOB_NAME" = "scan"; then curl -s "https://get.sdkman.io" | bash; fi #- if test "$TRAVIS_JOB_NAME" = "scan"; then source "$HOME/.sdkman/bin/sdkman-init.sh"; fi - #- if test "$TRAVIS_JOB_NAME" = "scan"; then sdk install openjdk-21-jre-headless -y; fi - #- if test "$TRAVIS_JOB_NAME" = "scan"; then sdk use java openjdk-21; fi + #- if test "$TRAVIS_JOB_NAME" = "scan"; then sdk install java 17.0.2-open; fi + #- if test "$TRAVIS_JOB_NAME" = "scan"; then sdk use java 17.0.2-open; fi #- if test "$TRAVIS_JOB_NAME" = "scan"; then java -version; fi install: @@ -148,11 +150,10 @@ jobs: - stage: scan name: "scan" - jdk: jdk21 env: CACHE_NAME=scan TESTSUITEFLAGS=-j1 script: - - echo "####################### SCAN BEGIN ################################" + - echo "---------------------------------------------------------------------" - java -version - export LIBDAP_BUILD=sonar - export SONAR_TOKEN=$SONAR_LOGIN From 49a6fe79da917b638faa4a23dc658874ea73a947 Mon Sep 17 00:00:00 2001 From: ndp-opendap Date: Tue, 21 Jul 2026 15:47:41 -0700 Subject: [PATCH 14/30] More java-21 for sonarstuff --- .travis.yml | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/.travis.yml b/.travis.yml index 611423fb7..21a44c400 100644 --- a/.travis.yml +++ b/.travis.yml @@ -19,8 +19,6 @@ language: cpp compiler: gcc # Could add clang -jdk: openjdk21 - # Build only 'master,' 'main,' or '.*-test-deploy' branches. This is used down in the # "stages" section where we assume the build process is only run for branches that # match those patterns. jhrg 8/22/22 @@ -80,6 +78,10 @@ env: # only install things when needed to save time. jhrg 4/1/26 before_install: - if test -n "$AWS_ACCESS_KEY_ID" -a \( "$TRAVIS_JOB_NAME" = "make" -o "$TRAVIS_JOB_NAME" = "asan" -o "$TRAVIS_JOB_NAME" = "distcheck" \); then pip install --user awscli; fi + - sudo apt-get update + - sudo apt-get install -y openjdk-21-jdk + - export JAVA_HOME=/usr/lib/jvm/java-21-openjdk-amd64 + - export PATH=$JAVA_HOME/bin:$PATH # fix for Java 17 install for Sonar from Travis CI support. jhrg 1/23/24 #- if test "$TRAVIS_JOB_NAME" = "scan"; then curl -s "https://get.sdkman.io" | bash; fi #- if test "$TRAVIS_JOB_NAME" = "scan"; then source "$HOME/.sdkman/bin/sdkman-init.sh"; fi From 797e0539dd6eb06d90e44e7629d5b21188ccff74 Mon Sep 17 00:00:00 2001 From: ndp-opendap Date: Tue, 21 Jul 2026 15:50:27 -0700 Subject: [PATCH 15/30] More java-21 for sonarstuff --- .travis.yml | 24 ++++++++++++++---------- 1 file changed, 14 insertions(+), 10 deletions(-) diff --git a/.travis.yml b/.travis.yml index 21a44c400..f0db5c87c 100644 --- a/.travis.yml +++ b/.travis.yml @@ -78,16 +78,20 @@ env: # only install things when needed to save time. jhrg 4/1/26 before_install: - if test -n "$AWS_ACCESS_KEY_ID" -a \( "$TRAVIS_JOB_NAME" = "make" -o "$TRAVIS_JOB_NAME" = "asan" -o "$TRAVIS_JOB_NAME" = "distcheck" \); then pip install --user awscli; fi - - sudo apt-get update - - sudo apt-get install -y openjdk-21-jdk - - export JAVA_HOME=/usr/lib/jvm/java-21-openjdk-amd64 - - export PATH=$JAVA_HOME/bin:$PATH - # fix for Java 17 install for Sonar from Travis CI support. jhrg 1/23/24 - #- if test "$TRAVIS_JOB_NAME" = "scan"; then curl -s "https://get.sdkman.io" | bash; fi - #- if test "$TRAVIS_JOB_NAME" = "scan"; then source "$HOME/.sdkman/bin/sdkman-init.sh"; fi - #- if test "$TRAVIS_JOB_NAME" = "scan"; then sdk install java 17.0.2-open; fi - #- if test "$TRAVIS_JOB_NAME" = "scan"; then sdk use java 17.0.2-open; fi - #- if test "$TRAVIS_JOB_NAME" = "scan"; then java -version; fi + - if [ "$TRAVIS_JOB_NAME" = "scan" ]; then \ + sudo apt-get update; \ + sudo apt-get install -y openjdk-21-jdk; \ + export JAVA_HOME=/usr/lib/jvm/java-21-openjdk-amd64; \ + export PATH=$JAVA_HOME/bin:$PATH; \ + java -version; \ + fi + +# fix for Java 17 install for Sonar from Travis CI support. jhrg 1/23/24 +#- if test "$TRAVIS_JOB_NAME" = "scan"; then curl -s "https://get.sdkman.io" | bash; fi +#- if test "$TRAVIS_JOB_NAME" = "scan"; then source "$HOME/.sdkman/bin/sdkman-init.sh"; fi +#- if test "$TRAVIS_JOB_NAME" = "scan"; then sdk install java 17.0.2-open; fi +#- if test "$TRAVIS_JOB_NAME" = "scan"; then sdk use java 17.0.2-open; fi +#- if test "$TRAVIS_JOB_NAME" = "scan"; then java -version; fi install: - which bison flex From 06f9387269a049589501301f3dd8f046be6a8014 Mon Sep 17 00:00:00 2001 From: ndp-opendap Date: Tue, 21 Jul 2026 15:54:27 -0700 Subject: [PATCH 16/30] More java-21 for sonarstuff --- .travis.yml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/.travis.yml b/.travis.yml index f0db5c87c..d3e478133 100644 --- a/.travis.yml +++ b/.travis.yml @@ -81,10 +81,10 @@ before_install: - if [ "$TRAVIS_JOB_NAME" = "scan" ]; then \ sudo apt-get update; \ sudo apt-get install -y openjdk-21-jdk; \ - export JAVA_HOME=/usr/lib/jvm/java-21-openjdk-amd64; \ - export PATH=$JAVA_HOME/bin:$PATH; \ + export JAVA_HOME="/usr/lib/jvm/java-21-openjdk-amd64"; \ + export PATH="$JAVA_HOME/bin:$PATH"; \ java -version; \ - fi + fi ; # fix for Java 17 install for Sonar from Travis CI support. jhrg 1/23/24 #- if test "$TRAVIS_JOB_NAME" = "scan"; then curl -s "https://get.sdkman.io" | bash; fi From ff84a15ae90829142ef82d1ff3e4ca65c46248ff Mon Sep 17 00:00:00 2001 From: ndp-opendap Date: Tue, 21 Jul 2026 15:58:48 -0700 Subject: [PATCH 17/30] More java-21 for sonarstuff --- .travis.yml | 16 +++++++++------- 1 file changed, 9 insertions(+), 7 deletions(-) diff --git a/.travis.yml b/.travis.yml index d3e478133..e3d525640 100644 --- a/.travis.yml +++ b/.travis.yml @@ -78,13 +78,15 @@ env: # only install things when needed to save time. jhrg 4/1/26 before_install: - if test -n "$AWS_ACCESS_KEY_ID" -a \( "$TRAVIS_JOB_NAME" = "make" -o "$TRAVIS_JOB_NAME" = "asan" -o "$TRAVIS_JOB_NAME" = "distcheck" \); then pip install --user awscli; fi - - if [ "$TRAVIS_JOB_NAME" = "scan" ]; then \ - sudo apt-get update; \ - sudo apt-get install -y openjdk-21-jdk; \ - export JAVA_HOME="/usr/lib/jvm/java-21-openjdk-amd64"; \ - export PATH="$JAVA_HOME/bin:$PATH"; \ - java -version; \ - fi ; + - | + if [ "$TRAVIS_JOB_NAME" = "scan" ] + then + sudo apt-get update + sudo apt-get install -y openjdk-21-jdk + export JAVA_HOME="/usr/lib/jvm/java-21-openjdk-amd64" + export PATH="$JAVA_HOME/bin:$PATH" + java -version + fi # fix for Java 17 install for Sonar from Travis CI support. jhrg 1/23/24 #- if test "$TRAVIS_JOB_NAME" = "scan"; then curl -s "https://get.sdkman.io" | bash; fi From 747ffcf8114d151ebee5f4f559606b207e20653e Mon Sep 17 00:00:00 2001 From: ndp-opendap Date: Tue, 21 Jul 2026 16:06:02 -0700 Subject: [PATCH 18/30] More java-21 for sonarstuff --- .travis.yml | 15 ++++----------- 1 file changed, 4 insertions(+), 11 deletions(-) diff --git a/.travis.yml b/.travis.yml index e3d525640..ae61749e4 100644 --- a/.travis.yml +++ b/.travis.yml @@ -88,13 +88,6 @@ before_install: java -version fi -# fix for Java 17 install for Sonar from Travis CI support. jhrg 1/23/24 -#- if test "$TRAVIS_JOB_NAME" = "scan"; then curl -s "https://get.sdkman.io" | bash; fi -#- if test "$TRAVIS_JOB_NAME" = "scan"; then source "$HOME/.sdkman/bin/sdkman-init.sh"; fi -#- if test "$TRAVIS_JOB_NAME" = "scan"; then sdk install java 17.0.2-open; fi -#- if test "$TRAVIS_JOB_NAME" = "scan"; then sdk use java 17.0.2-open; fi -#- if test "$TRAVIS_JOB_NAME" = "scan"; then java -version; fi - install: - which bison flex - bison --version @@ -128,7 +121,7 @@ stages: jobs: include: # build - - stage: never + - stage: build name: "make" env: CACHE_NAME=make script: @@ -138,7 +131,7 @@ jobs: - make -j$BUILD_PROCS && make check -j$BUILD_PROCS && make install # build - - stage: never + - stage: build name: "asan" env: CACHE_NAME=asan script: @@ -147,7 +140,7 @@ jobs: - ./configure --disable-dependency-tracking --prefix=$prefix --enable-developer --enable-asan - make -j$BUILD_PROCS && make check -j$BUILD_PROCS # build - - stage: never + - stage: build name: "distcheck" env: CACHE_NAME=distcheck script: @@ -161,7 +154,7 @@ jobs: env: CACHE_NAME=scan TESTSUITEFLAGS=-j1 script: - - echo "---------------------------------------------------------------------" + - echo "------ BEGIN scan ---------------------------------------------------------" - java -version - export LIBDAP_BUILD=sonar - export SONAR_TOKEN=$SONAR_LOGIN From b0c6f99438172aada2b7a61214d892a08f705767 Mon Sep 17 00:00:00 2001 From: ndp-opendap Date: Tue, 21 Jul 2026 16:37:37 -0700 Subject: [PATCH 19/30] More java-21 for sonarstuff --- README.coverage.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.coverage.md b/README.coverage.md index bff3c6b24..96abee526 100644 --- a/README.coverage.md +++ b/README.coverage.md @@ -53,7 +53,7 @@ These include, not working with parallel test runs, emitting broken data for Son under-reporting coverage. > [!NOTE] -> Note that Ubuntu Focal uses `gcovr` 4.x by default, and thus in Travis we force the 'scan' +> Note that Ubuntu Jammy uses `gcovr` 5.x by default, and thus in Travis we force the 'scan' > step to use 8.2 using a `pip` install. Make sure to test the version of `gcovr` using > `gcovr --version`. From 484792eb7345d896eb0a4fd10804f8c80c1c8891 Mon Sep 17 00:00:00 2001 From: ndp-opendap Date: Tue, 21 Jul 2026 16:56:03 -0700 Subject: [PATCH 20/30] Update build-offset --- travis/travis_libdap_build_offset.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/travis/travis_libdap_build_offset.sh b/travis/travis_libdap_build_offset.sh index ec7d37a3b..72fad4168 100644 --- a/travis/travis_libdap_build_offset.sh +++ b/travis/travis_libdap_build_offset.sh @@ -5,4 +5,4 @@ # x.y.z- is zero. jhrg 3/22/21 # -export LIBDAP_TRAVIS_BUILD_OFFSET=1893 +export LIBDAP_TRAVIS_BUILD_OFFSET=1906 From 35c67ca5e8ea8a44bf002097281c2b85cd5c5dfa Mon Sep 17 00:00:00 2001 From: ndp-opendap Date: Wed, 22 Jul 2026 03:21:22 -0700 Subject: [PATCH 21/30] More java-21 for sonarstuff --- .travis.yml | 2 -- 1 file changed, 2 deletions(-) diff --git a/.travis.yml b/.travis.yml index ae61749e4..fd73623ad 100644 --- a/.travis.yml +++ b/.travis.yml @@ -83,8 +83,6 @@ before_install: then sudo apt-get update sudo apt-get install -y openjdk-21-jdk - export JAVA_HOME="/usr/lib/jvm/java-21-openjdk-amd64" - export PATH="$JAVA_HOME/bin:$PATH" java -version fi From afaa6bf1090307d66b52e60c27f3d658bb8c635d Mon Sep 17 00:00:00 2001 From: ndp-opendap Date: Wed, 22 Jul 2026 03:33:28 -0700 Subject: [PATCH 22/30] More java-21 for sonarstuff --- .travis.yml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/.travis.yml b/.travis.yml index fd73623ad..5d8cdb605 100644 --- a/.travis.yml +++ b/.travis.yml @@ -153,6 +153,8 @@ jobs: TESTSUITEFLAGS=-j1 script: - echo "------ BEGIN scan ---------------------------------------------------------" + - export JAVA_HOME="/usr/lib/jvm/java-21-openjdk-amd64" + - export PATH="$JAVA_HOME/bin:$PATH" - java -version - export LIBDAP_BUILD=sonar - export SONAR_TOKEN=$SONAR_LOGIN From 9b9bd1d887fd4067ddb4968f07c62bbaac00f03d Mon Sep 17 00:00:00 2001 From: ndp-opendap Date: Wed, 22 Jul 2026 03:47:00 -0700 Subject: [PATCH 23/30] More java-21 for sonarstuff --- .travis.yml | 16 +++++++++------- 1 file changed, 9 insertions(+), 7 deletions(-) diff --git a/.travis.yml b/.travis.yml index 5d8cdb605..2c4c27403 100644 --- a/.travis.yml +++ b/.travis.yml @@ -78,13 +78,13 @@ env: # only install things when needed to save time. jhrg 4/1/26 before_install: - if test -n "$AWS_ACCESS_KEY_ID" -a \( "$TRAVIS_JOB_NAME" = "make" -o "$TRAVIS_JOB_NAME" = "asan" -o "$TRAVIS_JOB_NAME" = "distcheck" \); then pip install --user awscli; fi - - | - if [ "$TRAVIS_JOB_NAME" = "scan" ] - then - sudo apt-get update - sudo apt-get install -y openjdk-21-jdk - java -version - fi +# - | +# if [ "$TRAVIS_JOB_NAME" = "scan" ] +# then +# sudo apt-get update +# sudo apt-get install -y openjdk-21-jdk +# java -version +# fi install: - which bison flex @@ -153,6 +153,8 @@ jobs: TESTSUITEFLAGS=-j1 script: - echo "------ BEGIN scan ---------------------------------------------------------" + - sudo apt-get update + - sudo apt-get install -y openjdk-21-jdk - export JAVA_HOME="/usr/lib/jvm/java-21-openjdk-amd64" - export PATH="$JAVA_HOME/bin:$PATH" - java -version From 9859baec56c9d4b2cc70d865d3454c70580d5cd5 Mon Sep 17 00:00:00 2001 From: ndp-opendap Date: Wed, 22 Jul 2026 05:18:20 -0700 Subject: [PATCH 24/30] More java-21 for sonarstuff --- .travis.yml | 12 +++--------- 1 file changed, 3 insertions(+), 9 deletions(-) diff --git a/.travis.yml b/.travis.yml index 2c4c27403..37ab5f378 100644 --- a/.travis.yml +++ b/.travis.yml @@ -78,13 +78,6 @@ env: # only install things when needed to save time. jhrg 4/1/26 before_install: - if test -n "$AWS_ACCESS_KEY_ID" -a \( "$TRAVIS_JOB_NAME" = "make" -o "$TRAVIS_JOB_NAME" = "asan" -o "$TRAVIS_JOB_NAME" = "distcheck" \); then pip install --user awscli; fi -# - | -# if [ "$TRAVIS_JOB_NAME" = "scan" ] -# then -# sudo apt-get update -# sudo apt-get install -y openjdk-21-jdk -# java -version -# fi install: - which bison flex @@ -153,10 +146,11 @@ jobs: TESTSUITEFLAGS=-j1 script: - echo "------ BEGIN scan ---------------------------------------------------------" + # SonarScan wants Java-21 - sudo apt-get update - sudo apt-get install -y openjdk-21-jdk - - export JAVA_HOME="/usr/lib/jvm/java-21-openjdk-amd64" - - export PATH="$JAVA_HOME/bin:$PATH" + #- export JAVA_HOME="/usr/lib/jvm/java-21-openjdk-amd64" + #- export PATH="$JAVA_HOME/bin:$PATH" - java -version - export LIBDAP_BUILD=sonar - export SONAR_TOKEN=$SONAR_LOGIN From 60eeca1bb590a06a1d99555940118cc709c3e789 Mon Sep 17 00:00:00 2001 From: ndp-opendap Date: Wed, 22 Jul 2026 05:42:05 -0700 Subject: [PATCH 25/30] More java-21 for sonarstuff --- .travis.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.travis.yml b/.travis.yml index 37ab5f378..bbde3f629 100644 --- a/.travis.yml +++ b/.travis.yml @@ -149,8 +149,8 @@ jobs: # SonarScan wants Java-21 - sudo apt-get update - sudo apt-get install -y openjdk-21-jdk - #- export JAVA_HOME="/usr/lib/jvm/java-21-openjdk-amd64" - #- export PATH="$JAVA_HOME/bin:$PATH" + - export JAVA_HOME="/usr/lib/jvm/java-21-openjdk-amd64" + - export PATH="$JAVA_HOME/bin:$PATH" - java -version - export LIBDAP_BUILD=sonar - export SONAR_TOKEN=$SONAR_LOGIN From 0ca16521f7a63109d5d0fbc9a544fdd24f05433c Mon Sep 17 00:00:00 2001 From: ndp-opendap Date: Wed, 22 Jul 2026 07:02:31 -0700 Subject: [PATCH 26/30] rabbit --- NEWS | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/NEWS b/NEWS index 13669d181..63ca3f492 100644 --- a/NEWS +++ b/NEWS @@ -3,7 +3,7 @@ This file is the canonical, version-by-version record of user-visible changes. Keep entries in reverse chronological order (newest first). -## Version 3.22.0 +## Version 3.22.0-0 - Multi-pass overhaul of the test coverage tooling: switched to gcovr-based reporting (including a SonarQube-compatible format), fixed issues, and documented how to generate the coverage data. - Recurring warnings cleanup across the codebase: removed legacy `unary_function` usage, added `override` throughout, and fixed warnings surfaced in tests and on GitHub Actions builds over several passes. From 366ee7ad95959a3f4360ca7bda26cd145b6740db Mon Sep 17 00:00:00 2001 From: ndp-opendap Date: Thu, 23 Jul 2026 08:08:57 -0700 Subject: [PATCH 27/30] Update TravisBuildOffset to 1913 --- travis/travis_libdap_build_offset.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/travis/travis_libdap_build_offset.sh b/travis/travis_libdap_build_offset.sh index 72fad4168..050fe235e 100644 --- a/travis/travis_libdap_build_offset.sh +++ b/travis/travis_libdap_build_offset.sh @@ -5,4 +5,4 @@ # x.y.z- is zero. jhrg 3/22/21 # -export LIBDAP_TRAVIS_BUILD_OFFSET=1906 +export LIBDAP_TRAVIS_BUILD_OFFSET=1913 From 7abdb6c1e268fe9263dce0aaac0488ce33197bde Mon Sep 17 00:00:00 2001 From: ndp-opendap Date: Thu, 23 Jul 2026 08:56:03 -0700 Subject: [PATCH 28/30] Using the raw travis build number for PR builds and only use the build offset for master/main builds. --- travis/travis_libdap_build_offset.sh | 24 ++++++++++++++++++++++-- 1 file changed, 22 insertions(+), 2 deletions(-) diff --git a/travis/travis_libdap_build_offset.sh b/travis/travis_libdap_build_offset.sh index 050fe235e..5d66935b5 100644 --- a/travis/travis_libdap_build_offset.sh +++ b/travis/travis_libdap_build_offset.sh @@ -1,8 +1,28 @@ -#/bin/sh +#!/bin/bash # # When the release numbers are edited in configure.ac, update this # to the current Travis number so that the 'build number' in # x.y.z- is zero. jhrg 3/22/21 # +HR="=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=" +########################################################################### +# loggy() +function loggy() { + echo "$@" | awk '{ print "# travis_libdap_build_offset.sh() - "$0;}' >&2 +} -export LIBDAP_TRAVIS_BUILD_OFFSET=1913 +loggy "BEGIN $HR" + +# This is the TravisCI build number when the +# last formal release was built. +export LIBDAP_TRAVIS_BUILD_OFFSET=1914 + +if [ "$TRAVIS_PULL_REQUEST" != "false" ] +then + loggy "This is a Pull Request build for PR #$TRAVIS_PULL_REQUEST" + loggy "Setting LIBDAP_TRAVIS_BUILD_OFFSET to 0" + LIBDAP_TRAVIS_BUILD_OFFSET=0 +fi + +loggy "Using LIBDAP_TRAVIS_BUILD_OFFSET: $LIBDAP_TRAVIS_BUILD_OFFSET" +loggy "END $HR" From 1751c6f4b2768837f358fdadfc522700ac24d1f4 Mon Sep 17 00:00:00 2001 From: ndp-opendap Date: Thu, 23 Jul 2026 13:38:41 -0700 Subject: [PATCH 29/30] Rolling back from jammy to focal --- .travis.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.travis.yml b/.travis.yml index bbde3f629..dacfb23b9 100644 --- a/.travis.yml +++ b/.travis.yml @@ -10,7 +10,7 @@ # virt: lxd # use a lxd container # arch: amd64 # optional, this is the default, routes to a full VM # os: linux # optional, this is the default -dist: jammy # xenial (Ubuntu 16) is the default; focal is Ubuntu 20; jammy is Ubuntu 22 +dist: focal # xenial (Ubuntu 16) is the default; focal is Ubuntu 20; jammy is Ubuntu 22 vm: size: x-large From f3f466963895ec8fe1647490f935ee1eb3ca3e4b Mon Sep 17 00:00:00 2001 From: ndp-opendap Date: Thu, 23 Jul 2026 14:06:59 -0700 Subject: [PATCH 30/30] Ready to merge. --- travis/travis_libdap_build_offset.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/travis/travis_libdap_build_offset.sh b/travis/travis_libdap_build_offset.sh index 5d66935b5..cf2fc8432 100644 --- a/travis/travis_libdap_build_offset.sh +++ b/travis/travis_libdap_build_offset.sh @@ -15,7 +15,7 @@ loggy "BEGIN $HR" # This is the TravisCI build number when the # last formal release was built. -export LIBDAP_TRAVIS_BUILD_OFFSET=1914 +export LIBDAP_TRAVIS_BUILD_OFFSET=1917 if [ "$TRAVIS_PULL_REQUEST" != "false" ] then