{"category":{"__v":2,"_id":"566e55c12c1e760d0030c56d","pages":["566e55c12c1e760d0030c56e","566e55c12c1e760d0030c56f","566e55c12c1e760d0030c570","566e55c12c1e760d0030c571","566e55c12c1e760d0030c572","566e55c12c1e760d0030c573","566e55c12c1e760d0030c574","566e55c12c1e760d0030c575","566e55c12c1e760d0030c576","566e55c12c1e760d0030c577","566e55c12c1e760d0030c578","566e55c12c1e760d0030c579","566e55c12c1e760d0030c57a","566e55c12c1e760d0030c57b","566e55c12c1e760d0030c57c","566e55c12c1e760d0030c57d","566e55c12c1e760d0030c57e","566e55c12c1e760d0030c57f","566e55c12c1e760d0030c580","566e55c12c1e760d0030c581","566e55c12c1e760d0030c582","566e55c12c1e760d0030c583","566e55c12c1e760d0030c584","566e55c12c1e760d0030c585","566e55c12c1e760d0030c586","566e55c12c1e760d0030c587","566e55c12c1e760d0030c588","566e5640c15c8f0d000ee863"],"project":"54408e54309354080070a896","version":"566e55c02c1e760d0030c56c","sync":{"url":"","isSync":false},"reference":false,"createdAt":"2014-10-17T03:34:44.886Z","from_sync":false,"order":0,"slug":"documentation","title":"Documentation"},"project":"54408e54309354080070a896","user":"544083bee239230800071bef","version":{"__v":1,"_id":"566e55c02c1e760d0030c56c","project":"54408e54309354080070a896","createdAt":"2015-12-14T05:38:08.400Z","releaseDate":"2015-12-14T05:38:08.400Z","categories":["566e55c12c1e760d0030c56d"],"is_deprecated":false,"is_hidden":false,"is_beta":false,"is_stable":true,"codename":"","version_clean":"1.2.3","version":"1.2.3"},"_id":"566e55c12c1e760d0030c581","__v":0,"updates":[],"next":{"pages":[],"description":""},"createdAt":"2015-01-14T05:36:09.045Z","link_external":false,"link_url":"","githubsync":"","sync_unique":"","hidden":false,"api":{"results":{"codes":[]},"auth":"required","params":[],"url":""},"isReference":false,"order":19,"body":"# Non backward compatible changes\n\nIn this version there are 2 changes that are not backward compatible with the use of previous versions.  These are\n\n* execution using function callbacks\n* multidimensional Array return values\n\n## Execution using function callbacks implies asynchronous execution\n\nIn version 1.0 support for asynchronous processing has been added and is indicated by use of a function callback; see [Synchronous vs. Asynchronous](doc: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.\n[block:code]\n{\n  \"codes\": [\n    {\n      \"code\": \"julia.exec(args,function(err,result1,result2,...) {       // \\n...                                                       // asynchronous, delayed\\n});                                                       //\\n\\n*next statement*                         // execution proceeds to here immediately\",\n      \"language\": \"javascript\"\n    }\n  ]\n}\n[/block]\n## Multidimensional Arrays are constructed with Native Arrays\nIn 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](doc:buffer-and-native-arrays)  for more information.\n\n# Use of Malformed arrays generate an error.\nPrevious malformed arrays were silently discarded, in this version malformed arrays raise an exception or an error depending on the context.\n\n# Bug fixes and minor enhancements \n* fix for a multidimensional array copy error\n* fix for Native Array data pointer returning 0 under suspicious circumstances.\n* fix for a JRef store indexing error\n* added script isolating modules to global namespace.\n* added support for io.js","excerpt":"","slug":"version-100-release-notes","type":"basic","title":"Version 1.0.0 Release Notes"}

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](doc: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. [block:code] { "codes": [ { "code": "julia.exec(args,function(err,result1,result2,...) { // \n... // asynchronous, delayed\n}); //\n\n*next statement* // execution proceeds to here immediately", "language": "javascript" } ] } [/block] ## 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](doc: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