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-10-22 12:29:11

kbmmw 5.0 beta1 发布的相关文章

百度杀毒1.0 Beta1发布 限制名额下载体验

第1页http://www.aliyun.com/zixun/aggregation/12670.html">百度杀毒1.0 Beta1发布 限制名额下载体验 [天极软件频道消息]2013年2月,百度面向泰国市场推出英文版百度杀毒软件2013(Baidu Antivirus 2013),近日,中文版百度百度杀毒1.0 Beta1发布,目前提供有名额限制的下载体验. 据悉,百度杀毒是百度与卡巴斯基合作出品的全新杀毒软件,采用卡巴斯基反病毒引擎,集合了百度云查杀引擎,软件永久免费. 百度杀毒目

phpMyAdmin 4.4.0 beta1 发布,MySQL 管理工具

phpMyAdmin 4.4.0 beta1 发布,此版本包括大量的 bug 修复. 值得关注的新特性: Rename configuration directive from $cfg['NavigationTreeDisableDatabaseExpansion']to $cfg['NavigationTreeEnableExpansion'] -- if used, please update your config.inc.php Move the SQL scripts to crea

OpenNode 6.0 beta1发布 服务器的虚拟化工具

OpenNode是一个服务器的虚拟化工具,提供了一个易于使用(基于CentOS/RHEL)裸机的ISO安装程序,支持OpenVZ基于容器和同一个主机的KVMhttp://www.aliyun.com/zixun/aggregation/13883.html">虚拟化技术.OpenNode ISO安装程序可以建立一个最小的CentOS 5服务器系统,具有以下特点:RHEL 2.6.18内核修改.以支持OpenVZ和KVM虚拟化技术.OpenVZ和KVM虚拟机管理程序.libvirt管理界面支

Hibernate Validator 4.2.0 Beta1发布 实现方法级别的校验

用Annotations 给类或者类的属性加上约束(constraint),在运行期检查属性值是很优雅的.Hibernate Validator就是这样的一个框架.该框架是十分容易的(就像参考文档中宣称的那样),几乎没有什么学习曲线,Validator 是一个验证框架不需要和Hibernate的其他部分绑定就可以使用,只要在你的项目中添加Hibernate-annotations.jar库就可以了. As announced earlier, the highlight of the 4.2 r

Teiid 8.13 Beta1 发布,支持 WildFly 9.0.2.Final

Teiid 8.13 Beta1 发布,此版本支持 WildFly 9.0.2.Final.下载: http://teiid.jboss.org/downloads/ 此版本修复了之前版本关于 sockets,clustering 的 bug:支持 Web-Console.在以后的版本将会移除 "embedded" 包.更多改进内容请看发行说明. Teiid是一个数据虚拟化系统,让应用程序使用来自多个异构数据存储的数据. Teiid由一堆工具,组件和创建和执行双向数据的服务所组成.通过

开源社区电子商务系统ECMall 2.0 beta1 版正式发布

中介交易 http://www.aliyun.com/zixun/aggregation/6858.html">SEO诊断 淘宝客 云主机 技术大厅 国内领先的电子商务解决方案服务商ShopEx,今日发布旗下开源社区电子商务软件ECMall 2.0 beta1版本,该版本是EC团队加入ShopEx之后开发又一全新版本. ECMall 2.0 beta1版针对之前用户反馈的相关问题进行了相应的修正与改进,新版本中重新设计了底层结构,大大提高了扩展性;重新设计了MVC中的M层,大大简化了数据存

WF 4.0 beta1活动概览(1):Procedural

相比于WF 3.5,WF 4.0 beta1提供了大量开箱即用的活动,我们可以使用这些活动来创作工作流或者创建自定义活动.本文将会对这些活动做一个简单快速的概览,并介绍它们的关键特性. 活动是工作流程序的工作单元.在WF 4.0中,活动由签名和正文组成.签名是活动的公共参数的术语化定义,这些公共参数定义了活动的输入和输出数据流.而正文则是指活动的执行逻辑,此逻辑可以用其他活动声明性地表示,也可以通过代码来表示. 下面按照WF 4.0 beta1在Visual Studio 2010工具栏中的分类

本文讲的是[译] jQuery 3.0 终于发布了

本文讲的是[译] jQuery 3.0 终于发布了, 从2014年10月开发到现在,jQuery 3.0终于发布了!我们的目的是创造一个更苗条.更快的jQuery版本(并且考虑到了向后兼容性).我们已经删除了旧的IE浏览器的解决方案支持并且采用了一些更现代化的 web API.它是2.x分支的延续,并且加入了几项我们认为早该加入的重大改变.虽然 1.12 和 2.2 分支在短时间内会继续收到关键的补丁,但不会有新的功能和重大更改.jQuery 3.0是jQuery的未来.如果你需要支持IE6-8

Apache Jackrabbit Oak 1.0.7 发布

Apache Jackrabbit Oak 1.0.7 发布,此版本现已提供下载.此版本是个分支版本,包括 bug 修复和系统改进,建议每位用户都升级到最新版本!更多更新内容请看发行说明. Changes in Oak 1.0.7 -------------------- Bug 修复 [OAK-1768] - DocumentNodeBuilder.setChildNode() runs OOM with large tree [OAK-2118] - Aggregation cursor i