1. Important notes (changes that may break existing code)
  2. ======================================================
  3. * Officially now only supporting XE2 and forward. Support for pre XE2
  4. may not be complete.
  5.  
  6. New stuff
  7. =========
  8. - Added support for RAD Studio 10.2 Tokyo, including Linux support
  9. (currently in beta)
  10. Include new sample simpleinvocation LinuxServer demo.
  11. - Officially now only supporting XE2 and forward. Support for pre XE2
  12. may not be complete.
  13. - Added RemoteLocationsPrimaryPart to
  14. TkbmMWAuthorizationTransportConstraint (default false).
  15. If set to true, will only compare primary part of
  16. clientidentity.remotelocation.
  17. Primary part is defined by everything up til the last ':'. In most cases
  18. that will mean the IP address without the port number.
  19. - Added IkbmMWLogFormatter interface to kbmMWLog.
  20. - Added TkbmMWStandardLogFormatter to kbmMWLog. It contains vastly
  21. improved features for
  22. controlling the look and layout of the log output. Its the default
  23. used log formatter.
  24. - Added TkbmMWSimpleLogFormatter to kbmMWLog. It outputs a log with only
  25. datetime,
  26. type (info/warning/error/fatal etc) and log string.
  27. - Added LogFormatter property to IkbmMWLogManager. It can be set to a
  28. custom log formatter.
  29. - Added mwldtRaw log data type and methods LogRaw to IkbmMWLog. It
  30. allows for logging
  31. bytes or strings without interpretation/reformatting.
  32. - Added global SystemLog instance which will always output to system log
  33. outputs.
  34. It is used as a fallback in case the regular log system excepts.
  35. - Added support for marshalling/unmarshalling named enum values via the
  36. new kbmMW_Enum
  37. attribute.
  38. Its useful when an enum value cant be used as an identifier or its
  39. value should be different
  40. from its presented name.
  41. - Added ExceptOnUnknownType to TkbmMWCustomRTTIMarshal. It controls if
  42. to throw an exception
  43. if an unknown type is accessed or not (default true).
  44. - Added support for marshalling/unmarshalling TDictionary<K,V> types.
  45. - Added support for correctly instantiating classes in unmarshalling
  46. that contains a capacity
  47. constructor argument.
  48. - Added Run methods to TkbmMWScheduler. It allows for one time run and
  49. forget scheduled async
  50. code. They are used in the same way as the Schedule methods, but sets
  51. Occurs to mwsoRun.
  52. The job will be automatically unscheduled after the run.
  53. - Added overloaded DelayInitial(const AInitialDelaySecs:double) to
  54. IkbmMWScheduledEvent.
  55. It allows for directly giving an initial delay in seconds. It supports
  56. fractional second
  57. values.
  58. - Added Clear to TkbmMWScheduledEvents (scheduler.Events) to allow for
  59. clearing all scheduled
  60. events. Running events will be allowed to finish.
  61. - Added GetNameSpaceByURI, DefaultNameSpace, DefaultNameSpaceURI to
  62. TkbmMWDOMXMLNameSpaceList.
  63. - Added SearchRelNodeByID, SearchNodeByID, SearchRelNodeByGivenName,
  64. SearchNodeByGivenName
  65. to IkbmMWDOMXMLParser.
  66. - Added ExpandNameSpace, GivenName, ChildrenByGivenName, ChildByGivenName,
  67. CheckChildByGivenName to TkbmMWDOMXMLNode.
  68. - Added CheckNodeByGivenName, NodeByGivenName to TkbmMWXMLNodeList.
  69. - Added missing ADSDBF support to kbmMWReg.
  70. - Added
  71. mwrtoOptionalInsert,mwrtoKeyNotNullInsert,mwrtoOptionalModify,mwrtoKeyNotNullModify,
  72. mwrtoOptionalDelete,mwrtoKeyNotNullDelete and table modifier flags
  73. OIM/OMI (optional insert/modify), OID/ODI (optional insert/delete),
  74. OMD/ODM (optional modify/delete), OI (optional insert),
  75. OD (optional delete), OM (optional modify),
  76. KIM/KMI (insert/modify on key not null), KID/KDI (insert/delete on key
  77. not null),
  78. KMD/KDM (modify(delete on key not null), KI (insert on key not null),
  79. KM (modify on key not null), KD (delete on key no null)
  80. to TkbmMWResolverTableOption
  81. They allow for more finegrained definition on when
  82. insert/update/delete should happen.
  83. If one of the optional (OIM,OMD,OID,OI,OD,OM) is given, no exception
  84. will be raised for
  85. the table when an operation did not succeed, and resolving will continue.
  86. If one of the key (KIM,KMD,KID,KI,KM,KD) is given, record resolve
  87. operation will be skipped
  88. for the specific record if key is null.
  89. - Added ReadBOM overloaded methods with default TEncoding option to
  90. TkbmMWPlatformMarshal.
  91. - Added overloaded kbmMWTextToString, kbmMWExpectText,
  92. kbmMWStringRightPad, kbmMWStringLeftPad,
  93. kbmMWGetComputerName functions to kbmMWGlobal.pas.
  94. - Added optional ACallback anonymous function to SendAsyncRequest and
  95. SendAsyncRequestEx in
  96. kbmMWClient.pas (WIB only).
  97. It allows for providing an anonymous function that should be called
  98. when an async response
  99. is returned. The function must follow this type:
  100. function(Sender:TObject;
  101. TransportStream:IkbmMWCustomTransportStream):boolean;
  102. - Added LOB blob/clob support (user fix) to DOA adapter.
  103. - Vastly improved XSD importer.
  104. - Added generic Object Notation framework for building virtual object
  105. trees consisting of
  106. TkbmMWONNative, TkbmMWONArray and TkbmMWONObject which all are based
  107. on TkbmMWONCustomObject.
  108. - Added YAML parser/generator based on object notation framework.
  109. - Added Messagepack parser/generator based on object notation framework.
  110. - Added BSON parser/generator based on object notation framework.
  111. - Added support for converting XML to and from object notation format via
  112. LoadFromObjectNotation and SaveToObjectNotation functions.
  113. - Added new TkbmMWCustomSmartService and TkbmMWCustomHTTPSmartService
  114. services, which
  115. can be selected in the service wizard to create smart services. Smart
  116. services
  117. supports tagging any function to be exported to a smart client or a
  118. REST client
  119. (TkbmMWCustomHTTPSmartService required).
  120. - Updated transports to support marshalling objects via the transport.
  121. - Added several near lock free features to kbmMWGlobal, including
  122. TkbmMWLockFreeStack,
  123. more interlocked functions, lock free array GC fixes, optional
  124. TkbmMWREWLock statistics,
  125. support for TkbmMWMREWLock can switch to TMonitor for reader/writer
  126. fair support.
  127. - Optimized many algorithms like TkbmMWStringBuilder, TkbmMWGenerateGUID,
  128. TkbmMWGenerateShortGUID and many more to improve performance overall.
  129. - Added many new general purpose functions to kbmMWGlobal.
  130. - Added direct support for salt in hash functions deriving from
  131. TkbmMWCustomHash.
  132. - Added support for anonymous functions in async kbmMWClient requests (WIB)
  133. - Added new kbmMWRTTI unit with loads of RTTI functionality.
  134. - Added YAML stream format for kbmMemTable and descendants.
  135. - Added Messagepack stream format for kbmMemTable and descendants.
  136. - Added BSON stream format for kbmMemTable and descendants.
  137. - Added object marshalling to and from YAML.
  138. - Added object marshalling to and from Messagepack.
  139. - Added object marshalling to and from BSON.
  140. - Added ServicePath property to TkbmMWClientIdentity.
  141. - Added MaxLogins to TkbmMWAuthorizationManager which is default 100 to
  142. prevent
  143. potential login spam.
  144. - Added support for HTTPSys based transport for Windows. Its specially
  145. useful
  146. for high performance RESTful applications.
  147. - Added AutoRegisterServices method to TkbmMWServer which can be used
  148. for automatically
  149. locating and registering any service that has the kbmMW_Service
  150. attribute defined.
  151. It makes use of the old RegisterService and RegisterServiceByName
  152. optional.
  153. - Added LocalSinceEpochMS, UTCSinceEpochMS, Temporenc to TkbmMWDateTime.
  154. Temporenc
  155. is a very compact binary encoding of a datetime value.
  156. - Added FastSetUTC method to TkbmMWDateTime to threadsafely very fast
  157. setting
  158. the UTC value of an already defined TkbmMWDateTime record. The record
  159. MUST be initialized before using FastSetUTC, for example by
  160. dt:=TkbmMWDateTime.Now;
  161. - Added ValueToStream, ValueFromStream, ValueToBytes and ValueFromBytes in
  162. TkbmMWCustomRTTIMarshal. Allows for easy marshalling objects to and
  163. from bytes and streams.
  164. - Added ExceptOnUnknownType boolean property to TkbmMWCustomRTTIMarshal.
  165. Controls if an exception should be thrown in case a type cant be
  166. marshalled or
  167. unmarshalled, or it should be silently skipped.
  168. - Added Devart MyDAC support (DMYDAC).
  169. - Added CORS support (Cross Origin-Resource Sharing) in
  170. TkbmMWCustomHTTPService and
  171. descendants. (OnCORS event).
  172. - Added PerformOPTIONS and PerformPATCH support to TkbmMWCestomHTTPService.
  173. (OnOptions and OnPatch in TkbmMWEventHTTPService).
  174. - Added REST transport stream format which must be used if non HTTPSys
  175. transport
  176. is used for smart services.
  177. - Added TkbmMWSmartClient which allows simple and easy access to server
  178. side smart functions.
  179. Check simpleinvocation sample.
  180. - Added high quality random functions in new kbmMWRandom unit.
  181. TkbmMWRandomDelphi (32 bit non high quality ramdom!),
  182. TkbmMWRandomSplitMix (64 bit)
  183. TkbmMWRandomXoroshiro128Plus (64 bit), TkbmMWRandomXoroshiro1024 (64 bit),
  184. TkbmMWRandomPCGUInt32 (32 bit), TkbmMWRandomMersenneTwisterUInt32 (32
  185. bit),
  186. TkbmMWRandomMersenneTwisterUInt64 (64 bit)
  187. - Added high quality pronouncable password generators in new unit
  188. kbmMWPassword.
  189. TkbmMWMixerPasswordGen, TkbmMWKoremutakePasswordGen
  190. - Added support for ExchangeType in TkbmMWAMQPClient.
  191. - Added new GC and CloseAndGC methods in TkbmMWAMQPChannel to force
  192. getting rid of
  193. defunct/cached but unused AMQP channels.
  194. - Added IPVersion property to TkbmMWCustomTCPIPIndyClientTransport.
  195. - Split out all lockfree algorithms from kbmMWGlobal to kbmMWLockFree unit
  196. to make kbmMWGlobal smaller, partly due to internal compiler errors.
  197. - Fixed to default not inlining kbmMWMREWLock methods on 32 bit CPUs due to
  198. unstable compiler which can result in F2084/C2491 error combinations.
  199. - Moved all lockfree code to new kbmMWLockFree.pas unit.
  200. - Added TkbmMWLockfreeStack.
  201. - Changed so XE6/XE7 SKU's do not compile in new kbmMWLockFree contents
  202. due to compiler errors.
  203. - Added kbmMW ORM OPF (Object Relational Modelling Object Persistence
  204. Framework)
  205. in unit kbmMWORM.pas. Compiles with XE5 and higher. Check new ORM demos.
  206. Currently in beta.
  207. - Added TkbmMWBinaryPasswordGen to kbmMWPassword.pas. Generates random
  208. binary keys
  209. of any length, suitable for cryptographic use.
  210. - Added functions Year(ADateTime:TDateTime=Math.NaN):word;
  211. function Month(ADateTime:TDateTime=Math.NaN):byte;
  212. function DayOfMonth(ADateTime:TDateTime=Math.NaN):byte;
  213. function HourOfDay(ADateTime:TDateTime=Math.NaN):byte;
  214. function MinuteOfHour(ADateTime:TDateTime=Math.NaN):byte;
  215. function SecondOfMinute(ADateTime:TDateTime=Math.NaN):byte;
  216. to TkbmMWDateTime.
  217. - Improved Null handling in kbmMWNullable and TkbmMWDateTime.
  218. - Improved Modified support in kbmMWNullable and TkbmMWDateTime.
  219. - Added functions function OutputToFile(const
  220. AFileName:string=''):IkbmMWLocalFileLogManager;
  221. procedure OutputToDefault;
  222. function OutputToStrings(const AStrings:TStrings; const
  223. ASynchronized:boolean = true):IkbmMWStringsLogManager;
  224. function OutputToStringsAndFile(const AStrings:TStrings; const
  225. ASynchronized:boolean = true; const
  226. AFileName:string=''):IkbmMWTeeLogManager;
  227. function OutputToTee:IkbmMWTeeLogManager;
  228. procedure OutputToNull;
  229. to IkbmMWLog to make it easier to redirect output to some standard
  230. destinations.
  231. - Added mwddLog to kbmMWGlobal, as a new output destination for kbmMW
  232. lowlevel debugging.
  233. Will output to the default logger.
  234. - Fixed and improved TkbmMWCircularBuffer.
  235. - Added kbmMWSmartUtils.pas containing Use class with easy to use
  236. methods to convert arguments and results.
  237.  
  238. Changes/minor additions
  239. =======================
  240. - Removed (mwloProcessThreadInfo,mwloThreadName from TkbmMWLogOption
  241. since its now controlled
  242. by the log formatter.
  243. - Changed Activate method of IkbmMWScheduledEvent to have true as
  244. default argument AValue.
  245. - Changed SetAsDuration and GetAsDuration to use TkbmMWDuration instead
  246. of TkbmMWDateTime.
  247. - Added support for checking if path is accessible in
  248. TkbmMWBufferedFileStream.Create.
  249. - Changed JSON parser/generator to be based on the object notation
  250. framework.
  251. - Improved scalability of FastCGI services to better spread load accross
  252. multiple instances.
  253.  
  254. Fixes
  255. =====
  256. - Fixed A/V when attempting to use audit file.
  257. - Fixed missing clearing of TkbmMWDuration when parsing duration
  258. strings, resulting in
  259. an incorrect duration value (instead of null) on invalid duration strings.
  260. - Fixed TDuration.Passed(const ADuration:TkbmMWDuration) which didnt
  261. return correct value.
  262. - Fixed deactivating precise scheduled events.
  263. - Fixed events scheduled to start on day, month, week or year boundaries.
  264. - Fixed issues to initial delay in scheduled events.
  265. - Fixed parsing tags crossing line boundaries in XML parser.
  266. - Fixed various namespace issues in XML parser.
  267. - Fixed WIB compilation issue for XE.
  268. - Fixed TkbmMWStreamStore offset bug when writing first segment.
  269. - Fixed potential shutdown issue in Indy10 transports due to Indy10 bug.
  270. - Fixed kbmMWDependency non accumulating memory leaks.
  271. - Fixed NexusDB transport compilation.
  272. - Fixed Autoinc field detection in EDB (ElevateDB) adapter.

kbmmw 5.01 发布的更多相关文章

  1. kbmmw 5.04 发布

    增加了一大波功能,消灭了一大堆问题,也肯定引进了一大票BUG.We are happy to announce the release of our latest version of kbmMW. ...

  2. kbmmw 5.02发布

    5.02.00 May 27 2017 Important notes (changes that may break existing code) ========================= ...

  3. KbmMW 4.5 发布

    We are happy to announce the release of kbmMW v. 4.50.00 Professional, Enterprise and CodeGear Editi ...

  4. kbmmw 5.09 发布

    New stuff        =========        - Added kbmMWSmartBind.pas unit with optional kbmMWSmartBindVCL.pa ...

  5. DB 查询分析器7.01 新增的保存执行结果到多个文件功能

        1      引言   中国本土程序员马根峰(CSDN专访马根峰:海量数据处理与分析大师的中国本土程序员)推出的个人作品----万能数据库查询分析器,中文版本DB 查询分析器.英文版本< ...

  6. 热烈庆祝自已厉精13年开发的 DB查询分析器 7.01(最新版本) 在中关村在线本月获得近6000次的下载量

    中国本土程序员马根峰(CSDN专访马根峰:海量数据处理与分析大师的中国本土程序员)推出的个人作品----万能数据库查询分析器,中文版本 DB 查询分析器.英文版本DB Query Analyzer.它 ...

  7. DB查询分析器7.01新增的周、月SQL执行计划功能

                DB查询分析器7.01新增的周.月SQL执行计划功能 马根峰              (广东联合电子服务股份有限公司, 广州 510300) 1      引言   中国本土 ...

  8. DB 查询分析器 6.04 发布 ,本人为之撰写的相关技术文章达78篇

    DB查询分析器 6.04 发布,本人为之撰写的相关技术文章达78篇 中国本土程序员马根峰(CSDN专访马根峰:海量数据处理与分析大师的中国本土程序员 http://www.csdn.net/artic ...

  9. kbmMW授权管理解析(The kbmMW Authorization manager explained)

    从kbmMW v.4.40开始,引入了一个新的非常灵活的授权管理器. 它的目的是为开发人员提供为用户定义资源权限的功能,这是一个可选功能,将现有的授权事件驱动方案内置到kbmMW中,使授权开发任务更容 ...

随机推荐

  1. vue confirm确认

    this.$confirm('您确定删除吗?').then(_ => { do something ... (确认) }).catch(_ => { do something ... (取 ...

  2. vue 中安装使用sass 报错遇到的问题整理

    不出错的情况下,正常安装: 1.安装包: npm install node-sass --save-dev npm install sass-loader --save-dev (sass-loade ...

  3. 二叉树的镜像(python)

    题目描述 操作给定的二叉树,将其变换为源二叉树的镜像. 输入描述: 二叉树的镜像定义:源二叉树 8 / \ 6 10 / \ / \ 5 7 9 11 镜像二叉树 8 / \ 10 6 / \ / \ ...

  4. ansible1

    前期工作: 第一步:下载epel源 wget -O /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-7.repo 第二步: ...

  5. 图片Bitmap在本地的存储与读取 File

    将Bitmap存储到本地: public void SaveImage(Bitmap image, String user_id){ //照片通常存在DCIM文件夹中 String sdCardDir ...

  6. C#后台对密码框不能直接赋值

    当页面密码框 为 textmode="textpassword"时候,使用 txtpwd.text="XXX",是不会显示的, 应该使用txtpass.Attr ...

  7. 安装vCenter server 6.0

    注意,5.5的还可以直接把iso里的ova直接导入为模板,6.0之后的要拉到Windows下安装. 总路线 ESXI是服务器系统,用vsphere client连接,在client里新建一个虚拟机为W ...

  8. Ubuntu防火墙配置

    转载自:http://blog.csdn.net/sumer0922/article/details/7485584Ubuntu11.04默认的是UFW(ufw 即uncomplicated fire ...

  9. DataInputStream FileInputStream 区别

    DataInputStream是数据输入流,读取的是java的基本数据类型. FileInputStream是从文件系统中,读取的单位是字节. FileReader 是从文件中,读取的单位是字符

  10. Oracle Telnet 1521 失败

    作中发现自己的电脑“telnet 127.0.0.1 1521”(注意:不要拼成telnet 127.0.0.1:1521 ) 可以通过,但是使用localhost.主机名来telnet,则失败. 解 ...