The C++ framework for developing highly scalable, high performance servers on Windows platforms.

Release Notes - SChannel Tools Library


You might also be interested in the release notes for the libraries that this one is built on:


Version 7.4
  • Remove support for Visual Studio 2015.

Version 7.3
  • Clearly identify any open source software used by the framework and make it easy to disable it or see the relevant license details.
  • Preparations for making the code compile on other platforms.
  • More libraries now require that you include their Admin.h files in your Config.h file if you wish to use them.
  • Added support for a new method of dynamic object leak tracking.
  • Removed the need for WinsockWrapper.h any reference to this header should be removed.

Version 7.2
  • Removal of manual "#define include guards" now that all supported compilers support pragma once.
  • Removal of out of date lint directives.
  • Added support for Visual Studio 2022 Preview.

Version 7.1
Version 7.0
  • Major changes due to preparations for multi-platform support. Addition of CoreTools library which contains all cross platform code that was previously in Win32Tools.

Version 6.9.5
  • Added support for Visual Studio 2019 (16.5 - 16.9).
  • Updated project files to make release build optimisations consistent.
  • Rationalised precompiled header usage.
  • Removed unrequired includes.
  • Began to move towards removing JetByteTools\Win32Tools\Utils.h by splitting it into more functionally cohesive headers.
  • Changes to avoid explicitly catching JetByteTools::Win32::CSEHException now that it derives from JetByteTools::Win32::CException.
  • Bug fix in JetByteTools::SChannel::CServerContext::ContinueHandshake() so that we return HandshakeFatalError and set the last status correctly on failure rather than throwing an exception. This allows us to correctly report, or not, the issue to the other side.

Version 6.9.4
  • Added support for Visual Studio 2019 (16.4).

Version 6.9.3
  • Fixed issued raised by Resharper++
  • Changed include path separators from \ to / so as to support compilation on Linux using CLANG
  • Fixed case of include file names to aid portability.
  • Migrating code towards 'modern C++' idioms.
  • Suppress warning C4355 "'this': used in base member initializer list" in Warnings.h and remove per file suppressions. We just use this idiom far too often for it to be a special case.
  • Added support for Visual Studio 2019 (16.3).
  • Dropped support for Visual Studio 2013.

Version 6.9.2
  • Added support for Visual Studio 2017 (15.6 - 15.9).
  • Added support for Visual Studio 2019 (16 - 16.2).

Version 6.9.1
  • Added support for Visual Studio 2017 15.5.

Version 6.9
  • Fixed issued raised by CppDepend
  • Fixed issued raised by Resharper++
  • Allow setting of 'max record size' on context or credentials. This limits the maximum TLS/SSL record (including header and footer) to the specified size and overrides the default TLS/SSL limit for record size.

Version 6.8
  • Made pragma once unconditional in headers.
  • Fixed issued raised by PC-Lint Plus.
  • Fixed issued raised by CppDepend
  • Fixed issued raised by Resharper++
  • Use override rather than virtual for implementations of virtual functions in derived classes.

Version 6.7
  • The SChannel filter and all callbacks now work in terms of JetByteTools::IO:CSmartBuffer where possible. This potentially reduces the reference counting activity on the buffers.

Version 6.6.5
  • Added an override for JetByteTools::Socket::ISocketCallback::OnError() which takes a DWORD error code so that client code can selectively ignore errors by error code. Previously the only way to ignore errors was by the error message itself which is localised and therefore impossible to match reliably.

Version 6.6.4
  • Bug fix to JetByteTools::SSPI::SChannel::CAsyncConnector::PerformWrite() so that we deal with exceptions appropriately.
  • Adjusted all includes to remove relative paths and instead be absolute in relation to the library root. So, rather than include "..\Blah.h" it would always be include "JetByteTools\Lib\Blah.h" this is due to a new warning in Visual Studio 2015 update 1.

Version 6.6.3
  • Ran Visual Lint using Gimpel PC Lint on all code and adjusted to remove warnings and fix bugs.
  • Removed all use of exception specifications. We only ever used throw() but that's now gone too.
  • Protected non-virtual destructors on interfaces are now virtual even though they you can't delete the object via the interface.
  • All destructors that could throw exceptions now have optional "log and swallow" exception handlers which are enabled by default. This is better than ignoring the problem and being faced with a call to std::terminate() which can be hard to track down.
  • Bug fix in JetByteTools::SSPI::SChannel::CAsyncConnector::PerformWrite() where we could sometimes send invalid data. Note that 6.6.3 is an ESSENTIAL release if you're using 6.6.2
  • Bug fix in JetByteTools::SSPI::SChannel::CAsyncConnector where we could sometimes get stuck in an infinite loop if we had decrypted data available but no application level read pending.

Version 6.6.2
Version 6.6.1
  • No changes.

Version 6.6
Version 6.5.9
  • No changes.

Version 6.5.8
  • No changes.

Version 6.5.7
  • Updated our support of Visual Studio 2012 to the RTM version. Added a few more warning suppressions. Fixed the solution file format so that it's actually a 2012 solution file and not a 2010 solution file using the 2012 tool chain.

Version 6.5.6
  • Updated our support of Visual Studio 2012 (11) to the RC version. Added a few more warning suppressions. Renamed the output directories. Renamed the solutions and projects from .11. to .2012.

Version 6.5.5
  • Fixed some warnings generated by /analyze.

Version 6.5.4
  • No changes.

Version 6.5.3
  • No changes.

Version 6.5.2
  • No changes.

Version 6.5.1
  • No changes.

Version 6.5
  • No changes.

Version 6.4
  • No changes.

Version 6.3.3
  • No changes.

Version 6.3.2
Version 6.3.1
Version 6.3
  • Lots of white space changes which make comparing actual changes with 6.2 quite hard. Sorry.
  • Changed JetByteTools::SSPI::SChannel::CAsyncConnector so that it doesn't hold any locks across callbacks into its data sink. This removes the chance for deadlock. We now queue data buffers and shutdown notifications and deliver them after we have released our locks.

Version 6.2
Version 6.1.1
Version 6.1
Version 6.0
  • No changes.

Version 5.2.5
  • Fixed some fundemental memory leaks in JetByteTools::SChannel::CAccumulationBuffer.

There was no SChannel Tools library prior to version 5.2.4

Generated on Sun Sep 12 19:06:45 2021 for The Server Framework - v7.4 by doxygen 1.5.3