PrevUpHomeNext

Appendix - Release Notes

RCF 2.0.0.2675 - 2013-01-03
RCF 2.0.0.2673 - 2012-10-28
RCF 2.0.0.2672 - 2012-10-23
RCF 2.0.0.2670 - 2012-10-16
RCF 2.0.0.2668 - 2012-10-15
RCF 2.0.0.2665 - 2012-09-29
RCF 2.0.0.2664 - 2012-09-24
RCF 2.0.0.2661 - 2012-09-02
RCF 2.0.0.2648 - 2012-08-19
RCF 1.3.1
RCF 1.3
RCF 1.2
RCF 1.1
RCF 1.0
RCF 0.9d
RCF 0.9c
  • Trigger compiler error if user defines UNICODE or _UNICODE when building RCF on non-Windows platforms.
  • Fix compiler error when using RCF_USE_BOOST_FILESYSTEM together with RCF_USE_BOOST_SERIALIZATION.
  • Downloads:
  • Fix compiler error when RCF_USE_BOOST_SERIALIZATION is defined but not RCF_USE_SF_SERIALIZATION.
  • Improve JSON-RPC response message from server, when server fails to parse JSON-RPC request.
  • Downloads:
  • Reinstate support for UNIX domain socket transports.
  • Preserve last file modification timestamps, when transferring files.
  • Add 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.
  • Fix Winsock compiler errors in Visual Studio 2003 demo projects, by defining WIN32_LEAN_AND_MEAN.
  • Downloads:
  • Introduce 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.
  • Fix compiler errors when building on Cygwin. For Cygwin builds, RCF_USE_BOOST_ASIO is defined automatically.
  • Fix bug with asynchronous call dispatching, when used with oneway calls.
  • Fix possible busy loop in RCF_VERIFY() macro.
  • Downloads:
  • This is a bug-fix release for RCF 1.3.
  • Fix for compiler error when using signed char in RCF method signatures.
  • Fix performance problem when using RCF::SspiFilter. Multiple small message chunks are now merged into a single larger chunk to improve network performance.
  • Improve SF serialization performance. Only call typeid() when necessary.
  • Reduced SF archive sizes. Encode small integers using a single byte rather than 4 bytes.
  • Fix excessive CPU usage when using multithreaded thread pools with Boost.Asio based transports.
  • Fix for boost::any serialization. Empty boost::any instances were causing an exception to be thrown.
  • Fix bug in client-side timeout logic when polling network connection using Windows MsgWaitForMultipleObjects() function.
  • Services can no longer be added or removed while an RcfServer is running.
  • Fix potential null pointer crash in marshaling logic.
  • Rename variables named signals and slots in order not to interfere with QT preprocessor.
  • Fix preprocessor redefinition which was causing a compiler warning on OSX.
  • Downloads:
  • Support for IPv6.
  • IP-based access rules, to grant or deny access to IP-based servers.
  • IP-based client transports able to bind to a specific local interface.
  • Client able to query for size of its latest request and response messages.
  • User data fields in request and response headers.
  • Running multiple server transports on the same thread pool.
  • Server-side caching of application objects.
  • Default max max message length changed from 10Kb to 1Mb.
  • Maximum number of methods in an RCF interface increased from 35 to 100.
  • Extended auto-versioning to negotiate archive version as well as runtime version.
  • SF serialization
    • Support for tr1 containers and tr1 smart pointers.
    • Support for boost::intrusive_ptr<>.
    • Serialization of std::wstring changed, to use UTF-8.
  • Boost.Serialization serialization of RCF::Exception now includes error arguments as well as the error message.
  • Fix byte ordering of fast vector serialization, for big-endian platforms.
  • Improved efficiency of Boost.Asio based server transports - no memory allocations when reading or writing network data.
  • For Boost.Asio based server transports, added AsioServerTransport::getIoService() to expose the internal boost::asio::io_service object.
  • Added complete example of server-to-client callbacks, to User Guide.
  • Added FAQ on server-side detection of client disconnection.
  • Compatibility
    • Support for Visual Studio 2010 compiler.
    • Dropped support for mingw gcc 3.2 & 3.3.
    • Dropped support for Borland C++ Builder 2006.
    • Tested against Boost versions up to 1.45.0.
  • Downloads:
  • Support use of Protocol Buffers-generated classes, in RCF interfaces.
  • Support Protocol Buffers-based marshaling protocol.
  • Support for batched oneway calls.
  • Improved error messages, with context-specific arguments.
  • Improvements to versioning - SF archive version now passed in message header.
  • Signature of SF serialization functions changed, to remove redundant version parameter.
  • Calling serializeParent() no longer requires type registration.
  • serializeParent() moved into SF namespace.
  • Added configuration macro to control behavior on assert (RCF_ALWAYS_ABORT_ON_ASSERT).
  • Fix serialization of RemoteException, when using Boost.Serialization.
  • Fix several regressions introduced in 1.1.
    • Fix for thread-safety issue with pingback functionality.
    • Fix for subsecond timeouts on Unix platforms.
    • Fix compilation errors on Windows, if _WIN32_WINNT <= 0x0500.
  • Tested against Boost versions up to 1.42.0.
  • Dropped support for gcc 2.95.
  • Updates to the RCF User Guide:
    • Added documentation for publish/subscribe topics.
    • Added documentation for Protocol Buffer support.
    • Rewrote section on Versioning.
    • Documented workaround for internal compiler error with Borland C++Builder 2007.
    • Added release notes.
  • Downloads:
  • Ping function added to RCF::ClientStub.
  • Server-to-client pingbacks, for maintaining connectivity during long-running calls (RCF::PingBackService).
  • Server-to-client callbacks.
  • Dynamic thread pool grows and shrinks, to accommodate client load. User level code no longer needs to call ThreadManager::notifyBusy().
  • Progress callbacks on all transports.
  • Schannel-based transport filter, for SSL encryption on Windows platforms (RCF::SchannelFilter).
  • Support for __attribute__(visibility()) when exporting RCF from shared libraries with GCC 4.x.
  • Memory usage optimizations.
  • Tested against Boost versions up to 1.39.0.
  • Downloads:
  • Support for more compilers (Intel C++ 9 and 10.1 for Windows, GCC 4.3)
  • Support for more platforms (FreeBSD and OS X).
  • Supports use of UNIX domain sockets as transport (RCF::UnixLocalEndpoint).
  • Tested against Boost versions up to 1.37.0.
  • Downloads:
  • Win32 named pipe transport implementations (RCF::Win32NamedPipeEndpoint).
  • Boost.Thread no longer required.
  • UDP multicasting and broadcasting.
  • SF serialization for boost::tuple, boost::variant, and boost::any.
  • Support for exporting RCF from a DLL.
  • Tested against Boost versions up to 1.35.0 and Boost.Asio versions from 0.3.8.
  • Downloads:
  • Zero-copy, zero-heap allocation core for fast and scalable performance.
  • Kerberos and NTLM authentication and encryption on Windows platforms.
  • OpenSSL filter, for SSL authentication and encryption.
  • Server-side multithreading.
  • Server-side session objects.
  • Built-in runtime versioning, for backward and forward runtime compatibility.
  • Robust publish/subscribe functionality.
  • Support for legacy compilers, in particular, Visual C++ 6, Borland C++ Builder 6, and GCC 2.95.
  • Support for 64-bit compilers.

PrevUpHomeNext