We are happy to announce v5.04.20 of our popular middleware for Delphi and C++Builder.

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 release is primarily bugfix release, but does also contain a number of new things:

  • Support for scheduling multiple parallel child jobs for recurrent runs.
  • XML <> Object Notation conversion improvements
  • kbmMW Configuration improvements

Please look in 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.

CodeGear Edition is available for free, but only supports a specific Delphi/Win32 SKU, contains a limited feature set 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 .Net, Win32, Win64, Linux, Java, PHP, Android, IOS, 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 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.


5.04.20 Nov 12 2017

New stuff
 - Added ability to Schedule batches of tasks as one job, similarly as Run.
 Using Schedule, it can be recurrent.

 - Updated several database adapters with various fixes.
 - Fixed error popping up in TkbmMWCustomHashItem when range check is enabled in compiler.
 - Fixed bugs in kbmMWScheduler.
 - Fixed leaks in kbmMWScheduler related to scheduling of batches of tasks.
 - Fixed TkbmMWLockFreeHashArray2.Enum not returning AKey2 value.
 This shows up if one enable the nice debug flag
 KBMMW_MREW_NOTIFY_LONG_LOCKS_DEBUG (generally not to be used in production).
 It ensures that deadlocks due to locking will show up in the Windows monitor
 with exact info about which thread(s) held the lock and the type of lock.
 - Fixed off by one in counting when to GC a service instance resulting
 in leaving one too little left when minimum of instances has been defined.
 - Fixed service GC issue when a service has a very long running operation
 that times out and thus should be removed, resulting in less than
 defined minimum number of instances.
 - Fixed kbmMWMT database adapter's resolver to not require a table name.
 - Fixed TkbmMWConfiguration.

Changes/minor additions
 - Updated MT demo to match current kbmMW version.
 - Significantly improved XML SaveToObjectNotation and LoadFromObjectNotation.
 Amongst other s added the following options:
 mwxonoAutoIdentifyArrayElement - Set to include i=IndexNumber of array
 mwxonoReservedNameAsElement - Set to not interpret id and type names but
 instead treat them as elements.
 mwxonoAutoNumberUnnamedArrays - Set to add array level to unnamed arrays.
 If not set, sub array will have same name as parent.
 - Added BSON as storage format for TkbmMWConfiguration.
 - Added Prepare...Storage utility methods to TkbmMWConfiguration to easily
 setup specific storage type.
 - Added kbmMWConfiguration sample.
 - Added SetDateTimeTimeZone to TkbmMWDateTime, which specifically sets a
 datetime with a specific timezone.


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.