kbmmw 5.0 beta1 发布

经过大半年的等待,kbmmw 的新版终于来了。经过近5年的打磨, kbmmw 的版本号升级到5了。

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.00.00 Beta Feb 19 2017

 Important notes (changes that may break existing code)
 ======================================================
 * Officially now only supporting XE2 and forward. Support for pre XE2
   may not be complete.

 New stuff
 =========
 - Officially now only supporting XE2 and forward. Support for
   pre XE2 may not be complete.
 - Added RemoteLocationsPrimaryPart to
   TkbmMWAuthorizationTransportConstraint (default false).
   If set to true, will only compare primary part of
   clientidentity.remotelocation.
   Primary part is defined by everything up til the last ‘:‘. In most
   cases that will mean the IP address without the port number.
 - Added IkbmMWLogFormatter interface to kbmMWLog.
 - Added TkbmMWStandardLogFormatter to kbmMWLog. It contains vastly
   improved features for controlling the look and layout of the log
   output. Its the default used log formatter.
 - Added TkbmMWSimpleLogFormatter to kbmMWLog. It outputs a log with
   only datetime, type (info/warning/error/fatal etc) and log string.
 - Added LogFormatter property to IkbmMWLogManager. It can be set to a
   custom log formatter.
 - Added mwldtRaw log data type and methods LogRaw to IkbmMWLog. It
   allows for logging bytes or strings without
   interpretation/reformatting.
 - Added global SystemLog instance which will always output to system
   log outputs. It is used as a fallback in case the regular log system
   excepts.
 - Added support for marshalling/unmarshalling named enum values via
   the new kbmMW_Enum attribute.
   Its useful when an enum value cant be used as an identifier or its
   value should be different from its presented name.
 - Added ExceptOnUnknownType to TkbmMWCustomRTTIMarshal. It controls if
   to throw an exception if an unknown type is accessed or not
   (default true).
 - Added support for marshalling/unmarshalling TDictionary<K,V> types.
 - Added support for correctly instantiating classes in unmarshalling
   that contains a capacity constructor argument.
 - Added Run methods to TkbmMWScheduler. It allows for one time run and
   forget scheduled async code. They are used in the same way as the
   Schedule methods, but sets Occurs to mwsoRun.
   The job will be automatically unscheduled after the run.
 - Added overloaded DelayInitial(const AInitialDelaySecs:double) to
   IkbmMWScheduledEvent.
   It allows for directly giving an initial delay in seconds. It
   supports fractional second values.
 - Added Clear to TkbmMWScheduledEvents (scheduler.Events) to allow for
   clearing all scheduled events. Running events will be allowed to
   finish.
 - Added GetNameSpaceByURI, DefaultNameSpace, DefaultNameSpaceURI to
   TkbmMWDOMXMLNameSpaceList.
 - Added SearchRelNodeByID, SearchNodeByID, SearchRelNodeByGivenName,
   SearchNodeByGivenName to IkbmMWDOMXMLParser.
 - Added ExpandNameSpace, GivenName, ChildrenByGivenName,
   ChildByGivenName, CheckChildByGivenName to TkbmMWDOMXMLNode.
 - Added CheckNodeByGivenName, NodeByGivenName to TkbmMWXMLNodeList.
 - Added missing ADSDBF support to kbmMWReg.
 - Added mwrtoOptionalInsert,mwrtoKeyNotNullInsert,
   mwrtoOptionalModify,mwrtoKeyNotNullModify,
   mwrtoOptionalDelete,mwrtoKeyNotNullDelete and table modifier flags
   OIM/OMI (optional insert/modify), OID/ODI (optional insert/delete),
   OMD/ODM (optional modify/delete), OI (optional insert),
   OD (optional delete), OM (optional modify),
   KIM/KMI (insert/modify on key not null), KID/KDI (insert/delete on
   key not null),
   KMD/KDM (modify(delete on key not null), KI (insert on key not null),
   KM (modify on key not null), KD (delete on key no null)
   to TkbmMWResolverTableOption
   They allow for more finegrained definition on when insert/update
   /delete should happen.
   If one of the optional (OIM,OMD,OID,OI,OD,OM) is given, no exception
   will be raised for the table when an operation did not succeed, and
   resolving will continue. If one of the key (KIM,KMD,KID,KI,KM,KD) is
   given, record resolve operation will be skipped for the specific
   record if key is null.
 - Added ReadBOM overloaded methods with default TEncoding option to
   TkbmMWPlatformMarshal.
 - Added overloaded kbmMWTextToString, kbmMWExpectText,
   kbmMWStringRightPad, kbmMWStringLeftPad,
   kbmMWGetComputerName functions to kbmMWGlobal.pas.
 - Added optional ACallback anonymous function to SendAsyncRequest and
   SendAsyncRequestEx in kbmMWClient.pas (WIB only).
   It allows for providing an anonymous function that should be called
   when an async response is returned. The function must follow this
   type:
     function(Sender:TObject;
              TransportStream:IkbmMWCustomTransportStream):boolean;
 - Added LOB blob/clob support (user fix) to DOA adapter.
 - Vastly improved XSD importer.
 - Added generic Object Notation framework for building virtual object
   trees consisting of TkbmMWONNative, TkbmMWONArray and TkbmMWONObject
   which all are based on TkbmMWONCustomObject.
 - Added YAML parser/generator based on object notation framework.
 - Added Messagepack parser/generator based on object notation
   framework.
 - Added BSON parser/generator based on object notation framework.
 - Added support for converting XML to and from object notation format
   via LoadFromObjectNotation and SaveToObjectNotation functions.
 - Added new TkbmMWCustomSmartService and TkbmMWCustomHTTPSmartService
   services, which can be selected in the service wizard to create
   smart services. Smart services supports tagging any function to be
   exported to a smart client or a REST client
   (TkbmMWCustomHTTPSmartService required).
 - Updated transports to support marshalling objects via the transport.
 - Added several near lock free features to kbmMWGlobal, including
   TkbmMWLockFreeStack,  more interlocked functions, lock free array GC
   fixes, optional TkbmMWREWLock statistics, support for TkbmMWMREWLock
   can switch to TMonitor for reader/writer fair support.
 - Optimized many algorithms like TkbmMWStringBuilder,
   TkbmMWGenerateGUID, TkbmMWGenerateShortGUID and many more to improve
   performance overall.
 - Added many new general purpose functions to kbmMWGlobal.
 - Added direct support for salt in hash functions deriving from
   TkbmMWCustomHash.
 - Added support for anonymous functions in async kbmMWClient requests
   (WIB)
 - Added new kbmMWRTTI unit with loads of RTTI functionality.
 - Added YAML stream format for kbmMemTable and descendants.
 - Added Messagepack stream format for kbmMemTable and descendants.
 - Added BSON stream format for kbmMemTable and descendants.
 - Added object marshalling to and from YAML.
 - Added object marshalling to and from Messagepack.
 - Added object marshalling to and from BSON.
 - Added ServicePath property to TkbmMWClientIdentity.
 - Added MaxLogins to TkbmMWAuthorizationManager which is default 100
   to prevent potential login spam.
 - Added support for HTTPSys based transport for Windows. Its specially
   useful for high performance RESTful applications.
 - Added AutoRegisterServices method to TkbmMWServer which can be used
   for automatically locating and registering any service that has the
   kbmMW_Service attribute defined. It makes use of the old
   RegisterService and RegisterServiceByName optional.
 - Added LocalSinceEpochMS, UTCSinceEpochMS, Temporenc to
   TkbmMWDateTime. Temporenc is a very compact binary encoding of a
   datetime value.
 - Added FastSetUTC method to TkbmMWDateTime to threadsafely very fast
   setting the UTC value of an already defined TkbmMWDateTime record.
   The record MUST be initialized before using FastSetUTC, for example
   by dt:=TkbmMWDateTime.Now;
 - Added ValueToStream, ValueFromStream, ValueToBytes and
   ValueFromBytes in
   TkbmMWCustomRTTIMarshal. Allows for easy marshalling objects to and
   from bytes and streams.
 - Added ExceptOnUnknownType boolean property to
   TkbmMWCustomRTTIMarshal.
   Controls if an exception should be thrown in case a type cant be
   marshalled or unmarshalled, or it should be silently skipped.
 - Added Devart MyDAC support (DMYDAC).
 - Added CORS support (Cross Origin-Resource Sharing) in
   TkbmMWCustomHTTPService and descendants. (OnCORS event).
 - Added PerformOPTIONS and PerformPATCH support to
   TkbmMWCestomHTTPService.
   (OnOptions and OnPatch in TkbmMWEventHTTPService).
 - Added REST transport stream format which must be used if non HTTPSys
   transport is used for smart services.
 - Added TkbmMWSmartClient which allows simple and easy access to
   server side smart functions.
   Check simpleinvocation sample.
 - Added high quality random functions in new kbmMWRandom unit.
   TkbmMWRandomDelphi (32 bit non high quality ramdom!),
   TkbmMWRandomSplitMix (64 bit)
   TkbmMWRandomXoroshiro128Plus (64 bit),
   TkbmMWRandomXoroshiro1024 (64 bit),
   TkbmMWRandomPCGUInt32 (32 bit),
   TkbmMWRandomMersenneTwisterUInt32 (32 bit),
   TkbmMWRandomMersenneTwisterUInt64 (64 bit)
 - Added high quality pronouncable password generators in new unit
   kbmMWPassword.
   TkbmMWMixerPasswordGen, TkbmMWKoremutakePasswordGen
 - Added support for ExchangeType in TkbmMWAMQPClient.
 - Added new GC and CloseAndGC methods in TkbmMWAMQPChannel to force
   getting rid of defunct/cached but unused AMQP channels.
 - Added IPVersion property to TkbmMWCustomTCPIPIndyClientTransport.

 Changes/minor additions
 =======================
 - Removed (mwloProcessThreadInfo,mwloThreadName from TkbmMWLogOption
   since its now controlled by the log formatter.
 - Changed Activate method of IkbmMWScheduledEvent to have true as
   default argument AValue.
 - Changed SetAsDuration and GetAsDuration to use TkbmMWDuration
   instead of TkbmMWDateTime.
 - Added support for checking if path is accessible in
   TkbmMWBufferedFileStream.Create.
 - Changed JSON parser/generator to be based on the object notation
   framework.
 - Improved scalability of FastCGI services to better spread load
   accross multiple instances.

 Fixes
 =====
 - Fixed A/V when attempting to use audit file.
 - Fixed missing clearing of TkbmMWDuration when parsing duration
   strings, resulting in an incorrect duration value (instead of null)
   on invalid duration strings.
 - Fixed TDuration.Passed(const ADuration:TkbmMWDuration) which didnt
   return correct value.
 - Fixed deactivating precise scheduled events.
 - Fixed events scheduled to start on day, month, week or year
   boundaries.
 - Fixed issues to initial delay in scheduled events.
 - Fixed parsing tags crossing line boundaries in XML parser.
 - Fixed various namespace issues in XML parser.
 - Fixed WIB compilation issue for XE.
 - Fixed TkbmMWStreamStore offset bug when writing first segment.
 - Fixed potential shutdown issue in Indy10 transports due to Indy10
   bug.
 - Fixed kbmMWDependency non accumulating memory leaks.
 - Fixed NexusDB transport compilation.
 - Fixed Autoinc field detection in EDB (ElevateDB) adapter.
时间: 2024-11-08 18:53:35

kbmmw 5.0 beta1 发布的相关文章

WordPress版微信小程序2.2.0版发布

2017年8月12日WordPress版微信小程序2.2.0版通过了微信的审核正式发布,此版本的更新以完善功能为主.主要更新的功能是:站内链接,猜你喜欢,热点文章. WordPress版微信小程序开放源码地址:https://github.com/iamxjb/winxin-app-watch-life.net 了解程序的开发历程及开发技术,建议看看相关版本的更新文章: 1.用微信小程序连接WordPress网站 2.WordPress版微信小程序1.5版本发布 3.WordPress版微信小程

ShareSDK for iOS 2.9.0已经发布

ShareSDK for iOS v2.9.0已经发布,本次更新内容包括: 1.修复Facebook获取用户信息报错问题 2.修复Instagram在iPad上显示分享菜单错误问题,需要指定菜单容器. 3.修复人人网分享不能在手机客户端显示问题. 4.增加明道.Line.WhatsApp平台分享. 5.修复iPhone越狱设备安装handyPhone插件时崩溃问题. 新版本SDK下载地址: http://sharesdk.cn/Download/ Wiki已经完成更新,地址为: http://w

IIS7.0下发布ASP程序报错

操作系统:Windows server 2008 X64 Web: IIS 7.0 任务: 发布Asp程序 首先,要通过OS自带的服务器管理器-->角色-->添加角色-->Web服务器(IIS),选中相对应的选项安装.Win8自带了程序包,比先前系统更方便.在这里安装过程省略了,重点还是解决发布ASP程序的过程中遇到的问题. 其次,发布ASP程序时注意的几个事项: 1)    新建网站时会自动建立相对应的应用程序池,可是先前IIS版是没有这个自动功能的. 2)    应用程序池-->

