We are happy to announce v. 5.14.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!

Notice that kbmMemTable v. 7.86.00 or newer is a prerequisite to this update.

This is a combined bugfix and selected new features release.

The release includes:

  • New HTTP and kbmMW server status message handling support in Smart services
  • New support for TkbmMWGenericMagneticStripeReaderHID and TkbmMWGenericBarcodeReaderHID
  • New support for pivot based counters in the ORM
  • New support for transport native file sending for HTTP.Sys transport
  • New support for automatic GZIP compression of responses from HTTP Smart services
  • Several 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.14.00 Feb 21 2021

        Important notes (changes that may break existing code)
        ======================================================

       * Changed default SQLite memo field type to CLOB.
         If preprocessor conditional KBMMW_FIX_SQLITE_MEMO_BUG is defined, then
         CreateOrUpgrade will automatically attempt modifying existing tables
         old MEMO status to CLOB. Prevents unintentional interpretation of
         numeric look a like values as numerics.

        New stuff
        =========
        - Added support for status methods in kbmMWCustomSmartService and
          kbmMWCustomHTTPSmartService. Status methods are smart methods
          that are only triggered when an error or warning status is happening.
          They take both kbmMW native status codes and HTTP status codes.
          Updated RESTFishFact demo to show examples of how to use.
        - Added QueuedAfterRun and QueuedAfterEnd methods to kbmMWScheduler.
        - Added ConcatBytes and BytesZ2String to TkbmMWPlatformMarshal.
        - Added global kbmMWCoalesce and kbmMWIsSameVariants global functions in kbmMWGlobal.pas.
        - Added internal thread locking to TkbmMWMemoryStream.
        - Added DeleteByName, IndexOfvalue, ContainsValue to TkbmMWHTTPCustomValues.
        - Added new TkbmMWMimeTypes class to kbmMWHTTPUtils.pas.
          Supports specifying if a mimetype is compressible.
        - Updated compiletool to optionally allow creation of project files
          for non installed compilers.
        - Improved HID support with TkbmMWGenericMagneticStripeReaderHID,
          TkbmMWGenericBarcodeReaderHID and added various more methods
          like Manufacturers, Products and ManufactorersAndProducts to
          extract basic data.
        - Added support for pivot based counters in the ORM and connection pool.
        - Added support for transport native file sending for HTTP.Sys transport.
          Will automatically trigger when using HTTPResponseFromFile.
        - Added support for automatic GZIP compression of responses from
          HTTP Smart services, provided client announce support of it in call.

        Fixes
        =====
        - Fixed kbmMWDebugMemory compilation.
        - Fixed precise scheduled event shutdown bug.
        - Fixed SQL rewriting of ALTER TABLE ALTER/MODIFY COLUMN for ANSI92 and
          subsequently for IB, MYSQL and ORACLE.
        - Fixed exception in kbmMWCustomDataset.pas when attempting to run
          nil cursor thru a piped kbmSQL statement.
        - Improved SmartBinding, fixed bugs and stability.
        - Fixed SmartBinding bugs for Android.
        - Fixed bugs in kbmMWDateTime related to local date conversion.
        - Fixed bug in TkbmMWTCPIPIndyMessagingClientTransport which would
          cause package data corruption upon IsConnected checking from a
          different thread.

       	Changes/minor additions
        =======================
        - Refactored and introduced kbmMWCore.pas
          kbmMWCore.pas amongst others contains TkbmMWInterlocked.
        - Added a number of KBMMW_TRANSPORTSTREAM_PARAM_xxxx constants
          for setting up transport stream parameter options.
        - Changed SynchronizedAfterRun and SynchronizedAfterEnd back to not queueing.
        - Changed default SQLite memo field type to CLOB.
          If preprocessor conditional KBMMW_FIX_SQLITE_MEMO_BUG is defined, then
          CreateOrUpgrade will automatically attempt modifying existing tables
          old MEMO status to CLOB. Prevents unintentional interpretation of
          numeric look a like values as numerics.
        - Improved TkbmMWPathMatcher to handle escaped characters.
          Will allow for $ and ^ in URL paths for example. Escape by backslash.
        - Improved support for IInterface in kbmMWRTTI.pas

Loading

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.