Releases: heremaps/here-data-sdk-cpp
Releases · heremaps/here-data-sdk-cpp
v1.0.0
Common
- A new CMake flag
OLP_SDK_BOOST_THROW_EXCEPTION_EXTERNALwas introduced to compile the SDK without exceptions. The user needs to provide the customboost::throw_exceptionfunction. olp::client::HttpResponsenow holdsstd::stringstreaminstead ofstd::string. This removes expensive copies.- The CMake minimum version increased to 3.9.
- The
cancelmethod inCancellationTokenis deprecated in favor of the newly introducedCancelmethod. - Network logs improved for all platforms.
- Various bug fixes and improvements.
- The Network limit is now implemented for all platforms. When the limit is reached, the
Network::Sendmethod returnsolp::http::ErrorCode::NETWORK_OVERLOAD_ERROR, and client users receiveolp::client::ErrorCode::SlowDownas a response. - Android network client can now be used when Java VM is embedded in a native application.
olp-cpp-sdk-dataservice-read
- The
VersionedLayerClientandVolatileLayerClientclasses are now movable and non-copyable. - The
TaskContextandPendingRequestsclasses moved to the core component, and are now public. - The
GetCatalogMetadataVersionmethod inCatalogClientis deprecated. TheGetLatestVersionmethod should be used instead. - All deprecated methods marked in v0.8.0 are now removed.
- A new optional parameter for a catalog version was added to
PrefetchTileRequest. It is used byVersionedLayerClient::PrefetchTiles(). If not provided, the latest catalog version is queried from OLP instead.
olp-cpp-sdk-dataservice-write
- Missing
DATASERVICE_WRITE_APIwas added to various classes.
v0.8.0-beta
Common
- Project renamed to
here-olp-sdk-cpp. - Project structure was changed, functional, integration, performance tests introduced.
- Local OLP server that mimics OLP added.
OLP_SDK_DEPRECATEDmacro is added to deprecate API.- Breaking Change
SendOutcome::IsSuccessfultypo fixed. - Missing dependencies for the iOS build as a shared library added.
KeyValueCacheinstance was added toOlpClientSetting.- Boost download source was changed.
- Added
Conditionclass helping repositories sync wait on the OLP response. - Updated read example and documentation to reflect recent changes in API.
olp-cpp-sdk-authentication
- Breaking Change
olp::authentication::Settingsrequiresolp::authentication::AuthenticationCredentials.
olp-cpp-sdk-dataservice-read
- Added new class
VersionedLayerClientthat is used to access versioned layers in OLP. Class implementsGetData,GetPartitions,PrefetchTilesmethods fromCatalogClient. - Added new class
VolatileLayerClientthat is used to access volatile layers in OLP. Class implementsGetPartitions,GetDatamethods fromCatalogClient. GetData,GetPartitions,PrefetchTilesmethods inCatalogClientdeprecated.- Breaking Change CatalogClient constructor changed.
OlpClientSettingsmust be passed by value,KeyValueCacheis now part ofOlpClientSettings. - Moved all responses and callbacks aliases to
Types.h.
olp-cpp-sdk-dataservice-write
StreamLayerClientSettingsclass introduced.- Breaking Change
StreamLayerClientconstructor changed. - Breaking Change
StreamLayerClient::Flushchanged. Now takingFlushRequestas input and aFlushCallbackto be triggered after the flush. - Breaking Change
StreamLayerClient::Enable,StreamLayerClient::Disableremoved. VersionedLayerClient::CancelAlladded, used to cancel all current running requests.- [CMake] Definition to export symbols added when the component is built as a shared library.
VolatileLayerClient,VersionedLayerClient,IndexLayerClientnow cancel pending requests when destroyed.
v0.7.0-beta
Common
- Introduced new abstract
olp::thread::TaskSchedulerto be used for async context; provided default thread pool implementation. - Added
UserAgentHTTP header to mark all triggered requests. - Added China Lookup API URLs.
- Introduced new HTTP abstraction layer
olp::http::Networkwithout singleton usage. Platform dependent implementations adapted and aligned with coding style. olp::network::Networkwith according implementations and helper classes removed.- Changed
olp::client::CancellationContextto shared pimpl so we can remove thestd::shared_ptrwrapper when using it across multiple requests. - Improved logging in core components.
olp-edge-sdk-cpp-authentication
- Breaking Change - Use new HTTP layer as input parameter for all requests. This is a mandatory parameter and users must provide it.
- Breaking Change - Use new
olp::thread::TaskScheduler; provided as input parameter. - Removed usage of raw
std::threadand switched toolp::thread::TaskScheduler. If theolp::thread::TaskSchedulerinstance is not provided, all tasks are executed in the calling thread.
olp-edge-sdk-cpp-dataservice-read
- Breaking Change - Use new HTTP layer as input parameter for all requests. This is a mandatory parameter and users must provide it.
- Breaking Change - Use new
olp::thread::TaskScheduler; provided as input parameter. - Removed usage of raw
std::threadand switched toolp::thread::TaskScheduler. If theolp::thread::TaskSchedulerinstance is not provided, all tasks are executed in the calling thread. - Improved logging.
olp-edge-sdk-cpp-dataservice-write
- Breaking Change - Use new HTTP layer as input parameter for all requests. This is a mandatory parameter and users must provide it.
- Breaking Change -
olp::dataservice::write::StreamLayerClientuses newolp::thread::TaskScheduleras input parameter for async context. If theolp::thread::TaskSchedulerinstance is not provided, all tasks are executed in the calling thread.
v0.6.0-beta
Initial open source release as a work in progress beta.
Not all OLP features are implemented, API breaks very likely with following commits and releases.
olp-edge-sdk-cpp-authentication
- Sign up new user with e-mail and password.
- Sign up new user with Facebook, Google, ArcGIS credentials.
- Accept terms and log out user.
- AAA OAuth2 with registered user credentials.
olp-edge-sdk-cpp-dataservice-read
- Read from Catalog (configuration, layers).
- Read from Versioned Layer (partitions metadata, partition data).
- Read from Volatile Layer (partitions metadata, partition data).
- Cache results on disk for later use.
olp-edge-sdk-cpp-dataservice-write
- Write to Versioned Layer (initialize publication, upload data and metadata, submit publication).
- Write to Volatile Layer (initialize publication, upload metadata, submit publication, upload data).
- Write to Stream Layer (publish data, queue data for asyncronous publish, publish SDII messages, batch write).
- Write to Index Layer (publish index, delete index, update index).