v0.4.1
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 andmake 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)