Skip to content

v2.6.0

Compare
Choose a tag to compare
@alexkaratarakis alexkaratarakis released this 20 Nov 21:49
· 882 commits to master since this release

Release Notes

streams

  • Deprecated the streambuf::putn API. In some cases with file streams this API makes a copy. To be more efficient and not break existing code a new function putn_nocopy has been created. This makes it clear to users they need to ensure the pointer data provided is valid until the returned task is completed.
  • File streams cleanup improvements: replacing C style casts, updating some shared_ptr parameters to const reference, and removed unnecessary data structures saving heap allocations and space. Fixes #353, #126

json

  • Added ability to erase elements from a json array or object. #147
  • Added missing static factories for working with 64bit integers to the json::value class. #351
  • Fixed improper serialization of control characters that should always be Unicode escaped.
  • Fixed issue with parsing and then serializing not properly escaping necessary characters if parsed originally from a stream. #259
  • Updated json::value::as_number() and json::value::as_string() to return by const reference.
  • Made json::object copy constructor not private. Also removed a few unnecessary copy constructors and stick with compiler generated.

http_listener

  • Fixed potential crash on Windows that could occur in some cases if the client sent and invalid URI. #267
  • Fixed potential hang on Windows if running on a single core machine. #106
  • Merged pull request fixing issue with listeners not being properly remove if port is in use on non-Windows. #375

websocket_client

  • Updated Websocket++ version to 0.5.1.
  • Added tests for Windows Runtime websockets client. #223
  • Removed unnecessary extra event in Windows Runtime implementation from websocket client.

oauth 2.0

  • Allow conversions for the OAuth 'expires_in' field from a JSON string value to a numeric value. #381

pplx

  • Merged pull request fixing deadlock if an exception occurs while trying to schedule a task. #379

miscellaneous

  • Updated some code documentation comments to improve reference documentation.
  • Merged pull request qualifying web::credentials namespace in http_client authentication_tests.cpp to avoid collisions with OpenSSL.
  • Fixed locale based test cases to silently pass if the necessary locale isn't installed on the machine. #354
  • Removed a bunch of unnecessary MSBuild properties from test vcxproj files. #264
  • Changed safeint.hpp to use pragma once instead of ifdef guard.

Windows

  • Removed DllMain and global process exiting flag as no longer needed.
  • Removed Visual Studio 2012 project files. VS2012 is no longer supported.
  • Added support for Visual Studio 2015 RC, preview is no longer supported.
  • Fixed problem with CasaLens sample not compiling due to std::bind with some versions of Visual Studio 2015.
  • Removed a bunch of Windows specific string conversion code, replaced with C++ standard equivalent.
  • Fixed a potential deadlock on Windows XP when using CPPREST_FORCE_PPLX. #374
  • Updated to Boost version 1.58.
  • Updated to OpenSSL version 1.0.2a.
  • Added support for Universal Windows Platform (UWP).
  • Added support for websockets with Windows Desktop with Visual Studio 2015. #277
  • Merged pull request adding version information to the dlls. #318

iOS

  • Updated Boost dependency to version 1.57.
  • Improvements to script for building Boost, including no longer building for OS X, adding x86_64 simulator, and always using latest iOS SDK available on the machine. #196
  • Removed dependency on Boost.Locale and libiconv, replaced with C++ standard equivalent.
  • Fixed issue including CMakeLists.txt from another CMake project. #372

Ubuntu

  • Fixed remaining warnings with GCC and removed warning suppression in CMakeLists.txt. #253
  • Removed dependency on Boost.Locale and libiconv.

Android

  • Removed dependency on Boost.Locale and libiconv.
  • Added a workaround using -funwind-tables compilation option since not included by default with Visual Studio Android support. #388