Common
- Added CMake option
OLP_SDK_USE_STD_OPTIONALto enforcestd::optionalfor C++17 and above instead ofboost::optional. - Added CMake option
OLP_SDK_USE_STD_ANYto enforcestd::anyfor C++17 and above instead ofboost::any. - Migrated from
boost::optionaltoolp::porting::optionalthroughout the codebase. - Migrated from
boost::any_casttoolp::porting::any_castthroughout the codebase. - Added missing headers for compatibility with newer compilers.
- Fixed compatibility issues with older Boost versions.
olp-cpp-sdk-authentication
- Added support for custom request body
olp::authentication::AuthenticationClient::SignInProperties::custom_bodyto be sent to authentication endpoint URL from credentials.
olp-cpp-sdk-core
- Added censoring API
olp::logging::Log::addCensorto mask sensitive values from log messages at runtime. - Added optional diagnostic output to the network layer with
olp::http::NetworkInitializationSettings::diagnostic_output_path. - Added
olp::cache::KeyValueCache::ListKeys()method to list keys available in the cache. - Use standard version of
shared_lockfor C++14. - Added implementation for
olp::geo::GeoRectangleoperators==and!=. - Fixed thread safety and lifetime issues in the network layer implementations.
- Removed custom certificate handling in iOS network implementation due to deprecated API usage and transient errors.
- Disabled cURL transfer encoding for old versions to prevent "TE" header issues in HTTP/2 (fixed in cURL 8.12.0).
- Fixed KeyGenerator to be always included in
olp-sdk-coreregardless ofOLP_SDK_ENABLE_DEFAULT_CACHEvalue. - Added ability to override Java version via
OLP_SDK_JAVA_TARGETfor Android builds to support newer Java compilers.