KbmMW 4.40.00 正式版发布

经过快3个月的测试,kbmmw 4.40 正式版终于在圣诞节前发布了。

We are happy to announce the availability of a new kbmMW release!

This is a major release that amongst other things adds support for
Delphi XE5 Win32/Win64/OSX/IOS/Android.

The release also includes the following major features (only a subset of
all new features added):

- A new highly configurable and flexible authorization manager where
actors, roles, resources, authorizations and constraints can be defined.

- New portable high performance algorithms: TkbmMWLock and TkbmMWEvent

  and detailed CPU affinity configuration for functionality groups.

- Async progress framework for subscribing for progress and sending it,

  with the ability to cancel long running operations.

- Multipart HTTP parsing and HTTP authentication support.

- Numerous new bundled ciphers and hashes based on the

  discontinued DCPCrypt open source product. C4D has revived

  the code within kbmMW, and ported it to support all platforms

  supported by kbmMW.

- New FireDAC database adapter.

Please check the log further down in this post for more information!

If you have an active SAU, the download of this latest kbmMW release is
readily available on your portal at:

https://portal.components4developers.com

If your SAU has lapsed, you can extend it with another 12 months.

If it has been lapsed for more than 24 months, contact us for a

10% discount on a new kbmMW license replacing the old.

This release require kbmMemTable v. 7.40.00.

 4.40.00 Dec 22 2013

        Important notes (changes that may break existing code)

        ======================================================

        - Changed JSON object marshalling (TkbmMWJSONMarshal) to not

          add double child arrays in collections.

          Notice this makes JSON incompable with previous JSON

          streaming format.

        New stuff

        =========

        - Added properties Cancel:boolean, UniqueID:string,

          UniqueCallID:string, RequesterNodeID:string and

          RequesterClusterID:string

          to TkbmMWCustomService. Enables features for cancelling

          ongoing request.

        - Added full XE5 Win32/Win64/OSX/Android and IOS support. Add

          kbmMW and kbmMemTable source directory to Library path

          when compiling for Android or IOS.

        - Added TkbmMWAuthorizationManager which can be used for

          keeping track of resources, actors, logins and authorizations

          and constraints.

        - Added AuthorizationManager property to TkbmMWServer.

        - Added OnPreServeRequest to TkbmMWServer. Provides access to a

          request before even authorization manager kicks in.

        - Added Cancel method to TkbmMWServer allowing for requesting

          cancelation of a specific request.

        - Added Enabled property to TkbmMWCustomServerTransport.

        - Modified OnAuthenticate event to include AMessage:string

          argument.

        - Added Transport:string to TkbmMWClientIdentity. Is set on

          server to let authentication know from which transport a

          request originates.

        - Added portable high performance TkbmMWLock (when

          KBMMW_SUPPORT_FASTMRWSLOCK is defined (default)) which is

          much faster

          than TEvent/TMutex and TMultiReadExclusiveWriteSynchronizer.

        - Added TkbmMWTiming which provides portable high resolution

          time functionality.

        - Added TkbmMWInterlocked which provides portable interlocking

          functions.

        - Added high performance TkbmMWEvent to replace slower TEvent.

        - Added ConfigureAffinity, Yield, Sleep, CurrentThreadID,

          CurrentThread, ThreadGroup and ThreadAffinityType to

          TkbmMWCustomThread.

          ThreadGroup allows selection of a thread group which share a

          common CPU core affinity. Max 256 threadgroups exists.

          Placement of the thread on a CPU core within the defined

          affinity is determined by the ThreadAffinityType setting.

          Allows for fine tuned thread optimization. Specify affinities

          in global variable: kbmMWThreadGroupAffinity.

        - Added TkbmMWPlatformMarshal for portable memory/bytes

          /utf8/string marshalling.

        - Changed kbmMWHashString from a simple xor hash to the better

          FNV-1A 32 bit hash.

        - Added portable kbmMWGetApplicationName:string returning the

          name (typically with path) of the current executable.

        - Added optional Mapping:string argument to LoadFromDataset.

          Specify sourcefield=destfield;... for custom mapping of

          fields.

        - Added new WIB message type mwmtEvent (EVT.). Its designed to

          be used for sending system/application events. For example

          used by the new progress management system, which allows for

          a client to subscribe for progress, and a server to push

          progress status, for example for long running synchrone or

          asynchrone requests (require WIB).

        - Added new transport heartbeat functionality via properties

          HeartbeatInterval and OnSendHeartbeat. OnSendHeartbeat is

          triggered every n seconds, and its the developers

          responsibility to then actually send a message/request to

          indicate a heartbeat from a client

          with help of the SendHeartbeat method on the client transport.

        - Added mwsloNullOnValueError as a new SQLite option. Instead

          of excepting the field is set to null.

        - Added Pause:boolean, PausePriority:byte to TkbmMWCustomQueue.

          If Pause=true will pause processing (sending if outbound

          queue) messages equal to or lower than PausePriority.

        - Added counters TotalPushCount, TotalTentativePopCount,

          TotalCommitCount, TotalRollbackCount, TotalRejectCount,

          TotalDeleteCount to TkbmMWCustomQueue.

        - Added support for multiple events for a single subscription

          via the Events property of TkbmMWSubscription.

          Now Subscribe adds an additional event if a subscription

          allready exists for a particular subscription subject.

          Use SubscribeReplace to replace all previously events for a

          subscription with another event.

          Unsubscribe method now overloaded with multiple methods,

          allowing to unsubscribe for a specific event for a subject.

          The "old" Unsubscribe unsubscribes all events for the given

          subject.

        - Added ThreadGroup and ThreadAffinityType to

          TkbmMWCustomAsyncMessageProcessor,

          TkbmMWCustomAsyncMessageQueueProcessor

          and TkbmMWCustomPooledMessageQueueProcessor.

        - Added new TkbmMWCustomEventMessage which is the basis for all

          WIB based messages that constitutes an event message.

        - Added new TkbmMWHeartbeatEventMessage.

        - Added properties AsEncodedString, UpperName to

          TkbmMWHTTPCustomValue.

        - Added Delete, Values, Names, ValueAsString, AsEncodedString

          to TkbmMWHTTPCustomValues.

        - Added TkbmMWHTTPMimeHeaderValueField,

          TkbmMWHTTPMimeHeaderValueFields, TkbmMWHTTPMimeHeaderValue,

          TkbmMWHTTPMimeHeaderValues, TkbmMWHTTPMultiPart,

          TkbmMWHTTPMultiParts in kbmMWHTTPUtils.pas.

          Thus now multipart HTTP messages can be parsed.

        - Added TkbmMWHTTPCustomAuthorization and

          TkbmMWHTTPBasicAuthorization along with

          new function kbmMWParseAuthorization(const

          AAuthorizationHeader:string):TkbmMWHTTPCustomAuthorization;

          for parsing authorization header.

        - Updated TkbmMWHTTPTransportStreamHelper to support new

          TkbmMWHTTPMimeHeaderValues, and added HTTPRealm:string

          property, and added

          Authorization:TkbmMWHTTPCustomAuthorization property.

        - Added  function

          HTTPResponseFromStream(AStream:TkbmMWMemoryStream):variant;

          to TkbmMWCustomHTTPService.

        - Updated known mimetypes (Added SVG, JSON, TTF, OTF, WOFF,

          EOT, MP4, MPEG4)

        - Updated known charsets (added JSON = UTF8).

        - Added TkbmMWSAFSyncRequestResponseStatus set

          (mwbrsTimeout,mwbrsAbort,mwbrsOK) which allows for

          a sync/async request to determined if a request has timed

          out, been cancelled or proceeded ok.

        - Added OnProcessorException to TkbmMWCustomSAFClientTransport

          which is triggered if the internal inbound or outbound

          processor encounters an exception.

        - Added optional APriority argument to AnnounceSubscriptions

          method.

        - Added OnClientWaitingResponse event to TkbmMWCustomClient.

          Its triggered when a request is sent that is blocking (sync).

        - Added new TkbmMWProgressManager which can be used to send and

          receive progress information via the WIB.

        - Added new FireDAC adapter.

        - Added new ciphers and hashes. The closed DCPCrypt library

          (www.cityinthesky.co.uk/opensource/dcpcrypt) has been

          picked up by C4D and resurrected with support for all

          platforms.

          Thus now added TkbmMWHashHaval, TkbmMWHashMD4, TkbmMWHashMD5,

          TkbmMWHashRipeMD128, TkbmMWHashRipe160,

          TkbmMWHashSHA1, TkbmMWHashSHA256, TkbmMWHashSHA512,

          TkbmMWHashTiger hashes, and

          TkbmMWCipherBlowfish, TkbmMWCipherCast128,

          TkbmMWCipherCast256, TkbmMWCipherDes, TkbmMWCipher3Des,

          TkbmMWCipherIce, TkbmMWCipherThinIce, TkbmMWCipherIdea,

          TkbmMWCipherMars, TkbmMWCipherMisty1,

          TkbmMWCipherRC2, TkbmMWCipherRC4, TkbmMWCipherRC5,

          TkbmMWCipherRC6, TkbmMWCipherRijndael, TkbmMWCipherAES,

          TkbmMWCipherSerpent, TkbmMWCipherTea, TkbmMWCipherTwofish

          ciphers.

        - Added TkbmMWCrypt transport encryption plugin, which supports

          all above ciphers and hashes.

        - Added mwsloSharedCache, mwsloExceptOnLocked options to

          TkbmMWSQLiteOptions.

        - Added MaxLockedWait property to TkbmMWSQLiteConnectionPool.

          It controls how long time a statement will wait (msecs) for

          a blocking lock to be lifted, before excepting.

        - Added support for accessing native SQLite library on Android.

          Make sure NOT to use KBMMW_SQLITE_STATIC_LINKED. On IOS

          you MUST use KBMMW_SQLITE_STATIC_LINKED.

        - Added UTF8CEncode and String2CBytes to TkbmMWPlatformMarshal.

          They will add an ending zero byte to the resulting byte array.

        - Added TkbmMWCustomHashStream, and made TkbmMWMD5Stream

          descend from it.

        - Added kbmMWCopyDigest and kbmMWZeroDigest functions to

          kbmMWGlobal.pas

        - Added support for defining null value for boolean value via

          the kbmMW_Null attribute (object marshalling).

        - Added 4 new exception error codes related to

          encryption/descruption to kbmMWExceptions.pas.

        - Added DontExceptOnEmptyString boolean property to

          TkbmMWJSONStreamer. If true, parsing an empty string will

          not cause exception, but only return an empty

          TkbmMWJSONObject instance.

        Fixes

        =====

        - Fixed compilation for D2009.

        - Fixed mime encoding/decoding in kbmMWMime.pas.

        - Fixed null validation/conversion for collection items (object

          marshalling).

        - Fixed storing/retrieving stream of size 0 in kbmMW Stream

          Store.

        - Fixed several other issues.

    Changes/minor additions

        =======================

        - Removed old TkbmMWDCPCrypt transport encryption plugin.

        - Changed TkbmMWThreadList to be a generic class.

        - Changed kbmMWImplode to optionally accept AQuote argument

          (default none).

        - Changed TkbmMWAuthorizationActor so the actor name is stored

          and compared case insensitive (uppercase).

        - Changed JSON object marshalling (TkbmMWJSONMarshal) to not

          add double child arrays in collections.

          Notice this makes JSON incompable with previous JSON

          streaming format.

