v2.6.0
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