Release 1.20.0
Common
- Updated links and filenames in the documentation.
- Improved the CI scripts and pipelines.
olp-cpp-sdk-authentication
- Fixed the
DateTimeparser to respect DST timezones on iOS. - Fixed the mechanism that determines the absolute path of the credentials file on new Windows versions, such as Windows 11.
olp-cpp-sdk-core
- Extended logging with
olp::logging::LogContextandolp::logging::ScopedLogContextto facilitate better management of logs. - Added logging contexts usage to the
olp::http::NetworkCurlclass. - Added a new error code
olp::client::ErrorCode::NoSpaceLeftto signal a shortage of available space on the target device. - Extended
olp::cache::KeyValueCacheandolp::cache::DefaultCachewith new methods:Read,Write,Delete, andDeleteByPrefixto allow propagation of actual operation errors.
These methods correspond toPut,Get,Remove, andRemoveKeysWithPrefix, but returnolp::cache::OperationOutcome. - Extended
olp::client::OlpClientSettingswith a new settingpropagate_all_cache_errorsthat allows to enable the propagation of all cache errors. - Added a new way of serializing data to JSON, which outputs the result to a byte vector.
- Updated the logic to use a generated session ID for the background network session on iOS.
- Added support of Android-like build on desktops to allow running tests on host PCs.
- Fixed deprecation warnings related to C++17.
- Added background timeouts for iOS.
- Made CMake option
OLP_SDK_ENABLE_IOS_BACKGROUND_DOWNLOADusable only for iOS. - Added missing thread names for resource and time-intensive operations to help with profiling and debugging.
olp-cpp-sdk-dataservice-read
- Optimized memory allocations.
- Added a
DeleteFromCachemethod toolp::dataservice::read::VersionedLayerClientandolp::dataservice::read::VolatileLayerClientto allow the propagation of the actual operation error.