Node.js's goal is to provide an easy way to build scalable network programs. Node.js communicates to the operating system (via epoll, kqueue, /dev/poll, or select) that it should be notified when a new connection is made, after which it goes to sleep.
If someone new connects, then it executes the callback. Each connection is only a small heap allocation.
What's New in This Release:
· assert: improve support for new execution contexts (lukebayes)
· domain: use camelCase instead of snake_case (isaacs)
· domain: Do not use uncaughtException handler (isaacs)
· fs: make 'end' work with ReadStream without 'start' (Ben Noordhuis)
· https: optimize createConnection() (Ryunosuke SATO)
· buffer: speed up base64 encoding by 20% (Ben Noordhuis)
· doc: Colorize API stabilitity index headers in docs (Luke Arduini)
· net: socket.readyState corrections (bentaber)
· http: Performance enhancements for http under streams2 (isaacs)
· stream: fix to emit end event on http.ClientResponse (Shigeki Ohtsu)
· stream: fix event handler leak in readstream pipe and unpipe (Andreas Madsen)
· build: Support ./configure --tag switch (Maciej Małecki)
· repl: don't touch `require.cache` (Nathan Rajlich)
· node: Emit 'exit' event when exiting for an uncaught exception (isaacs)