Release 1.15.0
Common
- Added a new CMake option:
OLP_SDK_ENABLE_ANDROID_CURL. The flag enables network layer implementation based on cURL for Android. - Added custom certificates lookup method based on MD5 for Android cURL network layer to bypass the discrepancy between OpenSSL 1.1.1 expecting SHA1 while certificates are beeing encoded using MD5.
- Added HTTPS proxy support for the cURL network implementation.
- Increased required minimal version for cURL from 7.47.0 to 7.52.0 due to the HTTPS proxy support.
- Fixed the falsely returned errors from
olp::client::OlpClient::CallApi. Theolp::client::OlpClient::CallApinow propagates the correct errors from theolp::authentication::TokenProvider. - Replaced usage of
std::stolwithstd::stollfor LRU expiration time evaluation. - The
olp::utils::Dir::IsReadOnlynow checks whether the target directory is present and returnsfalsein case it is missing. - Changed the initial permissions on the newly created directories with
olp::utils::Dir::Createfrom 0777 to 0774. - Added various performance optimizations for
olp::cache::DefaultCacheto speed upolp::cache::DefaultCache::Contains. - Improved various log messages.
olp-cpp-sdk-dataservice-read
- Added the
olp::dataservice::read::VersionedLayerClient::QuadTreeIndexAPI. Use this API to query the partitions for the specified tiles provided byolp::dataservice::read::TileRequest. - The
olp::dataservice::read::PartitionsCacheRepository::FindQuadTreenow reads the data from the cache starting from the lowest level first, which improves performance as the quadtrees are usually loaded 4 levels lower then the requested tile. - The
olp::dataservice::read::CatalogClient::GetCatalognow forms correct URL when customolp::client::CatalogEndpointProvideris used. - Fixed the broken chain of cancellation contexts inside
olp::dataservice::read::VersionedLayerClient::PrefetchTilesmethod. The ongoing prefetch request can now be cancelled much faster, which avoids waiting for the ongoing sub-tasks to finish until the entire operation is cancelled.
olp-cpp-sdk-authentication
- Added optional
device_idfield to theolp::authentication::AuthenticationClient::SignInProperties. This field can be used for the OAuth rate limiting per device supported by the HERE OAuth service.