= 0.17.0 / 2012-09-03

  * Added strata.authenticityToken middleware.
  * Renamed strata.authBasic to strata.basicAuth.
  * Removed mock.request in favor of mock.call. This provides a more consistent
    interface with strata.call.
  * Moved utils.empty to utils.ok. This is more consistent with the other
    utils helper methods.
  * Removed strata.InvalidRequestBodyError in favor of strata.Error.

= 0.16.1 / 2012-08-18

  * Fixed a file name in a require call.

= 0.16.0 / 2012-08-18

  * Added the ability to pass a callback as the second argument to a build
    middleware. This callback receives the build as its only argument.
  * Require node >= 0.8.0.

= 0.15.1 / 2012-05-31

  * Updates to some documentation.

= 0.15.0 / 2012-05-31

  * Added -r flag to strata executable to automatically reload all application
    code on a given interval in a child process.
  * Added -q flag to strata executable to prevent the server startup message
    from being printed to the console.
  * Added strata.defaultPort variable.

= 0.14.0 / 2012-05-30

  * Renamed strata.map middleware to strata.urlMap to avoid naming conflict
    with high-level sugar API.
  * Renamed strata.route middleware to strata.router to avoid naming conflict
    with high-level sugar API.

= 0.13.0 / 2012-05-29

  * Added timeout middleware to set a limit on the amount of time a server may
    respond to a request. Also added timeout environment variable.
  * Added strata.bind and strata.startServer. Also added a requestListener
    argument to strata.createServer in order to more closely conform with
    the API in node core and removed the app argument so that more than one app
    may be bound to a single server.
  * Removed "name" option from strata.createServer.

