Node.js v0.2.4 and expected improvements in v0.3.x

    Last weekend can boast of two Node.js releases: the next minor version in the v0.2.x branch and the official release of the v0.3.x branch.
    And while the branch under development is still marked as “unstable”, it expects significant improvements in performance, portability and the addition of new features that you should know about now. Moreover, this version is already fully functional.
    Also at the end of the topic is a bonus in the form of links to the package repositories Node.js v0.2.x and NPM (Node.js package manager).

    Changes in version 0.2.4:

    • The --eval option has been added, which allows executing JavaScript code transmitted as a JavaScript string (analogue of perl -e or php -r).
    • Corrections in the network module:
      • Added the ability to start recording in the queue before the connection is completed.
      • In the event of an unsuccessful attempt to close the connection, the recording queue is no longer cleared.
      • Fixed a bug with frequent checking of free descriptors in case of reaching the connection limit ( Do not spin on accept () with EMFILE ).
    • Added --max-stack-size option to limit the maximum size of the V8 stack (V8 also by itself supports options to limit the size of memory used by the engine).
    • Errors in the function child_process.exec () related to the completion of the generated process have been fixed (now it occurs using the SIGTERM signal, and not SIGKILL).
    • Fixed errors of incorrect release of resources at Node shutdown.
    Download the distribution package :

    Changes in version 0.3.0 (unstable):

    • All the fixes described above are for version 0.2.4.
    • Multiple readline module enhancements.
    • Fixed a bug with memory corruption due to incorrect call of constructors.
    • The process.nextTick () function has been fixed, now exceptions to the callback function will not affect its Node operation.
    • The buffers were rewritten again, significantly accelerated work with them.
    • When compiling modules, the flags -D_FILE_OFFSET_BITS = 64 and -D_LARGEFILE_SOURCE are added by default.
    • Simplified parsing a string of HTTP requests.
    • Added support for HTTP 100 server response.
    • Simplified system of modules:
      • Remove require.async () and require.registerExtension () methods, added require.extensions [] property.
      • Added public API for require.resolve () and require.cache [].
    • The formatting of commas in the output in sys.inspect () has been changed, the output of function names has been added.
    • Constants are extracted from process into a separate module require ('constants').
    • Fixed parsing of the amount of memory used in Linux for programs with spaces in the name.
    • The sys module has been renamed to util.
    • Fixed a bug with non-returning non-blocking status to the stdio stream when the program was terminated by SIGTERM and SIGINT signals.
    • Improved base64 decoding of strings with additional characters (for example, spaces and line feeds).
    • Added the ability to override and add commands to REPL.
    • V8 has been updated to version 2.5.1, Libev to version 4.00, and also updated libeio and http-parser.
    • Other fixes and improvements in crypto, fs, http and net modules.
    Download the distribution package :

    For those who like * nix also for convenient work with software due to batch managers, I have a small addition:
    I have compiled on openSUSE BuildService packages for Node.js branches v0.2.x and NPM (Node.js package manager). Use on health ;-)

    Also popular now: