MsgConnect - version 1.6.0.69 - Released March 14, 2010 --------------------------------------------------------------------------- What's new: [ Legend: ] [ + Added feature ] [ * Improved/changed feature ] [ - Bug fixed ] --- March 14, 2010 v.1.6.0.69 Minor update + Added NoUDPNotify property to Socket and HTTP transports. When this property is set to true, boolean flags and timeouts instead of UDP messages are used to notify worker threads about necessity to send a message or shutdown. This is useful when UDP messages don't work (are blocked by firewall etc). + [Pascal] Added support for FreePascal 2.4 (Win32 and Win_x64 platforms) --- September 3, 2009 v.1.5.9.68 Minor update + [Pascal] Delphi 2010 support --- May 10, 2009 v.1.5.9.67 Minor update ! Changes made in C++ code add compatibility between 64-bit Linux and other platforms, at the same time breaking compatibility with previous versions of MsgConnect on 64-bit Linux. Previously "long" type on 64-bit Linux was used and this type is 64-bit. Now, mcInt32 is used (for compatibility with Windows) and this mcInt32, as the name suggests, is 32-bit. + Added 64-bit ZLib DLL for .NET. - Fixed compilation issue which happened on newer Linux versions. --- February 22, 2009 v.1.5.9.66 Minor update * MMF transport now reports more meaningful error codes when MMF, mutex or event creation was not successful. - [C++] In MMF transport cancelling the last message which expired after sending could lead to a deadlock. Fixed. --- September 15, 2008 v.1.5.9.65 Minor update + [Pascal] Delphi 2009 support --- August 1, 2008 v.1.5.8.64 Minor update + Support for MacOS X --- July 3, 2008 v.1.5.8.63 Minor update + [C++] Added support for MinGW compiler environment on Windows. - [.NET] (UDPTransport) The transport didn't send several messages in a row. Fixed. - [.NET] (UDPTransport) The origin of the message was misrepresented due to incorrect retrieval of the source addess of the UDP message. Fixed. --- May 30, 2008 v.1.5.7.62 Maintenance update. - (InetTransport) Disconnection of the client could cause further incorrect behavior of the server under heavy load. Fixed. Update is strongly recommended for all users who have more than one client connection at a time. - [C++] (InetTransport) Fixed the 10-bytes-per-connection memory leak in InetTransport - [C++] (HTTPTransport) MaxMsgSize was ignored in HTTPTransport. Fixed. --- March 15, 2008 v.1.5.7.61 Maintenance update. - [Java ME] Recompiled with the latest JDK --- February 1, 2008 v.1.5.7.60 Maintenance update. - [.NET, C++] MessengerPortBound returned wrong value. Fixed. - [ActiveX] The event for MCXMessageHandler class was not visible in VB6. Fixed. --- October 31, 2007 v.1.5.7.59 Maintenance update. - [.NET] Socket.Receive method didn't return the error code and this could potentially cause problems in some cases. Fixed. --- June 22, 2007 v.1.5.7.58 Maintenance update. - [.NET] Fixed the issue with .NET CF 2, which didn't deliver messages sometimes due to inadequate behavior of DNS.Resolve() method behavior. --- June 14, 2007 v.1.5.7.57 Maintenance update. - Cancelling of the message when it was sent by the transport could lead to an error in certain rare cases. Fixed. --- May 10, 2007 v.1.5.7.56 Maintenance update. + [VCL] Added Delphi 2007 packages - [.NET] Fixed the error which could lead to 100% CPU load in certain cases. Not a critical bug, but a nasty behaviour anyway. --- February 14, 2007 v.1.5.7.55 Maintenance update. !!! Upgrade is strongly recommended for all code bases. - Fixed the typo mistake in build 53, which caused internal crash --- February 9, 2007 v.1.5.7.53 Maintenance update. !!! Upgrade is strongly recommended for all code bases. - The message could be cleaned up (and so lost) on the receiver side during delivery back to the sender. This happened if CleanupInterval was set to small value. Fixed. - It was possible to cause an unhandled error by sending a random invalid message. Fixed. --- November 18, 2006 v.1.5.7.52 Maintenance update. - [Pascal, ActiveX, DLL] Turned off compiler optimization as it seems to be causing problems --- November 4, 2006 v.1.5.7.51 Maintenance update. - [.NET, Pascal, ActiveX, DLL] Improved handling of connection error (when the host is not accessible) --- October 25, 2006 v.1.5.7.50 Maintenance update. * [.NET] Now the sockets are closed right when the transport is deactivated (previously they were garbage-collected). - [Pascal, ActiveX, DLL] UDP sockets were not closed when the UDPTransport was turned off. Fixed. --- June 29, 2006 v.1.5.7.49 Maintenance update. - [.NET] Fixed a synchronization problem, which could happen under heavy multithreaded use, if the message were sent to unknown queue and were not handled. --- June 20, 2006 v.1.5.7.48 Maintenance update. !!! Upgrade is strongly recommended for all code bases. - Fixed some synchronization problems in MCInetTransport, which appeared under heavy multithreaded use. - Fixed a synchronization problem which appeared when Messenger.DispatchMessages for one Messenger was called from multiple threads at the same time. - [.NET] Fixed a bug in Dispose which could lead to ListIndexOutOfBounds error in certain rare cases. --- April 27, 2006 v.1.5.7.47 Maintenance update. - (ActiveX) SendMessageTimeout didn't return valid function result value. - Fixed possible Access Violation (object reference not set in .NET) error in MsgConnect InetTransport, which could expose itself under heavy multithreaded load. --- March 15, 2006 v.1.5.7.46 Maintenance update. - Fixed an issue that could arise from calling GetMessage from multiple threads at the same time. - (Pascal) Delphi 2006 support was missing from evaluation version. Fixed. --- March 6, 2006 v.1.5.7.45 Maintenance update. * (.NET) .NET 1.1 is now required for .NET 1.x assemblies. - (.NET) Demo project files were updated to not reference assembly source code. --- January 9, 2006 v.1.5.7.44 Minor update. !!! Upgrade is strongly recommended for Pascal, ActiveX, DLL code bases. - (Pascal, ActiveX, DLL) Fixed socket resource leak in server-side socket transport. --- December 19, 2005 v.1.5.7.43 Minor update - Fixed possible infinite loop which happened when cleaning the queue from messages to disconnected clients. --- December 5, 2005 v.1.5.7.42 Minor update + Added Delphi 2006 support --- November 19, 2005 v.1.5.7.41 Minor update - (.NET) Fixed possible deadlocks in SocketTransport - (C++, Pascal, DLL, ActiveX) Fixed possible incorrect handling of failed Open* calls in MMFTransport --- November 7, 2005 v.1.5.7.40 Minor update + (.NET) Added .NET 2.0 and .NET CF 2.0 support + (C++) Added VC++ 8.0 (VS 2005) support --- October 29, 2005 v.1.5.6.39 Minor update + Added MessengerPortBound property to MCInetTransport and MCUDPTransport. - Fixed a bug with attempt counter, which could block delivery after reconnection. The bug appeared when AttemptsToConnect was set to non-zero value. - (Pascal) Listener thread could block itself for indefinite time if some buggy network driver was installed (incorrectly working firewall, for example). Fixed. --- October 1, 2005 v.1.5.6.38 Minor update - (C++) Default value for ServerRequestTime in MCHttpTransport was incorrectly set to 1 (instead of at least 1000). Fixed. - (.NET) Large MCInetTransport.InactivityTime value could cause lock-up of the server thread. Fixed. --- September 23, 2005 v.1.5.6.37 Minor update - (C++) Fixed a problem with missing MCUtils.obj in .lib files for VC6 - (.NET) Added MONO assembly --- August 31, 2005 v.1.5.6.36 Minor update - (.NET) Fixed a problem with semaphore implementation, which could cause the 100% CPU load. --- August 10, 2005 v.1.5.6.35 Minor update - (.NET) Fixed a problem with queue names (MCMessenger.GetMessageSource didn't work for - (.NET) Fixed possible memory overrun in MMF Transport --- August 5, 2005 v.1.5.6.34 Minor update - Fixed possible problem that could cause an error when the client disconnected and there were unsent messages to this client - (C++) Fixed the problem with trailing zero in CreateMessageFromText * Updated ZLib to version 1.2.3 --- June 28, 2005 v.1.5.6.33 Minor update - (.NET) Fixed ID generation which could lead to duplicate IDs - (Java ME) Fixed the problem with missing encoding, that happened on some J2ME VMs. --- June 16, 2005 v.1.5.6.32 Minor update + Added Shutdown method which turns off the transport and optionally discards all undelivered messages - (Pascal) Fixed the nasty bug with compression - (.NET) Fixed certain issues with .NET CF assembly - Fixed [recently introduced] thread management bug that could lead to lockout when restarting the transport --- May 8, 2005 v.1.5.5.31 Minor update - Fixed the bug which could sometimes (qute rarely) cause lockup of GetMessage() method. The bug didn't affect behavior of DispatchMessages method - In certain cases pending packets were not picked from the server's outgoing queue. --- March 31, 2005 v.1.5.5.30 Minor update - (.NET) Fixed UDPSocket issues (receiver socket was not released when deactivating the transport) - (C++, Pascal) Fixed small memory leak in MsgWaitForMultipleObjects - If connection was not completely established, InetTransport.OnDisconnected event was not fired. Fixed. - MCInetTransprot.Get*ConnectionCount() didn't work. Fixed. - (Pascal) Fixed a problem with stopping transport in Delphi 6-7, 2005 (change in VCL caused an exception to be thrown) --- March 16, 2005 v.1.5.5.29 Minor update * Fixed compatibility between builds 27-28 and previous builds. Update is recommended anyway, however. * Changed default value for AttemptsToConnect property to 0 (unlimited attempts) * (Java) Fixed code for Java 5.0 compatibility --- March 14, 2005 v.1.5.5.28 Minor update * (.NET, C++, Pascal, ActiveX, DLL) ZLib updated to 1.2.2 * (.NET) Fixed shutdown of the listening socket to allow socket reuse. Now works fine. * (.NET) Changed type of WebTunnelPort property to int (from unsigned short which is not handled by VB) - (.NET) Fixed shutdown of the listening socket to allow socket reuse. - (ActiveX) ActiveX control was broken. Fixed. - (ActiveX) ActiveX had a problem with InetTransport.OnDisconnection notification. Fixed. - Fixed GPL version (again ;) --- February 19, 2005 v.1.5.5.27 Minor update - Connection management improved to properly handle client connections, comming in parallel from the same client --- November 26, 2004 v.1.5.5.26 Minor update + (Pascal) Delphi 2005 support added --- November 8, 2004 v.1.5.5.25 Minor update - (ActiveX) Fixed the problem with text not being placed with a call to CreateMessageFromText - (ActiveX) Fixed the problem with some controls that could not be saved by VB6 after being placed to the form due to the problem in VB6 - (ActiveX) Fixed UDP transport which didn't expose BaseTransport properties - (C++) Fixed memory leak in C++ AES Encryption class - (C++) Fixed small memory leak in MMFTransport class - (C++) Fixed possible AV in DirectTransport class which could happen when there were more than one DirectTransport and they all were deleted - (C++) Fixed dangling pointer that happened in certain cases when dealing with memory stream --- October 11, 2004 v.1.5.5.24 New release ! (Java) redesigned TCP transports to use non-blocking socket mode and select(). This requires JDK 1.4 or later. + Added SendNoteEncrypted sample + Added Web Tunneling support to TCP transports. Web Tunneling is HTTP CONNECT request to HTTP Proxy, which opens a generic TCP tunnel. - Fixed GetMessageSource functionality in SocketTransport and HTTPTransport - Another pack of fixes for socket and http transport and reconnection - Fixed InetTrasport to pass correct address to transformers (remove client ID before calling transformer) - Fixed possible SOCKS connection problem if outgoing messages come quicker than connection is established - Fixed possible deadlock that could happen when the Active property of the transport was changed * Improved SOCKS connection code to return extra data back to the socket (not needed in MsgConnect but might be useful if the socket is used alone) * (ActiveX) Added MCRouter.OnTranslateAddress event * (ActiveX) Fixed Encryptor.SetKey method to have compatible parameters with VB 6 * (ActiveX) Fixed transports to expose previously hidden properties * (C++, Pascal) Fixed small memory leak in UDP Transport * (Java) Fixed reading of long headers on slow connections in HTTPTransport * (Java) Fixed Java-specific socket issues with available() function * (Java) Fixed transformers which didn't work * (.NET) Fixed disposal of the components * (.NET) Fixed decryption of encrypted data messages * (.NET) Fixed a problem with kernel object security (the problem prevented communication between .NET service as MMF server and client application as an MMF client) * (.NET) Fixed possible connection problem if connection was established *very* quickly (usually this happens on localhost connections) * (.NET) Fixed loss of first packet when connecting between two instances of .NET MsgConnect via SocketTransport --- September 11, 2004 v.1.5.2.21 Minor update * (.NET) SocketTransport didn't work due to a recently-introduced mistake * improved SocketTransport and HTTPTransport for better performance on reconnection * improved stopping of transport operations SocketTransport and HTTPTransport --- August 25, 2004 v.1.5.2.20 Minor update + Added OnConnected and OnDisconnected event to MCInetTransport - Fixed certain stability problems in MCInetTransport * (.NET) Changed parameter type for Timeout parameter in MCMessenger.SendMessageTimeoutCallback * (.NET) Changed property types in MCInetTransport properties to remove unsigned int types ! Moved SOCKS support code to MCStdSocket class --- August 8, 2004 v.1.5.1.19 Minor update + (Pascal) Added SSL socket factory to Delphi code package. Requires SecureBlackbox (http://www.secureblackbox.com) - (.NET) Fixed problems with .NET CF assemblies --- July 21, 2004 v.1.5.1.18 Minor update + Added socket factory component to allow easy reuse of other socket implementations + Added BandwidthPolicy property to MCInetTransport + (C++, Pascal, ActiveX, DLL) Added ReuseServerPort property to MCInetTransport + (C++, Pascal, ActiveX, DLL, Java SE, .NET) Added UDP Multicast support - (C++, Pascal, ActiveX, DLL) Fixed Memory-Mapping transport where cancelling a message being transferred could lead to double-freeing of memory block --- July 9, 2004 v.1.5.0.17 Minor update - (ActiveX) Fixed SendMessage and SendMessageTimeout methods to work in VB and return the value - Fixed possible (but very unlikely) memory leak when the message is cancelled - (C++ Linux) Fixed a problem with file handle leak - (C++ Linux, Palm) Fixed a problem with message ID generation (when more than one message is received or created within one millisecond) - (C++, Pascal, ActiveX, DLL) Fixed the problem with expired attempts to connect --- June 14, 2004 v.1.5.0.16 Official Release - DirectTransport reworked to avoid transport conflicts - (.NET) SendMessageTimeout fixed to avoid failing with Timeout when called not from the thread, in which Messenger object was created --- June 2, 2004 v.1.5.0.15 Release Candidate + Changed version numbering. + (Java, MIDP) Added UDP transport for Java SE, Java ME MIDP 2.0 - UDP transport threads didn't use MessengerAddress for socket binding. Fixed - MessengerAddress was not automatically initialized to 0.0.0.0. Fixed ! Now compiled versions (.NET, ActiveX, DLL, Java, Java ME) require license key. Trial key is specified in installation instructions (in readme files). --- May 5, 2004 v.1.50 beta 1 + Added UDP transport + Added SOCKS support to InetTransport * Now Java, .NET, ActiveX and DLL code packages require license key to be set before operation - (ActiveX) Extra character was added to binary data. Fixed. * (.NET) C# encryptor has been rewritten in C# - (.NET) MMF transport didn't send message priority. Fixed - (.NET) CRC32 sealer built incorrect init.table. Fixed. - (.NET) MD5 was incorrectly calculated (sealer was not affected). Fixed. - (Java) AES has been redone - (Java) WaitForMultipleObjects has been redone - (MIDP) the device didn't respond to incoming messages sent with SendMessage*. Fixed. --- Apr 30, 2004 v.1.47 - (ActiveX) Memory allocation bug in OnUnhandledMessage fixed - (ActiveX) Message.Priority couldn't be set. Fixed. - (.NET) Problem with GetMessageSource fixed - (Java) Problem with "Illegal lock usage" fixed --- Apr 23, 2004 v.1.46 * Remade synchronization primitives on Linux * broke compatibility with QNX (to be fixed for next version) - some MMF transport fixes (in C++/Linux and in Pascal (Windows, Linux), DLL, ActiveX code packages) - Fixed some DLL interface declaration problems - Fixed an issue with some messages processed out of order --- Apr 14, 2004 v.1.45 + Added priorities to messages + Added IgnoreIncomingPriorities property to MCBaseTransport + Added WaitMessageEx method to MCMessenger + Added GetOutgoingMessagesCount method to transport - Fixed a bug which could cause a slowdown and denial of service under heavy bidirectional load of socket transports --- Mar 31, 2004 v.1.40 + Added RemObjects transport based on MsgConnect - Fixed several bugs in Socket and HTTP Transports - Fixed ActiveX-related issues - Fixed GPL and QNX builds --- Jan 15, 2004 v.1.40 RC 1 + Added GetIncomingConnectionCount and GetOutgoingConnectionCount methods to SocketTransport and HTTPTransport + Added IncomingBufferSize and OutgoingBufferSize properties to SocketTransport and HTTPTransport + Added IncomingSpeedLimit and OutgoingSpeedLimit properties to SocketTransport and HTTPTransport + Added NoTransformerFallback property to SocketTransport and HTTPTransport + Added GetMessageSent method to Messenger + Added GetQueueStatus method to Messenger - Fixed some problems with reconnection in SocketTransport and HTTPTransport --- Nov 28, 2003 v.1.35 + Added message forwarding + Direct transport has been redesigned to allow sending of messages from one DirectTransport to another - memory leak fixes in Socket transport - some fixes of timeout handling in Socket transport - some fixes in SendMessageTimeout method --- Oct 19, 2003 v.1.30 + Added message routing + SendMessageTimeoutCallback method added + more control over message delivery, timeouts and errors * overall stability significantly improved --- Aug 20, 2003 v.1.20 + Added HTTP transport + Added Java ME (MIDP 1.0 and 2.0) and PalmOS support * PostMessage/SendMessage* methods are now thread-safe --- Apr 18, 2003 v.1.08 - Fixes for several bugs with Transport.Active property and with MMF transport --- Feb 26, 2003 v.1.07 + Support for SourceID in server-mode socket transport - some bug fixes in Java thread synchronization - some bug fixes in CancelMessage method --- Jan 29, 2003 v.1.06 - fix for the problem with bdtVar parameters that were placed back to the message only in SendMessageCallback, but not in SendMessage(Timeout) functions --- Jan 17, 2003 v.1.05 + Added QNX 6 support + Added GetMessageSource method to Messenger --- Dec 14, 2002 v.1.0 ! Original release