____________________________________________________________
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