Spring Session 1.3.0 M2 发布

Spring Session 1.3.0 M2 发布了,本次发布主要更新如下: 首个支持Hazelcast的类(基础教程qkxue.net) Spring Security并发会话管理的首个类 使用GenericJackson2JsonRedisSerializer的Redis例子 spring.session.cleanup.cron.expression 可用于覆盖清理任务的cron表达式 大量的性能提升和Bug修复(腾云科技ty300.com) 下载地址: http://projects.

Mybatis分页插件2.0版本发布

项目地址:http://git.oschina.net/free/Mybatis_PageHelper 分页插件示例: http://blog.csdn.net/isea533/article/details/24700339 v2.0更新内容: 支持Mybatis缓存,count和分页同时支持(二者同步) 修改拦截器签名,拦截Executor,签名如下: @Intercepts(@Signature(type = Executor.class, method = "query", a

Linux Kernel 4.0 RC1 发布!

Linux Kernel 4.0 RC1 发布,Linus 发表声明说,基于现代的标准,从实际技术方面来说,这只是一个小的更新版本,4.0 并没有什么重大的意义,只是顺势而为,没有重大的新特性,也没有兼容性方面的改变. Linus 认为大家可能都在憧憬 4.1.15 版本,因为"电影<终结者>中机器人T-800使用的天网内核版本号".Kernel 4.0一个重要特性是Live Patching--不用重启为内核打补丁的机制. Linux Kernel 4.0 RC1 现有大

