cpp_client_telemetry/CHANGELOG.md

4.0 KiB

C++, C++/CX, C# and Desktop client SDK Release Notes

Supported Platforms

  • Windows Desktop for C/C++ (x86/x64/ARM64)
  • Windows 10 Universal (x86/x64/ARM/ARM64)
  • Windows Desktop for .NET 4.x (x86/x64)
  • Linux x86/x64/ARM/ARM64 (gcc-5+, source only)
  • Mac OS X (BETA, source only)
  • MinGW (experimental, source only)

Version 3.2.91.1 (04/01/2019)

Design Changes

Code refactor:

  • use new namespace alias MAT (Microsoft Applications Telemetry)
  • move private proprietary extension modules to /lib/modules
  • move private scripts and legacy code to /private
  • unify PAL for Win32 and CPP11 into one cross-platform PAL

Version 3.1.18.1 (01/18/2019)

New features

  • C API surface for C89+ compilers; also offering a path to "light" C SDK
  • Resolving OACR warnings and security hardening
  • Better support for Mac OS X clang and common properties acquisition
  • Auto-capture M365 CommercialId field

Design Changes

None

Bug Fixes

  • 1588215 Win32 2685462-Watson - defensive fix for OOM scenarios in Office
  • 1550788 logger->SetContext("LocalContextVar", "Value") was inadvertently broken by 1DS SDK
  • 1541368 Thread-safety in SDK statistics
  • 1541369 Custom integration instructions for C# UWP applications
  • 1470816 1521798 Remove EOL in Mac OS X device identifiers
  • 1510118 Win 10 UWP SDK sporadic crash in HTTP stack

Version 3.0.289.1 (10/16/2018)

New features

None

Design Changes

  • New configuration - config["compat"]["dotType"]=false - allows to replace dots by underscores in EventProperties.SetType(...) API call for C++ SDK. This is necessary for ODIN, Office annotations and MDM exporters to work, replicating legacy v1 C++ SDK behavior. Note that the default value is 'true', preserving dots in record.baseType, thus customers expecting legacy v1 behavior must explicitly set this config value to boolean false.

Bug Fixes

  • 1458981 HTTP client crash inserting range into vector in onrequestcomplete
  • 1403111 SDK stats improvements
  • 1459042 EventProperties.SetType(...) not setting record.baseType
  • 1462033 Must allow Aria to Initialize in UTC mode on a thread that has already done RoInitialize
  • 1467488 Experimental pure C API: cdecl-spec fixes for apps built with stdcall
  • xxxxxxx DDV tool: ability to inspect HTTP payloads from a debug callback
  • xxxxxxx BVT: SDK re-initialize did not respect new configuration parameters
  • xxxxxxx BVT: LogManagerFactory C++11 magic-static must return a reference, not an obj instance

Version 3.0.268.1 (09/25/2018)

New features

  • 1432826 arm64 SKU

Design Changes

  • 1438210 Support LoadTransmitProfiles for C# apps
  • 1438212 Full- vs Basic- Telemetry: allow to set transmit profile at SDK start

Bug Fixes

  • 1436626 Spurious wakes-up (OTEL power scorecard regression after upgrade from v1.7 to v3)
  • 1403099 Fix 1DS collector URLs in ILogConfiguration.hpp
  • 1438211 Fix 1DS collector URLs in C# projection code
  • 1403101 LogConfigurationCX.cpp needs to create a string copy

Version 3.0.261.1 (09/18/2018)

New features

None

Design Changes

  • LogEvent performance improvements
  • Offline storage write performance improvements
  • Enable .rpm packaging for RHEL and CentOS
  • Turn off whole program opt, LTCG and JustMyCode to enable linking with older vs2017

Bug Fixes

  • Fix for ClientTelemetry.dll not loading on Windows 7.1A
  • Compiler warnings clean-up
  • FlushAndTeardown: skipped uploading some records on shutdown
  • FlushAndTeardown: may unnecessarily wait for up to CFG_INT_MAX_TEARDOWN_TIME
  • FlushAndTeardown: possible event duplication of some events sent immediately before shutdown

Version 3.0.248.1 (09/05/2018)

New features

  • Fast ram queue

Design Changes

  • Use std::vector instead of sqlite3 DB for ram queue

Bug Fixes

  • Use c: prefix for DeviceInfo.Id field
  • FlushAndTeardown respects time set in config CFG_INT_MAX_TEARDOWN_TIME
  • FlushAndTeardown respects paused state
  • Various memory leak fixes: HTTP stack, event queue
  • Invalid storage path handled safely