欢迎大家围观。
Important notes (changes that may break existing code)
======================================================
* Updated transport stream version to 508 to support transporting other TValue
based data than interface, object and native values (typical records).
Newer servers will detect and support older clients.
Newer clients can be forced to older version to support older servers by setting
transport.Params[KBMMW_STREAM_FORMATTER_PARAM_STREAMVERSION]:='506' etc.
New stuff
=========
- Added kbmMWSmartStubGenerator.pas and kbmMWOpenAPIMarshal.pas units (Ent only).
Provides easy access to produce OpenAPI (Swagger) REST interface descriptions
and Delphi client side stubs for regular kbmMW smart methods.
- Added demo projects for OpenAPI and Delphi client stub generator.
- Updates to marshal classes to support providing not only instances but
also types for OpenAPI support and marshalling record types.
- Added kbmMWStrToInt, kbmMWStrToInt64, kbmMWTryStrToInt, kbmMWTryStrToInt64
to kbmMWGlobal.pas. They do specifically not convert hexadecimal values.
- Added pure Pascal version of TkbmMWPlatformMarshal.BitCount.
- Added kbmMWGCD to calculate greatest common denominator to kbmMWGlobal.pas.
- Added ExecuteProcess to TkbmMWProcess in kbmMWProcess.pas. Provides access
to realtime process output.
- Added support in CallMethod for record type arguments.
- Added TkbmMWDateTime.MSecOfSecond methods handling millisecond part.
- Added ParseHexadecimal property to TkbmMWONFormat. If true, will
support understanding values starting with $ or 0x as numeric hexadecimal values
instead of strings.
- Added FindProperty functions to TkbmMWONCustomObject. Will search the object notation
tree from self, until a property is found with the given name and return the
hosting TkbmMWONObject.
- Updated TkbmMWScheduler adding additional Cron parse mode: mwscmExtendedMsecAndYear
If selected, Cron accepts 8 part Cron value (msecs, secs, min, hour, day, month, weekday, year).
- Added several Queryxxxx methods to kbmMWORM for access via TkbmMWORMTable instances.
- Added property JournalMode and PageSize to TkbmMWSQLiteConnectionPool. If set will
automatically change the database settings, even on existing database.
- Added function VerifyIntegrity which when called, will check if a SQLite database is
ok or not.
- Added backup features to TkbmMWSQLiteConnectionPool. Call the function Backup.
- Added validation that SQLite dll is supporting multithreading.
- Updated transport stream version to 508 to support transporting other TValue
based data than interface, object and native values (typical records).
Newer servers will detect and support older clients.
Newer clients can be forced to older version to support older servers by setting
transport.Params[KBMMW_STREAM_FORMATTER_PARAM_STREAMVERSION]:='506' etc.
- Updated TkbmMWRTTI with several new methods.
- Updated Use in kbmMWSmartUtils.pas with several new methods to easily
convert TArray<byte> and other values.
Changes/minor additions
=======================
- Additional error handling in various places.
- Improved TkbmMWAutoValue for non object types.
- Changed TkbmMW_ArgAttribute to descend from TkbmMW_CustomSettingsAttribute
making it able to receive a settings string, and thus also be
supported by configuration syntax.
- Updated kbmMWSmartClient to fix serious leak bug in Delphi.
- Improved stall detection in TkbmMWScheduler to now also detect stall on timeslot missed by more
than 1/16th interval.
- Improved error handling during peer disconnection in TkbmMWAMQPClientConnection.
Fixes
=====
- Minor fixes finalizing and zeroing some interfaces and values.
- Compile fixes to kbmMW TCP socket library.
- Fixed producing incorrect CORS headers in kbmMWCustomHTTPService.pas
- Fixed DBISAM v4 adapter compilation.
- Fixed TkbmMWCustomThread.FinalizeThread compile error for some SKU's.
- Fixed LINUX compilation.
- Fixed bugs in CallMethod in kbmMWSmartServiceUtils resulting in incorrect
authorization matching for methods.
- Fixed TkbmMWTCPServerTransport to handle large packets.
- Fixed dependency leak caused by kbmMWDebugStackTrace not correctly being registered
in the dependency framework.
- Fixed leaks in kbmMWJSON when parsing invalid JSON.
- Fixed ClearDontCheckpointFlag in kbmMWCustomConnectionPool.pas to skip
previously deleted records.
- Fixed bug parsing # and $ as first character in YAML.