时间: 2024-10-24 04:04:11

KbmMW 4.40.00 正式版发布的相关文章

kbmMW 4.00 正式版发布了

呵呵,说曹操,曹操到.昨天刚写完kbmMW 的配置,今天kbmMW 4.00 正式版就发布了. We are happy to announce the immediate availability of kbmMW Enterprise Edition v. 4.00.00. This is a major release with many new features like Remote Desktop, JSON and JSON dataset streaming, new advan

Office 2016 for mac正式版发布

  Office 2016 for mac正式版发布!7月10日微软刚刚宣布旗下办公软件Office 2016已经正式面向Mac平台发布,其中包含Word.Excel.PowerPoint.Outlook 和OneNote五个组件,支持16种语言. 官方介绍显示,Office 2016 for Mac不仅继承了Office系列软件的办公便利性,而且还完美支持Mac产品特性,比如:全屏视图.多点触控手势以及Retina视网膜显示屏等等. 与此同时,Office for Mac 支持云连接,用户可以

Firebug1.10正式版发布兼容Firefox 13~16版本

文章描述:Firebug1.10正式版发布兼容Firefox 13~16版本. 在经过了12个alpha以及4个beta版本后,Firebug团队终于发布了Firebug 1.10正式版,兼容Firefox 13~16版本. 该版本修复了214处问题(其中包括79处功能增强),并进行了超过50次自动化测试,以保证版本的稳定性.该版本引入的新特性包括: 安装后无需重启浏览器 延迟加载 Cookies管理 命令语法高亮 自动完成 Trace样式 新的help命令 链接到声明Web-font的地方 支