Spark 1.0.0版本发布

前言 今天Spark终于跨出了里程碑的一步,1.0.0版本的发布标志着Spark已经进入1.0时代.1.0.0版本不仅加入了很多新特性,并且提供了更好的API支持.Spark SQL作为一个新的组件加入,支持在Spark上存储和操作结构化的数据.已有的标准库比如ML.Streaming和GraphX也得到了很大程度上的增强,对Spark和Python的接口也变得更稳定.以下是几个主要的改进点: 融合YARN的安全机制 Hadoop有着自己的安全机制,包括认证和授权.Spark现在可以和Hadoo

【Andorid】拍摄SDK——VCamera 1.0 测试版发布

下载地址 http://paikeimg.video.sina.com.cn/download/VCamera_SDK_Android_1.0.zip 虽然是测试版,但底层库和线上秒拍是用的同一个库,比较稳定,欢迎使用! [Andorid]拍摄SDK--VCamera 1.0 测试版发布,布布扣,bubuko.com

Node.js v6.6.0 (Current) 发布,大幅度更新

Node.js v6.6.0 (Current) 发布了,Node.js 是一套用来编写高性能网络服务器的 JavaScript 工具包(入门教程qkxue.net),本次更新如下: Notable changes crypto: Added crypto.timingSafeEqual(). (not-an-aardvark) #8304events: Made the "max event listeners" memory leak warning more accessible