We are happy to announce v. 5.16.00 of the most complete development toolkit for Delphi and C++Builder for building native modular and fast multi-tier solutions.

If you like kbmMW, please let others know! Share the word!

We strive hard to ensure kbmMW continues to set the bar for what an n-tier product must be capable of in the real world!

This is a major new release with the introduction of our new context sensitive I18N internationalization framework. In addition it includes many other new features, and bugfixes.

The release includes:

  • New I18N context sensitive internationalization framework to make your applications multilingual.
  • New ORM LINQ support for Delete and Update.
  • Comments support in YAML.
  • New StreamSec TLS v4 support (by StreamSec)
  • Many other feature improvements and fixes.

Please check the end of this post for a detailed change list.

Professional and Enterprise Edition is available for all with a current active SAU. If your SAU has run out, please visit our shop to extend it with another 12 months.

Community Edition (CE) can be used as a 60 day trial, alternatively as a free product, provided the license is followed. Please read license.txt file for details. CE supports a large subset of the Enterprise Edition features, but may have technical and artificial limitations in certain areas. It only supports a specific Delphi/Win32 SKU, produce Win32 executables and do not include source.

Please visit https://portal.components4developers.com to download.


kbmMW is the premiere n-tier product for Delphi, C++Builder and FPC on Win32, Win64, Linux, Java, PHP, Android, IOS, .Net, embedded devices, websites, mainframes and more.

Please visit http://www.components4developers.com for more information about kbmMW.


Components4Developers is a company established in 1999 with the purpose of providing high quality development tools for developers and enterprises. The primary focus is on SOA, EAI and systems integration via our flagship product kbmMW.

kbmMW is currently used as the backbone in hundreds of central systems, in hospitals, courts, private, industries, offshore industry, finance, telecom, governments, schools, laboratories, rentals, culture institutions, FDA approved medical devices, military and more.

 5.16.00 Jul 17 2021

        Important notes (changes that may break existing code)
        * Updated messaging subject header to v5 to support packet size.
          Notice newer servers will adjust to old clients, but newer clients will
          not be able to communicate with older servers, unless you specifically
          downgrade the header version (client side), or update the server.
          Downgrade the header version by setting the transport.Params propety like this:
        * Updated TkbmMWORM's LINQ to support Delete and Update.
          May require minor changes to existing code to compile.

        New stuff
        - Added kbmMWI18N.pas, kbmMWI18NVCL.pas and kbmMWI18NFMX.pas to Enterprise Edition.
          It is a complete context sensitive translation framework.
        - Added kbmMWSs4TLSTransportPlugin for StreamSec v4 TLS support.
        - Updated TkbmMWORM's LINQ to support Delete and Update.
          May require minor changes to existing code to compile.
        - Added Value2String class method to TkbmMWRTTI.
        - Added VarRec2String class method to TkbmMWRTTI.
        - Added VarRec2Variant class method to TkbmMWRTTI.
        - Added ConvertToBoolean, ConvertToInt, ConvertToString, ConvertToInt64,
          ConvertToFloat, ConvertToDateTime, Convert class functions to TkbmMWRTTI.
        - Added AsString to TkbmMWNullable. Useful for debugging/logging purposes.
        - Added AsString to TkbmMWDateTime. Useful for debugging/logging purposes.
        - Added AsFieldValueArray to TkbmMWORMFieldList.
        - Added two variations of DatasetFieldValueArray to DatasetFieldValueArray.
          Returns an array of field values.
        - Added global kbmMWDebugEncoding:TEncoding which defines how to encode debug messages.
          Default encodes as ASCII.
        - Added kbmMW SQL functions:
            ToHex(int)->string or ToHex(digits,int)->string,
        - Added IsLogLevel(const ALevel:TkbmMWLogLevel):boolean to TkbmMWLog.
        - Added PrepareMessagePackStorage to TkbmMWConfiguration.

       	Changes/minor additions
        - Cleaned up and improved data conversion in SmartBind.
        - Improved SmartBind rebinding to a TDataSet/TDataSource.
        - Improved shutdown detection in SmartBind.
        - Improved shutdown detection in SmartEvent.
        - Improved TkbmMWThreadObjectDictionary to optionally support an ordered list, which
          can be fetched using BeginReadOrdered and EndReadOrdered functions.
          Specify which to support ordering at construction time.
        - Changed TkbmMWGenericMagneticStripeReaderHID.DecodeInputReport and
          TkbmMWMagTekMSRHID.DecodeInputReport to set status to an empty string if decoded ok.
        - Improved TkbmMWYAMLStreamer to read and write comments.
          It will attempt to preserve comments when possible.
          Further it supports inserting comments before and/or after a node.
        - Improved YAML character support during parsing.
        - Added PreComment and PostComment properties to TkbmMWONCustomObject.
        - Optimized all value setters of TkbmMWONCustomObject and TkbmMWONObject.
        - Added general new MOBILE definition support for mobile non NEXTGEN.
        - Improved TkbmMWLinqStage.AsON to accept optional extra parameter to return
          a plain object notation object (native or object) that is not embedded
          in an array (default).

        - Fixed kbmMWGetFileSize platform bug.
        - Fixed TkbmMWTiming.GetTimeUS platform bug.
        - Fixed MacOS compilation bugs.
        - Fixed bug in TkbmMWHID, detecting HID candidates.
        - Fixed bug in gzip detection in kbmMWCustomHTTPService.pas
        - Changed misspelled 'tagString' to 'tagStrings' in SmartBind
        - Fixed bug when no rows in TkbmMWBindingStringGridControlFMXProxy.FillGridColumn.


Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.