kbmMW is a portable, highly scalable, high end application server and enterprise architecture integration (EAI) development framework for Win32, ..Net and Linux with clients residing on Win32, .Net, Linux, Unix, Mainframes, Minis, Embedded and many other places. It is currently used as the backbone in hundreds of central systems, in hospitals, courts, private, industries, offshore industry, finance, telecom, governements, schools, laboratories, rentals, culture institutions, FDA approved medical devices, military and more. 4.84.00 September 6 2015 Important notes (changes that may break existing code) ====================================================== * Removed kbmMWMurmurHash3 from kbmMWGlobal.pas. New stuff ========= - Added support for RAD Studio 10 Seattle and Delphi 10 Seattle. - Added LZ4 compression support. - Added JPEG compression support via TurboJPEG via the new units kbmMWJPEG and kbmMWJPEGDefs. Installer includes optimized precompiled Win32, Win64 and Android libJpeg DLL/.so libraries. - Added support for DirectX11 for Remote Desktop Server. - Added multimonitor support (max 8 monitors) in Remote Desktop. - Added clipboard sharing in Remote Desktop. - Added 4 bit and 8 bit grayscale view modes to Remote Desktop. - Added auto detect compression modes in Remote Desktop. Some of them are called "xxxFullScreen" and will attempt non tiled compression, which may be preferable if running for example video in full screen for best non tearing appearance. - Performance optimized Remote Desktop including tile based texture detection compression, better thread handling and more. - Added FireMonkey Remote Desktop client component and limited demo app which runs on NextGen. - Added PassedTimeDiffUS to TkbmMWTiming. Works as PassedTimeUS except it returns passed time in uS. - Added kbmMWHashMurmur3.pas, kbmMWHashFNV1A.pas and kbmMWHashXX.pas units for 3 different high performance hash algorithms. - Enabled ZIPPED stream support for NextGen. - Added mwmqoPurgeOnCongestion to TkbmMWMessageQueueOption which will clear messages below a certain priority from the messagequeue when congestion is detected. - Added mwmqoPurgeAllPrioritiesOnCongestion to TkbmMWMessageQueueOption which will clear messages of all priorities from the messagequeue when congestion is detected. - Added Purge method to TkbmMWCustomMessageQueue and all descendants (memory and file). Removes messages from the queue optionally based on priority leaving only N messages. Changes/minor additions ======================= - Dropped PNG compression mode in Remote Desktop. - Dropped Huffman compression mode in Remote Desktop. - Removed kbmMWMurmurHash3 from kbmMWGlobal.pas. - Deprecated kbmMWHashString32 and kbmMWHashString64. Instead use kbmMWHashFMV1A32 or kbmMWHashFMV1A64. - Added Options:TUniDataSetOptions to UniDAC adapter. - Modified UniDAC adapter to convert field types: ftOraBlob->ftBlob, ftOraclob->ftWideMemo, ftDateTime->ftDate. - Improved performance in HTTPGetContents in TkbmMWHTTPTransportStreamHelper. - Dropped DirectX9 screen capture support in Remote Desktop. - Updated .Net kbmMWSpider with user suggestions. Fixes ===== - Fixed compilation/runtime issues for IOS64. - Fixed kbmMWString2Variant to return local time in variant if a datetime value was given, instead of UTC time. - Fixed potential TkbmMWMemoryStream issues in mobile and 64 bit code. - Fixed Unicode memo issues in UniDAC adapter. - Fixed Android compilation issues. - Fixed issue when dynamically modifying path in OnFileAccess in file service. - Fixed object marshalling for NextGen. - Fixed resetting timezone when setting TkbmMWDateTime.ISO8601DateTime given only a date. - Fixed initializing timezone offset to 0 when creating empty TkbmMWDateTime. - Fixed FIB adapter when moving blob/memo data.