Skip to content

Latest commit

 

History

History
executable file
·
1253 lines (1127 loc) · 104 KB

CHANGELOG.md

File metadata and controls

executable file
·
1253 lines (1127 loc) · 104 KB
  • #2481 Feature: server.decorate('request' ... )
  • #2544 Retain content-length header for HEAD requests
  • #2552 Update hapijs/wreck to 5.5.1 from 5.2.0
    • hapijs/wreck 5.5.0
    • #81 Added uri to event payloads.
    • hapijs/wreck 5.4.0
    • #79 Add start time to response event
    • hapijs/wreck 5.3.0
    • #77 Add event for response and logging
    • #73 Fix issues with node 0.12
  • #2472 Update hapijs/qs to 2.4.2 from 2.4.0
    • hapijs/qs 2.4.1
    • #73 Property 'hasOwnProperty' of object # is not a function
    • #2551 Update jshttp/mime-db to 1.10.0 from 1.9.1
    • #2550 Update moment/moment to 2.10.3 from 2.9.0
    • #2549 Update hapijs/joi to 6.4.1 from 6.0.8
      • hapijs/joi 6.4.0
      • #629 help with .or()
      • hapijs/joi 6.2.0
      • #413 Create default [highly nested] object easily?
      • hapijs/joi 6.1.2
      • #628 Alternatives throw typeError when "is: null" is used
      • hapijs/joi 6.1.1
      • #627 Property is always required even when my When() condition isn't met.
      • hapijs/joi 6.1.0
      • #583 do ref-able operations support referring to a list?
      • #616 Add ignoreUndefined flag for rename()
      • #609 number min/max/greater/less do not allow decimal values
    • #2548 Update hapijs/hoek to 2.13.0 from 2.11.1
      • hapijs/hoek 2.13.0
      • #140 Add isNullOverride to applyToDefaults
      • hapijs/hoek 2.12.0
      • #133 Added option parameter to deepEqual.
    • #2547 Update hapijs/boom to 2.7.2 from 2.6.1
      • hapijs/boom 2.7.2
      • #59 Update license attribute
      • hapijs/boom 2.7.1
      • #52 Coerse statusCode to an Integer
      • #51 Make sure Boom initialize method auto cast string statusCode to Integer if possible
      • hapijs/boom 2.7.0
      • #45 Added isServer
      • #41 Easy way to determine if the client or server is at fault
    • #2546 Update hapijs/inert to 2.1.5 from 2.1.4
      • hapijs/inert 2.1.5
      • #26 Misc. Closes #25
    • #2545 Update isaacs/node-lru-cache to 2.6.4 from 2.5.0
    • #2501 server.inject does not allow me to set auth artifacts, only auth credentials
    • #2538 closes #2480: Ability to pass options to qs for payload parsing
    • #2532 Dynamic authentication scopes
    • #2509 Update jshttp/mime-db to 1.9.1 from 1.7.0
    • #2502 Fix Hapi Issue #2501, pass on auth artifacts object in server.inject
    • #2503 Update hapijs/shot to 1.5.0 from 1.4.2
      • hapijs/shot 1.5.0
      • #28 Add 'content-length' header matching payload length if none set
      • #2470 JSONP requests not always returning wrapped response
      • #2469 Update hapijs/qs to 2.4.0 from 2.3.3
        • hapijs/qs 2.4.0
        • #70 Add arrayFormat option
      • #2468 Proxy handler not forwarding request payload
      • #2465 Update hapijs/catbox to 4.2.2 from 4.2.1
        • hapijs/catbox 4.2.2
        • #120 Upgrade to Joi 6
      • #2464 Update hapijs/joi to 6.0.8 from 6.0.5
        • hapijs/joi 6.0.7
        • #580 Annotate fails on circular objects
        • hapijs/joi 6.0.6
        • #602 Validate multiple options with presence key in it
        • #601 Error: stripUnknown should be one of required, optional, forbidden, ignore
      • #2463 Update shrinkwrap to joi 6.0.7
      • #2461 Missing dependency in 8.3
      • #2459 Fix for node 0.10 for changes in #2429
      • #2453 Update hapijs/joi to 6.0.5 from 5.0.2
        • hapijs/joi 6.0.5
        • #600 Fix regression on unsafe string escaping in language
        • hapijs/joi 6.0.4
        • #593 .rename() does not work when new value is undefined
        • hapijs/joi 6.0.3
        • #589 Joi.array().items(...) error message changes
        • hapijs/joi 6.0.1
        • #585 No conversion is done inside Joi.array().items
        • hapijs/joi 6.0.0
        • #457 Add URI Validation
        • #578 respect stripUnknown in arrays
        • #572 add any.strip for objects and arrays
        • #567 Object with 'or', keys contains an array with a 'null' element
        • #569 Lost key after validation on assert
        • #559 deprecate array.includes and array.excludes, use array.items and allow required and forbidden within
        • #536 Consider renaming 'valid' to 'enum' or an alias
        • #553 Does array include allow nested object properties
        • #555 add some additional guards and tests for #363
        • #545 allow passing a method to .default(), for #363
        • #363 support factory-function in .default() ?
        • #547 string hex characters only
        • #546 Really custom messages are impossible
        • #484 Helpful regexp message
        • #488 Allow options to be passed to string.email().
        • #538 added number.multiple()
        • #495 joi.array().includes path and errors mismatch
        • #511 throw when invalid options are provided
        • #534 Bad behavior of Joi.object().concat()
        • hapijs/joi 5.1.0
        • #525 Strange behaviour with date + raw
        • #404 Possible referencing date field to other date field?
        • #510 Add new requiredKeys option specifically for object keys
        • #513 Make alternatives.describe more consistent
        • #509 Option to validate a date format but not convert to a date object
      • #2457 Update hapijs/inert to 2.1.4 from 2.1.3
        • hapijs/inert 2.1.4
        • #23 Upgrade to joi 6.0
      • #2455 Update hapijs/shot to 1.4.2 from 1.4.1
      • #2454 Update moment/moment to 2.9.0 from 2.8.4
      • #2452 Update hapijs/hoek to 2.11.1 from 2.10.0
        • hapijs/hoek 2.11.1
        • #131 Clone even non-enumerable properties.
        • #127 deepEqual behaving unexpectedly with empty object
        • #128 Fix deepEqual on empty objects. Fixes #127.
        • hapijs/hoek 2.11.0
        • #115 Adds ability to do Hoek.reach with negative index
        • #117 Throw error directly if it is the only thing passed in as the message
      • #2326 request-error logged before onPostHandler or onPreResponse
      • #2427 Issue uploading file with io.js or node > 0.11.6
      • #2439 pass context to response schema validation
      • #2429 Fix for #2427
      • #2382 Return explicit error when trying to stream a non-Readable stream
      • #2368 response.streamify assumes stream has attribute _readableState
      • #2446 Update hapijs/wreck to 5.2.0 from 5.0.1
        • hapijs/wreck 5.2.0
        • #70 Added 'smart' and 'force' modes to json option.
        • hapijs/wreck 5.1.0
        • #69 Dont try to parse JSON if the statusCode is 204 (No Content)
        • #55 Added ability to set secureProtocol to a value.
      • #2418 Add regex to allow leading $ and _
      • #2420 Update hapijs/shot to 1.4.1 from 1.4.0
        • hapijs/shot 1.4.1
        • #22 Use hoek to assign defaults to options passed to inject
      • #2423 Update mime-db to 1.7.0 from 1.6.1
      • #2405 Support inline dependencies on plugins
      • #2402 Improved validation of route method label
      • #2332 Replacing plugin.dependency() with attributes key
      • #2396 Inert 2.1.3 update
      • #2397 throw when attaching route handlers without a connection
      • #2374 Server methods context not available in route prerequisites
      • #2392 No Payload Validation
      • #2395 Update jshttp/mime-db to 1.6.1 from 1.5.0
      • #2370 Add xss protection to validation response
      • #2362 Don't respond to connections until listening is started
      • #2363 Refuse to handle incoming request after server is stopped
      • #2347 Improve error message when validation.payload is set but type is GET
      • #2309 Fixes #2308 by logging boom error object instead of just message
      • #2308 Logging boom errors from handlers should send boom error to log not just message
      • #2372 inert 2.1.2
      • #2359 Remove '{}' payload from cors OPTIONS response
      • #2354 Update API.md for inert 2.1.0
      • #2366 Update hapijs/catbox to 4.2.1 from 4.2.0
        • hapijs/catbox 4.2.1
        • #116 Prefix keys with a '+' when using object as a hash
      • #2355 Fix table labels
      • #2335 Expose the request object in inject()
      • #2277 Fix invalid response for empty reply() (v8.x regression)
      • #2316 Update jshttp/mime-db to 1.5.0 from 1.3.1
      • #2302 allow replying with a stream as returned by node core http client methods
      • #2301 can't reply with stream returned by node core http client methods
      • #2291 external listener protocol issue
      • #2331 Revise range tests to not depend on the inert module
      • #2324 Remove catch call for promise replies
      • #2323 Promise support
      • #2300 Bumped mime-db version
      • #2271 Update jshttp/mime-db to 1.3.0 from 1.2.0
      • #2270 Update hapijs/boom to 2.6.1 from 2.6.0
        • hapijs/boom 2.6.1
        • #40 Lab 5.0, code 1.0
      • #2269 Update hapijs/shot to 1.4.0 from 1.3.5
        • hapijs/shot 1.4.0
        • #19 optionally accept an object as the url
      • #2268 Update hapijs/joi to 5.0.2 from 5.0.0
        • hapijs/joi 5.0.2
        • #505 Convert date regex to date before comparison. Closes #503.
        • #503 Joi.date().iso() throws error when required() is used.
        • hapijs/joi 5.0.1
        • #502 Joi.array() modifies original array
      • #2262 Change server.table() result from object to array
      • #2255 Throw when calling reply() with objectMode stream
      • #2249 Add 'uri' connection option
      • #2247 Split debug settings per event type
      • #2246 plugin dependencies error message changed
      • #2234 Support views in auth schemes
      • #2243 Fix reply.continue() in prerequisite.
      • #2244 Fix reply.continue() in prerequisite. Closes #2243
      • #2242 Uncaught error: Cannot read property 'isBoom' of null in hapi/lib/handler.js
      • #2241 Remove string notation method logging when cache not setup
      • #2226 When using string shorthand in pre it does not provide reply interface
      • #2240 Cached method in string notation bypasses cache
      • #2238 Conditional Validation Rules based on Auth
      • #2233 Populate connection.info.uri before start when port 0
      • #2237 Support bare server (no files, proxy, views)
      • #1971 Allow plugins to extend Server
      • #2231 Change request.route to a wrapper object containing settings
      • #2235 Expose realm as public interface
      • #2230 Replace server.config with server.realm.modifiers
      • #2229 plugin.expose() only sets server.plugins, not connection.plugins
      • #2190 Log heavy load reason when check() is false
      • #2220 A method to test a string against the routes table
      • #2228 Update hapijs/joi to 5.0.0 from 4.9.0
        • hapijs/joi 5.0.0
        • #498 array().single()
        • #497 array.unique doesn't validate duplicate dates
        • #494 Joi.number allows Infinity
        • #462 Return context with errors.
        • #486 array().includes() should not allow undefined
        • #485 Round number.precision if options.convert
        • #489 add missing semicolon
      • #2227 Update moment to 2.8.4
      • #2224 Cleanup connection.info settings and introduce 'address' config
      • #2219 Update hapijs/hoek to 2.10.0 from 2.9.0
        • hapijs/hoek 2.10.0
        • #109 Enhance shallow clone methods to support nested keys
        • #110 enhance withShallow methods to support nested keys. Closes #109
        • hapijs/hoek 2.9.1
        • #108 Fix applyToDefaultsWithShallow default clone. Closes #107
        • #107 applyToDefaultsWithShallow() fail to retain defaults shallow key
      • #2216 Invalid deep cloning of bind context
      • #2217 Disable scope checking on a route
      • #2215 Revert change to trailing slash behavior
      • #2209 Not possible to add route in plugins
      • #2203 Move connection route config to route with connections defaults
      • #2206 Change server.bind() and server.path() to apply only to routes that follow
      • #2205 Rename plugin register() route option to routes
      • #2201 Rename cacheControlStatus to cache.statuses
      • #2200 Validation failAction and custom function are not protected
      • #2199 add missing variety handler for promises returning a object
      • #2198 Update hapijs/call to 2.0.1 from 1.0.0
        • hapijs/call 2.0.0
        • #10 Support route id
        • #3 Support for flexible routes
        • #9 /a/{p}/{p*} conflicts with /a/{p*} (which is not reachable)
        • #8 '/a/b/{p*}' is more specific than '/{p*5}'
        • #7 /a/b/{p*} is more specific than /a/{b}/{c}
        • #6 '/a/{b*}' is less specific than '/a/{b}/{c*}'
        • #2 Match case-insensitive paths with no params
      • #1939 Reverse Routing a URL
      • #2185 Update hapijs/catbox to 4.2.0 from 4.1.0
        • hapijs/catbox 4.2.0
        • #109 Return cached on error when dropOnError is false
        • #105 StaleIn can be function.
        • #113 Allow empty keys
      • #2181 Remove server method cache key 'h' prefix
      • #2179 server.register() doesn't work with direct require of plugins (-rc1)
      • #2156 Rewrite reply() interface section
      • #1945 IE <=8 doesn't accept application/javascript as a mimetype
      • #2178 Update hapijs/mimos to 2.0.2 from 1.0.1
        • hapijs/mimos 2.0.2
        • #8 Change source from hapi to mimos
        • hapijs/mimos 2.0.1
        • #7 Improve performance for testing
        • hapijs/mimos 2.0.0
        • #6 Added ability to override entries in the mime database.
      • #2157 Link mentions of methods to their reference
      • #2177 Return select() on server.connection()
      • #2155 Cleanup and document all internal request logs
      • #2175 Update jshttp/mime-db to 1.2.0 from 1.1.2
      • #2174 Update hapijs/qs to 2.3.3 from 2.3.2
        • hapijs/qs 2.3.3
        • #59 make sure array indexes are >= 0, closes #57
        • #58 make qs usable for browser loader
      • #2173 Update hapijs/catbox-memory to 1.1.1 from 1.1.0
      • #2172 Update hapijs/boom to 2.6.0 from 2.5.1
        • hapijs/boom 2.6.0
        • #33 Added status code 429 Too Many Requests.
      • #2170 Spin off range header parser
      • #2066 Configure auth scheme to require payload validation
      • #2111 CORS matchOrigin should echo origin when config doesn't specify
      • #2158 How to get default auth strategy from server object?
      • #1994 Pass meta data from a joi object to a failAction
      • #2167 Add response 'close' processor
      • #2166 ETag vary modification not applied to content-encoding set elsewhere
      • #2165 Expose request.paramsArray
      • #2164 Bypass compression on empty payload
      • #2163 ETag vary modification is incorrect
      • #2099 ETags never match with varyEtag setting
      • #2160 Add cors.override setting
      • #2154 Rename response object option marshall to marshal
      • #2153 Change etag based on vary header by default
      • #2093 Include ETag and Last-Modified in 304 response
      • #2152 Change server method generateKey() to only take the arguments
      • #2148 Optimize use of arguments
      • #2150 argument Object Optimizations
      • #2129 Support promises in server.method()
      • #2149 Support server methods without callback
      • #2122 Pass the reply() interface everywhere a response can be returned
      • #2146 Deep copy app and plugins configurations
      • #2124 Server-level connection defaults
      • #2145 Split request log events into request and request-internal
      • #2048 New Event for request.log
      • #2144 Rename server event internalError to request-error
      • #2143 Replace log 'hapi' tag with event.internal flag
      • #2142 Rename request.responses to request.preResponses
      • #2104 Apply reply.continue() to auth interfaces
      • #2137 Remove auth authenticate() log option in result
      • #2136 Here comes 8
      • #2135 Remove Hapi.version
      • #2131 Simplify server.register() to only accept register() or { register, options }
      • #2128 Change server.method() object key from fn to method
      • #2097 Support Promises in reply() interface
      • #2126 Change server.cache() to take only options
      • #2125 Remove .hapi references
      • #2118 Cleanup register() to accept a plugin or { plugin, options }
      • #2116 Move peek logic to Peekaboo
      • #2040 Improve request ID generator to prevent collisions
      • #2113 Missing host will default to hostname or 'localhost' instead of '0.0.0.0' pre start()
      • #2112 Switch unix domain socket and windows named pipe to use options.port
      • #1977 Throw when route() is called with multiple arguments
      • #2003 Stop cache client when pack stops
      • #1926 Remove special handling of the HTTP Location header
      • #2109 Remove request aborted listener
      • #1902 reply.redirect() and reply.file() not working in server extensions
      • #2103 Change ext continuation method from reply() to reply.continue()
      • #1965 Need to know when response was sent in server.on(tail)
      • #2065 failing to generate a method key should generate an error somewhere
      • #2089 Server method generateKey no longer supports returning null as valid no caching indicator
      • #1963 Extensible reply() interface
      • #1866 Throw error when trying to reply twice
      • #1864 Feature Request: Validation of non-200/ok responses.
      • #1723 Allow response object stripping according to schema
      • #2096 Skip onPreResponse when connection closes prematurely
      • #1686 Don't report request closed on redirect payload write
      • #2086 Remove bin/hapi
      • #2085 Remove server.compose()
      • #1672 Enable starting the server listener externally
      • #2095 Rework composer format
      • #2092 Change default port to 0
      • #2090 Remove plugin.version
      • #2084 Remove Hapi.state.prepareValue()
      • #2083 Remove Hapi.error
      • #2082 Remove Hapi.createServer()
      • #2052 Remove plugin.length
      • #2053 Change plugin.servers to plugin.connections
      • #2071 Move proxy handler to use local maxSocket config
      • #2072 Remove debug from server configuration
      • #2073 Split process load from server load limits
      • #2076 Move files.etagsCacheMaxSize to pack level
      • #2080 app config no longer copied over to server.app or connection.app
      • #2123 Upgrade hoek to 2.9.0
      • #2120 TypeError: Cannot read property 'get' of undefined
      • #2105 Added ability to pass option into unstate.
      • #1916 Temp file is not deleted when request is aborted by client
      • #2100 Global view context.
      • #2069 Isolate server in its own pack
      • #2061 Second phase of server/pack/plugin refactor
      • #2057 Pack refactor
      • #2039 Added npm-shrinkwrap
      • #2038 Move cli logic to rejoice
      • #2036 Move lru-cache to inert
      • #2034 Lab 5.0
      • #2035 lab 5.0 features. Closes #2034
      • #2028 Improve error message when auth scope is insufficient
      • #2029 Fixes #2028. Updated error message for invalid scope to explain that any of the specified are sufficient
      • #2024 Resolve undefined environment variables to the empty string in the cli.
      • #2022 Spin off file and directory to inert
      • #1913 Change proxy localStatePassThrough setting default to false
      • #2021 Override server files.relativeTo config per route
      • #2020 h2o2 2.0
      • #1941 Remove route from handler registration arguments
      • #2019 Catbox 4.0
      • #1954 Remove support for catbox getOrGenerate()
      • #2017 Initial 7.0 changes
      • #2016 Remove $env support from pack.compose()
      • #1955 Use environment variables in CLI configuration json file
      • #2011 Hapi should not override cache-control header if it's manually set by user's code
      • #1960 Remove support for tos authentication setting
      • #2007 Remove server views config
      • #2010 Heavy
      • #2002 show route method in error message
      • #1984 All non 200 responses get cache-control=no-cache header
      • #1995 Adding route with multiple methods overrides route config
      • #2001 Keep the options of server.inject untouched #2000
      • #2005 Replace negotiator
      • #1998 Migrate payload parsing to subtext with multipart support via pez
      • #1993 Replaced optimist with bossy
      • #1928 Handle empty or falsy charset in response
      • #1968 Vision / Mimos
      • #1959 Fix server/plugin ext views conflict
      • #1958 Move proxy handler to h2o2
      • #1956 Fix Content-Type overriding
      • #1944 Move router to Call
      • #1934 Fix non-spec compliant Last-Modified header in response
      • #1932 handle empty CORS expose-headers header response
      • #1922 Handle server methods without cache as special case
      • #1828 Disable compression on file types already compressed (png, jpg)
      • #1905 Replaced mime-type with mime.
      • #1889 Upgrade to wreck v5
      • #1919 Log method pre string notation
      • #1915 Issue/1911
      • #1885 Handler timeout with onPreResponse asserts on bad protect
      • #1884 Improve protect logging
      • #1881 update qs dependency
      • #1863 Allow agent to be set on proxy options and passed into Nipple.
      • #1878 Rename private route members
      • #1877 Move state.js to statehood module
      • #1875 Session scope does not match one to many auth.scope on route.
      • #1871 Switch to wreck
      • #1856 Allow view options override on handler object
      • #1858 Fix typo in defaults.js
      • #1857 Manifest validation tests server config before defaults applies
      • #1851 Updated route documentation.
      • #1844 Replace async
      • #1842 Lab 4.00
      • #1840 No longer possible to load caches using CLI?
      • #1835 server.state ttl must be a number
      • #1795 request.server._views in plugin
      • #1832 Replace mime with mime-type
      • #1822 Added joi validation to manifest.
      • #1810 set X-Content-Type-Options to nosnif for jsonp responses
      • #1827 Cannot call setTimeout with non-integer msec value
      • #1826 Support cache generateTimeout setting
      • #1820 Rename spumko to hapijs
      • #1801 Stale dependencies
      • #1767 plugin.location
      • #1790 Expose authentication mode
      • #1769 Plugin X missing dependency Y in server if manifest.plugins key order not carefully managed
      • #1754 File handler to handle 206 Partial Content?
      • #1788 Last-Modified comparison needs to account for 1 second precision
      • #1778 Do not create a duplicate Content-Type header on proxy passthrough
      • #1774 Style fixes
      • #1766 prepend jsonp callbacks with a comment to prevent the rosetta-flash vulnerability
      • #1763 fixes #1755 - stripTrailingSlash doesn't work when query variables are used
      • #1760 How can I set Content-Type header to the content generated from reply.view?
      • #1762 fix content-type overriding issue #1760.
      • #1733 log function should only emit once if _server object
      • #1783 Change etag when content-encoding is used
      • #1782 server.inject() res.result does not reflect actual payload sent on 304/204
      • #1781 Send empty payload on 204
      • #1756 Follow coding conventions concerning semicolons; Don't initialize variab...
      • #1776 Proxy pass-through with onResponse fails to preserve vary header values
      • #1773 Windows path fails on trailing slash on view helpers
      • #1676 Problem serving precompressed files with directory handler
      • #1772 HEAD requests should retail etag header
      • #1771 Open open one file stream when using precompressed file
      • #1407 Skip opening file or rendering view on head or 304
      • #1752 Adding helpful error message when pack.register is missing a callback
      • #1745 Add joi validation of pack options
      • #1728 6.x breaks plugin modules exporting functions
      • #1720 No way to handle root routes with route: {prefix: '...'}
      • #1719 Fixes undefined error in plugin.dependency
      • #1710 Buffer based passwords fail schema validation (6.0 regression)
      • #1708 Hapi 6.0 no longer invalidates auth strategy on registration of route
      • #1703 Catbox 3.0 and drop internal require support
      • #1700 Change the order of actions when starting a pack
      • #1668 Delete 'Accept-Encoding' header on proxy requests
      • #1696 Non-Error auth err responses are ignored in try mode
      • #1695 Preserve auth error on try
      • #1691 V6.0
      • #1693 Enhance setting authentication defaults
      • #1692 Allow testing a request against any configured authentication strategy
      • #1688 Bring back reply.redirect()
      • #1687 Don't log auth non-error responses with 'error' tag
      • #1679 Allow cookie-specific settings for failAction, strictHeader, and clearInvalid
      • #1678 Expose the location header logic
      • #1677 Enhance manifest format to support registration options (select, prefix, vhost)
      • #1674 Make plugin register() and dependency() selectable
      • #1675 Remove pack.list
      • #1673 Make plugin.events selectable
      • #1663 Allow register to pre-select servers
      • #1662 Config clones bind, app, and plugins
      • #1661 View manager clones engines including modules
      • #1658 Set route path prefix when loading plugin
      • #1659 plugin.view() modifies options' basePath
      • #1656 Remove pack.require() and plugin.require()
      • #1655 Remove support for string view engine config
      • #1653 Move Composer into Pack.compose()
      • #1652 Remove composer support for multiple packs
      • #981 Scope plugin routes to a virtual host
      • #1579 Add option to remove trailing slashes to router
      • #1574 Document the best way to implement a 404 from the directory handler when using path callback
      • #1573 Server throttling controls do not log execution
      • #1508 Escaped error message with regex validation
      • #1477 proxy xforward option will set bad headers in some cases
      • #1581 Authentication throws are treated as valid reply()
      • #1644 request.params contains empty strings for missing optional params
      • #1643 Expose cross inputs as validation context
      • #1642 Cjihrig header validation
      • #1641 Upgrade to joi 4.x
      • #1622 Extend Hapi cli to enable loading a module before loading hapi
      • #1638 Unahndled Exception when a request is aborted
      • #1634 Request domain leaks request object
      • #1635 Remove reference to request in domain. Closes #1634
      • #1633 Rework domains to single entry
      • #1632 Clean response objects for aborted requests
      • #1461 Security headers
      • #1583 Support JSON-derived media types
      • #1604 response emitter fails to retain custom event listeners once sent
      • #1597 Template helpers fail on relative paths
      • #1598 Throws when response does not have _close()
      • #1594 Can jsonp be optional?
      • #1567 allow defaultExtension
      • #1590 RSS leak occurs when request does not read entire stream response
      • #1569 Move ext topo sort to its own module
      • #1566 Precompile joi validation
      • #1548 wip: fix windows bugs
      • #1560 4.0.0
      • #1559 joi 3.0
      • #1558 Change Hapi.utils.version() to Hapi.version and remove Hoek alias
      • #1547 Make certain that path is relative before joining it to relativeTo
      • #1554 coverage, closes #1524
      • #1524 Coverage after lab partial condition result coverage
      • #1521 Allow plugins to register handler types
      • #1551 add an insecureAgent when maxSockets is set, closes #1512
      • #1525 expose filename and headers for streams in a multipart form
      • #1523 Question: How to validate payload with templated response properly ?
      • #1541 Clarify that statusCode key of stream response passed in response
      • #1540 Pre-gzipped source stream not properly tested for being the active source
      • #1538 Passing Error objects can leak message in 500 response
      • #1536 maxEventLoopDelay fails to catch when load is too high to reach next sample interval
      • #1535 Cannot set maxSockets to node default
      • #1533 Proxy without passThrough fails to set cache-control header
      • #1532 Multipart payload to files with multiple files skips second file when large
      • #1531 pack.log() doesn't retain server debug false setting
      • #1530 plugin.method() should use method bind before plugin bind
      • #1515 Coverage to 100% after lab logical statement support
      • #1520 server.table() mis-documented, missing args, and route.table() is wrong
      • #1518 Server timeout config allows invalid values
      • #1517 Proxy handler payload config validation using incorrect variable
      • #1514 Server allows duplicate lables
      • #1513 Authentication userland code not protected by domain
      • #1507 request.setUrl('') throws
      • #1503 plugin.method(name, fn, [options]) fails
      • #1466 Drop support for server helpers
      • #1458 Removed Http(s) globalAgent settings
      • #1485 Bring coverage back to 100% after lab fix
      • #1476 add PATCH to default cors methods, closes #1475
      • #1475 Include PATCH method in options/cors/methods default
      • #1478 Use joi 2.8 alternatives()
      • #1465 Migrate to catbox 2.0
      • #1473 Drop dtrace support
      • #1455 Print to console server logs based on debug config
      • #1451 Objects created in plugin.dependency or plugin.after are monitored by the wrong domain
      • #1452 Perhaps include request.pre in handler view context
      • #1453 Include prerequisites in default view context. #1452
      • #1445 Server method bind option
      • #1450 Enable handlers to use the prerequisite method string notation
      • #1449 Allow server methods names to include '.' (nested)
      • #1448 Prerequisite string notation parsing errors
      • #1447 Allow prerequisites string notation to use method name without ()
      • #1446 Document server method callback 'isUncacheable' argument
      • #1442 Response 304
      • #1440 Redirecting from within an Auth.Scheme generates a Circular Reference
      • #1439 proper etag formatting
      • #1434 Allow overriding the filename in content-disposition headers
      • #1432 Replace server helpers with server methods
      • #1299 thrown errors inside server.inject does not propagate
      • #1430 Server fails to parse "" cookie value
      • #1428 request.getLog() includes same event multiple times when using multiple tags
      • #1424 Searching actual working SSE example (#1008 does not work for me)
      • #1425 return a reference to the server when adding via pack.server
      • #1419 Send newline \n after all responses
      • #1320 Add support for asynchronous view rendering
      • #1372 test that handler isn't called when a request is interrupted
      • #1362 (cookies) TypeError: Cannot call method 'match' of undefined
      • #1378 add failureResponse option to proxy handler
      • #1354 Use configuration objects to register helpers
      • #1380 Allow bind context for view handler
      • #1382 Make joi optional for route validation
      • #1404 Protect JSON.stringify from throwing.
      • #1395 JSON circular structure error in authentication error logging
      • #1405 Call parseInt() for Joi-validated integers
      • #1414 Sending incorrect status code (200) when file fails to open before transmit
      • #1413 File stream is opened before necessary (e.g. if replaced by another response in ext)
      • #1412 Missing file (404) not captured by onPreResponse
      • #1411 Wasteful encoder prep when response is 304 or head
      • #1410 passThrough statusCode overrides manual code value
      • #1409 Status code set from upstream without passThrough flag
      • #1408 precompressed file handle not closed when using head or 304
      • #1387 EMFILE error when hapi serves static files over period of time in hapi 2.1.2
      • #1391 Disable autoparsing without losing gzip
      • #1393 add gunzip as third option to parse; resolves #1391
      • #1400 Question: Can you get a log of requests that don't pass validation?
      • #1401 route.payload.allow as Array never matches
      • #1357 specify hoek minor version
      • #1359 Ext reply(null).state() race condition
      • #1351 Prepare for node 0.12
      • #1347 Views should not use basePath when path is absolute
      • #1344 Use the plugin loader when configured to load view engines
      • #1245 Replace request with nipple in tests
      • #1336 Allow custom view layout folder
      • #1335 Allow view layout to contain a string and boolean
      • #1322 Does Hapi support multiple view templates?
      • #1317 Cannot Parse form-encoded arrays
      • #1331 Fix query(string) regression
      • #1332 Payload always logging an error regardless of error state
      • #1327 Better debug support for object data
      • #1324 When no query params are sent, request.params is null instead of {}.
      • #1301 querystring => qs, adds support for nested objects
      • #1314 Replace old payload try mode with failAction
      • #1313 Change redirectToSlash default value to true
      • #1312 Remove special values for server config 'files.relativeTo'
      • #1311 Implement saving payload to file when not using mutlipart
      • #1304 Request 'peek' event
      • #1300 Do not overwrite Access-Control-Allow-Origin
      • #1297 Document validation option in settings
      • #1295 Replace route payload.mode with payload.output and payload.parse
      • #1292 Skip loading entire multipart to memory and stream directly to multiparty
      • #1168 Save stream to file like {mode: 'file' ...}
      • #1236 Review lru-cache settings
      • #1239 Disable cache when Authorization header is included
      • #1241 Add user/private flag to state variable
      • #1282 Security tests using reply().setState() which throws
      • #1264 requesting url that is not encoded correctly should return 400, not 404
      • #1291 Remove server config normalizeRequestPath and default to true
      • #1290 Partial path param match /a{b}c does not apply isCaseSensitive
      • #1288 Move auth schemes to plugins
      • #1287 Split server.auth() into server.auth.scheme() and server.auth.strategy()
      • #1286 Expose response preview as public API
      • #1284 Expose request.response and change it to direct ref from func
      • #1285 Change authenticate() callback to reply interface
      • #1269 Manage state all in the request
      • #1281 Change authenticate() callback signature
      • #1280 Support node callback pattern (err, result) for reply()
      • #1279 Convert ext method signature to handler
      • #1270 Apply encoding to Response.Payload operations consistently
      • #1272 Redo reply.close()
      • #1277 Emit 'internalError' for every 500, not just the one sent back
      • #1276 Retain headers in 304 response
      • #1275 Boom 2.0
      • #1274 Fixed code example in README to comply with 2.0.x
      • #1238 Special handling for '*' Vary response header
      • #1059 Allow route prerequisites to takeover() and preempt handler
      • #1222 Proxy passthrough does not allow for cookie domain modification
      • #1247 Clean up postResponse in proxy config
      • #1253 in directory, fix the listing of subdirs that reside in a subdirs that have spaces
      • #1268 Expose more response properties
      • #1267 Add 'app' and 'plugins' to response object
      • #1266 Remove 'response.variety' support
      • #1262 Remove response.getTtl()
      • #1261 Rename response.uri() to response.location()
      • #1258 Default Buffer responses to application/octet-stream
      • #1256 Remove access to internal response types
      • #1233 Clarify server app config usage
      • #1246 Allow zero key helpers with cache
      • #1249 Cleanup use of request._route.cache and request.route.cache
      • #1248 Review proxy upstream ttl passing
      • #1254 File response leaks fd if gzipped stream used instead and the other way.
      • #1251 Replace File from response type to reply.file() helper
      • #1252 Protect response payload stream wrapper from multiple replays
      • #1242 Remove server-side route caching
      • #1231 request.log() no longer adds 'error' tag if data is Error
      • #1234 Move client out to separate module
      • #1229 Add req.on('error'/'close') to request object processing
      • #1189 Attaching a websocket to a server in a pack
      • #1230 Remove plugin permissions
      • #1219 pack.require doc is somewhat incorrect
      • #1223 views.helpersPath requires .js files
      • #1228 Client request timeout and downstream listener not set when payload is a stream
      • #1183 Remove use of removeAllListeners()
      • #1207 Accessing the response stream.
      • #1216 Remove support for notFound handler string
      • #1215 Content-type charset attribute not added to streams
      • #1214 Allow specifying a list of method in route config
      • #1208 Route error message does not include information about which route failed
      • #1209 Duplicate parameter error is missing route information
      • #1211 Move all response payload processing to _prepare
      • #1205 Honor options.bind in ext
      • #1204 Rename handler/ext context to bind
      • #1202 Move handler and ext context to use this
      • #1200 Removing confidence, alce from composer and CLI
      • #1194 Remove support for decorating request with reply()
      • #1191 Cannot use multiple parallel pre methods in handler mode
      • #1195 Move request.context to request.reply.context
      • #1192 Change pre type to always use handler mode
      • #1190 Move Obj stringify step to _prepare
      • #1187 Change pre to use nested arrays instead of mode (serial, parallel)
      • #1049 Validate pre config schema
      • #1155 404 not being caught by onPreResponse function
      • #1182 Error transformation does not work when serving static files
      • #1185 be more careful about options in _provisionCache
      • #1176 Unify stream and buffer responses
      • #1175 Allow disabling CORS for individual route
      • #1174 Adjust CORS origin header options
      • #1171 Only emit vary origin for CORS wildcard mode
      • #1169 Remove load samples and add protection against interval sample falling behind
      • #1165 Switch benchmarks to use Hoek.Bench instead of Date.now()
      • #1163 CORS response doesn't set Vary header in all cases
      • #1157 route cache config does not allow specifying name
      • #1156 Honor upstream ttl when proxying
      • #1152 Load sampling and limits
      • #1150 Support multiple cache instances
      • #1148 Return 401 when allowEmptyUsername is false and username missing
      • #1147 Add request.reply.proxy()
      • #1146 Expose proxy functionality as a utility
      • #1070 TypeError when validate.* is set to false
      • #1102 How to exclude views from layout
      • #1140 Not able to login after attempting without user name
      • #1144 Support pre-compressed files
      • #1142 Fix ext function plugin env binding
      • #1137 generateView at 'onRequest' extension point
      • #1135 Formatting problem in Reference.md
      • #1136 Handlebars 1.1.x uses prototype for registerPartials which breaks its use in Hapi
      • #1129 support for iisnode and windows named pipes
      • #1123 add ability to listen on unix domain socket
      • #1133 Joi 2.0
      • #1124 Use ALCE for manifest loading.
      • #1103 allow arrays of scopes on routes
      • #1116 CORS origin bug fixes and enhancements
      • #1091 Only set access-control-allow-origin if the origin header value matches (or '*' is allowed)
      • #1113 updates plugin.views Reference.md entry to a clear and working example
      • #1094 404 not being caught by onPreResponse function
      • #1112 Too strict cookie parsing?
      • #1114 What is the best way to access request headers?
      • #1098 Add criteria support to CLI
      • #1092 Empty path parameter should have empty string value, not undefined
      • #1028 Expose requests content-type/mime & accept
      • #1024 Hapi.Composer.compose() requires "plugins" but won't warn if it's not there
      • #995 Block response.created() from methods other than POST and PUT
      • #1090 Support partial path segment parameter
      • #1061 POST requests with Content-Type=text/plain
      • #1004 validation fails when using Hapi.types.Object() at the root
      • #1088 Plugin dependencies
      • #1085 Validation options
      • #1083 Normalize response headers to lowercase field name
      • #1076 Test for both formats of Content-Encoding header
      • #1081 Migrate to Iron 1.0
      • #1074 Route-specific validation error handler
      • #1077 Add compileMode to schema.js
      • #1067 Bug fix for loading ext auth scheme into multiple servers
      • #1064 Helper cache drop interface
      • #1057 '/{p*}' is sorted ahead of '/{a}/b/{p*}'
      • #1056 Allow directory paths to include multiple params and use last for resource selection
      • #1058 Closes #1056 and #1057
      • #1054 Enhance prerequisites configuration options
      • #1030 Problems with routes
      • #1044 Reverting changes to generic/stream responses
      • #1037 Stream responses emit response event
      • #1033 Node 0.11 bug fixes
      • #1034 Upping shot dep version
      • #1032 Updating boom version to 1.0.0
      • #1019 Depend on Joi v1.1.x
      • #1029 Using latest hoek and moved to AUTHORS file
      • #1017 Overrides Cache-Control in proxy even when no local policy is defined
      • #1016 Adding helper with cache to pack with multiple server crash
      • #1014 plugin.helper should be selectable
      • #1005 Improve server constructor argument validation error reporting
      • #1001 Pack event handlers now support correct args
      • #998 Adding dtrace probes
      • #993 Plugin context
      • #996 Remove Directory and View from cacheable responses
      • #994 Server level cache
      • #959 Adding foundation for dtrace probe support
      • #980 Add interface to register local require function with plugin api
      • #979 Confusing error message when configuring auth using default strategy when none configured
      • #978 Change plugin ext permission default to true
      • #976 plugin.require support
      • #974 Pack start/stop events
      • #971 Use instanceof Error + isBoom to replace instanceof Boom
      • #968 Changes to plugin.hapi and the cookie scheme
      • #970 Removing complexity-report
      • #967 Authentication defaultMode allowed invalid values
      • #966 Expose the hapi module on the request object
      • #963 Question: should pack.register's register pack parameter should be renamed to plugin?
      • #965 Change parameter name pack to plugin to resolve #963
      • #962 Server config schema does not allow single string labels
      • #960 Updates to case sensitive routing
      • #958 Path params are no longer lowercased in router
      • #955 Update Reference.md plugin.lenght to plugin.length
      • #951 use .isBoom instead of instanceof Boom
      • #949 Error when hawk payload validation is required but the request contains no hash
      • #948 reference multiparty instead of formidable
      • #946 Updating example to be clearer
      • #944 Found some small typos/formatting issues in Reference.md
      • #943 Updating version
      • #942 Layouts work correctly in jade
      • #941 No longer destroying request socket
      • #938 Fixed the code example to get Hapi's version
      • #936 Allow omitting trailing slash when last segment is an optional parameter
      • #933 Updating version to 1.8.1
      • #928 Removing listeners on domain when exiting
      • #927 Removing global variable
      • #925 Fixing edge case where bad path can cause issues with url.parse
      • #924 Issue/922
      • #922 Handling directory routes that end both with and without a trailing slash
      • #923 remove connection event listeners when server stops
      • #920 Upping version to 1.7.3
      • #919 Client now handles downstreamRes close event
      • #915 custom cache engine support
      • #912 Fixing aborted causing duplicate res.ends issue with incoming request
      • #911 Allow client.request calls without a callback (ignoring response)
      • #910 Client does not destroy request on redirection error
      • #907 Adding test
      • #906 Proxy requests are closed when server response already sent
      • #904 Issue/902
      • #903 Fixing issue where timeout occurs after socket close in client
      • #901 Performance tweaks
      • #897 Hapi node_modules_path now supports symlinks
      • #891 Exposing rejectUnauthorized property on proxy
      • #889 Plugin view engine required from hapi's module path, not plugin
      • #887 Default auth scheme only works when scheme is added with 'default' name
      • #868 Potential leak when aborting reading a payload if max size reached
      • #872 Test for invalid incoming path without leading '/'
      • #869 Request._replyInterface called twice but does not share wasProcessed state
      • #870 Response treats objects as errors based on too trivial keys
      • #885 Fix plugin.path
      • #883 Cleanup pack requirePath
      • #871 * allowed in path but used as special character in route fingerprint
      • #880 Performance and hawk options
      • #879 Support all Hawk and Bewit options
      • #878 Adding Client request socket timeout
      • #863 Absolute paths now work correctly with hapi command
      • #860 Adding hapi bin test and fixing issue with no plugins
      • #862 Minor performance tweaks
      • #859 Fixing test
      • #858 Added missing done() call in test
      • #856 Remove _log() wrapper
      • #846 Request: View configuration to autoload helepers
      • #854 Move to use multiparty
      • #853 New internal proxy handler
      • #850 Increasing allowed sockets to 10 for client
      • #848 Template settings override fix
      • #845 Generic response fails to account for all possible res events
      • #844 Proxy to outside site fails due to request's old stream api and node 0.10 wrap()
      • #843 Allow setting custom headers via proxy mapUri
      • #839 Cleanup listeners
      • #838 Issue/808
      • #837 Issue/812
      • #834 Pack throws an AssertionError if the requirePath is not absolute
      • #835 Pack: Automatically resolve the requirePath if provided
      • #832 Allow route.payload config to be an object with mode
      • #833 closes #832
      • #830 Add payload 'try' parsing mode
      • #831 Closes #830
      • #828 Add HttpOnly support to cookie auth
      • #827 request debug printout format and condition
      • #820 Clarified the format of payload in server.inject in the Reference doc
      • #824 Issue/821
      • #823 Issue/822
      • #822 JSONP doesn't seem to be working
      • #817 Payload bugfix for PATCH method
      • #818 Tiny composer documentation fix
      • #814 Fixed jade compile issues and updated tests to verify fix.
      • #804 Remove restriction on params in path for static file handler
      • #813 text/* content-type always echo back the received content
      • #796 Allow unencoded double quote and backslash in the cookie value
      • #793 Use new assert with passed parameters instead of concat string
      • #791 Test fails: Auth Hawk includes authorization header in response when the response is a stream
      • #789 Streams not properly being closed for static files when browser gets cache hit
      • #788 Need more detailed documentation for "next" callback for event handlers
      • #787 Expose Plugin File Path
      • #767 Verify every example works with 1.0
      • #780 Relative path redirection should have vhost support
      • #768 Directory handler example
      • #784 Change server helper options.generateKey to receive the same arguments as the helper method
      • #782 Payload parsing should be based on request method, not path method
      • #781 Do not set request.state[name] when value is invalid regardless of failAction
      • #779 Add server config location for Location header prefix
      • #776 Streamline request.reply()
      • #771 Multipart upload issue
      • #765 Refactor views manager configuration
      • #752 Shared config for plugins
      • #751 Cleanup Unmonitored error
      • #759 Feature/misc
      • #758 cookie authentication example fails with 1.0.0
      • #755 Views now render without child path
      • #745 Basic Authentication callback with no username/password returns 500
      • #742 Remove built-in Oz support
      • #741 Remove Raw response type
      • #739 Adding server.stop support for destroying connections after a timeout
      • #738 Support for Access-Control-Expose-Headers in the CORS options
      • #736 Node v0.10
      • #656 Support for virtual hosts
      • #727 Fix hawk response header edge cases
      • #726 Misc features
      • #725 Debug enhancements
      • #714 Adding remote address and referrer information to request.info
      • #724 Route validation is now using payload instead of schema
      • #716 Errors when preparing a response now emit internalError correctly
      • #715 Auth api refactor
      • #700 Adding security tests and fixing security bugs
      • #686 Pack auth api
      • #683 Pack and cache API refactor
      • #723 Global autoValue cookie overwrites other cookies
      • #722 Proxy shares cookies across different sessions
      • #717 Auto cookie value
      • #682 Bypass node http bug in writeHead
      • #678 Updating tutorials and adding a plugins list doc
      • #674 Adding missing branch tests
      • #677 Fix ext() with function array bug
      • #670 internalError event
      • #669 Optimize prerequisites and protect
      • #663 Full plugin deps
      • #662 Plugin deps
      • #659 handler interface api styles
      • #653 Add request defensive protection
      • #642 Adding hawk response auth header
      • #649 Migrate to lab (from mocha)
      • #638 Event tags
      • #632 Adding example of cookie failAction
      • #635 Cleanup
      • #634 Domains
      • #633 pack interface cleanup
      • #630 shot 0.1.0, Buffer response type, encoding
      • #619 hawk 0.10, payload cleanup, text/* parse support
      • #617 Upgrade to Hawk 0.9.0
      • #615 Using path.join where possible
      • #616 Cookie Max-Age is in seconds, not msec
      • #613 Fix proxy mapUri query bug, allow pack.api to specify key
      • #612 Remove monitor
      • #611 Adding vhost tests
      • #609 Virtual hosts support
      • #610 Cleaning up test and stream response
      • #607 Adding basic crumb CSRF information to reference guide
      • #602 Relative paths
      • #595 Fixing gzip stream test to use simple stream
      • #596 Adding request payload section
      • #594 Adding deflate support to stream response
      • #593 Adding graceful shutdown from QUIT signal event
      • #592 refactor router
      • #591 Fixing test to be isolated
      • #589 Sending a gzipped proxy response now works correctly
      • #585 Server.stop now stops gracefully
      • #587 Composer config options
      • #577 Beef up file etag tests
      • #563 Using memory instead of redis for test
      • #561 Composer
      • #553 Pack server event and socket timeout override
      • #543 Fix scoping bug when using multiple helper prerequisites
      • #438 Adding support for payload authentication validation
      • #537 Update docs/Reference.md
      • #531 JSONP
      • #523 Set CORS origin header to incoming request origin if allowed
      • #522 rename helmet to tv
      • #512 Direct use of Boom (0.3.0)
      • #496 Distributable cache for files
      • #500 Cookie parsing fails if encoding set to 'none'
      • #501 Response refactor, bug fixes
      • #498 Adding code coverage support using blanket
      • #494 fix typo from issue/491
      • #493 Fixing test that would fail periodically
      • #482 Parse cookies before authentication
      • #481 Adding log tag filtering information to readme
      • #480 Cleaning up this. use
      • #478 Cleanup ext options and error handling
      • #475 Simplify path regex
      • #474 0.13.2
      • #466 Directory listing at top level folders now link correctly
      • #472 Fix matching of wildcard path param with trailing /
      • #463 Typo: req.session.used -> req.session.user
      • #435 Prerequisite helper shortcut interface
      • #434 Bound handler to request, bump to 0.12.0
      • #427 CORS cleanup and Monitor defaults
      • #425 Route sorting rewrite
      • #373 Add support for private cache-control flag
      • #420 Goodies
      • #416 Auth cleanup
      • #407 Adding support for basic auth password hashing
      • #406 Update auth dependencies
      • #402 Use fixed time password comparison
      • #329 Add redirection response
      • #314 Multiple auth schemes
      • #322 Docs handler refactor
      • #317 Test helpers, mongo auth test
      • #312 Misc cleanup
      • #301 Merge, payload tests
      • #305 Hidden files can now optionally be served
      • #299 Fix issue with case-insensitive route conflic
      • #298 Prevent use of encoded non-reserved characters in path
      • #297 Refactor request path normalization
      • #294 Refactor responses, auth, payload
      • #277 Changed matching rule of {param*}, Oz tests
      • #275 Prevent basic routes collision
      • #268 Tests, extension auth schemes
      • #258 Adding support for etag and last-modified headers
      • #255 Adding support for gzip responses
      • #262 Support /path/{param*} syntax
      • #221 Adding parsing of multipart form-data content-type
      • #212 Adding proxy tests and doing a little refactoring
      • #211 Cache tests, Fix response processing header order
      • #210 0.8.2
      • #209 Tests
      • #207 Error refactor, custom error support (passThrough)
      • #206 Fixing issue with error responses being cached + test
      • #183 Cache segment validation
      • #164 Server helpers, initial response validation, Mongo support
      • #102 v0.6.0 merge
      • #101 modified new validation fns to use Utils.assert
      • #100 New Query Validation Fns Added
      • #99 Simplified request log interface
      • #63 Added in SSL cert passphrase to https server creation from settings.
      • #96 Small utils
      • #94 debug interface, log interface
      • #93 fix error on subsequent url accesses for queryval
      • #92 Fix example
      • #91 QueryValidation fixes, add default behavior for unspecified params, added small tests