* build: add compile options for Windows and include string header
Set ssize_t definition for Windows builds to ensure compatibility. Include string header to support additional functionality in the grpc message handling.
* build: reorganize CMake options for clarity
Enhance CMake configuration by restructuring compilation options for MSVC and Windows. This improves readability and ensures compatibility with UTF-8 while maintaining the NOMINMAX definition on Windows.
* fix: add GIL for pybind11::bytes object accessing
Protect the access to the pybind11::bytes object with a GIL lock to avoid potential memory errors, and unify the handling of empty and non-empty strings.
Eliminate unused functions for empty byte objects in the export channel and export RPC modules to enhance code clarity.
* docs: update release notes and versioning
Add release notes for versions 0.8.2 and 0.8.3, highlighting important fixes, including resolutions for platform-specific linking issues and stability improvements for multi-threaded RPC calls. Increment version to 0.8.3.
Include the dynamic loading library to enhance compatibility when using the fmt library, ensuring that dependent components can function correctly with external resources.
Ensure consistent path resolution by replacing CMAKE_SOURCE_DIR with PROJECT_SOURCE_DIR in various locations. This improves portability and adherence to project structure, facilitating better package management and plugin detection.