Release 1.14.0
·
288 commits
to master
since this release
Common
- Work In Progress Added the LMDB library as a dependency. The library is currently not used and turned off by default in CMake.
- Added proper handling of the
SSLExceptionerror to the Android implementation ofolp::http::Network. Now, the error is mapped toolp::http::ErrorCode::IO_ERRORand subsequently handled as a retriable error. - Added proper handling of the
NSURLErrorCannotConnectToHosterror to the iOS implementation ofolp::http::Network. Now, the error is mapped toolp::http::ErrorCode::IO_ERRORand subsequently handled as a retryable error. - Added the
olp::cache::KeyGeneratorclass. Use this class to access, insert, or remove cache entries without using the Data SDK client. - Removed the retry code from the Android implementation of
olp::http::Network. Theolp::client::OlpClientclass handles all retries. - Changed logging from
stdouttostderrfor the POSIX environment. - Moved the commonly used internal
ExecuteOrSchedulemethod toTaskScheduler.h. - Work-in-progress: Added the
olp::thread::ExecutionContext,olp::thread::Continuation, andolp::thread::TaskContinuationclasses. They are designed to support the task continuation feature, which enables the SDK APIs to use the task scheduler more efficiently and avoid blocking the executor by pending network requests. - Extend the
olp::utils::Base64EncodeAPI to suport the encoding of URLs. - Fixed various compiler warnings.
- Added a new CMake option:
OLP_SDK_USE_LIBCRYPTO. The flag disables thelibcryptodependency.
olp-cpp-sdk-authentication
- Added
olp::core::RetrySettingstoolp::authentication::AuthenticationSettings. Now, you can configureolp::authentication::AuthenticationClientto use the provided retry settings for all online requests. - Added a new operator to
olp::authentication::TokenProvider. It acceptsolp::client::CancelationContextas input and returnsolp::authentication::TokenResponse. Now, authentication requests can be cancelled, and clients can forward proper error messages during authentication to the caller. - Added a new
token_providerparameter toolp::client::AuthenticationSettings. The new token provider acceptsolp::client::CancelationContextand returns theolp::client::OauthTokenResponseresponse. Now, theolp::client::OlpClient::CallApicalls can be cancelled during authentication. - Deprecated the
olp::authentication::TokenProvider::operator()()method together with theolp::authentication::AuthenticationSettings::providermember. They will be removed by 10.2022. - Deprecated the
olp::authentication::TokenResult::GetHttpStatusandolp::authentication::TokenResult::GetErrorResponsemethods. They will be removed by 10.2022. - Fixed the falsely returned cancellation error code that occurred when a request timed out. It happened on all
olp::authentication::AuthenticationClientAPIs. Now, the correct error is returned. - Moved the deprecated
olp::authentication::AutoRefreshingToken,olp::authentication::TokenEndpoint, andolp::authentication::TokenRequestclasses from the public includes to the source. They are no longer available. - Added the
endpoint_urlvariable and a new constructor toolp::authentication::AuthenticationCredentials. - Switched the
SignUpHereUserandSignOutAPIs in theolp::authentication::AuthenticationClientfunctionality toTaskContext.
olp-cpp-sdk-dataservice-read
- Changed the
olp::dataservice-read::CatalogClient::GetLatestVersionAPI. Now, if you use theCacheOnlyfetch option and specify the cached and start versions, the latest version is resolved. The resolved version is stored in the cache. For theOnlineIfNotFoundfetch option, the online version is always requested and updated in the cache if needed. - Changed the default
olp::dataservice::read::CatalogVersionRequest::start_version_from0to-1as 0 is a valid catalog version while -1 is not. - Added the
olp::dataservice::read::CatalogClient::GetCompatibleVersionsAPI. Use it to query the available catalog versions that are compatible with the dependencies provided byolp::dataservice::read::CompatibleVersionsRequest.
olp-cpp-sdk-dataservice-write
- Improved Doxygen documentation in various places.