v1.7.0
·
637 commits
to master
since this release
Common
- Changed the product name from HERE OLP SDK for C++ to HERE Data SDK for C++.
- Fixed formatting to be compliant with the coding style.
- Fixed the issue with
olp::client::TaskContext. Now, it does not trigger cancellation after a successful operation. - Added the
default_cache_expirationtoolp::client::OlpClientSettings. Now, you can control how long the downloaded data is considered valid. Once the data is expired, you cannot retrieve it, and it is gradually removed from the cache when new data is added. - Added the
OLP_SDK_DISABLE_DEBUG_LOGGINGCMake option. When enabled, the SDK does not print anyTRACEorDEBUGlevel log messages. - Added the
compressionsetting toolp::cache::CacheSettings. You can now pass the flag to the underlying database engine to enable or disable the data compression. - Added the
CompactAPI toolp::cache::DefaultCache. It is used to optimize the underlying mutable cache storage. Compaction also starts automatically once the database size reaches the maximum in a separate thread. - Changed the
olp::cache::DefaultCacheread operation. As a result, the number of memory allocation decreased, and performance increased. - Added support for the HTTP
OPTIONSrequest inolp::http::Network. - The LRU eviction now evicts expired elements first. The eviction time decreased.
- Removed the retry code from
olp::http::NetworkCurl. Now, retries are performed byolp::client::OlpClient. - Added a prewarm helper method to
olp::client::OlpClientSettingsFactory. This method can be used to perform DNS prefetch and TLS preconnect for certain URLs that are widely used by the clients. For example, accounts and lookup. - Enabled certificate validation in
olp::http::NetworkCurl.
olp-cpp-sdk-authentication
- The
olp::authentication::TokenProviderclass now handles the concurrent by blocking all requesters until the already triggered request completes. It verifies that only one token is requested at the same time. - The
IntrospectAppandAuthorizeAPIs now useExponentialBackdownStrategyinternally in case of a 5xx HTTP status code. olp::authentication::AuthenticationErrorclass is deprecated and will be replaced byolp::client::ApiError. It will be removed by 12.2020.- Switched the
SignInClientmethod in theolp::authentication::AuthenticationClientfunctionality toTaskContext. - Added a fallback mechanism for
SignInClient. Now, when the system time is wrong, the server time is used. - Changed the
olp::authentication::ActionResultclass. Permissions are now represented by theolp::authentication::Permissionclass. - The
use_system_timeflag inolp::authentication::Settingsis now enabled by default. Now, system time is used for token requests by default.
olp-cpp-sdk-dataservice-read
- The module now resolves all service APIs for a specific HRN in a single request.
- Reduced the number of logs produced by the component.
- Merged the same concurrent Lookup API requests into a single HTTP request.
- Merged the same concurrent
GetBlobandGetVolatileBlobAPI requests into a single HTTP request. - Merged the same concurrent
QuadTreeIndexAPI requests into a single HTTP request. - Work In Progress Added a new
ListVersionsAPI toolp::dataservice::read::CatalogClient. You can use it to get information on catalog versions. - Work In Progress Added a new
GetAggregatedDataAPI toolp::dataservice::read::VersionedLayerClient. You can use it to retrieve tile data (if it exists) or the nearest parent tile data. Use this API for tile-tree structures where children tile data is aggregated and stored in parent tiles.