Commits on Dec 21, 2012

  1. npm: upgrade to 1.1.70

    isaacs committed Dec 21, 2012
  2. lint

    isaacs committed Dec 21, 2012
  3. stdio: Do not read from stdout/err

    This fixes windows stdio pipes in streams2 land.
    isaacs committed Dec 21, 2012
  4. doc: Nudge formatting to make json generator happy

    Starting a line with `**bold**` text makes it think that it's a link,
    and get confused.
    
    This should really be fixed properly in the doc generator, but for now,
    it's not a major issue.  It's probably just a matter of updating marked.
    isaacs committed Dec 21, 2012
  5. repl: don't touch require.cache

    Fixes #3226.
    
    Consider a production server that uses a REPL to debug. Creating the instance
    would wipe out the global cache of modules, and subsequent "require" calls in
    the server would be reloaded from disk. The REPL should observe only, without
    altering, its environment.
    TooTallNate committed Dec 21, 2012
  6. 2012.12.21, Version 0.9.4 (Unstable)

    * streams: Update all streaming interfaces to use new classes (isaacs)
    
    * node: remove idle gc (Ben Noordhuis)
    
    * http: protect against response splitting attacks (Bert Belder)
    
    * fs: Raise error when null bytes detected in paths (isaacs)
    
    * fs: fix 'object is not a function' callback errors (Ben Noordhuis)
    
    * fs: add autoClose=true option to fs.createReadStream (Farid Neshat)
    
    * process: add getgroups(), setgroups(), initgroups() (Ben Noordhuis)
    
    * openssl: optimized asm code on x86 and x64 (Bert Belder)
    
    * crypto: fix leak in GetPeerCertificate (Fedor Indutny)
    
    * add systemtap support (Jan Wynholds)
    
    * windows: add ETW and PerfCounters support (Scott Blomquist)
    
    * windows: fix normalization of UNC paths (Bert Belder)
    
    * crypto: fix ssl error handling (Sergey Kholodilov)
    
    * node: remove eio-emul.h (Ben Noordhuis)
    
    * os: add os.endianness() function (Nathan Rajlich)
    
    * readline: don't emit "line" events with a trailing 'n' char (Nathan Rajlich)
    
    * build: add configure option to generate xcode build files (Timothy J Fontaine)
    
    * build: allow linking against system libuv, cares, http_parser (Stephen Gallagher)
    
    * typed arrays: add slice() support to ArrayBuffer (Anthony Pesch)
    
    * debugger: exit and kill child on SIGTERM or SIGHUP (Fedor Indutny)
    
    * url: url.format escapes delimiters in path and query (J. Lee Coltrane)
    isaacs committed Dec 21, 2012
  7. Merge branch 'v0.9.4-release'

    isaacs committed Dec 21, 2012
  8. Now working on 0.9.5

    isaacs committed Dec 21, 2012
  9. blog: Post about v0.9.4

    isaacs committed Dec 21, 2012
  10. build: allow to specify custom tags

    When building custom `node` versions (e.g., floating features/fixes from
    different versions) it's often useful to specify a custom tag which
    easily identifies build when invoking `node -v`.
    
    Introduce a way to specify this tag in `node_version.h` file or by
    running `./configure --tag="<tag>"`. Insert it right after the patch
    version (and before `-pre`, if build is not a release).
    
    Closes #4452.
    mmalecki authored and TooTallNate committed Dec 21, 2012

Commits on Dec 24, 2012

  1. openssl: clean up openssl.gyp

    Remove obsolete build configuration that escaped the purge in 7eaea7f.
    bnoordhuis committed Dec 24, 2012

Commits on Dec 25, 2012

  1. net: allow socket end before connect

    Fix a bug where calling .end() on a socket without calling .connect() first
    throws a TypeError:
    
      TypeError: Cannot read property 'shutdown' of undefined
          at Socket.onSocketFinish (net.js:194:20)
          at Socket.EventEmitter.emit (events.js:91:17)
          at Socket.Writable.end (_stream_writable.js:281:10)
          at Socket.end (net.js:352:31)
    
    Fixes #4463.
    bentaber authored and bnoordhuis committed Dec 25, 2012

Commits on Dec 26, 2012

  1. stream: fix event handler leak in readstream pipe and unpipe

    After a stream was unpiped there would stil be residual event handlers
    AndreasMadsen authored and isaacs committed Dec 26, 2012
  2. stream: do only fake drain when unpiped stream is the source

    If the destination had multiply read streams piped to it,
    they would all decrease the awaitDrain state and thereby
    start the flow
    AndreasMadsen authored and isaacs committed Dec 26, 2012
  3. doc: document the finish event

    Since the stream implementer is not expected to overwrite
    .end() the finish event is necessary in order to know when
    no more data can be written
    AndreasMadsen authored and isaacs committed Dec 26, 2012
  4. stream2: fix to emit end event on http.ClientResponse

    Shigeki Ohtsu authored and isaacs committed Dec 26, 2012
  5. repl: add 'domain' to automatic loading libs

    `domain` should be a member of automatic loading libs in `repl`.
    
    Conflicts:
    
    	lib/repl.js
    tricknotes authored and isaacs committed Dec 26, 2012
  6. repl: remove 'repl' from automatic loading libs

    In repl, calling `repl` twice shows the following message:
    ```
    > repl
    A different "repl" already exists globally
    ```
    tricknotes authored and isaacs committed Dec 26, 2012
  7. lint

    isaacs committed Dec 26, 2012
  8. http: Handle end only when stream is not dumped

    This fixes regression introduced in some cases by 8bf0c15
    isaacs committed Dec 26, 2012