PHP 4.06 正式版发布,修正了许多BUG,更加稳定

PHP 4.06 正式版发布,修正了许多BUG,更加稳定 Fixed memory fragmention problem which could lead to web server processes growing much more than they should. (Andi, Zend Engine) 修正了内存框架错误,他将导致web服务器处理大大超过他应该的处理量 Made $HTTP_SESSION_VARS['foo'] and $foo be references to

有道词典4.3正式版发布 网页版单词本新鲜出炉

8月9日,有道词典4.3正式版发布.该版本在4.3Beta版基础之上新增了网页版在线单词本功能,并结合有道搜索技术对释义数据库进行了优化,使新版有道词典能够实现丰富的划词释义功能,更加强大也更具内涵. 新增网页版单词本,多平台轻松背单词 有道词典4.3正式版新增了用户呼声很高的在线单词本功能,用户在使用网页版词典查询单词时,可以通过"单词本"按钮轻松一键将生词收藏到单词本中(图一). 图一:在线单词本的添加按钮 网页版在线单词本也提供了卡片模式帮助用户进行单词学习,并依据艾宾浩斯遗忘曲

QQ 6.0正式版发布:集成式聊天窗口 新增网页助手

QQ 6.0正式版发布:集成式聊天窗口 新增网页助手7月3日消息,腾讯今天正式发布了QQ 6.0,版本号为11743.QQ 6.0采用全新视觉界面,更简洁纯净,全新集成式聊天窗口,融合皮肤.气泡.QQ秀,还新增了网页助手.QQ 6.0新功能列举 如下:1.集成式聊天窗口,轻松应对多人聊天:2.皮肤.气泡.QQ秀完美融合,聊天窗口更清爽更时尚:3."我的收藏"新增网页助手,浏览器网页上的内容可快速收藏到QQ:4.导出手机相册功能优化:5.消息发送失败的情况下可支持一键重发:6.讨论组.群

