Skip to content

v0.4.1

Compare
Choose a tag to compare
@ashao ashao released this 07 Jul 00:13
· 103 commits to master since this release
616f474

Released on July 5, 2023

Description

This release revamps the build and test systems for SmartRedis as well
as improving compatibility with different Fortran compilers and laying
the groundwork for future support for interacting with multiple
concurrent backend databases:

  • Documentation improvements
  • Improved compatibility of type hints with third-party software
  • Added type hints to the Python interface layer
  • Add support for Python 3.10
  • Updated setup.py to work with the new build system
  • Remove unneeded method from Python SRObject class
  • Fixed a memory leak in the C layer
  • Revamp SmartRedis test system
  • Remove debug output in pybind layer
  • Update Hiredis version to 1.1.0
  • Enable parallel build for the SmartRedis examples
  • Experimental support for Nvidia toolchain
  • Major revamp of build and test systems for SmartRedis
  • Refactor Fortran methods to return default logical kind
  • Update CI/CD tests to use a modern version of MacOS
  • Fix the spelling of the Dataset destructor's C interface (now
    DeallocateDataSet)
  • Update Redis++ version to 1.3.8
  • Refactor third-party software dependency installation
  • Add pip-install target to Makefile to automate this process going
    forward (note: this was later removed)
  • Added infrastructure for multiDB support

Detailed Notes

  • Assorted updates and clarifications to the documentation (PR367)
  • Turn ParamSpec usage into forward
    references to not require typing-extensions at runtime (PR365)
  • Added type hints to the Python interface layer (PR361)
  • List Python 3.10 support and loosen PyTorch requirement to allow for
    versions support Python 3.10 (PR360)
  • Streamlined setup.py to simplify Python install (PR359)
  • Remove from_pybind() from Python SRObject class as it's not needed
    and didn't work properly anyway (PR358)
  • Fixed memory leaked from the C layer when calling
    get_string_option() (PR357)
  • Major revamp to simplify use of SmartRedis test system, automating
    most test processes (PR356)
  • Remove debug output in pybind layer associated with put_dataset (PR352)
  • Updated to the latest version of Hiredis (1.1.0) (PR351)
  • Enable parallel build for the SmartRedis examples by moving utility
    Fortran code into a small static library (PR349)
  • For the NVidia toolchain only: Replaces the assumed rank feature of
    F2018 used in the Fortran client with assumed shape arrays, making
    it possible to compile SmartRedis with the Nvidia toolchain. (PR346)
  • Rework the build and test system to improve maintainability of the
    library. There have been several significant changes, including that
    Python and Fortran clients are no longer built by defaults and that
    there are Make variables that customize the build process. Please
    review the build documentation and make help to see all that has
    changed. (PR341)
  • Many Fortran routines were returning logical kind = c_bool which
    turns out not to be the same default kind of most Fortran compilers.
    These have now been refactored so that users need not import
    iso_c_binding in their own applications (PR340)
  • Update MacOS version in CI/CD tests from 10.15 to 12.0 (PR339)
  • Correct the spelling of the C DataSet destruction interface from
    DeallocateeDataSet to DeallocateDataSet (PR338)
  • Updated the version of Redis++ to v1.3.8 to pull in a change that
    ensures the redis++.pc file properly points to the generated
    libraries (PR334)
  • Third-party software dependency installation is now handled in the
    Makefile instead of separate scripts
  • New pip-install target in Makefile will be a dependency of the lib
    target going forward so that users don't have to manually pip
    install SmartRedis in the future (PR330)
  • Added ConfigOptions class and API, which will form the backbone of
    multiDB support (PR303)