= 0.12.5 / 2012-04-16

  * Use "delete" instead of "del" for router methods. Although "delete" is
    indeed a reserved word in JavaScript, that fact applies only to identifiers
    and not identifier names (see https://developer.mozilla.org/en/JavaScript/Reference/Reserved_Words).
  * Added support for the `callback` HTTP parameter in JSONP middleware. This
    value takes precedence over any pre-configured callback name that is given
    when the middleware is instantiated.

= 0.12.4 / 2012-03-30

  * Fixed a bug where the request would not return properly when using the
    directory middleware and the directory is not found.

= 0.12.3 / 2012-03-23

  * Ignore broken symlinks when displaying a directory listing using
    strata.directory.

  * Fix memory leak when using the default app in strata.run.

= 0.12.2 / 2012-03-06

  * Added a missing comma.

= 0.12.1 / 2012-03-06

  * Added -d option to the strata executable. This allows you to easily serve
    the contents of a given directory over HTTP(S).

= 0.12.0 / 2012-03-03

  * Removed the Builder, Mapper, and Router constructors in favor of similar
    (but not identical) build, map, and route middlewares.

  * Added the ability for users to call any of the build/map/route methods
    directly on the strata module itself. Doing so generates a "default" app
    that may be run by calling `strata.run` with no other arguments.

  * Added all routing methods to the build middleware to enable easier app
    creation. The caveat is that calls to the routing methods are not
    interleaved with calls to use & map. Instead, they are simply forwarded to
    a downstream route middleware which is set as the default app of the build.

= 0.11.0 / 2012-01-19

  * Removed dependency on gzbz2. strata.gzip requires node >= 0.6.

= 0.10.1 / 2012-01-03

  * Fixed bug that prevented caching request body when the body is empty.

= 0.10.0 / 2011-12-22

  * Bumped dependency on node down to 0.4.7. Some features of 0.6 may be used
    if they are available (i.e. when running on node 0.6), but strata only
    requires 0.4.7. This should help users who are deploying to platforms that
    are not on the bleeding edge of node development.

= 0.9.1 / 2011-12-21

  * Renamed strata.static to strata.file.

  * Use Vary header when using gzip encoding.

= 0.9.0 / 2011-12-07

  * Remove routing capabilities from Builder.

  * Added ability for Builder, Mapper, and Router to receive an app that
    responds to `toApp`. See strata.app.

  * Added Response.headers and Request.headers, and all corresponding properties
    to their respective prototypes.

  * Renamed Request#accept* family of methods to accepts* to prevent collision
    with accessors of raw header values.

  * Only use static middleware on GET requests.

  * Static middleware returns 403 Forbidden when paths contain "..".

= 0.8.2 / 2011-11-21

  * Added strata.call to catch errors that are thrown synchronously by strata
    apps. In these cases, an error response can be gracefully returned to the
    client without bringing the whole server down.

  * Added flash module.

  * Extracted mock.call from mock.request.

  * Fixed retrieval of the remote client address under node 0.6.

  * Fixed commonLogger middleware to report the remote client address properly.

  * Removed utils.reverseHttpPropertyName

= 0.8.1 / 2011-11-16

  * Update markdown dependency version to ~0.3.1.

= 0.8.0 / 2011-11-16

  * Support for node 0.6.

  * Removed dependency on gzbz2 in favor of native zlib support in node.

  * Removed utils.strftime in favor of strftime package.

  * Removed utils.isRe in favor of util.isRegExp.

  * Refactored BufferedStream into its own module.

  * Added remoteUser environment variable when using basic auth.

= 0.7.0 / 2011-10-30

  * Provide as much information as possible in the default error handler for
    errors that do not have a proper stack trace.

  * Added remoteAddr and remotePort environment variables.

  * Reversed order of arguments to Response constructor.

  * Values in Response#headers are always strings.

  * Don't send the old cookie value when removing cookies.

  * Extracted base error class into its own package.

  * Removed view module.

= 0.6.1 / 2011-10-08

  * Removed Error#fullStack and fixed a bug with printing stack traces for
    errors that do not inherit from Error.

= 0.6.0 / 2011-10-05

  * Added view module (supports erb-style templating).

  * Permit a function to be used as the second argument to strata.run.

  * Added option to prevent server from writing to console on startup.

  * Clarified the use of the serverName and serverPort environment variables.

  * Eliminated use of the SERVER_PORT and HTTPS process environment variables.

  * Added rationale to README.

= 0.5.14 / 2011-10-03

  * Added startup message to strata.run.

  * Fixed a regression in strata.handleError.

  * Reworked manual code examples to use strata.run.

= 0.5.13 / 2011-09-30

  * Fixed a regression in strata.createServer.

= 0.5.12 / 2011-09-29

  * Added directory middleware.

= 0.5.11 / 2011-09-27

  * Set Content-Type/Length in error responses from basic auth middleware.

  * Added cascade middleware.

  * Explicitly set "Transfer-Encoding: chunked" for stream response bodies.

  * Removed X-Cascade from utils.notFound.

  * Added "X-Cascade: pass" support to strata.Router. A response containing this
    header will be ignored and subsequent routes will be tried.

= 0.5.10 / 2011-09-26

  * Use "Content-Length: 0" for HEAD requests.

= 0.5.9 / 2011-09-26

  * Better docs around Error reporting and handling.

= 0.5.8 / 2011-09-26

  * Refactored mock.Stream into BufferedStream.

  * Added mock.stream for collecting stream data.

  * Ensured all tests pass lint.

= 0.5.7 / 2011-09-22

  * Refactored stream-like constructors to inherit from Stream so they can
    take advantage of Stream#pipe.

  * Removed all synchronous fs calls from static middleware.

= 0.5.6 / 2011-09-20

  * Ensure all manual chapters are in the correct order.

= 0.5.5 / 2011-09-20

  * Added manual chapter about content negotiation.

  * Some minor documentation tweaks.

= 0.5.4 / 2011-09-20

  * Added requestTime environment variable.

  * Added manual chapters on serving static files, rewriting URL's, and gzip
    compression.

= 0.5.3 / 2011-09-20

  * Removed multipart.File#unlink

  * The manual module now exports an array of all chapters in order.

  * More docs.

= 0.5.2 / 2011-09-19

  * Added dependency on markdown package for manual HTML formatting

  * Removed mime module (using npm's mime package instead)

= 0.5.1 / 2011-09-14

  * Added rewrite middleware (similar to Apache's mod_rewrite)

  * Renamed strata.location environment variable to strata.referrer

= 0.5.0 / 2011-09-13

  * Changed environment variable naming scheme so that all may use the dot
    syntax, instead of bracket syntax.

= 0.4.5 / 2011-09-13

  * Switched to gzbz2 for gzip compression.

  * Fixed gzip encoding bug.

= 0.4.4 / 2011-09-12

  * Added examples module.

= 0.4.3 / 2011-09-12

  * Added redirect module.

  * Added Mapper.run and Router.run to mimic Builder.run.

= 0.4.2 / 2011-09-10

  * Added get/post/put/del/head/options convenience functions to Router/Builder.

  * Added access to miscellaneous internal modules (e.g. mime, mock).

  * Request.parseableData returns true when Request.formData is true.

  * Better examples.

= 0.4.1 / 2011-09-09

  * Added jsonp support.

  * Refactored mock.request and entire test suite.

  * Set proper Content-Encoding in gzip middleware.

= 0.4.0 / 2011-09-09

  * Renamed project from link to strata.

  * Added support for Accept* family of HTTP headers.

  * Added gzip support (requires node-compress).

= 0.3.3 / 2011-09-02

  * Added link.run.

  * Builder defaults to returning a 404.

  * Fixed a bug that didn't allow authBasic to be required automatically.

  * Added CHANGES document.

= 0.3.2 / 2011-08-17

  * Reorganized package structure.

  * Fixed sessionCookie bug that did not call the downstream app in some cases.

  * Changed minimum node requirement to 0.4.7.

= 0.3.0 / 2011-08-16

  * Added Router middleware.

  * Replaced urlMap middleware with Mapper.

  * Changed minimum node requirement to 0.4.10.
