____________________________________________________________ RELEASE NOTES BRAHMS Version 0.7.4 ____________________________________________________________ Contents: RELEASE SUMMARY UPGRADE ADVICE SUMMARY CHANGE LOG FULL CHANGE LOG If you are in a rush, please read at least as far as the end of "UPGRADE ADVICE" to avoid the most obvious problems. ____________________________________________________________ RELEASE SUMMARY: This is primarily a consolidation release, but also adds consistent support for process & thread priority control across WIN and NIX. Alpha releases of two new bindings are included. There is the usual smattering of bug fixes and performance improvements. ____________________________________________________________ UPGRADE ADVICE: Namespace Layout: Legacy support for the brahms/imp/1199/0 pattern has been removed. If you are still using this pattern, collapse the directory structure to brahms/0, and install a node.xml and release.xml file, if they are not already present. See documentation on Namespace. 1199: All components will need recompiling. Some minor changes to your code are needed to support the removal of some mistakes from the Component Interface, as follows. 1) The declaration of XMLNode has changed so that you now have to pass a first parameter "hComponent". Search for any use of XMLNode, and add the first parameter (hComponent is defined within the Component Class). An example is given below. change this: // extract DataML EventStateSet* data = (EventStateSet*) event->data; XMLNode xmlNode(data->state); DataMLNode nodeState(&xmlNode); to this: // extract DataML EventStateSet* data = (EventStateSet*) event->data; XMLNode xmlNode(hComponent, data->state); DataMLNode nodeState(&xmlNode); 2) The method for accessing Execution Parameters has changed. use this within your component: string value = getParameterString("key"); or use this within a non-member function: string value = getParameterString(hComponent, "key"); (for the latter, you will have to pass in hComponent to your function). 3) If you use them (chances are you don't), the interfaces provided by data/numeric and spikes/numeric have dropped "due()" and "seen()" and added "isPresent()" (almost equivalent to "due()") and "isAttached()" (plays a similar role to "seen()"). See the docuemntation for those interfaces if you need to update your code. 1065: Obsoleted - upgrade to 1199, see http://brahms.sourceforge.net/docs/Upgrading%20to%20 1199.html and the notes above. 1258/1262: No changes necessary. ____________________________________________________________ SUMMARY CHANGE LOG: * various bug fixes, performance updates, improved error messages, improved docs. * applied patch 2457. * added COMPONENT_INTERFACE_REVISION to specify interface support required (if left undefined, all legacy support is provided). * renamed - OVERLAY_QUICKSTART_PROCESS --> COMPONENT_QUICKSTART_PROCESS - due() --> isPresent() (see also isAttached()) - ARCH_BITS --> BRAHMS_ARCH_BITS * changed version information binary format - REQUIRES RECOMPILE OF ALL COMPONENTS * removed ExecutionInfo; use instead ENGINE_EVENT_GET_PARAMETER_STRING (or getParameterString() in 1199). * added parameter to XMLNode ctor so that it has hComponent - REQUIRES CODE UPDATE * changed all engine events that return strings so that the caller provides the buffer. * changed 64-bit Symbol to be UINT32. * added new Matlab Bindings 2530 - THESE ARE IN ALPHA, AND SHOULD NOT BE USED IN PRODUCTION CODE. * added component-side binding 2510 - THIS IS IN ALPHA, AND SHOULD NOT BE USED IN PRODUCTION CODE. * added support for partial management of process & thread priority on both windows and nix. see new behaviour of Execution Parameter "Priority". * removed support for old brahms/imp/1199/0 folder layout (in loader.cpp). users should be advised how to fix this, if they are still using a legacy layout. ____________________________________________________________ FULL CHANGE LOG: see these files: <brahms svn repository>/tags/0.7.4/change.log