RCF::ServerObjectService.Globals::setOnExceptionCallback() so user code can intercept any RCF exceptions being thrown.RCF_OPENSSL_STATIC defined.RcfServer::setHealthCheckResponse(), to configure how a RcfServer responds to load balancer health checks (HTTP GET on /).ClientStub::setHttpConnectionCloseHeader(), to set the HTTP Close header on the next request.RCF::HttpEndpoint and RCF::HttpsEndpoint now include a HTTP path component. The path component is ignored by RCF servers, but may be utilized by intermediate network proxies.RCF::ClientStub::setHttpRedirectHandler()).RCF::ClientStub::setHttpMessageVerifier()).RCF::RemoteCallProgressInfo::mBytesTotal, RCF::RemoteCallProgressInfo::mBytesTransferred).<filesystem> compatibility with Visual Studio 2019.system_timer class for timeouts, to avoid erroneous timeouts when the system clock changes.RCF::RcfServer responds with a HTTP 200 and a simple status message, when receiving a "GET /" request on its HTTP port.RCF::ClientStub::setHttpCookies() and RCF::ClientStub::getHttpCookies(), to set HTTP cookies explicitly. This allows multiple RCF connections to share session affinity.RcfClient<> classes.RCF::ClientStub::getSspiMessageProtection() and RCF::ClientStub::setSspiMessageProtection(), to control whether messages on a NTLM/Kerberos connection are encrypted, signed, or unprotected.RCF::RcfServer crashes when shutting down.CLOCK_MONOTONIC. Only enabled if RCF_USE_CLOCK_MONOTONIC is defined.deadline_timer objects being associated with the wrong io_service object.UdpClientTransport - disconnect() should close the local socket, so subsequent calls use a new socket and port.UdpServerTransport - fix for thread init functors not being called.RCF_FEATURE_SF and RCF_FEATURE_BOOST_SERIALIZATION config macros, to respect legacy RCF_USE_SF_SERIALIZATION and RCF_USE_BOOST_SERIALIZATION macros.RcfClient<>.RcfServer::getFilterService() for code using legacy custom filters.RCF_USE_PROTOBUF define not working.win_thread.hpp).win_thread::join()) - contributed by acDev on support forums.RcfServer.RCF_OPENSSL_STATIC define, to allow static linking to OpenSSL.SF/Q*.hpp. Contributed by acDev on support forums.std::vector<bool>.std::bitset<>.SF_SERIALIZE_ENUM_CLASS macro, to simplify serialization of C++11 enum classes.shared_ptr<const T>.Publisher::getSubscriberCount(), to return number of subscriptions for a publisher.RcfServer destructor, when using multiple server transports.RCF_ZLIB_STATIC in build.SessionTimeoutService.RcfSession::hasDefaultServerStub() (reported on gcc 4.6.3) .ByteBuffer's in SSPI filter, to prevent potential fragmentation of network send operations.ThreadPool refactored, with simpler constructors and get \/ set methods.I_Endpoint to Endpoint, I_ServerTransport to ServerTransport, I_ClientTransport to ClientTransport, I_NetworkSession to NetworkSession, I_RemoteAddress to RemoteAddress.NamedPipeEndpoint class. Code using NamedPipeEndpoint should use Win32NamedPipeEndpoint or UnixLocalEndpoint instead.RCF::setSslImplementation(), RcfServer::setSslImplementation() and ClientStub::setSslImplementation() , to configure whether RCF uses Schannel or OpenSSL.setSslCertificate() to setCertificate(), and setSslCaCertificate() to setCaCertificate().std::function<bool(OpenSslEncryptionFilter &)> and std::function<bool(SspiFilter &)> , to std::function<bool(I_Certificate *)>.setSchannelCertificateValidationCb() and setOpenSslCertificateValidationCb() , to setCertificateValidationCallback().setSchannelDefaultCertificateValidation() to setEnableSchannelCertificateValidation().Win32Certificate::getCertificateName(), Win32Certificate::getIssuerName(), X509Certificate::getCertificateName(), and X509Certificate::getIssuerName() functions.PfxCertificate::addToStore() and StoreCertificate::StoreCertificate() , using the Win32CertificateLocation and Win32CertificateStore enums.StoreCertificateIterator class, for iterating through certificates in a Windows store.RCF::init() and RCF::RcfInitDeinit::RcfInitDeinit(), to trap compiler define mismatches when building RCF as a DLL.boost::shared_static_cast<>.RCF_MAX_METHOD_COUNT=200 in your build.RCF_USE_ZLIB or RCF_USE_OPENSSL, you no longer need to link to zlib and OpenSSL. RCF will load the zlib and OpenSSL libraries at runtime, on the first execution of any compression code, or OpenSSL-based encryption code.pthread and dl on non-Windows platforms.UNICODE or _UNICODE when building RCF on non-Windows platforms.RCF_USE_BOOST_FILESYSTEM together with RCF_USE_BOOST_SERIALIZATION.ClientStub::setEnableCompression() not applying compression in some circumstances.std::unique_ptr<>, std::tuple<>, std::shared_ptr<>, std::array<>. See Serialization.RCF_USE_BOOST_SERIALIZATION is defined but not RCF_USE_SF_SERIALIZATION.SIGPIPE signals on non-Windows platforms.I_ServerTransport::getInitialNumberOfCOnnections() / I_ServerTransport::setInitialNumberOfCOnnections() to get and set the initial number of listening connections that are created when a server transport starts. Default value is 1.WIN32_LEAN_AND_MEAN.RCF_USE_BOOST_ASIO configuration macro, to build RCF against the version of Asio that is in Boost. If RCF_USE_BOOST_ASIO is not defined, RCF will be built against the version of Asio that is included in RCF.RCF_USE_BOOST_ASIO is defined automatically.RCF_VERIFY() macro.RCF_SINGLE_THREADED no longer supported.