Commits on Dec 27, 2012

  1. build: allow to specify custom tags

    When building custom `node` versions (e.g., floating features/fixes from
    different versions) it's often useful to specify a custom tag which
    easily identifies build when invoking `node -v`.
    
    Introduce a way to specify this tag in `node_version.h` file or by
    running `./configure --tag="<tag>"`. Insert it right after the patch
    version (and before `-pre`, if build is not a release).
    mmalecki authored and isaacs committed Dec 27, 2012
  2. build: Add hyphen to custom build tags

    so that ./configure --tag=foo makes a version number like v0.9.5-foo
    instead of v0.9.5foo
    isaacs committed Dec 27, 2012
  3. http: remove unused variable

    The module variable `END_OF_FILE` was no longer needed from 1d36931.
    tricknotes authored and isaacs committed Dec 27, 2012

Commits on Dec 28, 2012

  1. domain: speed up domain.create

    Use `EventEmitter.call` instead of `EventEmitter.apply` because of performance.
    tricknotes authored and isaacs committed Dec 28, 2012
  2. stream: speed up instantiation of readable stream

    - Stream.apply -> Stream.call
    tricknotes authored and isaacs committed Dec 28, 2012
  3. net: socket.readyState corrections

    socket.readyState, .readable, and .writable behavior changed as
    a result of the new streaming interfaces. Updated to be backwards
    compatible with current API and adds regression test.
    
    closes #4461
    bentaber authored and isaacs committed Dec 28, 2012
  4. Colorize API stabilitity index headers in docs

    Noted in @shtylman's #3898, API stability notes are easy to overlook
    in the html documentation. This can be especially troublesome if the API
    is deprecated. This commit gives visual feedback by adding in a class
    to the html docs when they're generated. The API headers with
    corresponding colors are also listed in the 'About this Documentation'
    page for easy reference.
    luk- authored and isaacs committed Dec 28, 2012
  5. buffer: speed up base64 encoding by 20%

    Remove a lot of branches from the inner loop. Speeds up buf.toString('base64')
    by about 20%.
    
    Before:
    
      $ time out/Release/node benchmark/buffer-base64-encode.js
      real    0m6.607s
      user    0m5.508s
      sys     0m1.088s
    
    After:
    
      $ time out/Release/node benchmark/buffer-base64-encode.js
      real    0m5.520s
      user    0m4.520s
      sys     0m0.992s
    bnoordhuis committed Dec 28, 2012
  6. https: optimize https.createConnection()

    Stop using `arguments` for performance and readability.
    tricknotes authored and bnoordhuis committed Dec 28, 2012
  7. fs: remove fs.sendfile()

    Said function has been broken (and useless) since v0.6.0. Remove it altogether.
    
    Fixes #3854.
    bnoordhuis committed Dec 28, 2012
  8. fs: make 'end' work with ReadStream without 'start'

    Make `fs.createReadStream({ end: 42 })` work.
    
    Before this commit, it worked only when used like this:
    `fs.createReadStream({ start: 0, end: 42 })` - only when `start` was specified
    by the caller.
    
    Fixes #4423.
    bnoordhuis committed Dec 28, 2012

Commits on Dec 29, 2012

  1. domain: Do not use uncaughtException handler

    This adds a process._fatalException method which is called into from
    C++ in order to either emit the 'uncaughtException' method, or emit
    'error' on the active domain.
    
    The 'uncaughtException' event is an implementation detail that it would
    be nice to deprecate one day, so exposing it as part of the domain
    machinery is not ideal.
    
    Fix #4375
    isaacs committed Dec 29, 2012
  2. domain: use camelCase instead of snake_case

    While it's true that error objects have a history of getting snake_case
    properties attached by the host system, it's a point of confusion to
    Node users that comes up a lot.  It's still 'experimental', so best to
    change this sooner rather than later.
    isaacs committed Dec 29, 2012
  3. assert: improve support for new execution contexts

    More detailed information in GH-693
    lukebayes authored and isaacs committed Dec 29, 2012
  4. http: Replace "in" usage with "=== undefined"

    Speeds up http benchmarks.
    isaacs committed Dec 29, 2012
  5. net: Don't go through Stream API when ondata is used

    This speeds up http_simple by around 6%.
    isaacs committed Dec 29, 2012