Version 1.0.0 Release Notes

Non backward compatible changes

In this version there are 2 changes that are not backward compatible with the use of previous versions. These are

  • execution using function callbacks
  • multidimensional Array return values

Execution using function callbacks implies asynchronous execution

In version 1.0 support for asynchronous processing has been added and is indicated by use of a function callback; see Synchronous vs. Asynchronous for more information. Thus, execution can proceed past this control structure before the evaluation by Julia has completed. Furthermore, the function callback signature has changed, an error message is returned in the first parameter as is typical for asynchronous calls. Any programs that had depended on the previous behavior will need to be restructured.

julia.exec(args,function(err,result1,result2,...) {       // 
...                                                       // asynchronous, delayed
});                                                       //

*next statement*                         // execution proceeds to here immediately

Multidimensional Arrays are constructed with Native Arrays

In previous versions, Julia arrays would always be passed back as the generic JavaScript Array type with elements of the appropriate type. Because Native Arrays are so much more efficient, in this version, Native Arrays will be used where possible see Buffer and Native Arrays for more information.

Use of Malformed arrays generate an error.

Previous malformed arrays were silently discarded, in this version malformed arrays raise an exception or an error depending on the context.

Bug fixes and minor enhancements

  • fix for a multidimensional array copy error
  • fix for Native Array data pointer returning 0 under suspicious circumstances.
  • fix for a JRef store indexing error
  • added script isolating modules to global namespace.
  • added support for io.js