
## [**8.8.1**](https://github.com/hapijs/hapi/issues?milestone=148&state=open)
- [**#2631**](https://github.com/hapijs/hapi/issues/2631) Update inert to 2.1.6

## [**8.8.0**](https://github.com/hapijs/hapi/issues?milestone=147&state=closed)
- [**#2627**](https://github.com/hapijs/hapi/issues/2627) Update hapijs/subtext to 1.1.1 from 1.1.0
  - **hapijs/subtext 1.1.1**
  - [**#5**](https://github.com/hapijs/subtext/issues/5) Error for payloads with content-encoding that fail maxBytes test
- [**#2613**](https://github.com/hapijs/hapi/issues/2613) Update jshttp/mime-db to 1.14.0 from 1.11.0
- [**#2612**](https://github.com/hapijs/hapi/issues/2612) Update hapijs/vision to 2.0.1 from 2.0.0
  - **hapijs/vision 2.0.1**
  - [**#24**](https://github.com/hapijs/vision/issues/24) Ensure _loaderHelpers registers actual filenames
  - [**#25**](https://github.com/hapijs/vision/issues/25) Update dependencies.
  - [**#22**](https://github.com/hapijs/vision/issues/22) Helpful path location checked
- [**#2625**](https://github.com/hapijs/hapi/issues/2625) Update hapijs/wreck to 6.0.0 from 5.5.1
  - **hapijs/wreck 6.0.0**
  - [**#75**](https://github.com/hapijs/wreck/issues/75) Read automatically converts payload from Buffer to UTF-8 String
  - [**#95**](https://github.com/hapijs/wreck/issues/95) Payload returns as a buffer. Fixes Issue #75
  - **hapijs/wreck 5.6.1**
  - [**#71**](https://github.com/hapijs/wreck/issues/71) Attempt to call `destroy()` on `Gunzip` object
  - [**#94**](https://github.com/hapijs/wreck/issues/94) Skip res.destroy() when not present. Closes #71
  - [**#93**](https://github.com/hapijs/wreck/issues/93) Fix missing options when redirecting
  - **hapijs/wreck 5.6.0**
  - [**#92**](https://github.com/hapijs/wreck/issues/92) More robust baseUrl and uri merging
  - [**#86**](https://github.com/hapijs/wreck/issues/86) Add support for the `baseUrl` option
  - [**#85**](https://github.com/hapijs/wreck/issues/85) add support for defaults
  - [**#89**](https://github.com/hapijs/wreck/issues/89) support for detecting/parsing +json suffix types i.e. application/*+json
  - [**#88**](https://github.com/hapijs/wreck/issues/88) Maintenance
  - [**#87**](https://github.com/hapijs/wreck/issues/87) Update license attribute
- [**#2623**](https://github.com/hapijs/hapi/issues/2623) Update hapijs/qs to 4.0.0 from 2.4.2
  - **hapijs/qs 4.0.0**
  - [**#98**](https://github.com/hapijs/qs/issues/98) make returning plain objects and allowing prototype overwriting properties optional
  - **hapijs/qs 3.1.0**
  - [**#89**](https://github.com/hapijs/qs/issues/89) Add option to disable "Transform dot notation to bracket notation"
  - **hapijs/qs 3.0.0**
  - [**#77**](https://github.com/hapijs/qs/issues/77) Perf boost
  - [**#60**](https://github.com/hapijs/qs/issues/60) Add explicit option to disable array parsing
  - [**#80**](https://github.com/hapijs/qs/issues/80) qs.parse silently drops properties
  - [**#74**](https://github.com/hapijs/qs/issues/74) Bad parse when turning array into object
  - [**#81**](https://github.com/hapijs/qs/issues/81) Add a `filter` option
  - [**#68**](https://github.com/hapijs/qs/issues/68) Fixed issue with recursion and passing strings into objects.
  - [**#66**](https://github.com/hapijs/qs/issues/66) Add mixed array and object dot notation support Closes: #47
  - [**#76**](https://github.com/hapijs/qs/issues/76) RFC 3986
  - [**#85**](https://github.com/hapijs/qs/issues/85) No equal sign
  - [**#84**](https://github.com/hapijs/qs/issues/84) update license attribute
- [**#2622**](https://github.com/hapijs/hapi/issues/2622) Support qs options in payload and query parsing

## [**8.7.0**](https://github.com/hapijs/hapi/issues?milestone=146&state=closed)
- [**#2587**](https://github.com/hapijs/hapi/issues/2587) Update hapijs/catbox to 4.3.0 from 4.2.2
  - **hapijs/catbox 4.3.0**
  - [**#114**](https://github.com/hapijs/catbox/issues/114) Expose cache engine connection isReady as public method

## [**8.6.1**](https://github.com/hapijs/hapi/issues?milestone=145&state=closed)
- [**#2586**](https://github.com/hapijs/hapi/issues/2586) Update hapijs/shot to 1.5.1 from 1.5.0
  - **hapijs/shot 1.5.1**
  - [**#30**](https://github.com/hapijs/shot/issues/30) fix #7
  - [**#7**](https://github.com/hapijs/shot/issues/7) deprecated encoding 'binary' is used
- [**#2584**](https://github.com/hapijs/hapi/issues/2584) Update jshttp/mime-db to 1.11.0 from 1.10.0
- [**#2583**](https://github.com/hapijs/hapi/issues/2583) Update hapijs/statehood to 2.1.1 from 2.0.0
  - **hapijs/statehood 2.1.0**
  - [**#12**](https://github.com/hapijs/statehood/issues/12) Support isNullOverride in applyToDefaults

## [**8.6.0**](https://github.com/hapijs/hapi/issues?milestone=144&state=closed)
- [**#2570**](https://github.com/hapijs/hapi/issues/2570) Added "error" event listener
- [**#2573**](https://github.com/hapijs/hapi/issues/2573) allow returning a response object inside a promise

## [**8.5.3**](https://github.com/hapijs/hapi/issues?milestone=143&state=closed)
- [**#2571**](https://github.com/hapijs/hapi/issues/2571) Update hapijs/h2o2 to 4.0.1 from 4.0.0
  - **hapijs/h2o2 4.0.1**
  - [**#11**](https://github.com/hapijs/h2o2/issues/11) Bump Joi to v6.x.x
- [**#2569**](https://github.com/hapijs/hapi/issues/2569) Make sure auth filter passes on request auth artifacts when injecting, too

## [**8.5.2**](https://github.com/hapijs/hapi/issues?milestone=142&state=closed)
- [**#2564**](https://github.com/hapijs/hapi/issues/2564) Auth error log should not report missing or try as error

## [**8.5.1**](https://github.com/hapijs/hapi/issues?milestone=140&state=closed)
- [**#2555**](https://github.com/hapijs/hapi/issues/2555) fix dynamic scopes
- [**#2554**](https://github.com/hapijs/hapi/issues/2554) Dynamic scope uses undefined request.payload
- [**#2553**](https://github.com/hapijs/hapi/issues/2553) Update hapijs/hoek to 2.14.0 from 2.13.0
  - **hapijs/hoek 2.14.0**
  - [**#147**](https://github.com/hapijs/hoek/issues/147) Reach template
  - [**#139**](https://github.com/hapijs/hoek/issues/139) Clone fails on objects with null prototypes
  - **hapijs/hoek 2.13.1**
  - [**#134**](https://github.com/hapijs/hoek/issues/134) Allow for deep partial contain
  - [**#145**](https://github.com/hapijs/hoek/issues/145) options for deepEqual don't pass on to recursive calls in arrays

## [**8.5.0**](https://github.com/hapijs/hapi/issues?milestone=139&state=closed)
- [**#2481**](https://github.com/hapijs/hapi/issues/2481) Feature: server.decorate('request' ... )
- [**#2544**](https://github.com/hapijs/hapi/issues/2544) Retain content-length header for HEAD requests
- [**#2552**](https://github.com/hapijs/hapi/issues/2552) Update hapijs/wreck to 5.5.1 from 5.2.0
  - **hapijs/wreck 5.5.0**
  - [**#81**](https://github.com/hapijs/wreck/issues/81) Added uri to event payloads.
  - **hapijs/wreck 5.4.0**
  - [**#79**](https://github.com/hapijs/wreck/issues/79) Add start time to response event
  - **hapijs/wreck 5.3.0**
  - [**#77**](https://github.com/hapijs/wreck/issues/77) Add event for response and logging
  - [**#73**](https://github.com/hapijs/wreck/issues/73) Fix issues with node 0.12
- [**#2472**](https://github.com/hapijs/hapi/issues/2472) Update hapijs/qs to 2.4.2 from 2.4.0
  - **hapijs/qs 2.4.1**
  - [**#73**](https://github.com/hapijs/qs/issues/73) Property 'hasOwnProperty' of object #&lt;Object&gt; is not a function
- [**#2551**](https://github.com/hapijs/hapi/issues/2551) Update jshttp/mime-db to 1.10.0 from 1.9.1
- [**#2550**](https://github.com/hapijs/hapi/issues/2550) Update moment/moment to 2.10.3 from 2.9.0
- [**#2549**](https://github.com/hapijs/hapi/issues/2549) Update hapijs/joi to 6.4.1 from 6.0.8
  - **hapijs/joi 6.4.0**
  - [**#629**](https://github.com/hapijs/joi/issues/629) help with `.or()`
  - **hapijs/joi 6.2.0**
  - [**#413**](https://github.com/hapijs/joi/issues/413) Create default [highly nested] object easily?
  - **hapijs/joi 6.1.2**
  - [**#628**](https://github.com/hapijs/joi/issues/628) Alternatives throw typeError when "is: null" is used
  - **hapijs/joi 6.1.1**
  - [**#627**](https://github.com/hapijs/joi/issues/627) Property is always required even when my When() condition isn't met.
  - **hapijs/joi 6.1.0**
  - [**#583**](https://github.com/hapijs/joi/issues/583) do ref-able operations support referring to a list?
  - [**#616**](https://github.com/hapijs/joi/issues/616) Add ignoreUndefined flag for rename()
  - [**#609**](https://github.com/hapijs/joi/issues/609) number min/max/greater/less do not allow decimal values
- [**#2548**](https://github.com/hapijs/hapi/issues/2548) Update hapijs/hoek to 2.13.0 from 2.11.1
  - **hapijs/hoek 2.13.0**
  - [**#140**](https://github.com/hapijs/hoek/issues/140) Add isNullOverride to applyToDefaults
  - **hapijs/hoek 2.12.0**
  - [**#133**](https://github.com/hapijs/hoek/issues/133) Added option parameter to deepEqual.
- [**#2547**](https://github.com/hapijs/hapi/issues/2547) Update hapijs/boom to 2.7.2 from 2.6.1
  - **hapijs/boom 2.7.2**
  - [**#59**](https://github.com/hapijs/boom/issues/59) Update license attribute
  - **hapijs/boom 2.7.1**
  - [**#52**](https://github.com/hapijs/boom/issues/52) Coerse statusCode to an Integer
  - [**#51**](https://github.com/hapijs/boom/issues/51) Make sure Boom initialize method auto cast string statusCode to Integer if possible
  - **hapijs/boom 2.7.0**
  - [**#45**](https://github.com/hapijs/boom/issues/45) Added isServer
  - [**#41**](https://github.com/hapijs/boom/issues/41) Easy way to determine if the client or server is at fault
- [**#2546**](https://github.com/hapijs/hapi/issues/2546) Update hapijs/inert to 2.1.5 from 2.1.4
  - **hapijs/inert 2.1.5**
  - [**#26**](https://github.com/hapijs/inert/issues/26) Misc. Closes #25
- [**#2545**](https://github.com/hapijs/hapi/issues/2545) Update isaacs/node-lru-cache to 2.6.4 from 2.5.0
- [**#2501**](https://github.com/hapijs/hapi/issues/2501) server.inject does not allow me to set auth artifacts, only auth credentials
- [**#2538**](https://github.com/hapijs/hapi/issues/2538) closes #2480: Ability to pass options to qs for payload parsing
- [**#2532**](https://github.com/hapijs/hapi/issues/2532) Dynamic authentication scopes
- [**#2509**](https://github.com/hapijs/hapi/issues/2509) Update jshttp/mime-db to 1.9.1 from 1.7.0
- [**#2502**](https://github.com/hapijs/hapi/issues/2502) Fix Hapi Issue #2501, pass on auth artifacts object in server.inject
- [**#2503**](https://github.com/hapijs/hapi/issues/2503) Update hapijs/shot to 1.5.0 from 1.4.2
  - **hapijs/shot 1.5.0**
  - [**#28**](https://github.com/hapijs/shot/issues/28) Add 'content-length' header matching payload length if none set

## [**8.4.0**](https://github.com/hapijs/hapi/issues?milestone=138&state=closed)
- [**#2470**](https://github.com/hapijs/hapi/issues/2470) JSONP requests not always returning wrapped response
- [**#2469**](https://github.com/hapijs/hapi/issues/2469) Update hapijs/qs to 2.4.0 from 2.3.3
  - **hapijs/qs 2.4.0**
  - [**#70**](https://github.com/hapijs/qs/issues/70) Add arrayFormat option
- [**#2468**](https://github.com/hapijs/hapi/issues/2468) Proxy handler not forwarding request payload
- [**#2465**](https://github.com/hapijs/hapi/issues/2465) Update hapijs/catbox to 4.2.2 from 4.2.1
  - **hapijs/catbox 4.2.2**
  - [**#120**](https://github.com/hapijs/catbox/issues/120) Upgrade to Joi 6
- [**#2464**](https://github.com/hapijs/hapi/issues/2464) Update hapijs/joi to 6.0.8 from 6.0.5
  - **hapijs/joi 6.0.7**
  - [**#580**](https://github.com/hapijs/joi/issues/580) Annotate fails on circular objects
  - **hapijs/joi 6.0.6**
  - [**#602**](https://github.com/hapijs/joi/issues/602) Validate multiple options with presence key in it
  - [**#601**](https://github.com/hapijs/joi/issues/601) Error: stripUnknown should be one of required, optional, forbidden, ignore
- [**#2463**](https://github.com/hapijs/hapi/issues/2463) Update shrinkwrap to joi 6.0.7

## [**8.3.1**](https://github.com/hapijs/hapi/issues?milestone=137&state=closed)
- [**#2461**](https://github.com/hapijs/hapi/issues/2461) Missing dependency in 8.3

## [**8.3.0**](https://github.com/hapijs/hapi/issues?milestone=136&state=closed)
- [**#2459**](https://github.com/hapijs/hapi/issues/2459) Fix for node 0.10 for changes in #2429
- [**#2453**](https://github.com/hapijs/hapi/issues/2453) Update hapijs/joi to 6.0.5 from 5.0.2
  - **hapijs/joi 6.0.5**
  - [**#600**](https://github.com/hapijs/joi/issues/600) Fix regression on unsafe string escaping in language
  - **hapijs/joi 6.0.4**
  - [**#593**](https://github.com/hapijs/joi/issues/593) .rename() does not work when new value is undefined
  - **hapijs/joi 6.0.3**
  - [**#589**](https://github.com/hapijs/joi/issues/589) Joi.array().items(...) error message changes
  - **hapijs/joi 6.0.1**
  - [**#585**](https://github.com/hapijs/joi/issues/585) No conversion is done inside Joi.array().items
  - **hapijs/joi 6.0.0**
  - [**#457**](https://github.com/hapijs/joi/issues/457) Add URI Validation
  - [**#578**](https://github.com/hapijs/joi/issues/578) respect stripUnknown in arrays
  - [**#572**](https://github.com/hapijs/joi/issues/572) add any.strip for objects and arrays
  - [**#567**](https://github.com/hapijs/joi/issues/567) Object with 'or', keys contains an array with a 'null' element
  - [**#569**](https://github.com/hapijs/joi/issues/569) Lost key after validation on assert
  - [**#559**](https://github.com/hapijs/joi/issues/559) deprecate array.includes and array.excludes, use array.items and allow required and forbidden within
  - [**#536**](https://github.com/hapijs/joi/issues/536) Consider renaming 'valid' to 'enum' or an alias
  - [**#553**](https://github.com/hapijs/joi/issues/553) Does array include allow nested object properties 
  - [**#555**](https://github.com/hapijs/joi/issues/555) add some additional guards and tests for #363
  - [**#545**](https://github.com/hapijs/joi/issues/545) allow passing a method to .default(), for #363
  - [**#363**](https://github.com/hapijs/joi/issues/363) support factory-function in .default() ?
  - [**#547**](https://github.com/hapijs/joi/issues/547) string hex characters only
  - [**#546**](https://github.com/hapijs/joi/issues/546) Really custom messages are impossible
  - [**#484**](https://github.com/hapijs/joi/issues/484) Helpful regexp message
  - [**#488**](https://github.com/hapijs/joi/issues/488) Allow options to be passed to string.email().
  - [**#538**](https://github.com/hapijs/joi/issues/538) added number.multiple()
  - [**#495**](https://github.com/hapijs/joi/issues/495) joi.array().includes path and errors mismatch
  - [**#511**](https://github.com/hapijs/joi/issues/511) throw when invalid options are provided
  - [**#534**](https://github.com/hapijs/joi/issues/534) Bad behavior of Joi.object().concat()
  - **hapijs/joi 5.1.0**
  - [**#525**](https://github.com/hapijs/joi/issues/525) Strange behaviour with date + raw
  - [**#404**](https://github.com/hapijs/joi/issues/404) Possible referencing date field to other date field?
  - [**#510**](https://github.com/hapijs/joi/issues/510) Add new requiredKeys option specifically for object keys
  - [**#513**](https://github.com/hapijs/joi/issues/513) Make alternatives.describe more consistent
  - [**#509**](https://github.com/hapijs/joi/issues/509) Option to validate a date format but not convert to a date object
- [**#2457**](https://github.com/hapijs/hapi/issues/2457) Update hapijs/inert to 2.1.4 from 2.1.3
  - **hapijs/inert 2.1.4**
  - [**#23**](https://github.com/hapijs/inert/issues/23) Upgrade to joi 6.0
- [**#2455**](https://github.com/hapijs/hapi/issues/2455) Update hapijs/shot to 1.4.2 from 1.4.1
- [**#2454**](https://github.com/hapijs/hapi/issues/2454) Update moment/moment to 2.9.0 from 2.8.4
- [**#2452**](https://github.com/hapijs/hapi/issues/2452) Update hapijs/hoek to 2.11.1 from 2.10.0
  - **hapijs/hoek 2.11.1**
  - [**#131**](https://github.com/hapijs/hoek/issues/131) Clone even non-enumerable properties.
  - [**#127**](https://github.com/hapijs/hoek/issues/127) deepEqual behaving unexpectedly with empty object
  - [**#128**](https://github.com/hapijs/hoek/issues/128) Fix deepEqual on empty objects. Fixes #127.
  - **hapijs/hoek 2.11.0**
  - [**#115**](https://github.com/hapijs/hoek/issues/115) Adds ability to do Hoek.reach with negative index
  - [**#117**](https://github.com/hapijs/hoek/issues/117) Throw error directly if it is the only thing passed in as the message
- [**#2326**](https://github.com/hapijs/hapi/issues/2326) request-error logged before `onPostHandler` or `onPreResponse`
- [**#2427**](https://github.com/hapijs/hapi/issues/2427) Issue uploading file with io.js or node &gt; 0.11.6
- [**#2439**](https://github.com/hapijs/hapi/issues/2439) pass context to response schema validation
- [**#2429**](https://github.com/hapijs/hapi/issues/2429) Fix for #2427
- [**#2382**](https://github.com/hapijs/hapi/issues/2382) Return explicit error when trying to stream a non-Readable stream
- [**#2368**](https://github.com/hapijs/hapi/issues/2368) response.streamify assumes stream has attribute _readableState
- [**#2446**](https://github.com/hapijs/hapi/issues/2446) Update hapijs/wreck to 5.2.0 from 5.0.1
  - **hapijs/wreck 5.2.0**
  - [**#70**](https://github.com/hapijs/wreck/issues/70) Added 'smart' and 'force' modes to json option.
  - **hapijs/wreck 5.1.0**
  - [**#69**](https://github.com/hapijs/wreck/issues/69) Dont try to parse JSON if the statusCode is 204 (No Content)
  - [**#55**](https://github.com/hapijs/wreck/issues/55) Added ability to set secureProtocol to a value.
- [**#2418**](https://github.com/hapijs/hapi/issues/2418) Add regex to allow leading $ and _
- [**#2420**](https://github.com/hapijs/hapi/issues/2420) Update hapijs/shot to 1.4.1 from 1.4.0
  - **hapijs/shot 1.4.1**
  - [**#22**](https://github.com/hapijs/shot/issues/22) Use hoek to assign defaults to options passed to inject
- [**#2423**](https://github.com/hapijs/hapi/issues/2423) Update mime-db to 1.7.0 from 1.6.1
- [**#2405**](https://github.com/hapijs/hapi/issues/2405) Support inline dependencies on plugins
- [**#2402**](https://github.com/hapijs/hapi/issues/2402) Improved validation of route method label
- [**#2332**](https://github.com/hapijs/hapi/issues/2332) Replacing plugin.dependency() with attributes key

## [**8.2.0**](https://github.com/hapijs/hapi/issues?milestone=135&state=closed)
- [**#2396**](https://github.com/hapijs/hapi/issues/2396) Inert 2.1.3 update
- [**#2397**](https://github.com/hapijs/hapi/issues/2397) throw when attaching route handlers without a connection
- [**#2374**](https://github.com/hapijs/hapi/issues/2374) Server methods context not available in route prerequisites
- [**#2392**](https://github.com/hapijs/hapi/issues/2392) No Payload Validation
- [**#2395**](https://github.com/hapijs/hapi/issues/2395) Update jshttp/mime-db to 1.6.1 from 1.5.0
- [**#2370**](https://github.com/hapijs/hapi/issues/2370) Add xss protection to validation response
- [**#2362**](https://github.com/hapijs/hapi/issues/2362) Don't respond to connections until listening is started
- [**#2363**](https://github.com/hapijs/hapi/issues/2363) Refuse to handle incoming request after server is stopped
- [**#2347**](https://github.com/hapijs/hapi/issues/2347) Improve error message when validation.payload is set but type is GET
- [**#2309**](https://github.com/hapijs/hapi/issues/2309) Fixes #2308 by logging boom error object instead of just message
- [**#2308**](https://github.com/hapijs/hapi/issues/2308) Logging boom errors from handlers should send boom error to log not just message
- [**#2372**](https://github.com/hapijs/hapi/issues/2372) inert 2.1.2
- [**#2359**](https://github.com/hapijs/hapi/issues/2359) Remove '{}' payload from cors OPTIONS response
- [**#2354**](https://github.com/hapijs/hapi/issues/2354) Update API.md for inert 2.1.0
- [**#2366**](https://github.com/hapijs/hapi/issues/2366) Update hapijs/catbox to 4.2.1 from 4.2.0
  - **hapijs/catbox 4.2.1**
  - [**#116**](https://github.com/hapijs/catbox/issues/116) Prefix keys with a `'+'` when using object as a hash
- [**#2355**](https://github.com/hapijs/hapi/issues/2355) Fix table labels

## [**8.1.0**](https://github.com/hapijs/hapi/issues?milestone=133&state=closed)
- [**#2335**](https://github.com/hapijs/hapi/issues/2335) Expose the request object in inject()
- [**#2277**](https://github.com/hapijs/hapi/issues/2277) Fix invalid response for empty reply() (v8.x regression)
- [**#2316**](https://github.com/hapijs/hapi/issues/2316) Update jshttp/mime-db to 1.5.0 from 1.3.1
- [**#2302**](https://github.com/hapijs/hapi/issues/2302) allow replying with a stream as returned by node core http client methods
- [**#2301**](https://github.com/hapijs/hapi/issues/2301) can't reply with stream returned by node core http client methods
- [**#2291**](https://github.com/hapijs/hapi/issues/2291) external listener protocol issue
- [**#2331**](https://github.com/hapijs/hapi/issues/2331) Revise range tests to not depend on the inert module
- [**#2324**](https://github.com/hapijs/hapi/issues/2324) Remove catch call for promise replies
- [**#2323**](https://github.com/hapijs/hapi/issues/2323) Promise support
- [**#2300**](https://github.com/hapijs/hapi/issues/2300) Bumped mime-db version

## [**8.0.0**](https://github.com/hapijs/hapi/issues?milestone=127&state=closed)
- [**#2271**](https://github.com/hapijs/hapi/issues/2271) Update jshttp/mime-db to 1.3.0 from 1.2.0
- [**#2270**](https://github.com/hapijs/hapi/issues/2270) Update hapijs/boom to 2.6.1 from 2.6.0
  - **hapijs/boom 2.6.1**
  - [**#40**](https://github.com/hapijs/boom/issues/40) Lab 5.0, code 1.0
- [**#2269**](https://github.com/hapijs/hapi/issues/2269) Update hapijs/shot to 1.4.0 from 1.3.5
  - **hapijs/shot 1.4.0**
  - [**#19**](https://github.com/hapijs/shot/issues/19) optionally accept an object as the `url`
- [**#2268**](https://github.com/hapijs/hapi/issues/2268) Update hapijs/joi to 5.0.2 from 5.0.0
  - **hapijs/joi 5.0.2**
  - [**#505**](https://github.com/hapijs/joi/issues/505) Convert date regex to date before comparison. Closes #503.
  - [**#503**](https://github.com/hapijs/joi/issues/503) Joi.date().iso() throws error when required() is used.
  - **hapijs/joi 5.0.1**
  - [**#502**](https://github.com/hapijs/joi/issues/502) Joi.array() modifies original array
- [**#2262**](https://github.com/hapijs/hapi/issues/2262) Change server.table() result from object to array
- [**#2255**](https://github.com/hapijs/hapi/issues/2255) Throw when calling reply() with objectMode stream
- [**#2249**](https://github.com/hapijs/hapi/issues/2249) Add 'uri' connection option
- [**#2247**](https://github.com/hapijs/hapi/issues/2247) Split debug settings per event type
- [**#2246**](https://github.com/hapijs/hapi/issues/2246) plugin dependencies error message changed
- [**#2234**](https://github.com/hapijs/hapi/issues/2234) Support views in auth schemes
- [**#2243**](https://github.com/hapijs/hapi/issues/2243) Fix reply.continue() in prerequisite.
- [**#2244**](https://github.com/hapijs/hapi/issues/2244) Fix reply.continue() in prerequisite. Closes #2243
- [**#2242**](https://github.com/hapijs/hapi/issues/2242) Uncaught error: Cannot read property 'isBoom' of null in hapi/lib/handler.js
- [**#2241**](https://github.com/hapijs/hapi/issues/2241) Remove string notation method logging when cache not setup
- [**#2226**](https://github.com/hapijs/hapi/issues/2226) When using string shorthand in pre it does not provide reply interface
- [**#2240**](https://github.com/hapijs/hapi/issues/2240) Cached method in string notation bypasses cache
- [**#2238**](https://github.com/hapijs/hapi/issues/2238) Conditional Validation Rules based on Auth
- [**#2233**](https://github.com/hapijs/hapi/issues/2233) Populate connection.info.uri before start when port 0
- [**#2237**](https://github.com/hapijs/hapi/issues/2237) Support bare server (no files, proxy, views)
- [**#1971**](https://github.com/hapijs/hapi/issues/1971) Allow plugins to extend Server
- [**#2231**](https://github.com/hapijs/hapi/issues/2231) Change request.route to a wrapper object containing settings
- [**#2235**](https://github.com/hapijs/hapi/issues/2235) Expose realm as public interface
- [**#2230**](https://github.com/hapijs/hapi/issues/2230) Replace server.config with server.realm.modifiers
- [**#2229**](https://github.com/hapijs/hapi/issues/2229) plugin.expose() only sets server.plugins, not connection.plugins
- [**#2190**](https://github.com/hapijs/hapi/issues/2190) Log heavy load reason when check() is false
- [**#2220**](https://github.com/hapijs/hapi/issues/2220) A method to test a string against the routes table
- [**#2228**](https://github.com/hapijs/hapi/issues/2228) Update hapijs/joi to 5.0.0 from 4.9.0
  - **hapijs/joi 5.0.0**
  - [**#498**](https://github.com/hapijs/joi/issues/498) array().single()
  - [**#497**](https://github.com/hapijs/joi/issues/497) array.unique doesn't validate duplicate dates
  - [**#494**](https://github.com/hapijs/joi/issues/494) Joi.number allows Infinity
  - [**#462**](https://github.com/hapijs/joi/issues/462) Return context with errors.
  - [**#486**](https://github.com/hapijs/joi/issues/486) array().includes() should not allow undefined
  - [**#485**](https://github.com/hapijs/joi/issues/485) Round number.precision if options.convert
  - [**#489**](https://github.com/hapijs/joi/issues/489) add missing semicolon
- [**#2227**](https://github.com/hapijs/hapi/issues/2227) Update moment to 2.8.4
- [**#2224**](https://github.com/hapijs/hapi/issues/2224) Cleanup connection.info settings and introduce 'address' config
- [**#2219**](https://github.com/hapijs/hapi/issues/2219) Update hapijs/hoek to 2.10.0 from 2.9.0
  - **hapijs/hoek 2.10.0**
  - [**#109**](https://github.com/hapijs/hoek/issues/109) Enhance shallow clone methods to support nested keys
  - [**#110**](https://github.com/hapijs/hoek/issues/110) enhance withShallow methods to support nested keys. Closes #109
  - **hapijs/hoek 2.9.1**
  - [**#108**](https://github.com/hapijs/hoek/issues/108) Fix applyToDefaultsWithShallow default clone. Closes #107
  - [**#107**](https://github.com/hapijs/hoek/issues/107) applyToDefaultsWithShallow() fail to retain defaults shallow key
- [**#2216**](https://github.com/hapijs/hapi/issues/2216) Invalid deep cloning of bind context
- [**#2217**](https://github.com/hapijs/hapi/issues/2217) Disable scope checking on a route
- [**#2215**](https://github.com/hapijs/hapi/issues/2215) Revert change to trailing slash behavior 
- [**#2209**](https://github.com/hapijs/hapi/issues/2209) Not possible to add route in plugins
- [**#2203**](https://github.com/hapijs/hapi/issues/2203) Move connection route config to route with connections defaults 
- [**#2206**](https://github.com/hapijs/hapi/issues/2206) Change server.bind() and server.path() to apply only to routes that follow
- [**#2205**](https://github.com/hapijs/hapi/issues/2205) Rename plugin register() `route` option to `routes`
- [**#2201**](https://github.com/hapijs/hapi/issues/2201) Rename cacheControlStatus to cache.statuses
- [**#2200**](https://github.com/hapijs/hapi/issues/2200) Validation failAction and custom function are not protected
- [**#2199**](https://github.com/hapijs/hapi/issues/2199) add missing variety handler for promises returning a object
- [**#2198**](https://github.com/hapijs/hapi/issues/2198) Update hapijs/call to 2.0.1 from 1.0.0
  - **hapijs/call 2.0.0**
  - [**#10**](https://github.com/hapijs/call/issues/10) Support route id
  - [**#3**](https://github.com/hapijs/call/issues/3) Support for flexible routes
  - [**#9**](https://github.com/hapijs/call/issues/9) /a/{p}/{p*} conflicts with /a/{p*} (which is not reachable)
  - [**#8**](https://github.com/hapijs/call/issues/8) '/a/b/{p*}' is more specific than '/{p*5}'
  - [**#7**](https://github.com/hapijs/call/issues/7) /a/b/{p*} is more specific than /a/{b}/{c}
  - [**#6**](https://github.com/hapijs/call/issues/6) '/a/{b*}' is less specific than '/a/{b}/{c*}'
  - [**#2**](https://github.com/hapijs/call/issues/2) Match case-insensitive paths with no params
- [**#1939**](https://github.com/hapijs/hapi/issues/1939) Reverse Routing a URL
- [**#2185**](https://github.com/hapijs/hapi/issues/2185) Update hapijs/catbox to 4.2.0 from 4.1.0
  - **hapijs/catbox 4.2.0**
  - [**#109**](https://github.com/hapijs/catbox/issues/109) Return cached on error when dropOnError is false
  - [**#105**](https://github.com/hapijs/catbox/issues/105) StaleIn can be function.
  - [**#113**](https://github.com/hapijs/catbox/issues/113) Allow empty keys
- [**#2181**](https://github.com/hapijs/hapi/issues/2181) Remove server method cache key 'h' prefix
- [**#2179**](https://github.com/hapijs/hapi/issues/2179) server.register() doesn't work with direct require of plugins (-rc1)
- [**#2156**](https://github.com/hapijs/hapi/issues/2156) Rewrite reply() interface section
- [**#1945**](https://github.com/hapijs/hapi/issues/1945) IE &lt;=8 doesn't accept application/javascript as a mimetype
- [**#2178**](https://github.com/hapijs/hapi/issues/2178) Update hapijs/mimos to 2.0.2 from 1.0.1
  - **hapijs/mimos 2.0.2**
  - [**#8**](https://github.com/hapijs/mimos/issues/8) Change source from hapi to mimos
  - **hapijs/mimos 2.0.1**
  - [**#7**](https://github.com/hapijs/mimos/issues/7) Improve performance for testing
  - **hapijs/mimos 2.0.0**
  - [**#6**](https://github.com/hapijs/mimos/issues/6) Added ability to override entries in the mime database.
- [**#2157**](https://github.com/hapijs/hapi/issues/2157) Link mentions of methods to their reference
- [**#2177**](https://github.com/hapijs/hapi/issues/2177) Return select() on server.connection()
- [**#2155**](https://github.com/hapijs/hapi/issues/2155) Cleanup and document all internal request logs
- [**#2175**](https://github.com/hapijs/hapi/issues/2175) Update jshttp/mime-db to 1.2.0 from 1.1.2
- [**#2174**](https://github.com/hapijs/hapi/issues/2174) Update hapijs/qs to 2.3.3 from 2.3.2
  - **hapijs/qs 2.3.3**
  - [**#59**](https://github.com/hapijs/qs/issues/59) make sure array indexes are &gt;= 0, closes #57
  - [**#58**](https://github.com/hapijs/qs/issues/58) make qs usable for browser loader
- [**#2173**](https://github.com/hapijs/hapi/issues/2173) Update hapijs/catbox-memory to 1.1.1 from 1.1.0
- [**#2172**](https://github.com/hapijs/hapi/issues/2172) Update hapijs/boom to 2.6.0 from 2.5.1
  - **hapijs/boom 2.6.0**
  - [**#33**](https://github.com/hapijs/boom/issues/33) Added status code 429 Too Many Requests.
- [**#2170**](https://github.com/hapijs/hapi/issues/2170) Spin off range header parser
- [**#2066**](https://github.com/hapijs/hapi/issues/2066) Configure auth scheme to require payload validation
- [**#2111**](https://github.com/hapijs/hapi/issues/2111) CORS matchOrigin should echo origin when config doesn't specify
- [**#2158**](https://github.com/hapijs/hapi/issues/2158) How to get default auth strategy from server object?
- [**#1994**](https://github.com/hapijs/hapi/issues/1994) Pass meta data from a joi object to a failAction
- [**#2167**](https://github.com/hapijs/hapi/issues/2167) Add response 'close' processor
- [**#2166**](https://github.com/hapijs/hapi/issues/2166) ETag vary modification not applied to content-encoding set elsewhere
- [**#2165**](https://github.com/hapijs/hapi/issues/2165) Expose request.paramsArray
- [**#2164**](https://github.com/hapijs/hapi/issues/2164) Bypass compression on empty payload
- [**#2163**](https://github.com/hapijs/hapi/issues/2163) ETag vary modification is incorrect
- [**#2099**](https://github.com/hapijs/hapi/issues/2099) ETags never match with varyEtag setting
- [**#2160**](https://github.com/hapijs/hapi/issues/2160) Add cors.override setting
- [**#2154**](https://github.com/hapijs/hapi/issues/2154) Rename response object option marshall to marshal
- [**#2153**](https://github.com/hapijs/hapi/issues/2153) Change etag based on vary header by default
- [**#2093**](https://github.com/hapijs/hapi/issues/2093) Include ETag and Last-Modified in 304 response
- [**#2152**](https://github.com/hapijs/hapi/issues/2152) Change server method generateKey() to only take the arguments
- [**#2148**](https://github.com/hapijs/hapi/issues/2148) Optimize use of arguments
- [**#2150**](https://github.com/hapijs/hapi/issues/2150) argument Object Optimizations
- [**#2129**](https://github.com/hapijs/hapi/issues/2129) Support promises in server.method()
- [**#2149**](https://github.com/hapijs/hapi/issues/2149) Support server methods without callback
- [**#2122**](https://github.com/hapijs/hapi/issues/2122) Pass the reply() interface everywhere a response can be returned
- [**#2146**](https://github.com/hapijs/hapi/issues/2146) Deep copy app and plugins configurations
- [**#2124**](https://github.com/hapijs/hapi/issues/2124) Server-level connection defaults
- [**#2145**](https://github.com/hapijs/hapi/issues/2145) Split request log events into request and request-internal
- [**#2048**](https://github.com/hapijs/hapi/issues/2048) New Event for request.log
- [**#2144**](https://github.com/hapijs/hapi/issues/2144) Rename server event internalError to `request-error`
- [**#2143**](https://github.com/hapijs/hapi/issues/2143) Replace log 'hapi' tag with event.internal flag
- [**#2142**](https://github.com/hapijs/hapi/issues/2142) Rename request.responses to request.preResponses
- [**#2104**](https://github.com/hapijs/hapi/issues/2104) Apply `reply.continue()` to auth interfaces
- [**#2137**](https://github.com/hapijs/hapi/issues/2137) Remove auth authenticate() `log` option in result
- [**#2136**](https://github.com/hapijs/hapi/issues/2136) Here comes 8
- [**#2135**](https://github.com/hapijs/hapi/issues/2135) Remove Hapi.version
- [**#2131**](https://github.com/hapijs/hapi/issues/2131) Simplify server.register() to only accept register() or { register, options }
- [**#2128**](https://github.com/hapijs/hapi/issues/2128) Change server.method() object key from fn to method
- [**#2097**](https://github.com/hapijs/hapi/issues/2097) Support Promises in reply() interface
- [**#2126**](https://github.com/hapijs/hapi/issues/2126) Change server.cache() to take only options
- [**#2125**](https://github.com/hapijs/hapi/issues/2125) Remove .hapi references
- [**#2118**](https://github.com/hapijs/hapi/issues/2118) Cleanup register() to accept a plugin or { plugin, options }
- [**#2116**](https://github.com/hapijs/hapi/issues/2116) Move peek logic to Peekaboo
- [**#2040**](https://github.com/hapijs/hapi/issues/2040) Improve request ID generator to prevent collisions
- [**#2113**](https://github.com/hapijs/hapi/issues/2113) Missing host will default to hostname or 'localhost' instead of '0.0.0.0' pre start()
- [**#2112**](https://github.com/hapijs/hapi/issues/2112) Switch unix domain socket  and windows named pipe to use options.port
- [**#1977**](https://github.com/hapijs/hapi/issues/1977) Throw when route() is called with multiple arguments
- [**#2003**](https://github.com/hapijs/hapi/issues/2003) Stop cache client when pack stops
- [**#1926**](https://github.com/hapijs/hapi/issues/1926) Remove special handling of the HTTP Location header
- [**#2109**](https://github.com/hapijs/hapi/issues/2109) Remove request aborted listener
- [**#1902**](https://github.com/hapijs/hapi/issues/1902) reply.redirect() and reply.file() not working in server extensions
- [**#2103**](https://github.com/hapijs/hapi/issues/2103) Change ext continuation method from `reply()` to `reply.continue()`
- [**#1965**](https://github.com/hapijs/hapi/issues/1965) Need to know when response was sent in `server.on(tail)`
- [**#2065**](https://github.com/hapijs/hapi/issues/2065) failing to generate a method key should generate an error somewhere
- [**#2089**](https://github.com/hapijs/hapi/issues/2089) Server method `generateKey` no longer supports returning null as valid no caching indicator
- [**#1963**](https://github.com/hapijs/hapi/issues/1963) Extensible reply() interface
- [**#1866**](https://github.com/hapijs/hapi/issues/1866) Throw error when trying to reply twice
- [**#1864**](https://github.com/hapijs/hapi/issues/1864) Feature Request: Validation of non-200/ok responses.
- [**#1723**](https://github.com/hapijs/hapi/issues/1723) Allow response object stripping according to schema
- [**#2096**](https://github.com/hapijs/hapi/issues/2096) Skip onPreResponse when connection closes prematurely
- [**#1686**](https://github.com/hapijs/hapi/issues/1686) Don't report request closed on redirect payload write
- [**#2086**](https://github.com/hapijs/hapi/issues/2086) Remove bin/hapi
- [**#2085**](https://github.com/hapijs/hapi/issues/2085) Remove server.compose()
- [**#1672**](https://github.com/hapijs/hapi/issues/1672) Enable starting the server listener externally
- [**#2095**](https://github.com/hapijs/hapi/issues/2095) Rework composer format
- [**#2092**](https://github.com/hapijs/hapi/issues/2092) Change default port to 0
- [**#2090**](https://github.com/hapijs/hapi/issues/2090) Remove plugin.version
- [**#2084**](https://github.com/hapijs/hapi/issues/2084) Remove Hapi.state.prepareValue()
- [**#2083**](https://github.com/hapijs/hapi/issues/2083) Remove Hapi.error
- [**#2082**](https://github.com/hapijs/hapi/issues/2082) Remove Hapi.createServer()
- [**#2052**](https://github.com/hapijs/hapi/issues/2052) Remove plugin.length
- [**#2053**](https://github.com/hapijs/hapi/issues/2053) Change plugin.servers to plugin.connections
- [**#2071**](https://github.com/hapijs/hapi/issues/2071) Move proxy handler to use local maxSocket config
- [**#2072**](https://github.com/hapijs/hapi/issues/2072) Remove debug from server configuration
- [**#2073**](https://github.com/hapijs/hapi/issues/2073) Split process load from server load limits
- [**#2076**](https://github.com/hapijs/hapi/issues/2076) Move files.etagsCacheMaxSize to pack level
- [**#2080**](https://github.com/hapijs/hapi/issues/2080) app config no longer copied over to server.app or connection.app

## [**7.5.2**](https://github.com/hapijs/hapi/issues?milestone=132&state=closed)
- [**#2123**](https://github.com/hapijs/hapi/issues/2123) Upgrade hoek to 2.9.0

## [**7.5.1**](https://github.com/hapijs/hapi/issues?milestone=131&state=closed)
- [**#2120**](https://github.com/hapijs/hapi/issues/2120) TypeError: Cannot read property 'get' of undefined

## [**7.5.0**](https://github.com/hapijs/hapi/issues?milestone=130&state=closed)
- [**#2105**](https://github.com/hapijs/hapi/issues/2105) Added ability to pass option into unstate.
- [**#1916**](https://github.com/hapijs/hapi/issues/1916) Temp file is not deleted when request is aborted by client

## [**7.4.0**](https://github.com/hapijs/hapi/issues?milestone=129&state=closed)
- [**#2100**](https://github.com/hapijs/hapi/issues/2100) Global view context.

## [**7.3.0**](https://github.com/hapijs/hapi/issues?milestone=128&state=closed)
- [**#2098**](https://github.com/hapijs/hapi/issues/2098) Catbox 4.1

## [**7.2.0**](https://github.com/hapijs/hapi/issues?milestone=126&state=closed)
- [**#2069**](https://github.com/hapijs/hapi/issues/2069) Isolate server in its own pack
- [**#2061**](https://github.com/hapijs/hapi/issues/2061) Second phase of server/pack/plugin refactor
- [**#2057**](https://github.com/hapijs/hapi/issues/2057) Pack refactor

## [**7.1.1**](https://github.com/hapijs/hapi/issues?milestone=125&state=closed)
- [**#2046**](https://github.com/hapijs/hapi/issues/2046) Fix shrinkwrap

## [**7.1.0**](https://github.com/hapijs/hapi/issues?milestone=124&state=closed)
- [**#2039**](https://github.com/hapijs/hapi/issues/2039) Added npm-shrinkwrap

## [**7.0.1**](https://github.com/hapijs/hapi/issues?milestone=123&state=closed)
- [**#2038**](https://github.com/hapijs/hapi/issues/2038) Move cli logic to rejoice
- [**#2036**](https://github.com/hapijs/hapi/issues/2036) Move lru-cache to inert
- [**#2034**](https://github.com/hapijs/hapi/issues/2034) Lab 5.0
- [**#2035**](https://github.com/hapijs/hapi/issues/2035) lab 5.0 features. Closes #2034
- [**#2028**](https://github.com/hapijs/hapi/issues/2028) Improve error message when auth scope is insufficient
- [**#2029**](https://github.com/hapijs/hapi/issues/2029) Fixes #2028. Updated error message for invalid scope to explain that any of the specified are sufficient
- [**#2024**](https://github.com/hapijs/hapi/issues/2024) Resolve undefined environment variables to the empty string in the cli.

## [**7.0.0**](https://github.com/hapijs/hapi/issues?milestone=117&state=closed)
- [**#2022**](https://github.com/hapijs/hapi/issues/2022) Spin off file and directory to inert
- [**#1913**](https://github.com/hapijs/hapi/issues/1913) Change proxy localStatePassThrough setting default to false
- [**#2021**](https://github.com/hapijs/hapi/issues/2021) Override server files.relativeTo config per route
- [**#2020**](https://github.com/hapijs/hapi/issues/2020) h2o2 2.0
- [**#1941**](https://github.com/hapijs/hapi/issues/1941) Remove route from handler registration arguments
- [**#2019**](https://github.com/hapijs/hapi/issues/2019) Catbox 4.0
- [**#1954**](https://github.com/hapijs/hapi/issues/1954) Remove support for catbox getOrGenerate()
- [**#2017**](https://github.com/hapijs/hapi/issues/2017) Initial 7.0 changes
- [**#2016**](https://github.com/hapijs/hapi/issues/2016) Remove $env support from pack.compose()
- [**#1955**](https://github.com/hapijs/hapi/issues/1955) Use environment variables in CLI configuration json file
- [**#2011**](https://github.com/hapijs/hapi/issues/2011) Hapi should not override `cache-control` header if it's manually set by user's code
- [**#1960**](https://github.com/hapijs/hapi/issues/1960) Remove support for tos authentication setting
- [**#2007**](https://github.com/hapijs/hapi/issues/2007) Remove server views config

## [**6.11.1**](https://github.com/hapijs/hapi/issues?milestone=122&state=closed)
- [**#2010**](https://github.com/hapijs/hapi/issues/2010) Heavy
- [**#2002**](https://github.com/hapijs/hapi/issues/2002) show route method in error message

## [**6.11.0**](https://github.com/hapijs/hapi/issues?milestone=121&state=closed)
- [**#1984**](https://github.com/hapijs/hapi/issues/1984) All non 200 responses get cache-control=no-cache header
- [**#1995**](https://github.com/hapijs/hapi/issues/1995) Adding route with multiple methods overrides route config
- [**#2001**](https://github.com/hapijs/hapi/issues/2001) Keep the options of server.inject untouched #2000
- [**#2005**](https://github.com/hapijs/hapi/issues/2005) Replace negotiator

## [**6.10.0**](https://github.com/hapijs/hapi/issues?milestone=120&state=closed)
- [**#1998**](https://github.com/hapijs/hapi/issues/1998) Migrate payload parsing to subtext with multipart support via pez
- [**#1993**](https://github.com/hapijs/hapi/issues/1993) Replaced optimist with bossy
- [**#1928**](https://github.com/hapijs/hapi/issues/1928) Handle empty or falsy charset in response

## [**6.9.0**](https://github.com/hapijs/hapi/issues?milestone=119&state=closed)
- [**#1968**](https://github.com/hapijs/hapi/issues/1968) Vision / Mimos
- [**#1959**](https://github.com/hapijs/hapi/issues/1959) Fix server/plugin ext views conflict
- [**#1958**](https://github.com/hapijs/hapi/issues/1958) Move proxy handler to h2o2
- [**#1956**](https://github.com/hapijs/hapi/issues/1956) Fix Content-Type overriding
- [**#1944**](https://github.com/hapijs/hapi/issues/1944) Move router to Call
- [**#1934**](https://github.com/hapijs/hapi/issues/1934) Fix non-spec compliant Last-Modified header in response
- [**#1932**](https://github.com/hapijs/hapi/issues/1932) handle empty CORS expose-headers header response

## [**6.8.1**](https://github.com/hapijs/hapi/issues?milestone=118&state=closed)
- [**#1922**](https://github.com/hapijs/hapi/issues/1922) Handle server methods without cache as special case

## [**6.8.0**](https://github.com/hapijs/hapi/issues?milestone=116&state=closed)
- [**#1828**](https://github.com/hapijs/hapi/issues/1828) Disable compression on file types already compressed (png, jpg)
- [**#1905**](https://github.com/hapijs/hapi/issues/1905) Replaced mime-type with mime.
- [**#1889**](https://github.com/hapijs/hapi/issues/1889) Upgrade to wreck v5
- [**#1919**](https://github.com/hapijs/hapi/issues/1919) Log method pre string notation
- [**#1915**](https://github.com/hapijs/hapi/issues/1915) Issue/1911

## [**6.7.1**](https://github.com/hapijs/hapi/issues?milestone=115&state=closed)
- [**#1885**](https://github.com/hapijs/hapi/issues/1885) Handler timeout with onPreResponse asserts on bad protect

## [**6.7.0**](https://github.com/hapijs/hapi/issues?milestone=114&state=closed)
- [**#1884**](https://github.com/hapijs/hapi/issues/1884) Improve protect logging
- [**#1881**](https://github.com/hapijs/hapi/issues/1881) update qs dependency

## [**6.6.0**](https://github.com/hapijs/hapi/issues?milestone=113&state=closed)
- [**#1863**](https://github.com/hapijs/hapi/issues/1863) Allow agent to be set on proxy options and passed into Nipple.
- [**#1878**](https://github.com/hapijs/hapi/issues/1878) Rename private route members
- [**#1877**](https://github.com/hapijs/hapi/issues/1877) Move state.js to statehood module
- [**#1875**](https://github.com/hapijs/hapi/issues/1875) Session scope does not match one to many auth.scope on route.
- [**#1871**](https://github.com/hapijs/hapi/issues/1871) Switch to wreck
- [**#1856**](https://github.com/hapijs/hapi/issues/1856) Allow view options override on handler object
- [**#1858**](https://github.com/hapijs/hapi/issues/1858) Fix typo in defaults.js

## [**6.5.1**](https://github.com/hapijs/hapi/issues?milestone=112&state=closed)
- [**#1857**](https://github.com/hapijs/hapi/issues/1857) Manifest validation tests server config before defaults applies

## [**6.5.0**](https://github.com/hapijs/hapi/issues?milestone=111&state=closed)
- [**#1851**](https://github.com/hapijs/hapi/issues/1851) Updated route documentation.
- [**#1844**](https://github.com/hapijs/hapi/issues/1844) Replace async
- [**#1842**](https://github.com/hapijs/hapi/issues/1842) Lab 4.00
- [**#1840**](https://github.com/hapijs/hapi/issues/1840) No longer possible to load caches using CLI?
- [**#1835**](https://github.com/hapijs/hapi/issues/1835) server.state ttl must be a number 
- [**#1795**](https://github.com/hapijs/hapi/issues/1795) request.server._views in plugin
- [**#1832**](https://github.com/hapijs/hapi/issues/1832) Replace mime with mime-type
- [**#1822**](https://github.com/hapijs/hapi/issues/1822) Added joi validation to manifest.

## [**6.4.0**](https://github.com/hapijs/hapi/issues?milestone=110&state=closed)
- [**#1810**](https://github.com/hapijs/hapi/issues/1810) set X-Content-Type-Options to nosnif for jsonp responses

## [**6.3.0**](https://github.com/hapijs/hapi/issues?milestone=109&state=closed)
- [**#1827**](https://github.com/hapijs/hapi/issues/1827) Cannot call setTimeout with non-integer msec value
- [**#1826**](https://github.com/hapijs/hapi/issues/1826) Support cache generateTimeout setting

## [**6.2.2**](https://github.com/hapijs/hapi/issues?milestone=108&state=closed)
- [**#1820**](https://github.com/hapijs/hapi/issues/1820) Rename spumko to hapijs

## [**6.2.1**](https://github.com/hapijs/hapi/issues?milestone=107&state=closed)
- [**#1801**](https://github.com/hapijs/hapi/issues/1801) Stale dependencies

## [**6.2.0**](https://github.com/hapijs/hapi/issues?milestone=106&state=closed)
- [**#1767**](https://github.com/hapijs/hapi/issues/1767) plugin.location
- [**#1790**](https://github.com/hapijs/hapi/issues/1790) Expose authentication mode

## [**6.1.0**](https://github.com/hapijs/hapi/issues?milestone=105&state=closed)
- [**#1769**](https://github.com/hapijs/hapi/issues/1769) Plugin X missing dependency Y in server if manifest.plugins key order not carefully managed
- [**#1754**](https://github.com/hapijs/hapi/issues/1754) File handler to handle 206 Partial Content?
- [**#1788**](https://github.com/hapijs/hapi/issues/1788) Last-Modified comparison needs to account for 1 second precision
- [**#1778**](https://github.com/hapijs/hapi/issues/1778) Do not create a duplicate Content-Type header on proxy passthrough
- [**#1774**](https://github.com/hapijs/hapi/issues/1774) Style fixes
- [**#1766**](https://github.com/hapijs/hapi/issues/1766) prepend jsonp callbacks with a comment to prevent the rosetta-flash vulnerability
- [**#1763**](https://github.com/hapijs/hapi/issues/1763) fixes #1755 - stripTrailingSlash doesn't work when query variables are used
- [**#1760**](https://github.com/hapijs/hapi/issues/1760) How can I set Content-Type header to the content generated from reply.view?
- [**#1762**](https://github.com/hapijs/hapi/issues/1762) fix content-type overriding issue #1760.
- [**#1733**](https://github.com/hapijs/hapi/issues/1733) log function should only emit once if _server object
- [**#1783**](https://github.com/hapijs/hapi/issues/1783) Change etag when content-encoding is used
- [**#1782**](https://github.com/hapijs/hapi/issues/1782) server.inject() res.result does not reflect actual payload sent on 304/204
- [**#1781**](https://github.com/hapijs/hapi/issues/1781) Send empty payload on 204
- [**#1756**](https://github.com/hapijs/hapi/issues/1756) Follow coding conventions concerning semicolons; Don't initialize variab...
- [**#1776**](https://github.com/hapijs/hapi/issues/1776) Proxy pass-through with onResponse fails to preserve vary header values
- [**#1773**](https://github.com/hapijs/hapi/issues/1773) Windows path fails on trailing slash on view helpers
- [**#1676**](https://github.com/hapijs/hapi/issues/1676) Problem serving precompressed files with directory handler
- [**#1772**](https://github.com/hapijs/hapi/issues/1772) HEAD requests should retail etag header
- [**#1771**](https://github.com/hapijs/hapi/issues/1771) Open open one file stream when using precompressed file
- [**#1407**](https://github.com/hapijs/hapi/issues/1407) Skip opening file or rendering view on head or 304
- [**#1752**](https://github.com/hapijs/hapi/issues/1752) Adding helpful error message when pack.register is missing a callback
- [**#1745**](https://github.com/hapijs/hapi/issues/1745) Add joi validation of pack options
- [**#1728**](https://github.com/hapijs/hapi/issues/1728) 6.x breaks plugin modules exporting functions

## [**6.0.2**](https://github.com/hapijs/hapi/issues?milestone=104&state=closed)
- [**#1720**](https://github.com/hapijs/hapi/issues/1720) No way to handle root routes with `route: {prefix: '...'}`
- [**#1719**](https://github.com/hapijs/hapi/issues/1719) Fixes undefined error in `plugin.dependency`

## [**6.0.1**](https://github.com/hapijs/hapi/issues?milestone=103&state=closed)
- [**#1710**](https://github.com/hapijs/hapi/issues/1710) Buffer based passwords fail schema validation (6.0 regression)

## [**6.0.0**](https://github.com/hapijs/hapi/issues?milestone=102&state=closed)
- [**#1708**](https://github.com/hapijs/hapi/issues/1708) Hapi 6.0 no longer invalidates auth strategy on registration of route
- [**#1703**](https://github.com/hapijs/hapi/issues/1703) Catbox 3.0 and drop internal require support
- [**#1700**](https://github.com/hapijs/hapi/issues/1700) Change the order of actions when starting a pack
- [**#1668**](https://github.com/hapijs/hapi/issues/1668) Delete 'Accept-Encoding' header on proxy requests
- [**#1696**](https://github.com/hapijs/hapi/issues/1696) Non-Error auth err responses are ignored in try mode
- [**#1695**](https://github.com/hapijs/hapi/issues/1695) Preserve auth error on try
- [**#1691**](https://github.com/hapijs/hapi/issues/1691) V6.0
- [**#1693**](https://github.com/hapijs/hapi/issues/1693) Enhance setting authentication defaults
- [**#1692**](https://github.com/hapijs/hapi/issues/1692) Allow testing a request against any configured authentication strategy
- [**#1688**](https://github.com/hapijs/hapi/issues/1688) Bring back reply.redirect()
- [**#1687**](https://github.com/hapijs/hapi/issues/1687) Don't log auth non-error responses with 'error' tag
- [**#1679**](https://github.com/hapijs/hapi/issues/1679) Allow cookie-specific settings for failAction, strictHeader, and clearInvalid
- [**#1678**](https://github.com/hapijs/hapi/issues/1678) Expose the location header logic
- [**#1677**](https://github.com/hapijs/hapi/issues/1677) Enhance manifest format to support registration options (select, prefix, vhost)
- [**#1674**](https://github.com/hapijs/hapi/issues/1674) Make plugin register() and dependency() selectable
- [**#1675**](https://github.com/hapijs/hapi/issues/1675) Remove pack.list
- [**#1673**](https://github.com/hapijs/hapi/issues/1673) Make plugin.events selectable
- [**#1663**](https://github.com/hapijs/hapi/issues/1663) Allow register to pre-select servers
- [**#1662**](https://github.com/hapijs/hapi/issues/1662) Config clones bind, app, and plugins
- [**#1661**](https://github.com/hapijs/hapi/issues/1661) View manager clones engines including modules
- [**#1658**](https://github.com/hapijs/hapi/issues/1658) Set route path prefix when loading plugin
- [**#1659**](https://github.com/hapijs/hapi/issues/1659) plugin.view() modifies options' basePath
- [**#1656**](https://github.com/hapijs/hapi/issues/1656) Remove pack.require() and plugin.require()
- [**#1655**](https://github.com/hapijs/hapi/issues/1655) Remove support for string view engine config
- [**#1653**](https://github.com/hapijs/hapi/issues/1653) Move Composer into Pack.compose()
- [**#1652**](https://github.com/hapijs/hapi/issues/1652) Remove composer support for multiple packs
- [**#981**](https://github.com/hapijs/hapi/issues/981) Scope plugin routes to a virtual host

## [**5.1.0**](https://github.com/hapijs/hapi/issues?milestone=101&state=closed)
- [**#1579**](https://github.com/hapijs/hapi/issues/1579) Add option to remove trailing slashes to router
- [**#1574**](https://github.com/hapijs/hapi/issues/1574) Document the best way to implement a 404 from the directory handler when using path callback
- [**#1573**](https://github.com/hapijs/hapi/issues/1573) Server throttling controls do not log execution
- [**#1508**](https://github.com/hapijs/hapi/issues/1508) Escaped error message with regex validation
- [**#1477**](https://github.com/hapijs/hapi/issues/1477) proxy xforward option will set bad headers in some cases
- [**#1581**](https://github.com/hapijs/hapi/issues/1581) Authentication throws are treated as valid reply()

## [**5.0.0**](https://github.com/hapijs/hapi/issues?milestone=100&state=closed)
- [**#1644**](https://github.com/hapijs/hapi/issues/1644) request.params contains empty strings for missing optional params
- [**#1643**](https://github.com/hapijs/hapi/issues/1643) Expose cross inputs as validation context
- [**#1642**](https://github.com/hapijs/hapi/issues/1642) Cjihrig header validation
- [**#1641**](https://github.com/hapijs/hapi/issues/1641) Upgrade to joi 4.x
- [**#1622**](https://github.com/hapijs/hapi/issues/1622) Extend Hapi cli to enable loading a module before loading hapi

## [**4.1.4**](https://github.com/hapijs/hapi/issues?milestone=99&state=closed)
- [**#1638**](https://github.com/hapijs/hapi/issues/1638) Unahndled Exception when a request is aborted

## [**4.1.2**](https://github.com/hapijs/hapi/issues?milestone=97&state=closed)
- [**#1634**](https://github.com/hapijs/hapi/issues/1634) Request domain leaks request object
- [**#1635**](https://github.com/hapijs/hapi/issues/1635) Remove reference to request in domain. Closes #1634

## [**4.1.1**](https://github.com/hapijs/hapi/issues?milestone=96&state=closed)
- [**#1633**](https://github.com/hapijs/hapi/issues/1633) Rework domains to single entry
- [**#1632**](https://github.com/hapijs/hapi/issues/1632) Clean response objects for aborted requests

## [**4.1.0**](https://github.com/hapijs/hapi/issues?milestone=93&state=closed)
- [**#1461**](https://github.com/hapijs/hapi/issues/1461) Security headers
- [**#1583**](https://github.com/hapijs/hapi/issues/1583) Support JSON-derived media types

## [**4.0.3**](https://github.com/hapijs/hapi/issues?milestone=95&state=closed)
- [**#1604**](https://github.com/hapijs/hapi/issues/1604) response emitter fails to retain custom event listeners once sent
- [**#1597**](https://github.com/hapijs/hapi/issues/1597) Template helpers fail on relative paths

## [**4.0.2**](https://github.com/hapijs/hapi/issues?milestone=94&state=closed)
- [**#1598**](https://github.com/hapijs/hapi/issues/1598) Throws when response does not have _close()

## [**4.0.1**](https://github.com/hapijs/hapi/issues?milestone=92&state=closed)
- [**#1594**](https://github.com/hapijs/hapi/issues/1594) Can jsonp be optional?
- [**#1567**](https://github.com/hapijs/hapi/issues/1567) allow defaultExtension
- [**#1590**](https://github.com/hapijs/hapi/issues/1590) RSS leak occurs when request does not read entire stream response
- [**#1569**](https://github.com/hapijs/hapi/issues/1569) Move ext topo sort to its own module
- [**#1566**](https://github.com/hapijs/hapi/issues/1566) Precompile joi validation

## [**4.0.0**](https://github.com/hapijs/hapi/issues?milestone=91&state=closed)
- [**#1548**](https://github.com/hapijs/hapi/issues/1548) wip: fix windows bugs
- [**#1560**](https://github.com/hapijs/hapi/issues/1560) 4.0.0
- [**#1559**](https://github.com/hapijs/hapi/issues/1559) joi 3.0
- [**#1558**](https://github.com/hapijs/hapi/issues/1558) Change Hapi.utils.version() to Hapi.version and remove Hoek alias
- [**#1547**](https://github.com/hapijs/hapi/issues/1547) Make certain that path is relative before joining it to relativeTo
- [**#1554**](https://github.com/hapijs/hapi/issues/1554) coverage, closes #1524
- [**#1524**](https://github.com/hapijs/hapi/issues/1524) Coverage after lab partial condition result coverage
- [**#1521**](https://github.com/hapijs/hapi/issues/1521) Allow plugins to register handler types
- [**#1551**](https://github.com/hapijs/hapi/issues/1551) add an insecureAgent when maxSockets is set, closes #1512

## [**3.1.0**](https://github.com/hapijs/hapi/issues?milestone=90&state=closed)
- [**#1525**](https://github.com/hapijs/hapi/issues/1525) expose filename and headers for streams in a multipart form
- [**#1523**](https://github.com/hapijs/hapi/issues/1523) Question: How to validate payload with templated response properly ?
- [**#1541**](https://github.com/hapijs/hapi/issues/1541) Clarify that statusCode key of stream response passed in response
- [**#1540**](https://github.com/hapijs/hapi/issues/1540) Pre-gzipped source stream not properly tested for being the active source
- [**#1538**](https://github.com/hapijs/hapi/issues/1538) Passing Error objects can leak message in 500 response
- [**#1536**](https://github.com/hapijs/hapi/issues/1536) maxEventLoopDelay fails to catch when load is too high to reach next sample interval
- [**#1535**](https://github.com/hapijs/hapi/issues/1535) Cannot set maxSockets to node default
- [**#1533**](https://github.com/hapijs/hapi/issues/1533) Proxy without passThrough fails to set cache-control header
- [**#1532**](https://github.com/hapijs/hapi/issues/1532) Multipart payload to files with multiple files skips second file when large
- [**#1531**](https://github.com/hapijs/hapi/issues/1531) pack.log() doesn't retain server debug false setting
- [**#1530**](https://github.com/hapijs/hapi/issues/1530) plugin.method() should use method bind before plugin bind
- [**#1515**](https://github.com/hapijs/hapi/issues/1515) Coverage to 100% after lab logical statement support
- [**#1520**](https://github.com/hapijs/hapi/issues/1520) server.table() mis-documented, missing args, and route.table() is wrong
- [**#1518**](https://github.com/hapijs/hapi/issues/1518) Server timeout config allows invalid values
- [**#1517**](https://github.com/hapijs/hapi/issues/1517) Proxy handler payload config validation using incorrect variable
- [**#1514**](https://github.com/hapijs/hapi/issues/1514) Server allows duplicate lables
- [**#1513**](https://github.com/hapijs/hapi/issues/1513) Authentication userland code not protected by domain

## [**3.0.2**](https://github.com/hapijs/hapi/issues?milestone=89&state=closed)
- [**#1507**](https://github.com/hapijs/hapi/issues/1507) request.setUrl('') throws

## [**3.0.1**](https://github.com/hapijs/hapi/issues?milestone=88&state=closed)
- [**#1503**](https://github.com/hapijs/hapi/issues/1503) plugin.method(name, fn, [options]) fails 

## [**3.0.0**](https://github.com/hapijs/hapi/issues?milestone=86&state=closed)
- [**#1466**](https://github.com/hapijs/hapi/issues/1466) Drop support for server helpers
- [**#1458**](https://github.com/hapijs/hapi/issues/1458) Removed Http(s) globalAgent settings
- [**#1485**](https://github.com/hapijs/hapi/issues/1485) Bring coverage back to 100% after lab fix
- [**#1476**](https://github.com/hapijs/hapi/issues/1476) add PATCH to default cors methods, closes #1475
- [**#1475**](https://github.com/hapijs/hapi/issues/1475) Include PATCH method in options/cors/methods default
- [**#1478**](https://github.com/hapijs/hapi/issues/1478) Use joi 2.8 alternatives()
- [**#1465**](https://github.com/hapijs/hapi/issues/1465) Migrate to catbox 2.0
- [**#1473**](https://github.com/hapijs/hapi/issues/1473) Drop dtrace support

## [**2.6.0**](https://github.com/hapijs/hapi/issues?milestone=85&state=closed)
- [**#1455**](https://github.com/hapijs/hapi/issues/1455) Print to console server logs based on debug config
- [**#1451**](https://github.com/hapijs/hapi/issues/1451) Objects created in plugin.dependency or plugin.after are monitored by the wrong domain
- [**#1452**](https://github.com/hapijs/hapi/issues/1452) Perhaps include `request.pre` in handler view context 
- [**#1453**](https://github.com/hapijs/hapi/issues/1453) Include prerequisites in default view context. #1452
- [**#1445**](https://github.com/hapijs/hapi/issues/1445) Server method bind option
- [**#1450**](https://github.com/hapijs/hapi/issues/1450) Enable handlers to use the prerequisite method string notation
- [**#1449**](https://github.com/hapijs/hapi/issues/1449) Allow server methods names to include '.' (nested)
- [**#1448**](https://github.com/hapijs/hapi/issues/1448) Prerequisite string notation parsing errors
- [**#1447**](https://github.com/hapijs/hapi/issues/1447) Allow prerequisites string notation to use method name without ()
- [**#1446**](https://github.com/hapijs/hapi/issues/1446) Document server method callback 'isUncacheable' argument
- [**#1442**](https://github.com/hapijs/hapi/issues/1442) Response 304

## [**2.5.0**](https://github.com/hapijs/hapi/issues?milestone=84&state=closed)
- [**#1440**](https://github.com/hapijs/hapi/issues/1440) Redirecting from within an Auth.Scheme generates a Circular Reference
- [**#1439**](https://github.com/hapijs/hapi/issues/1439) proper etag formatting
- [**#1434**](https://github.com/hapijs/hapi/issues/1434) Allow overriding the filename in content-disposition headers
- [**#1432**](https://github.com/hapijs/hapi/issues/1432) Replace server helpers with server methods
- [**#1299**](https://github.com/hapijs/hapi/issues/1299) thrown errors inside server.inject does not propagate

## [**2.4.0**](https://github.com/hapijs/hapi/issues?milestone=83&state=closed)
- [**#1430**](https://github.com/hapijs/hapi/issues/1430) Server fails to parse "" cookie value
- [**#1428**](https://github.com/hapijs/hapi/issues/1428) request.getLog() includes same event multiple times when using multiple tags
- [**#1424**](https://github.com/hapijs/hapi/issues/1424) Searching actual working SSE example (#1008 does not work for me)
- [**#1425**](https://github.com/hapijs/hapi/issues/1425) return a reference to the server when adding via pack.server
- [**#1419**](https://github.com/hapijs/hapi/issues/1419) Send newline \n after all responses

## [**2.3.0**](https://github.com/hapijs/hapi/issues?milestone=82&state=closed)
- [**#1320**](https://github.com/hapijs/hapi/issues/1320) Add support for asynchronous view rendering

## [**2.2.0**](https://github.com/hapijs/hapi/issues?milestone=81&state=closed)
- [**#1372**](https://github.com/hapijs/hapi/issues/1372) test that handler isn't called when a request is interrupted
- [**#1362**](https://github.com/hapijs/hapi/issues/1362) (cookies) TypeError: Cannot call method 'match' of undefined
- [**#1378**](https://github.com/hapijs/hapi/issues/1378) add failureResponse option to proxy handler
- [**#1354**](https://github.com/hapijs/hapi/issues/1354) Use configuration objects to register helpers
- [**#1380**](https://github.com/hapijs/hapi/issues/1380) Allow bind context for view handler
- [**#1382**](https://github.com/hapijs/hapi/issues/1382) Make joi optional for route validation
- [**#1404**](https://github.com/hapijs/hapi/issues/1404) Protect JSON.stringify from throwing.
- [**#1395**](https://github.com/hapijs/hapi/issues/1395) JSON circular structure error in authentication error logging
- [**#1405**](https://github.com/hapijs/hapi/issues/1405) Call parseInt() for Joi-validated integers
- [**#1414**](https://github.com/hapijs/hapi/issues/1414) Sending incorrect status code (200) when file fails to open before transmit
- [**#1413**](https://github.com/hapijs/hapi/issues/1413) File stream is opened before necessary (e.g. if replaced by another response in ext)
- [**#1412**](https://github.com/hapijs/hapi/issues/1412) Missing file (404) not captured by onPreResponse
- [**#1411**](https://github.com/hapijs/hapi/issues/1411) Wasteful encoder prep when response is 304 or head
- [**#1410**](https://github.com/hapijs/hapi/issues/1410) passThrough statusCode overrides manual code value
- [**#1409**](https://github.com/hapijs/hapi/issues/1409) Status code set from upstream without passThrough flag
- [**#1408**](https://github.com/hapijs/hapi/issues/1408) precompressed file handle not closed when using head or 304
- [**#1387**](https://github.com/hapijs/hapi/issues/1387) EMFILE error when hapi serves static files over period of time in hapi 2.1.2
- [**#1391**](https://github.com/hapijs/hapi/issues/1391) Disable autoparsing without losing gzip
- [**#1393**](https://github.com/hapijs/hapi/issues/1393) add `gunzip` as third option to `parse`; resolves #1391
- [**#1400**](https://github.com/hapijs/hapi/issues/1400) Question: Can you get a log of requests that don't pass validation?
- [**#1401**](https://github.com/hapijs/hapi/issues/1401) route.payload.allow as Array never matches
- [**#1357**](https://github.com/hapijs/hapi/issues/1357) specify hoek minor version

## [**2.1.2**](https://github.com/hapijs/hapi/issues?milestone=80&state=closed)
- [**#1359**](https://github.com/hapijs/hapi/issues/1359) Ext reply(null).state() race condition
- [**#1351**](https://github.com/hapijs/hapi/issues/1351) Prepare for node 0.12

## [**2.1.1**](https://github.com/hapijs/hapi/issues?milestone=79&state=closed)
- [**#1347**](https://github.com/hapijs/hapi/issues/1347) Views should not use basePath when path is absolute

## [**2.1.0**](https://github.com/hapijs/hapi/issues?milestone=78&state=closed)
- [**#1344**](https://github.com/hapijs/hapi/issues/1344) Use the plugin loader when configured to load view engines
- [**#1245**](https://github.com/hapijs/hapi/issues/1245) Replace request with nipple in tests
- [**#1336**](https://github.com/hapijs/hapi/issues/1336) Allow custom view layout folder
- [**#1335**](https://github.com/hapijs/hapi/issues/1335) Allow view layout to contain a string and boolean

## [**2.1.0**](https://github.com/hapijs/hapi/issues?milestone=4&state=closed)
- [**#204**](https://github.com/hapijs/hapi/issues/204) Add postResponse method to proxy
- [**#200**](https://github.com/hapijs/hapi/issues/200) Fix tls config settings
- [**#hapijs/inert#17**](https://github.com/hapijs/inert/issues/17) Handle Range requests explicitly

## [**2.0.0**](https://github.com/hapijs/hapi/issues?milestone=69&state=closed)
- [**#1322**](https://github.com/hapijs/hapi/issues/1322) Does Hapi support multiple view templates?
- [**#1317**](https://github.com/hapijs/hapi/issues/1317) Cannot Parse form-encoded arrays
- [**#1331**](https://github.com/hapijs/hapi/issues/1331) Fix query(string) regression
- [**#1332**](https://github.com/hapijs/hapi/issues/1332) Payload always logging an error regardless of error state
- [**#1327**](https://github.com/hapijs/hapi/issues/1327) Better debug support for object data
- [**#1324**](https://github.com/hapijs/hapi/issues/1324) When no query params are sent, request.params is null instead of {}.
- [**#1301**](https://github.com/hapijs/hapi/issues/1301) `querystring` =&gt; `qs`, adds support for nested objects
- [**#1314**](https://github.com/hapijs/hapi/issues/1314) Replace old payload try mode with failAction
- [**#1313**](https://github.com/hapijs/hapi/issues/1313) Change redirectToSlash default value to true
- [**#1312**](https://github.com/hapijs/hapi/issues/1312) Remove special values for server config 'files.relativeTo'
- [**#1311**](https://github.com/hapijs/hapi/issues/1311) Implement saving payload to file when not using mutlipart
- [**#1304**](https://github.com/hapijs/hapi/issues/1304) Request 'peek' event
- [**#1300**](https://github.com/hapijs/hapi/issues/1300) Do not overwrite Access-Control-Allow-Origin
- [**#1297**](https://github.com/hapijs/hapi/issues/1297) Document validation option in settings
- [**#1295**](https://github.com/hapijs/hapi/issues/1295) Replace route payload.mode with payload.output and payload.parse
- [**#1292**](https://github.com/hapijs/hapi/issues/1292) Skip loading entire multipart to memory and stream directly to multiparty
- [**#1168**](https://github.com/hapijs/hapi/issues/1168) Save stream to file like {mode: 'file' ...}
- [**#1236**](https://github.com/hapijs/hapi/issues/1236) Review lru-cache settings
- [**#1239**](https://github.com/hapijs/hapi/issues/1239) Disable cache when Authorization header is included
- [**#1241**](https://github.com/hapijs/hapi/issues/1241) Add user/private flag to state variable
- [**#1282**](https://github.com/hapijs/hapi/issues/1282) Security tests using reply().setState() which throws
- [**#1264**](https://github.com/hapijs/hapi/issues/1264) requesting url that is not encoded correctly should return 400, not 404
- [**#1291**](https://github.com/hapijs/hapi/issues/1291) Remove server config normalizeRequestPath and default to true
- [**#1290**](https://github.com/hapijs/hapi/issues/1290) Partial path param match /a{b}c does not apply isCaseSensitive
- [**#1288**](https://github.com/hapijs/hapi/issues/1288) Move auth schemes to plugins
- [**#1287**](https://github.com/hapijs/hapi/issues/1287) Split server.auth() into server.auth.scheme() and server.auth.strategy()
- [**#1286**](https://github.com/hapijs/hapi/issues/1286) Expose response preview as public API
- [**#1284**](https://github.com/hapijs/hapi/issues/1284) Expose request.response and change it to direct ref from func
- [**#1285**](https://github.com/hapijs/hapi/issues/1285) Change authenticate() callback to reply interface
- [**#1269**](https://github.com/hapijs/hapi/issues/1269) Manage state all in the request
- [**#1281**](https://github.com/hapijs/hapi/issues/1281) Change authenticate() callback signature
- [**#1280**](https://github.com/hapijs/hapi/issues/1280) Support node callback pattern (err, result) for reply()
- [**#1279**](https://github.com/hapijs/hapi/issues/1279) Convert ext method signature to handler
- [**#1270**](https://github.com/hapijs/hapi/issues/1270) Apply encoding to Response.Payload operations consistently
- [**#1272**](https://github.com/hapijs/hapi/issues/1272) Redo reply.close()
- [**#1277**](https://github.com/hapijs/hapi/issues/1277) Emit 'internalError' for every 500, not just the one sent back
- [**#1276**](https://github.com/hapijs/hapi/issues/1276) Retain headers in 304 response
- [**#1275**](https://github.com/hapijs/hapi/issues/1275) Boom 2.0
- [**#1274**](https://github.com/hapijs/hapi/issues/1274) Fixed code example in README to comply with 2.0.x
- [**#1238**](https://github.com/hapijs/hapi/issues/1238) Special handling for '*' Vary response header
- [**#1059**](https://github.com/hapijs/hapi/issues/1059) Allow route prerequisites to takeover() and preempt handler
- [**#1222**](https://github.com/hapijs/hapi/issues/1222) Proxy passthrough does not allow for cookie domain modification
- [**#1247**](https://github.com/hapijs/hapi/issues/1247) Clean up postResponse in proxy config
- [**#1253**](https://github.com/hapijs/hapi/issues/1253) in directory, fix the listing of subdirs that reside in a subdirs that have spaces
- [**#1268**](https://github.com/hapijs/hapi/issues/1268) Expose more response properties
- [**#1267**](https://github.com/hapijs/hapi/issues/1267) Add 'app' and 'plugins' to response object
- [**#1266**](https://github.com/hapijs/hapi/issues/1266) Remove 'response.variety' support
- [**#1262**](https://github.com/hapijs/hapi/issues/1262) Remove response.getTtl()
- [**#1261**](https://github.com/hapijs/hapi/issues/1261) Rename response.uri() to response.location()
- [**#1258**](https://github.com/hapijs/hapi/issues/1258) Default Buffer responses to application/octet-stream
- [**#1256**](https://github.com/hapijs/hapi/issues/1256) Remove access to internal response types
- [**#1233**](https://github.com/hapijs/hapi/issues/1233) Clarify server app config usage
- [**#1246**](https://github.com/hapijs/hapi/issues/1246) Allow zero key helpers with cache
- [**#1249**](https://github.com/hapijs/hapi/issues/1249) Cleanup use of request._route.cache and request.route.cache
- [**#1248**](https://github.com/hapijs/hapi/issues/1248) Review proxy upstream ttl passing
- [**#1254**](https://github.com/hapijs/hapi/issues/1254) File response leaks fd if gzipped stream used instead and the other way.
- [**#1251**](https://github.com/hapijs/hapi/issues/1251) Replace File from response type to reply.file() helper
- [**#1252**](https://github.com/hapijs/hapi/issues/1252) Protect response payload stream wrapper from multiple replays
- [**#1242**](https://github.com/hapijs/hapi/issues/1242) Remove server-side route caching
- [**#1231**](https://github.com/hapijs/hapi/issues/1231) request.log() no longer adds 'error' tag if data is Error
- [**#1234**](https://github.com/hapijs/hapi/issues/1234) Move client out to separate module
- [**#1229**](https://github.com/hapijs/hapi/issues/1229) Add req.on('error'/'close') to request object processing
- [**#1189**](https://github.com/hapijs/hapi/issues/1189) Attaching a websocket to a server in a pack
- [**#1230**](https://github.com/hapijs/hapi/issues/1230) Remove plugin permissions
- [**#1219**](https://github.com/hapijs/hapi/issues/1219) `pack.require` doc is somewhat incorrect
- [**#1223**](https://github.com/hapijs/hapi/issues/1223) views.helpersPath requires .js files
- [**#1228**](https://github.com/hapijs/hapi/issues/1228) Client request timeout and downstream listener not set when payload is a stream
- [**#1183**](https://github.com/hapijs/hapi/issues/1183) Remove use of removeAllListeners()
- [**#1207**](https://github.com/hapijs/hapi/issues/1207) Accessing the response stream.
- [**#1216**](https://github.com/hapijs/hapi/issues/1216) Remove support for `notFound` handler string
- [**#1215**](https://github.com/hapijs/hapi/issues/1215) Content-type charset attribute not added to streams
- [**#1214**](https://github.com/hapijs/hapi/issues/1214) Allow specifying a list of method in route config
- [**#1208**](https://github.com/hapijs/hapi/issues/1208) Route error message does not include information about which route failed
- [**#1209**](https://github.com/hapijs/hapi/issues/1209) Duplicate parameter error is missing route information
- [**#1211**](https://github.com/hapijs/hapi/issues/1211) Move all response payload processing to _prepare
- [**#1205**](https://github.com/hapijs/hapi/issues/1205) Honor options.bind in ext
- [**#1204**](https://github.com/hapijs/hapi/issues/1204) Rename handler/ext context to bind
- [**#1202**](https://github.com/hapijs/hapi/issues/1202) Move handler and ext context to use this
- [**#1200**](https://github.com/hapijs/hapi/issues/1200) Removing confidence, alce from composer and CLI
- [**#1194**](https://github.com/hapijs/hapi/issues/1194) Remove support for decorating request with reply()
- [**#1191**](https://github.com/hapijs/hapi/issues/1191) Cannot use multiple parallel pre methods in handler mode
- [**#1195**](https://github.com/hapijs/hapi/issues/1195) Move request.context to request.reply.context
- [**#1192**](https://github.com/hapijs/hapi/issues/1192) Change pre type to always use handler mode
- [**#1190**](https://github.com/hapijs/hapi/issues/1190) Move Obj stringify step to _prepare
- [**#1187**](https://github.com/hapijs/hapi/issues/1187) Change pre to use nested arrays instead of mode (serial, parallel)
- [**#1049**](https://github.com/hapijs/hapi/issues/1049) Validate pre config schema
- [**#1155**](https://github.com/hapijs/hapi/issues/1155) 404 not being caught by onPreResponse function
- [**#1182**](https://github.com/hapijs/hapi/issues/1182) Error transformation does not work when serving static files
- [**#1185**](https://github.com/hapijs/hapi/issues/1185) be more careful about options in _provisionCache
- [**#1176**](https://github.com/hapijs/hapi/issues/1176) Unify stream and buffer responses

## [**1.20.0**](https://github.com/hapijs/hapi/issues?milestone=77&state=closed)
- [**#1175**](https://github.com/hapijs/hapi/issues/1175) Allow disabling CORS for individual route
- [**#1174**](https://github.com/hapijs/hapi/issues/1174) Adjust CORS origin header options
- [**#1171**](https://github.com/hapijs/hapi/issues/1171) Only emit vary origin for CORS wildcard mode

## [**1.19.5**](https://github.com/hapijs/hapi/issues?milestone=76&state=closed)
- [**#1169**](https://github.com/hapijs/hapi/issues/1169) Remove load samples and add protection against interval sample falling behind
- [**#1165**](https://github.com/hapijs/hapi/issues/1165) Switch benchmarks to use Hoek.Bench instead of Date.now()

## [**1.19.4**](https://github.com/hapijs/hapi/issues?milestone=75&state=closed)
- [**#1163**](https://github.com/hapijs/hapi/issues/1163) CORS response doesn't set Vary header in all cases

## [**1.19.3**](https://github.com/hapijs/hapi/issues?milestone=74&state=closed)
- [**#1161**](https://github.com/hapijs/hapi/issues/1161) Schema issues

## [**1.19.0**](https://github.com/hapijs/hapi/issues?milestone=71&state=closed)
- [**#1157**](https://github.com/hapijs/hapi/issues/1157) route cache config does not allow specifying name
- [**#1156**](https://github.com/hapijs/hapi/issues/1156) Honor upstream ttl when proxying

## [**1.18.0**](https://github.com/hapijs/hapi/issues?milestone=70&state=closed)
- [**#1152**](https://github.com/hapijs/hapi/issues/1152) Load sampling and limits
- [**#1150**](https://github.com/hapijs/hapi/issues/1150) Support multiple cache instances
- [**#1148**](https://github.com/hapijs/hapi/issues/1148) Return 401 when allowEmptyUsername is false and username missing

## [**1.17.0**](https://github.com/hapijs/hapi/issues?milestone=68&state=closed)
- [**#1147**](https://github.com/hapijs/hapi/issues/1147) Add request.reply.proxy()
- [**#1146**](https://github.com/hapijs/hapi/issues/1146) Expose proxy functionality as a utility
- [**#1070**](https://github.com/hapijs/hapi/issues/1070) TypeError when validate.* is set to false
- [**#1102**](https://github.com/hapijs/hapi/issues/1102) How to exclude views from layout
- [**#1140**](https://github.com/hapijs/hapi/issues/1140) Not able to login after attempting without user name
- [**#1144**](https://github.com/hapijs/hapi/issues/1144) Support pre-compressed files
- [**#1142**](https://github.com/hapijs/hapi/issues/1142) Fix ext function plugin env binding
- [**#1137**](https://github.com/hapijs/hapi/issues/1137) generateView at 'onRequest' extension point

## [**1.16.1**](https://github.com/hapijs/hapi/issues?milestone=67&state=closed)
- [**#1135**](https://github.com/hapijs/hapi/issues/1135) Formatting problem in Reference.md
- [**#1136**](https://github.com/hapijs/hapi/issues/1136) Handlebars 1.1.x uses prototype for registerPartials which breaks its use in Hapi

## [**1.16.0**](https://github.com/hapijs/hapi/issues?milestone=66&state=closed)
- [**#1129**](https://github.com/hapijs/hapi/issues/1129) support for iisnode and windows named pipes
- [**#1123**](https://github.com/hapijs/hapi/issues/1123) add ability to listen on unix domain socket
- [**#1133**](https://github.com/hapijs/hapi/issues/1133) Joi 2.0
- [**#1124**](https://github.com/hapijs/hapi/issues/1124) Use ALCE for manifest loading.

## [**1.15.0**](https://github.com/hapijs/hapi/issues?milestone=65&state=closed)
- [**#1103**](https://github.com/hapijs/hapi/issues/1103) allow arrays of scopes on routes
- [**#1116**](https://github.com/hapijs/hapi/issues/1116) CORS origin bug fixes and enhancements
- [**#1091**](https://github.com/hapijs/hapi/issues/1091) Only set access-control-allow-origin if the origin header value matches (or '*' is allowed)
- [**#1113**](https://github.com/hapijs/hapi/issues/1113) updates plugin.views Reference.md entry to a clear and working example
- [**#1094**](https://github.com/hapijs/hapi/issues/1094) 404 not being caught by onPreResponse function
- [**#1112**](https://github.com/hapijs/hapi/issues/1112) Too strict cookie parsing?
- [**#1114**](https://github.com/hapijs/hapi/issues/1114) What is the best way to access request headers?

## [**1.14.0**](https://github.com/hapijs/hapi/issues?milestone=64&state=closed)
- [**#1098**](https://github.com/hapijs/hapi/issues/1098) Add criteria support to CLI
- [**#1092**](https://github.com/hapijs/hapi/issues/1092) Empty path parameter should have empty string value, not undefined
- [**#1028**](https://github.com/hapijs/hapi/issues/1028) Expose requests content-type/mime & accept
- [**#1024**](https://github.com/hapijs/hapi/issues/1024) Hapi.Composer.compose() requires "plugins" but won't warn if it's not there
- [**#995**](https://github.com/hapijs/hapi/issues/995) Block response.created() from methods other than POST and PUT

## [**1.13.0**](https://github.com/hapijs/hapi/issues?milestone=63&state=closed)
- [**#1090**](https://github.com/hapijs/hapi/issues/1090) Support partial path segment parameter
- [**#1061**](https://github.com/hapijs/hapi/issues/1061) POST requests with Content-Type=text/plain

## [**1.12.0**](https://github.com/hapijs/hapi/issues?milestone=62&state=closed)
- [**#1004**](https://github.com/hapijs/hapi/issues/1004) validation fails when using Hapi.types.Object() at the root
- [**#1088**](https://github.com/hapijs/hapi/issues/1088) Plugin dependencies
- [**#1085**](https://github.com/hapijs/hapi/issues/1085) Validation options
- [**#1083**](https://github.com/hapijs/hapi/issues/1083) Normalize response headers to lowercase field name
- [**#1076**](https://github.com/hapijs/hapi/issues/1076) Test for both formats of Content-Encoding header
- [**#1081**](https://github.com/hapijs/hapi/issues/1081) Migrate to Iron 1.0
- [**#1074**](https://github.com/hapijs/hapi/issues/1074) Route-specific validation error handler
- [**#1077**](https://github.com/hapijs/hapi/issues/1077) Add compileMode to schema.js

## [**1.11.1**](https://github.com/hapijs/hapi/issues?milestone=61&state=closed)
- [**#1067**](https://github.com/hapijs/hapi/issues/1067) Bug fix for loading ext auth scheme into multiple servers

## [**1.11.0**](https://github.com/hapijs/hapi/issues?milestone=60&state=closed)
- [**#1064**](https://github.com/hapijs/hapi/issues/1064) Helper cache drop interface

## [**1.10.0**](https://github.com/hapijs/hapi/issues?milestone=59&state=closed)
- [**#1057**](https://github.com/hapijs/hapi/issues/1057) '/{p*}' is sorted ahead of '/{a}/b/{p*}'
- [**#1056**](https://github.com/hapijs/hapi/issues/1056) Allow directory paths to include multiple params and use last for resource selection
- [**#1058**](https://github.com/hapijs/hapi/issues/1058) Closes #1056 and #1057
- [**#1054**](https://github.com/hapijs/hapi/issues/1054) Enhance prerequisites configuration options
- [**#1030**](https://github.com/hapijs/hapi/issues/1030) Problems with routes

## [**1.9.7**](https://github.com/hapijs/hapi/issues?milestone=58&state=closed)
- [**#1044**](https://github.com/hapijs/hapi/issues/1044) Reverting changes to generic/stream responses

## [**1.9.6**](https://github.com/hapijs/hapi/issues?milestone=57&state=closed)
- [**#1037**](https://github.com/hapijs/hapi/issues/1037) Stream responses emit response event

## [**1.9.5**](https://github.com/hapijs/hapi/issues?milestone=56&state=closed)
- [**#1033**](https://github.com/hapijs/hapi/issues/1033) Node 0.11 bug fixes
- [**#1034**](https://github.com/hapijs/hapi/issues/1034) Upping shot dep version
- [**#1032**](https://github.com/hapijs/hapi/issues/1032) Updating boom version to 1.0.0
- [**#1019**](https://github.com/hapijs/hapi/issues/1019) Depend on Joi v1.1.x

## [**1.9.4**](https://github.com/hapijs/hapi/issues?milestone=55&state=closed)
- [**#1029**](https://github.com/hapijs/hapi/issues/1029) Using latest hoek and moved to AUTHORS file
- [**#1017**](https://github.com/hapijs/hapi/issues/1017) Overrides Cache-Control in proxy even when no local policy is defined

## [**1.9.3**](https://github.com/hapijs/hapi/issues?milestone=54&state=closed)
- [**#1016**](https://github.com/hapijs/hapi/issues/1016) Adding helper with cache to pack with multiple server crash

## [**1.9.2**](https://github.com/hapijs/hapi/issues?milestone=53&state=closed)
- [**#1015**](https://github.com/hapijs/hapi/issues/1015) Undo #1014

## [**1.9.1**](https://github.com/hapijs/hapi/issues?milestone=52&state=closed)
- [**#1014**](https://github.com/hapijs/hapi/issues/1014) plugin.helper should be selectable
- [**#1005**](https://github.com/hapijs/hapi/issues/1005) Improve server constructor argument validation error reporting
- [**#1001**](https://github.com/hapijs/hapi/issues/1001) Pack event handlers now support correct args

## [**1.9.0**](https://github.com/hapijs/hapi/issues?milestone=51&state=closed)
- [**#998**](https://github.com/hapijs/hapi/issues/998) Adding dtrace probes
- [**#993**](https://github.com/hapijs/hapi/issues/993) Plugin context
- [**#996**](https://github.com/hapijs/hapi/issues/996) Remove Directory and View from cacheable responses
- [**#994**](https://github.com/hapijs/hapi/issues/994) Server level cache
- [**#959**](https://github.com/hapijs/hapi/issues/959) Adding foundation for dtrace probe support
- [**#980**](https://github.com/hapijs/hapi/issues/980) Add interface to register local `require` function with plugin api
- [**#979**](https://github.com/hapijs/hapi/issues/979) Confusing error message when configuring auth using default strategy when none configured
- [**#978**](https://github.com/hapijs/hapi/issues/978) Change plugin `ext` permission default to true
- [**#976**](https://github.com/hapijs/hapi/issues/976) plugin.require support
- [**#974**](https://github.com/hapijs/hapi/issues/974) Pack start/stop events

## [**1.8.3**](https://github.com/hapijs/hapi/issues?milestone=50&state=closed)
- [**#971**](https://github.com/hapijs/hapi/issues/971) Use instanceof Error + isBoom to replace instanceof Boom
- [**#968**](https://github.com/hapijs/hapi/issues/968) Changes to `plugin.hapi` and the `cookie` scheme
- [**#970**](https://github.com/hapijs/hapi/issues/970) Removing complexity-report
- [**#967**](https://github.com/hapijs/hapi/issues/967) Authentication defaultMode allowed invalid values
- [**#966**](https://github.com/hapijs/hapi/issues/966) Expose the hapi module on the request object
- [**#963**](https://github.com/hapijs/hapi/issues/963) Question: should pack.register's register pack parameter should be renamed to plugin?
- [**#965**](https://github.com/hapijs/hapi/issues/965) Change parameter name pack to plugin to resolve #963
- [**#962**](https://github.com/hapijs/hapi/issues/962) Server config schema does not allow single string labels
- [**#960**](https://github.com/hapijs/hapi/issues/960) Updates to case sensitive routing
- [**#958**](https://github.com/hapijs/hapi/issues/958) Path params are no longer lowercased in router
- [**#955**](https://github.com/hapijs/hapi/issues/955) Update Reference.md plugin.lenght to plugin.length
- [**#951**](https://github.com/hapijs/hapi/issues/951) use .isBoom instead of instanceof Boom
- [**#949**](https://github.com/hapijs/hapi/issues/949) Error when hawk payload validation is required but the request contains no hash
- [**#948**](https://github.com/hapijs/hapi/issues/948) reference multiparty instead of formidable
- [**#946**](https://github.com/hapijs/hapi/issues/946) Updating example to be clearer
- [**#944**](https://github.com/hapijs/hapi/issues/944) Found some small typos/formatting issues in Reference.md

## [**1.8.2**](https://github.com/hapijs/hapi/issues?milestone=49&state=closed)
- [**#943**](https://github.com/hapijs/hapi/issues/943) Updating version
- [**#942**](https://github.com/hapijs/hapi/issues/942) Layouts work correctly in jade
- [**#941**](https://github.com/hapijs/hapi/issues/941) No longer destroying request socket
- [**#938**](https://github.com/hapijs/hapi/issues/938) Fixed the code example to get Hapi's version
- [**#936**](https://github.com/hapijs/hapi/issues/936) Allow omitting trailing slash when last segment is an optional parameter

## [**1.8.1**](https://github.com/hapijs/hapi/issues?milestone=48&state=closed)
- [**#933**](https://github.com/hapijs/hapi/issues/933) Updating version to 1.8.1
- [**#928**](https://github.com/hapijs/hapi/issues/928) Removing listeners on domain when exiting
- [**#927**](https://github.com/hapijs/hapi/issues/927) Removing global variable

## [**1.8.0**](https://github.com/hapijs/hapi/issues?milestone=47&state=closed)
- [**#925**](https://github.com/hapijs/hapi/issues/925) Fixing edge case where bad path can cause issues with url.parse
- [**#924**](https://github.com/hapijs/hapi/issues/924) Issue/922
- [**#922**](https://github.com/hapijs/hapi/issues/922) Handling directory routes that end both with and without a trailing slash
- [**#923**](https://github.com/hapijs/hapi/issues/923) remove connection event listeners when server stops

## [**1.7.3**](https://github.com/hapijs/hapi/issues?milestone=46&state=closed)
- [**#920**](https://github.com/hapijs/hapi/issues/920) Upping version to 1.7.3
- [**#919**](https://github.com/hapijs/hapi/issues/919) Client now handles downstreamRes close event

## [**1.7.2**](https://github.com/hapijs/hapi/issues?milestone=45&state=closed)
- [**#915**](https://github.com/hapijs/hapi/issues/915) custom cache engine support

## [**1.7.0**](https://github.com/hapijs/hapi/issues?milestone=43&state=closed)
- [**#912**](https://github.com/hapijs/hapi/issues/912) Fixing aborted causing duplicate res.ends issue with incoming request
- [**#911**](https://github.com/hapijs/hapi/issues/911) Allow client.request calls without a callback (ignoring response)
- [**#910**](https://github.com/hapijs/hapi/issues/910) Client does not destroy request on redirection error
- [**#907**](https://github.com/hapijs/hapi/issues/907) Adding test

## [**1.6.2**](https://github.com/hapijs/hapi/issues?milestone=42&state=closed)
- [**#906**](https://github.com/hapijs/hapi/issues/906) Proxy requests are closed when server response already sent

## [**1.6.1**](https://github.com/hapijs/hapi/issues?milestone=41&state=closed)
- [**#904**](https://github.com/hapijs/hapi/issues/904) Issue/902
- [**#903**](https://github.com/hapijs/hapi/issues/903) Fixing issue where timeout occurs after socket close in client
- [**#901**](https://github.com/hapijs/hapi/issues/901) Performance tweaks
- [**#897**](https://github.com/hapijs/hapi/issues/897) Hapi node_modules_path now supports symlinks

## [**1.6.0**](https://github.com/hapijs/hapi/issues?milestone=40&state=closed)
- [**#891**](https://github.com/hapijs/hapi/issues/891) Exposing rejectUnauthorized property on proxy

## [**1.5.0**](https://github.com/hapijs/hapi/issues?milestone=39&state=closed)
- [**#889**](https://github.com/hapijs/hapi/issues/889) Plugin view engine required from hapi's module path, not plugin
- [**#887**](https://github.com/hapijs/hapi/issues/887) Default auth scheme only works when scheme is added with 'default' name

## [**1.4.0**](https://github.com/hapijs/hapi/issues?milestone=38&state=closed)
- [**#868**](https://github.com/hapijs/hapi/issues/868) Potential leak when aborting reading a payload if max size reached
- [**#872**](https://github.com/hapijs/hapi/issues/872) Test for invalid incoming path without leading '/'
- [**#869**](https://github.com/hapijs/hapi/issues/869) Request._replyInterface called twice but does not share wasProcessed state
- [**#870**](https://github.com/hapijs/hapi/issues/870) Response treats objects as errors based on too trivial keys
- [**#885**](https://github.com/hapijs/hapi/issues/885) Fix plugin.path
- [**#883**](https://github.com/hapijs/hapi/issues/883) Cleanup pack requirePath

## [**1.3.0**](https://github.com/hapijs/hapi/issues?milestone=37&state=closed)
- [**#871**](https://github.com/hapijs/hapi/issues/871) * allowed in path but used as special character in route fingerprint
- [**#880**](https://github.com/hapijs/hapi/issues/880) Performance and hawk options
- [**#879**](https://github.com/hapijs/hapi/issues/879) Support all Hawk and Bewit options
- [**#878**](https://github.com/hapijs/hapi/issues/878) Adding Client request socket timeout
- [**#863**](https://github.com/hapijs/hapi/issues/863) Absolute paths now work correctly with hapi command
- [**#860**](https://github.com/hapijs/hapi/issues/860) Adding hapi bin test and fixing issue with no plugins
- [**#862**](https://github.com/hapijs/hapi/issues/862) Minor performance tweaks
- [**#859**](https://github.com/hapijs/hapi/issues/859) Fixing test
- [**#858**](https://github.com/hapijs/hapi/issues/858) Added missing done() call in test
- [**#856**](https://github.com/hapijs/hapi/issues/856) Remove _log() wrapper

## [**1.2.0**](https://github.com/hapijs/hapi/issues?milestone=36&state=closed)
- [**#846**](https://github.com/hapijs/hapi/issues/846) Request: View configuration to autoload helepers
- [**#854**](https://github.com/hapijs/hapi/issues/854) Move to use multiparty
- [**#853**](https://github.com/hapijs/hapi/issues/853) New internal proxy handler
- [**#850**](https://github.com/hapijs/hapi/issues/850) Increasing allowed sockets to 10 for client
- [**#848**](https://github.com/hapijs/hapi/issues/848) Template settings override fix
- [**#845**](https://github.com/hapijs/hapi/issues/845) Generic response fails to account for all possible res events
- [**#844**](https://github.com/hapijs/hapi/issues/844) Proxy to outside site fails due to request's old stream api and node 0.10 wrap()
- [**#843**](https://github.com/hapijs/hapi/issues/843) Allow setting custom headers via proxy mapUri

## [**1.1.0**](https://github.com/hapijs/hapi/issues?milestone=32&state=closed)
- [**#839**](https://github.com/hapijs/hapi/issues/839) Cleanup listeners
- [**#838**](https://github.com/hapijs/hapi/issues/838) Issue/808
- [**#837**](https://github.com/hapijs/hapi/issues/837) Issue/812
- [**#834**](https://github.com/hapijs/hapi/issues/834) `Pack` throws an `AssertionError` if the `requirePath` is not absolute
- [**#835**](https://github.com/hapijs/hapi/issues/835) `Pack`: Automatically resolve the `requirePath` if provided
- [**#832**](https://github.com/hapijs/hapi/issues/832) Allow route.payload config to be an object with `mode`
- [**#833**](https://github.com/hapijs/hapi/issues/833) closes #832
- [**#830**](https://github.com/hapijs/hapi/issues/830) Add payload 'try' parsing mode
- [**#831**](https://github.com/hapijs/hapi/issues/831) Closes #830
- [**#828**](https://github.com/hapijs/hapi/issues/828) Add HttpOnly support to cookie auth
- [**#827**](https://github.com/hapijs/hapi/issues/827) request debug printout format and condition
- [**#820**](https://github.com/hapijs/hapi/issues/820) Clarified the format of payload in server.inject in the Reference doc
- [**#824**](https://github.com/hapijs/hapi/issues/824) Issue/821

## [**1.0.3**](https://github.com/hapijs/hapi/issues?milestone=35&state=closed)
- [**#823**](https://github.com/hapijs/hapi/issues/823) Issue/822
- [**#822**](https://github.com/hapijs/hapi/issues/822) JSONP doesn't seem to be working
- [**#817**](https://github.com/hapijs/hapi/issues/817) Payload bugfix for PATCH method
- [**#818**](https://github.com/hapijs/hapi/issues/818) Tiny composer documentation fix
- [**#814**](https://github.com/hapijs/hapi/issues/814) Fixed jade compile issues and updated tests to verify fix.
- [**#804**](https://github.com/hapijs/hapi/issues/804) Remove restriction on params in path for static file handler

## [**1.0.2**](https://github.com/hapijs/hapi/issues?milestone=34&state=closed)
- [**#813**](https://github.com/hapijs/hapi/issues/813) text/* content-type always echo back the received content

## [**1.0.0**](https://github.com/hapijs/hapi/issues?milestone=26&state=closed)
- [**#796**](https://github.com/hapijs/hapi/issues/796) Allow unencoded double quote and backslash in the cookie value
- [**#793**](https://github.com/hapijs/hapi/issues/793) Use new assert with passed parameters instead of concat string
- [**#791**](https://github.com/hapijs/hapi/issues/791) Test fails: Auth Hawk includes authorization header in response when the response is a stream
- [**#789**](https://github.com/hapijs/hapi/issues/789) Streams not properly being closed for static files when browser gets cache hit
- [**#788**](https://github.com/hapijs/hapi/issues/788) Need more detailed documentation for "next" callback for event handlers
- [**#787**](https://github.com/hapijs/hapi/issues/787) Expose Plugin File Path
- [**#767**](https://github.com/hapijs/hapi/issues/767) Verify every example works with 1.0
- [**#780**](https://github.com/hapijs/hapi/issues/780) Relative path redirection should have vhost support
- [**#768**](https://github.com/hapijs/hapi/issues/768) Directory handler example
- [**#784**](https://github.com/hapijs/hapi/issues/784) Change server helper options.generateKey to receive the same arguments as the helper method
- [**#782**](https://github.com/hapijs/hapi/issues/782) Payload parsing should be based on request method, not path method
- [**#781**](https://github.com/hapijs/hapi/issues/781) Do not set request.state[name] when value is invalid regardless of failAction
- [**#779**](https://github.com/hapijs/hapi/issues/779) Add server config `location` for Location header prefix
- [**#776**](https://github.com/hapijs/hapi/issues/776) Streamline request.reply()
- [**#771**](https://github.com/hapijs/hapi/issues/771) Multipart upload issue
- [**#765**](https://github.com/hapijs/hapi/issues/765) Refactor views manager configuration
- [**#752**](https://github.com/hapijs/hapi/issues/752) Shared config for plugins
- [**#751**](https://github.com/hapijs/hapi/issues/751) Cleanup Unmonitored error
- [**#759**](https://github.com/hapijs/hapi/issues/759) Feature/misc
- [**#758**](https://github.com/hapijs/hapi/issues/758) cookie authentication example fails with 1.0.0
- [**#755**](https://github.com/hapijs/hapi/issues/755) Views now render without child path
- [**#745**](https://github.com/hapijs/hapi/issues/745) Basic Authentication callback with no username/password returns 500
- [**#742**](https://github.com/hapijs/hapi/issues/742) Remove built-in Oz support
- [**#741**](https://github.com/hapijs/hapi/issues/741) Remove Raw response type
- [**#739**](https://github.com/hapijs/hapi/issues/739) Adding server.stop support for destroying connections after a timeout
- [**#738**](https://github.com/hapijs/hapi/issues/738) Support for Access-Control-Expose-Headers in the CORS options
- [**#736**](https://github.com/hapijs/hapi/issues/736) Node v0.10

## [**0.16.0**](https://github.com/hapijs/hapi/issues?milestone=24&state=closed)
- [**#656**](https://github.com/hapijs/hapi/issues/656) Support for virtual hosts
- [**#727**](https://github.com/hapijs/hapi/issues/727) Fix hawk response header edge cases
- [**#726**](https://github.com/hapijs/hapi/issues/726) Misc features
- [**#725**](https://github.com/hapijs/hapi/issues/725) Debug enhancements
- [**#714**](https://github.com/hapijs/hapi/issues/714) Adding remote address and referrer information to request.info
- [**#724**](https://github.com/hapijs/hapi/issues/724) Route validation is now using payload instead of schema
- [**#716**](https://github.com/hapijs/hapi/issues/716) Errors when preparing a response now emit internalError correctly
- [**#715**](https://github.com/hapijs/hapi/issues/715) Auth api refactor
- [**#700**](https://github.com/hapijs/hapi/issues/700) Adding security tests and fixing security bugs
- [**#686**](https://github.com/hapijs/hapi/issues/686) Pack auth api
- [**#683**](https://github.com/hapijs/hapi/issues/683) Pack and cache API refactor

## [**0.15.8**](https://github.com/hapijs/hapi/issues?milestone=31&state=closed)
- [**#723**](https://github.com/hapijs/hapi/issues/723) Global autoValue cookie overwrites other cookies
- [**#722**](https://github.com/hapijs/hapi/issues/722) Proxy shares cookies across different sessions

## [**0.15.7**](https://github.com/hapijs/hapi/issues?milestone=30&state=closed)
- [**#717**](https://github.com/hapijs/hapi/issues/717) Auto cookie value

## [**0.15.4**](https://github.com/hapijs/hapi/issues?milestone=28&state=closed)
- [**#682**](https://github.com/hapijs/hapi/issues/682) Bypass node http bug in writeHead
- [**#678**](https://github.com/hapijs/hapi/issues/678) Updating tutorials and adding a plugins list doc
- [**#674**](https://github.com/hapijs/hapi/issues/674) Adding missing branch tests

## [**0.15.3**](https://github.com/hapijs/hapi/issues?milestone=27&state=closed)
- [**#677**](https://github.com/hapijs/hapi/issues/677) Fix ext() with function array bug

## [**0.15.2**](https://github.com/hapijs/hapi/issues?milestone=25&state=closed)
- [**#670**](https://github.com/hapijs/hapi/issues/670) internalError event
- [**#669**](https://github.com/hapijs/hapi/issues/669) Optimize prerequisites and protect

## [**0.15.1**](https://github.com/hapijs/hapi/issues?milestone=23&state=closed)
- [**#663**](https://github.com/hapijs/hapi/issues/663) Full plugin deps
- [**#662**](https://github.com/hapijs/hapi/issues/662) Plugin deps
- [**#659**](https://github.com/hapijs/hapi/issues/659) handler interface api styles
- [**#653**](https://github.com/hapijs/hapi/issues/653) Add request defensive protection
- [**#642**](https://github.com/hapijs/hapi/issues/642) Adding hawk response auth header
- [**#649**](https://github.com/hapijs/hapi/issues/649) Migrate to lab (from mocha)

## [**0.15.0**](https://github.com/hapijs/hapi/issues?milestone=22&state=closed)
- [**#638**](https://github.com/hapijs/hapi/issues/638) Event tags
- [**#632**](https://github.com/hapijs/hapi/issues/632) Adding example of cookie failAction
- [**#635**](https://github.com/hapijs/hapi/issues/635) Cleanup
- [**#634**](https://github.com/hapijs/hapi/issues/634) Domains
- [**#633**](https://github.com/hapijs/hapi/issues/633) pack interface cleanup
- [**#630**](https://github.com/hapijs/hapi/issues/630) shot 0.1.0, Buffer response type, encoding
- [**#619**](https://github.com/hapijs/hapi/issues/619) hawk 0.10, payload cleanup, text/* parse support
- [**#617**](https://github.com/hapijs/hapi/issues/617) Upgrade to Hawk 0.9.0
- [**#615**](https://github.com/hapijs/hapi/issues/615) Using path.join where possible
- [**#616**](https://github.com/hapijs/hapi/issues/616) Cookie Max-Age is in seconds, not msec
- [**#613**](https://github.com/hapijs/hapi/issues/613) Fix proxy mapUri query bug, allow pack.api to specify key
- [**#612**](https://github.com/hapijs/hapi/issues/612) Remove monitor
- [**#611**](https://github.com/hapijs/hapi/issues/611) Adding vhost tests
- [**#609**](https://github.com/hapijs/hapi/issues/609) Virtual hosts support
- [**#610**](https://github.com/hapijs/hapi/issues/610) Cleaning up test and stream response
- [**#607**](https://github.com/hapijs/hapi/issues/607) Adding basic crumb CSRF information to reference guide 
- [**#602**](https://github.com/hapijs/hapi/issues/602) Relative paths
- [**#595**](https://github.com/hapijs/hapi/issues/595) Fixing gzip stream test to use simple stream
- [**#596**](https://github.com/hapijs/hapi/issues/596) Adding request payload section
- [**#594**](https://github.com/hapijs/hapi/issues/594) Adding deflate support to stream response
- [**#593**](https://github.com/hapijs/hapi/issues/593) Adding graceful shutdown from QUIT signal event
- [**#592**](https://github.com/hapijs/hapi/issues/592) refactor router
- [**#591**](https://github.com/hapijs/hapi/issues/591) Fixing test to be isolated
- [**#589**](https://github.com/hapijs/hapi/issues/589) Sending a gzipped proxy response now works correctly
- [**#585**](https://github.com/hapijs/hapi/issues/585) Server.stop now stops gracefully

## [**0.14.2**](https://github.com/hapijs/hapi/issues?milestone=21&state=closed)
- [**#587**](https://github.com/hapijs/hapi/issues/587) Composer config options
- [**#577**](https://github.com/hapijs/hapi/issues/577) Beef up file etag tests

## [**0.14.0**](https://github.com/hapijs/hapi/issues?milestone=18&state=closed)
- [**#563**](https://github.com/hapijs/hapi/issues/563) Using memory instead of redis for test
- [**#561**](https://github.com/hapijs/hapi/issues/561) Composer
- [**#553**](https://github.com/hapijs/hapi/issues/553) Pack server event and socket timeout override
- [**#543**](https://github.com/hapijs/hapi/issues/543) Fix scoping bug when using multiple helper prerequisites
- [**#438**](https://github.com/hapijs/hapi/issues/438) Adding support for payload authentication validation
- [**#537**](https://github.com/hapijs/hapi/issues/537) Update docs/Reference.md
- [**#531**](https://github.com/hapijs/hapi/issues/531) JSONP
- [**#523**](https://github.com/hapijs/hapi/issues/523) Set CORS origin header to incoming request origin if allowed
- [**#522**](https://github.com/hapijs/hapi/issues/522) rename helmet to tv
- [**#512**](https://github.com/hapijs/hapi/issues/512) Direct use of Boom (0.3.0)
- [**#496**](https://github.com/hapijs/hapi/issues/496) Distributable cache for files
- [**#500**](https://github.com/hapijs/hapi/issues/500) Cookie parsing fails if encoding set to 'none'
- [**#501**](https://github.com/hapijs/hapi/issues/501) Response refactor, bug fixes
- [**#498**](https://github.com/hapijs/hapi/issues/498) Adding code coverage support using blanket
- [**#494**](https://github.com/hapijs/hapi/issues/494) fix typo from issue/491
- [**#493**](https://github.com/hapijs/hapi/issues/493) Fixing test that would fail periodically
- [**#482**](https://github.com/hapijs/hapi/issues/482) Parse cookies before authentication
- [**#481**](https://github.com/hapijs/hapi/issues/481) Adding log tag filtering information to readme
- [**#480**](https://github.com/hapijs/hapi/issues/480) Cleaning up this. use
- [**#478**](https://github.com/hapijs/hapi/issues/478) Cleanup ext options and error handling
- [**#475**](https://github.com/hapijs/hapi/issues/475) Simplify path regex

## [**0.13.2**](https://github.com/hapijs/hapi/issues?milestone=20&state=closed)
- [**#474**](https://github.com/hapijs/hapi/issues/474) 0.13.2
- [**#466**](https://github.com/hapijs/hapi/issues/466) Directory listing at top level folders now link correctly
- [**#472**](https://github.com/hapijs/hapi/issues/472) Fix matching of wildcard path param with trailing /
- [**#463**](https://github.com/hapijs/hapi/issues/463) Typo: req.session.used -&gt; req.session.user

## [**0.13.0**](https://github.com/hapijs/hapi/issues?milestone=17&state=closed)
- [**#448**](https://github.com/hapijs/hapi/issues/448) Fixed typos

## [**0.12.0**](https://github.com/hapijs/hapi/issues?milestone=14&state=closed)
- [**#435**](https://github.com/hapijs/hapi/issues/435) Prerequisite helper shortcut interface
- [**#434**](https://github.com/hapijs/hapi/issues/434) Bound handler to request, bump to 0.12.0
- [**#427**](https://github.com/hapijs/hapi/issues/427) CORS cleanup and Monitor defaults
- [**#425**](https://github.com/hapijs/hapi/issues/425) Route sorting rewrite
- [**#373**](https://github.com/hapijs/hapi/issues/373) Add support for private cache-control flag
- [**#420**](https://github.com/hapijs/hapi/issues/420) Goodies
- [**#416**](https://github.com/hapijs/hapi/issues/416) Auth cleanup
- [**#407**](https://github.com/hapijs/hapi/issues/407) Adding support for basic auth password hashing
- [**#406**](https://github.com/hapijs/hapi/issues/406) Update auth dependencies
- [**#402**](https://github.com/hapijs/hapi/issues/402) Use fixed time password comparison

## [**0.10.0**](https://github.com/hapijs/hapi/issues?milestone=9&state=closed)
- [**#329**](https://github.com/hapijs/hapi/issues/329) Add redirection response
- [**#314**](https://github.com/hapijs/hapi/issues/314) Multiple auth schemes
- [**#322**](https://github.com/hapijs/hapi/issues/322) Docs handler refactor

## [**0.9.3**](https://github.com/hapijs/hapi/issues?milestone=12&state=closed)
- [**#317**](https://github.com/hapijs/hapi/issues/317) Test helpers, mongo auth test
- [**#312**](https://github.com/hapijs/hapi/issues/312) Misc cleanup

## [**0.9.2**](https://github.com/hapijs/hapi/issues?milestone=10&state=closed)
- [**#301**](https://github.com/hapijs/hapi/issues/301) Merge, payload tests
- [**#305**](https://github.com/hapijs/hapi/issues/305) Hidden files can now optionally be served
- [**#299**](https://github.com/hapijs/hapi/issues/299) Fix issue with case-insensitive route conflic
- [**#298**](https://github.com/hapijs/hapi/issues/298) Prevent use of encoded non-reserved characters in path
- [**#297**](https://github.com/hapijs/hapi/issues/297) Refactor request path normalization
- [**#294**](https://github.com/hapijs/hapi/issues/294) Refactor responses, auth, payload

## [**0.9.1**](https://github.com/hapijs/hapi/issues?milestone=8&state=closed)
- [**#277**](https://github.com/hapijs/hapi/issues/277) Changed matching rule of {param*}, Oz tests
- [**#275**](https://github.com/hapijs/hapi/issues/275) Prevent basic routes collision
- [**#268**](https://github.com/hapijs/hapi/issues/268) Tests, extension auth schemes
- [**#258**](https://github.com/hapijs/hapi/issues/258) Adding support for etag and last-modified headers
- [**#255**](https://github.com/hapijs/hapi/issues/255) Adding support for gzip responses
- [**#262**](https://github.com/hapijs/hapi/issues/262) Support /path/{param*} syntax

## [**0.9.0**](https://github.com/hapijs/hapi/issues?milestone=3&state=closed)
- [**#250**](https://github.com/hapijs/hapi/issues/250) Direct response support
- [**#245**](https://github.com/hapijs/hapi/issues/245) Basic auth
- [**#237**](https://github.com/hapijs/hapi/issues/237) Response refactor
- [**#234**](https://github.com/hapijs/hapi/issues/234) Oz
- [**#229**](https://github.com/hapijs/hapi/issues/229) Initial 0.9.0

## [**0.8.4**](https://github.com/hapijs/hapi/issues?milestone=7&state=closed)
- [**#221**](https://github.com/hapijs/hapi/issues/221) Adding parsing of multipart form-data content-type

## [**0.8.3**](https://github.com/hapijs/hapi/issues?milestone=6&state=closed)
- [**#212**](https://github.com/hapijs/hapi/issues/212) Adding proxy tests and doing a little refactoring
- [**#211**](https://github.com/hapijs/hapi/issues/211) Cache tests, Fix response processing header order

## [**0.8.2**](https://github.com/hapijs/hapi/issues?milestone=5&state=closed)
- [**#210**](https://github.com/hapijs/hapi/issues/210) 0.8.2
- [**#209**](https://github.com/hapijs/hapi/issues/209) Tests
- [**#207**](https://github.com/hapijs/hapi/issues/207) Error refactor, custom error support (passThrough)
- [**#206**](https://github.com/hapijs/hapi/issues/206) Fixing issue with error responses being cached + test

## [**0.8.0**](https://github.com/hapijs/hapi/issues?milestone=2&state=closed)
- [**#183**](https://github.com/hapijs/hapi/issues/183) Cache segment validation
- [**#164**](https://github.com/hapijs/hapi/issues/164) Server helpers, initial response validation, Mongo support

## [**0.6.0**](https://github.com/hapijs/hapi/issues?milestone=1&state=closed)
- [**#102**](https://github.com/hapijs/hapi/issues/102) v0.6.0 merge
- [**#101**](https://github.com/hapijs/hapi/issues/101) modified new validation fns to use Utils.assert
- [**#100**](https://github.com/hapijs/hapi/issues/100) New Query Validation Fns Added
- [**#99**](https://github.com/hapijs/hapi/issues/99) Simplified request log interface
- [**#63**](https://github.com/hapijs/hapi/issues/63) Added in SSL cert passphrase to https server creation from settings.
- [**#96**](https://github.com/hapijs/hapi/issues/96) Small utils
- [**#94**](https://github.com/hapijs/hapi/issues/94) debug interface, log interface
- [**#93**](https://github.com/hapijs/hapi/issues/93) fix error on subsequent url accesses for queryval
- [**#92**](https://github.com/hapijs/hapi/issues/92) Fix example
- [**#91**](https://github.com/hapijs/hapi/issues/91) QueryValidation fixes, add default behavior for unspecified params, added small tests
