Skip to content

Latest commit

 

History

History
104 lines (92 loc) · 6.95 KB

ReleaseNotes.md

File metadata and controls

104 lines (92 loc) · 6.95 KB

coda-oss Release Notes

  • Update to HighFive 2.8.0.
  • Use lookup tables for converting between character encodings and upper/lower-case.
  • sys::Transform(std::execution) for C++14.
  • Infrastructure to support SIMD processing.
  • Simple/incomplete std::mdspan implementation.
  • Support for building as a shared library/DLL, disabled by default.
  • Create/destroy Xerces just once per process.
  • Tweaked .gitattributes.
  • Removed str::EncodedStringView; made str conversion routines more consistent.
  • FmtX() uses overloads rather than C-style varargs.
  • Add std::ssize().
  • ENABLE_AVX2 and ENABLE_AVX512F flags for CMake builds.
  • Build cleanly with ASAN.
  • New sys::OS::getSIMDInstructionSet() utility routine; SSE2 is required (default with 64-bit builds).
  • types::ComplexInteger to work-around std::complex<short> no longer being valid C++.
  • Another round of reducing various compiler warnings (of note: NULL -> nullptr).
  • Some support for std::numbers from C++20.
  • Update to HighFive 2.7.1.
  • Update to e2fsprogs 1.47.0.
  • Update to xerces-c 3.2.4.
  • Update to HDF5 1.14.2.
  • mem::ComplexViews renamed to be more descriptive.
  • hdf5.lite removed, use HighFive (included).
  • added .gitattributes and normalized line-endings (\n for most text files).
  • zlib updated to 1.2.13.
  • new mem::ComplexView class to make it easier to process complex data stored in parallel.
  • adjust compiler flags for clean CMake builds.
  • wrap common "file open" routines (e.g., fopen()) to support sys::expandEnvironmentVariables().
  • add header-only HighFive HDF5-wrapper library.
  • Added a handful of HighFive utility routines.
  • mt::transform_async() removed, it doesn't match C++17 techniques.
  • Revamp sys::byteSwap() for improved type-safety and better performance.
  • Added case-insensitive string comparison utilities: str::eq() and str::ne(); xml::lite::Uris compare case-insensitive.
  • removed remaining vestiges of std::auto_ptr, provide mem::AutoPtr for the tiny handful of places (e.g., SWIG bindings) that still need copying.
  • xml::lite::Element overloads to make creating new XML documents easier; see unittests for examples.
  • try even harder to find unittest files in various scenarios.
  • build hdf5.lite with waf.
  • New --optz=fastest-possible (waf only) which adds -march=native to fastest for waf builds. There is a new faster option (the default) which is currently the same as fastest (i.e., no -march=native).
  • "Cut" from main, not master.
  • The HDFGroups HDF5 library is built and installed; a simple (and very incomplete!) wrapper is provided, this is at the "hello world!" stage.
  • A few cli routines have been tweaked to make unit-testing easier.
  • Utility routines for finding various files when unit-testing.
  • Removed C++14 work-arounds needed in C++11. Legacy C++ exception specifications removed.
  • Rebuild waf for FIPS error; added more debug options.
  • XML is now always written as UTF-8; the code will still try to read Windows-1252.
  • Uris are no longer validated by default.
  • Minor tweaks from other projects.
  • Final C++11 release 🤞🏻; future releases will be C++14 from main.
  • remove Expat and libXML modules and support in xml.lite; only Xerces was actively used.
  • fix waf to work-around FIPS warning because of insecure md5 hashing.
  • tweak str::EncodedStringView and str::EncodedString for future XML changes.
  • Fixed a bug in Poly2D::atY(); improved flipXY() behavior.
  • Implement std::filesystem::file_size().
  • use inline functions for TEST_ macros
  • force use of 64-bit time_t
  • more routines now support a std::span overload; e.g., io::InputStream::read().
  • new EnocdedString and EncodedStringView to manage strings in different encodings
  • XML containing UTF-8 characters can now be validated
  • Update to GSL 4.0.0
  • our implementation of std stuff is all in the coda_oss namespace
  • old, unused log4j.jar deleted to remove any questions about the security vulnerability
  • Try hard to parse XML encoded in various ways
  • Simplify XML element creation for common idioms