zTree v2.6正式版发布 完成常用工作的Tree功能

zTree v2.6 正式版 发布了,作为v2.x系列的终结版这次针对大数据量的性能做了优化,对于加载1.2千个节点的应用都可以正常使用,同时还修正了几个bug以及增加了一些http://www.aliyun.com/zixun/aggregation/3505.html">个性化功能接口,希望大家踊跃使用,谢谢.下一步本人将为v3.0的全面改版做准备 利用Jquery的核心代码,实现一套能完成大部分常用工作的Tree功能 - 兼容 IE.FireFox.Chrome 等浏览器 - 在一个

PHPwind发布官方论坛升级暨新版本正式版发布时间通知

中介交易 http://www.aliyun.com/zixun/aggregation/6858.html">SEO诊断淘宝客 站长团购 云主机 技术大厅 [站长网讯]2008年12月18日,国内知名社区平台提供商PHPwind(phpwind.com)今日发布关于官方论坛升级暨PHPWind 7 正式版发布时间的通知,原文如下: 各位尊敬的用户: 2008.12.18 24时 官方论坛将进行升级,至PHPWind 7 正式版. 新版本封装已经完成,将于2008年12月22日上午10时,

Ubuntu的衍生版本UbuntuKylin 13.10正式版发布前夕

10月17日消息,在Ubuntu的衍生版本UbuntuKylin 13.10正式版发布前夕,Canonical公司与CCN开源创新联合实验室.国防科技大学联合召开媒体发布会,针对UbuntuKylin 13.10的新特性做了说明及演示. Canonical中国区经理于立强介绍,UbuntuKylin 13.10版本在本地化方式做了更多的优化.新版本可以直接搜索中文在线内容.同时引入了更多的第三方本地化软件.通过与国际厂商的合作,目前已经有越来越多的游戏可以在Ubuntu系统下运行. Ubuntu