Latest Updates

During the last week we’ve closed 1 issue, merged 23 pull requests and pushed 30 commits to master branch.

If you want information about modules releases in the ecosystem other than the core hapi module, you can look into issues in their respective repositories. They are labelled with release notes or breaking changes for major releases, otherwise for the minor releases check the issues milestones.

Merged pull requests

See all
  • #3889

    Reflect change of team name

  • #3888

    Add changelog.md

  • #3865

    Add rules processor first param explanation

  • #3822

    Use WHATWG URL for request.url

  • #3819

    fix typo and add missing backticks in API.md

Closed issues

See all
  • #3893

    No detail in error message of Joi validation

Changelog

17.8.1

  • #3886  Protect against invalid strategy name in server.auth.verify()

17.8.0

  • #3885  Support credentials verficiation

17.7.0

  • #3867  Specify node, hapi, and plugin version requirements

17.6.4

17.6.3

  • #3860  Update hapijs/subtext to 6.0.10 from 6.0.9
    • hapijs/subtext

17.6.2

  • #3857  Include shrinkwrap file in dist

17.6.1

  • #3856  Update hapijs/vise to 3.0.1 from 3.0.0
    • hapijs/vise
  • #3855  Update hapijs/topo to 3.0.2 from 3.0.1
    • hapijs/topo
  • #3854  Update hapijs/call to 6.0.9 from 6.0.7
    • hapijs/call
  • #3853  Update hapijs/statehood to 6.0.7 from 6.0.6
    • hapijs/statehood
  • #3852  Update hapijs/shot to 4.0.6 from 4.0.5
    • hapijs/shot
  • #3851  Update hapijs/podium to 3.1.4 from 3.1.2
    • hapijs/podium
  • #3850  Update jshttp/mime-db to 1.37.0 from 1.35.0
  • #3849  Update hapijs/nigel to 3.0.3 from 3.0.1
    • hapijs/nigel
  • #3848  Update hapijs/mimos to 4.0.1 from 4.0.0
    • hapijs/mimos
  • #3847  Update hapijs/joi to 14.0.3 from 13.5.2
    • hapijs/joi
    • #1315  Add promise-like API to validate. Fixes #1314.
    • #1314  Support promises on `validate()`
    • #1291  Add string.normalize for unicode normalization
    • #1289  Feature request: Unicode normalization
  • #3846  Update hueniverse/iron to 5.0.5 from 5.0.3
  • #3845  Update hapijs/heavy to 6.1.1 from 6.1.0
    • hapijs/heavy
  • #3844  Update hapijs/catbox-memory to 3.1.3 from 3.1.2
  • #3843  Update hapijs/catbox to 10.0.4 from 10.0.3
    • hapijs/catbox
  • #3842  Update hapijs/call to 5.0.2 from 5.0.1
    • hapijs/call
  • #3841  Update hapijs/bounce to 1.2.1 from 1.2.0
    • hapijs/bounce
  • #3840  Update hapijs/boom to 7.2.1 from 7.2.0
    • hapijs/boom
  • #3839  Update hapijs/b64 to 4.1.1 from 4.0.0
    • hapijs/b64
  • #3838  Update hapijs/ammo to 3.0.2 from 3.0.1
    • hapijs/ammo
  • #3837  Update hapijs/accept to 3.1.2 from 3.0.2
    • hapijs/accept
  • #3836  Update hapijs/wreck to 14.1.2 from 14.0.2
    • hapijs/wreck
  • #3835  Update hapijs/pez to 4.0.4 from 4.0.2
    • hapijs/pez
  • #3834  Update hapijs/nigel to 3.0.3 from 3.0.1
    • hapijs/nigel

17.6.0

  • #3827  Expose request active status
  • #3826  Update hapijs/catbox to 10.0.3 from 10.0.2
    • hapijs/catbox

17.5.5

  • #3821  onPreResponse not called when error returned/rethrown from failAction of error resp validation

17.5.4

  • #3813  redirecting in onRequest throws Cannot read property 'isOriginMatch' of null

17.5.3

  • #3808  Update jshttp/mime-db to 1.35.0 from 1.33.0
  • #3807  Update hapijs/joi to 13.5.2 from 13.2.0
    • hapijs/joi
    • #1315  Add promise-like API to validate. Fixes #1314.
    • #1314  Support promises on `validate()`
    • #1291  Add string.normalize for unicode normalization
    • #1289  Feature request: Unicode normalization
  • #3792  Global cors and security options not respected in 404
  • #3782  Content type on empty string payloads
  • #3728  request.response should be null when response failed to transmit

17.5.2

  • #3801  Update hapijs/cryptiles to 4.1.2 from 4.1.1
    • hapijs/cryptiles

17.5.1

  • #3796  do not attach request decorations to a shared prototype, alternative approach.
  • #3718  Request decorations leak across server instances in same process

17.5.0

  • #3791  support symbol properties in server.decorate()

17.4.0

  • #3786  Update hapijs/joi to 13.2.0 from 13.1.2
    • hapijs/joi
    • #1315  Add promise-like API to validate. Fixes #1314.
    • #1314  Support promises on `validate()`
    • #1291  Add string.normalize for unicode normalization
    • #1289  Feature request: Unicode normalization
  • #3785  Update hapijs/ammo to 3.0.1 from 3.0.0
    • hapijs/ammo
  • #3784  Update arb/content to 2.0.1 from 2.0.0
  • #3775  Add support for Referrer-Policy header

17.3.1

  • #3766  Add PATCH to `created` status, better error msg
  • #3765  Respect a response status schema of true

17.3.0

  • #3772  Update hapijs/catbox-memory to 3.1.2 from 3.1.1
  • #3771  Update hapijs/nigel to 3.0.1 from 3.0.2
    • hapijs/nigel
  • #3770  Update hapijs/pez to 4.0.2 from 4.0.1
    • hapijs/pez
  • #3769  Update hapijs/statehood to 6.0.6 from 6.0.5
    • hapijs/statehood
  • #3768  Update hapijs/content to 4.0.5 from 4.0.4
    • hapijs/content
  • #3767  server.control()

17.2.3

17.2.2

  • #3758  Request log with function data sends incorrect data
  • #3741  Replace new Buffer()

17.2.1

  • #3756  Update hapijs/shot to 4.0.5 from 4.0.3
    • hapijs/shot
  • #3755  Update hapijs/joi to 13.1.2 from 13.0.1
    • hapijs/joi
    • #1315  Add promise-like API to validate. Fixes #1314.
    • #1314  Support promises on `validate()`
    • #1291  Add string.normalize for unicode normalization
    • #1289  Feature request: Unicode normalization
  • #3754  Update jshttp/mime-db to 1.33.0 from 1.31.0
  • #3753  Update hapijs/hoek to 5.0.3 from 5.0.2
    • hapijs/hoek
  • #3752  Update hapijs/content to 4.0.4 from 4.0.3
    • hapijs/content
  • #3751  Update hueniverse/bounce to 1.2.0 from 1.0.3
  • #3750  Update hapijs/boom to 7.2.0 from 7.1.1
    • hapijs/boom
  • #3717  Prefer user added encoding over built-in
  • #3701  Enable registered encoders to have higher priority than built-in

17.2.0

  • #3715  Basic concurrent load queue
  • #3714  Update hapijs/heavy to 6.1.0 from 6.0.0
    • hapijs/heavy
  • #3712  Missing return in dispatch()
  • #3711  Cache stop() errors are not handled
  • #3708  Errors in "onPostStart" ext leave listener active forever
  • #3702  Fix server method registered as object without options

17.1.1

  • #3688  Hapi v17.0.2 cors origin

17.1.0

  • #3691  Route rules
  • #3689  Include method name in error
  • #3125  Allow decoration overrides with parent access support

17.0.2

  • #3686  Log errors thrown in custom response close method
  • #3679  [enhancement] https accept-encoding header brotli for chrome
  • #3675  Optimize accept-encoding for the most common headers
  • #3674  Update hapijs/cryptiles to 4.1.1 from 4.1.0
    • hapijs/cryptiles

17.0.1

  • #3668  Bypass authorization when authentication bypassed

17.0.0release notes

  • #3665  Rename route 'config' with 'options'
  • #3663  Loosen sample and modify peer validator in the routeBase schema
  • #3662  prerequisite returning empty string yields null on the pre object of request
  • #3658  17.0.0 Release Notes
  • #3657  Update hapijs/vise to 3.0.0 from 2.0.2
    • hapijs/vise
  • #3656  Update hapijs/topo to 3.0.0 from 2.0.2
    • hapijs/topo
  • #3655  Update hapijs/podium to 3.1.2 from 1.3.0
    • hapijs/podium
  • #3653  Update hapijs/nigel to 3.0.0 from 2.0.2
    • hapijs/nigel
  • #3652  Update hapijs/mimos to 4.0.0 from 3.0.3
    • hapijs/mimos
  • #3651  Update jshttp/mime-db to 1.31.0 from 1.29.0
  • #3650  Update hueniverse/iron to 5.0.4 from 4.0.5
  • #3649  Update hapijs/hoek to 5.0.2 from 4.2.0
    • hapijs/hoek
  • #3648  Update hapijs/cryptiles to 4.1.0 from 3.1.2
    • hapijs/cryptiles
  • #3647  Update hapijs/content to 4.0.3 from 3.0.6
    • hapijs/content
  • #3646  Update hapijs/catbox-memory to 3.1.1 from 2.0.4
  • #3645  Update hapijs/catbox to 10.0.2 from 7.1.5
    • hapijs/catbox
  • #3644  Update hapijs/call to 5.0.1 from 4.0.2
    • hapijs/call
  • #3643  Update hapijs/boom to 7.1.1 from 5.2.0
    • hapijs/boom
  • #3642  Update hapijs/b64 to 4.0.0 from 3.0.2
    • hapijs/b64
  • #3641  Update hapijs/ammo to 3.0.0 from 2.0.4
    • hapijs/ammo
  • #3640  Update hapijs/accept to 3.0.2 from 2.1.4
    • hapijs/accept
  • #3639  Update hapijs/statehood to 6.0.5 from 5.0.3
    • hapijs/statehood
  • #3638  Update hapijs/shot to 4.0.3 from 3.4.2
    • hapijs/shot
  • #3637  Update hapijs/heavy to 6.0.0 from 4.0.4
    • hapijs/heavy
  • #3636  Update hapijs/wreck to 14.0.2 from 13.0.3
    • hapijs/wreck
  • #3635  Expose payload and credentials to dynamic scopes
  • #3634  onCredentials ext point
  • #3633  Separate authorization (403) from authentication (401)
  • #3632  Add negative test on registering plugin twice without `once`
  • #3631  When event data is an error, field name is error
  • #3630  Replace events 'internal` bool with 'channel' property
  • #3629  Remove request.getLog() method
  • #3628  Combine all request events into single event
  • #3627  Remove server argument from 'route' event
  • #3626  Update hapijs/subtext to 6.0.7 from 6.0.3
    • hapijs/subtext
  • #3625  Update hapijs/pez to 4.0.1 from 2.1.5
    • hapijs/pez
  • #3624  Send 400 bad request on parse error
  • #3621  Remove certain passThrough headers
  • #3618  Replace plugin interface to object
  • #3616  Change validation errors
  • #3615  Normalize server methods to always return plain value
  • #3614  Remove envelope from server.table()
  • #3613  Combine server.handler() with server.decorate()
  • #3612  Remove mode support from server.auth.strategy()
  • #3609  Update hapijs/joi to 13.0.1 from 11.1.0
    • hapijs/joi
    • #1315  Add promise-like API to validate. Fixes #1314.
    • #1314  Support promises on `validate()`
    • #1291  Add string.normalize for unicode normalization
    • #1289  Feature request: Unicode normalization
  • #3607  Normalize failAction across the entire framework
  • #3605  Remove source argument from validation failAction method
  • #3604  request.auth.strategy is not documented
  • #3602  exclude connection header in response passThrough
  • #3599  Provide a way to flush compression stream on demand
  • #3598  Implement wildcardIgnoresOrigin CORS option
  • #3597  Rename reply interface to toolkit
  • #3596  Move request.id to request.info.id
  • #3595  Explicit Context
  • #3594  Support compression minimum length
  • #3592  Change reply interface from function to object
  • #3591  Normalize lifecycle
  • #3590  Remove HTML escaping of joi errors
  • #3589  Move request and server events to `events` getter
  • #3583  Reduce request internal logging
  • #3580  Remove server methods string handlers shortcut
  • #3579  v17 rc 4
  • #3574  Move all server events to server.events
  • #3573  Remove domains
  • #3572  Remove support for multiple connection in a single server
  • #3571  Drop support for request tails
  • #3567  response validate options for 'modify' and 'sample' is too strict
  • #3509  Return 413 when payload is too big
  • #3434  Validate params rules against path params
  • #3423  CDN friendly CORS: remove "Vary: Origin" for wildcard CORS origins
  • #3334  Handle multiple parallel registrations
  • #3297  Pass plugin's server rather than root server to route config function
  • #3152  reply.code(value) ignored when payload is empty and emptyStatusCode is set
  • #3150  server.method doesn't resolve promise with cache options
  • #3066  Allow access to parent realm

16.7.0

  • #3869  Specify node, hapi, and plugin version requirements (#3867)

16.6.5

16.6.4

  • #3862  Remove support for node 4
  • #3861  Remove shrinkwrap

16.6.2

  • #3586  Remove per-response events emitter validation

16.6.1

  • #3585  Update hapijs/joi to 11.1.0 from 10.6.0
    • hapijs/joi
    • #1315  Add promise-like API to validate. Fixes #1314.
    • #1314  Support promises on `validate()`
    • #1291  Add string.normalize for unicode normalization
    • #1289  Feature request: Unicode normalization
  • #3582  Support joi 11 paths arrays. Fixes #3581.

16.6.0

  • #3570  Update hapijs/content to 3.0.6 from 3.0.5
    • hapijs/content
  • #3560  fix response.message(httpMessage)
  • #3506  Add json escape option

16.5.2

  • #3561  Aborted responses return 200 code in inject

16.5.1

  • #3552  Updating from 16.4.3 to 16.5.0: Podium.decorate is not a function error
  • #3528  "disconnect" event on the "request" object is never emitted

16.5.0

  • #3551  Update hapijs/statehood to 5.0.3 from 5.0.2
    • hapijs/statehood
  • #3550  Update hapijs/content to 3.0.5 from 3.0.4
    • hapijs/content
  • #3548  Update hapijs/boom to 5.2.0 from 5.1.0
    • hapijs/boom
  • #3545  Update hapijs/joi to 10.6.0 from 10.5.2
    • hapijs/joi
    • #1315  Add promise-like API to validate. Fixes #1314.
    • #1314  Support promises on `validate()`
    • #1291  Add string.normalize for unicode normalization
    • #1289  Feature request: Unicode normalization
  • #3544  Update jshttp/mime-db to 1.29.0 from 1.28.0
  • #3543  Update hapijs/catbox to 7.1.5 from 7.1.4
    • hapijs/catbox
  • #3542  Update hapijs/podium to 1.3.0 from 1.2.5
    • hapijs/podium
  • #3541  Update hapijs/hoek to 4.2.0 from 4.1.1
    • hapijs/hoek
  • #3539  Add payload fail action custom handler
  • #3533  Update hapijs/subtext to 5.0.0 from 4.4.1
    • hapijs/subtext
  • #3532  Remove joi validation when creating request podium events
  • #3531  Return 413 when payload too large.
  • #3526  Consider wildcard filtering for debug options
  • #3523  Update lab and fix indentation
  • #3520  Fixed validation of server's Joi options
  • #3519  allow decoration of reply with non functions
  • #3516  Invalid cookie header despite strictHeader: false, ignoreErrors: true
  • #3483  Filename detecting problem on uploading file with apostrophes
  • #3480  RST packet instead of a FIN packet to close the response on Heroku
  • #3464  Throwing inside response event breaks new events

16.4.3

  • #3514  TypeError: Cannot set property 'hostname' of undefined

16.4.2

  • #3517  Restore npm-shrinkwrap.json file

16.4.1

  • #3512  Remove npm-shrinkwrap

16.4.0

  • #3511  Update hapijs/joi to 10.5.2 from 10.5.1
    • hapijs/joi
    • #1315  Add promise-like API to validate. Fixes #1314.
    • #1314  Support promises on `validate()`
    • #1291  Add string.normalize for unicode normalization
    • #1289  Feature request: Unicode normalization
  • #3505  Remove isemail deps from shrinkwrap
  • #3486  Provide cover for unhandled rejections
  • #3429  Better support for async handlers

16.3.1

  • #3510  Update hapijs/shot to 3.4.2 from 3.4.0
    • hapijs/shot
  • #3507  Node 8 fixes

16.3.0

  • #3461  explicitly destroy sockets on clientError
  • #3441  Fix several request.url property issues on setUrl()
  • #3409  Adding server.inspect to list decorated framework interfaces

16.2.0

  • #3502  Update hapijs/wreck to 12.2.2 from 10.0.0
    • hapijs/wreck
  • #3501  Update hapijs/subtext to 4.4.1 from 4.3.0
    • hapijs/subtext
  • #3500  Update hapijs/statehood to 5.0.2 from 5.0.1
    • hapijs/statehood
  • #3499  Update hapijs/pez to 2.1.5 from 2.1.4
    • hapijs/pez
  • #3498  Update jshttp/mime-db to 1.28.0 from 1.25.0
  • #3497  Update hapijs/joi to 10.5.1 from 10.1.0
    • hapijs/joi
    • #1315  Add promise-like API to validate. Fixes #1314.
    • #1314  Support promises on `validate()`
    • #1291  Add string.normalize for unicode normalization
    • #1289  Feature request: Unicode normalization
  • #3496  Update hueniverse/iron to 4.0.5 from 4.0.4
  • #3495  Update hapijs/hoek to 4.1.1 from 4.1.0
    • hapijs/hoek
  • #3494  Update hapijs/heavy to 4.0.4 from 4.0.3
    • hapijs/heavy
  • #3493  Update hapijs/cryptiles to 3.1.2 from 3.1.1
    • hapijs/cryptiles
  • #3492  Update hapijs/content to 3.0.4 from 3.0.3
    • hapijs/content
  • #3491  Update hapijs/catbox to 7.1.3 from 7.1.4
    • hapijs/catbox
  • #3490  Update hapijs/call to 4.0.2 from 4.0.0
    • hapijs/call
  • #3489  Update hapijs/boom to 5.1.0 from 4.2.0
    • hapijs/boom
  • #3488  Update hapijs/ammo to 2.0.4 from 2.0.3
    • hapijs/ammo
  • #3487  Update hapijs/accept to 2.1.4 from 2.1.3
    • hapijs/accept
  • #3472  Send connection close when there is unconsumed payload
  • #3470  Defer 100-continue signalling until payload parsing
  • #3451  Have access to request.app in Joi validation context
  • #3448  Bind request continuation methods to current domain
  • #3447  one server is always leaked
  • #3431  when failAction is log or ignored, the error is assigned to request.preResponse but not request.pre
  • #3427  reply.entity() will always return null for correct etags

16.1.1

  • #3466  Non-handling of accept-encoding header when the value does not conform to the specification
  • #3446  remove extra closure

16.1.0

  • #3416  Update hapijs/joi to 10.1.0 from 10.0.1
    • hapijs/joi
    • #1315  Add promise-like API to validate. Fixes #1314.
    • #1314  Support promises on `validate()`
    • #1291  Add string.normalize for unicode normalization
    • #1289  Feature request: Unicode normalization
  • #3415  Allow creating multiple connections in a single server.connection() call

16.0.3

  • #3414  Connectionless plugin fails inside connection-full plugin

16.0.2

  • #3411  Falsey payload returns null

16.0.1

  • #3401  Attempt to fix #3399 where it crashes on route prerequisites when no domain is present
  • #3399  Regression on 16, lib/handlers.js

16.0.0release notes

  • #3398  16.0.0 Release Notes
  • #3397  Update hapijs/ammo to 2.0.3 from 2.0.2
    • hapijs/ammo
  • #3396  Update hapijs/call to 4.0.0 from 3.0.3
    • hapijs/call
  • #3395  Update hapijs/catbox to 7.1.3 from 7.1.2
    • hapijs/catbox
  • #3394  Update hapijs/heavy to 4.0.3 from 4.0.2
    • hapijs/heavy
  • #3393  Update hapijs/podium to 1.2.5 from 1.2.3
    • hapijs/podium
  • #3392  Update hapijs/shot to 3.4.0 from 3.3.2
    • hapijs/shot
  • #3391  Update hapijs/statehood to 5.0.1 from 5.0.0
    • hapijs/statehood
  • #3390  Update jshttp/mime-db to 1.25.0 from 1.23.0
  • #3389  Update hapijs/content to 3.0.3 from 3.0.2
    • hapijs/content
  • #3388  Update hapijs/pez to 2.1.4 from 2.1.2
    • hapijs/pez
  • #3387  Update hapijs/accept to 2.1.3 from 2.1.2
    • hapijs/accept
  • #3386  Update hapijs/catbox-memory to 2.0.4 from 2.0.3
  • #3385  Update hapijs/joi to 10.0.1 from 9.0.4
    • hapijs/joi
    • #1315  Add promise-like API to validate. Fixes #1314.
    • #1314  Support promises on `validate()`
    • #1291  Add string.normalize for unicode normalization
    • #1289  Feature request: Unicode normalization
  • #3384  Update hapijs/cryptiles to 3.1.1 from 3.0.2
    • hapijs/cryptiles
  • #3383  Update hapijs/boom to 4.2.0 from 4.0.0
    • hapijs/boom
  • #3381  problems with Promise error handling in plugin registration
  • #3380  Ensure Boom objects can be reused - Fix for issue #3378
  • #3378  Server fails to reuse Boom object
  • #3372  Allow HTTPS long poll requests
  • #3369  Deprecation Warning in Node v7.0.0 for call to os.tmpDir
  • #3368  change deprecated os.tmpDir call to os.tmpdir
  • #3359  Shrinkwrap fails with hapi version 15.1.1
  • #3358  fix server not propagating errors on prehandler(promise) + handler error (#3242)
  • #3347  Major performance issue with hapi.js 15.x
  • #3242  Using promises in prehandlers causes exceptions to be swallowed in handlers.

15.2.0

  • #3366  Update hapijs/subtext to 4.3.0 from 4.2.2
    • hapijs/subtext
  • #3355  Update hapijs/wreck to 10.0.0 from 9.0.0
    • hapijs/wreck
  • #3354  Update hapijs/subtext to 4.2.2 from 4.2.1
    • hapijs/subtext
  • #3352  npm shrinkwrap produces error with hapi
  • #3351  Fix subtext shrinkwrap
  • #3051  payload output inconsistent for single payload vs multipart

15.1.0

  • #3350  Conditional plugin connection-less mode
  • #3342  Update hapijs/shot to 3.3.2 from 3.3.1
    • hapijs/shot
  • #3341  Update hapijs/shot to 3.3.2 from 3.3.1
    • hapijs/shot
  • #3339  Restore npm-shrinkwrap.json to package. Closes #3338
  • #3338  `npm-shrinkwrap.json` not included in published `hapi` package

15.0.3

  • #3332  Update hapijs/podium to 1.2.3 from 1.2.1
    • hapijs/podium
  • #3330  Events not emitted when route handler throws

15.0.2

  • #3325  Allow initializing server without connections
  • #3324  Verify plugin dependencies for connections added after initialize() or start()

15.0.1

    15.0.0release notes

    • #3323  15.0.0 Release Notes
    • #3322  Bump hapijs/boom version to 4.0.0 from 3.2.2
    • #3320  Update hapijs/boom to 4.0.0 from 3.2.2
      • hapijs/boom
    • #3318  Update hapijs/statehood to 5.0.0 from 4.0.3
      • hapijs/statehood
    • #3317  Update hueniverse/iron to 4.0.3 from 4.0.2
    • #3316  Update hapijs/wreck to 9.0.0 from 8.0.1
      • hapijs/wreck
    • #3315  Update hapijs/call to 3.0.3 from 3.0.2
      • hapijs/call
    • #3314  Update hapijs/ammo to 2.0.2 from 2.0.1
      • hapijs/ammo
    • #3313  Expose request to server.encode() and decode() generators
    • #3308  Response validation custom handler
    • #3307  Update hapijs/shot to 3.3.1 from 3.1.1
      • hapijs/shot
    • #3306  Disable request getLog() by default
    • #3304  Errors when reply.continue() is called with an non-auth argument
    • #3303  Error when reply() is called with a third argument (non-auth)
    • #3302  Access to scope errors list from a Forbidden error
    • #3300  Support custom content-type payload decoders
    • #3299  Update hapijs/subtext to 4.2.0 from 4.0.5
      • hapijs/subtext
    • #3298  Allow extending server encoding support
    • #3296  Custom events
    • #3295  server.register callback handling does not enforce process.nextTick
    • #3294  Replace node's EventEmitter interface
    • #3292  The "Vary: accept-encoding" header is not always set
    • #3291  Ensure that 206 responses are never compressed
    • #3275  Support for route authorization
    • #3243  Content type charset handling
    • #3237  Set response status message.
    • #3227  Set route validation bind context
    • #3214  Support failAction function on validation response failures
    • #3201  handle more types of promise rejection, for #3102
    • #3194  output validation error pass source along
    • #3179  Send correct response for HEAD requests
    • #3122  Logging improvement
    • #3102  Rejected promises are returned as successful status codes
    • #3065  Move HTTP response header validation to node
    • #3061  Bug with using Joi.object() for route validation
    • #3055  Allow onPreResponse to override response and execute other extensions
    • #3030  Server stop timeout and multiple connections

    14.2.0

    • #3286  Support unmodified early return

    14.1.0

    • #3277  Route config function

    14.0.0release notes

    • #3272  14.0.0 Release Notes
    • #3271  hapi 13.5.1 (and 13.5.2) break if routes still use joi 8.x

    13.5.2

    • #3249  Update hapijs/catbox to 7.1.2 from 7.1.1
      • hapijs/catbox

    13.5.1

    • #3270  Update hapijs/topo to 2.0.2 from 2.0.1
      • hapijs/topo
    • #3269  Update hapijs/wreck to 8.0.1 from 7.2.1
      • hapijs/wreck
    • #3268  Update hapijs/vise to 2.0.2 from 2.0.1
      • hapijs/vise
    • #3267  Update hapijs/nigel to 2.0.2 from 2.0.1
      • hapijs/nigel
    • #3266  Update hapijs/b64 to 3.0.2 from 3.0.1
      • hapijs/b64
    • #3265  Update hapijs/pez to 2.1.2 from 2.1.1
      • hapijs/pez
    • #3264  Update hapijs/context to 3.0.2 from 3.0.1
      • hapijs/context
    • #3263  Update hapijs/subtext to 4.0.5 from 4.0.3
      • hapijs/subtext
    • #3262  Update hapijs/statehood to 4.0.3 from 4.0.1
      • hapijs/statehood
    • #3261  Update hapijs/shot to 3.1.1 from 3.1.0
      • hapijs/shot
    • #3260  Update hapijs/peekaboo to 2.0.2 from 2.0.1
      • hapijs/peekaboo
    • #3259  Update hapijs/mimos to 3.0.3 from 3.0.2
      • hapijs/mimos
    • #3258  Update hapijs/kilt to 2.0.2 from 2.0.1
      • hapijs/kilt
    • #3257  Update moment/moment to 2.14.1 from 2.13.0
    • #3256  Update hapijs/isemail to 2.2.1 from 2.1.0
      • hapijs/isemail
    • #3255  Update hapijs/joi to 9.0.4 from 8.1.0
      • hapijs/joi
      • #1315  Add promise-like API to validate. Fixes #1314.
      • #1314  Support promises on `validate()`
      • #1291  Add string.normalize for unicode normalization
      • #1289  Feature request: Unicode normalization
    • #3254  Update hapijs/items to 2.1.1 from 2.1.0
      • hapijs/items
    • #3253  Update hueniverse/iron to 4.0.2 from 4.0.1
    • #3252  Update hapijs/heavy to 4.0.2 from 4.0.1
      • hapijs/heavy
    • #3251  Update hapijs/cryptiles to 3.0.2 from 3.0.1
      • hapijs/cryptiles
    • #3250  Update hapijs/catbox-memory to 2.0.3 from 2.0.2
    • #3248  Update hapijs/call to 3.0.3 from 3.0.2
      • hapijs/call
    • #3247  Update hapijs/ammo to 2.0.2 from 2.0.1
      • hapijs/ammo
    • #3246  Update hapijs/hoek to 4.0.2 from 4.0.0
      • hapijs/hoek
    • #3245  Update hapijs/boom to 3.2.2 from 3.2.0
      • hapijs/boom
    • #3244  Update hapijs/accept to 2.1.2 from 2.1.1
      • hapijs/accept

    13.5.0

    • #3206  override default cache headers for error pages
    • #3178  Handle thrown error from res.setHeader() and res.writeHead()
    • #3174  Fixes #3155 - Calling reply without a payload on a JSONP route throws

    13.4.2

    • #3228  Update hapijs/call to 3.0.2 from 3.0.1
      • hapijs/call
    • #3216  Update hapijs/shot to 3.1.0 from 3.0.1
      • hapijs/shot

    13.4.1

    • #3173  Update hapijs/nigel to 2.0.1 from 2.0.0
      • hapijs/nigel
    • #3172  Update hapijs/b64 to 3.0.1 from 3.0.0
      • hapijs/b64
    • #3171  Update hapijs/pez to 2.1.1 from 2.1.0
      • hapijs/pez
    • #3170  Update hapijs/subtext to 4.0.3 from 4.0.1
      • hapijs/subtext
    • #3169  Update hapijs/statehood to 4.0.1 from 4.0.0
      • hapijs/statehood
    • #3168  Update hapijs/peekaboo to 2.0.1 from 2.0.0
      • hapijs/peekaboo
    • #3167  Update hapijs/mimos to 3.0.1 from 3.0.0
      • hapijs/mimos
    • #3166  Update hapijs/kilt to 2.0.1 from 2.0.0
      • hapijs/kilt
    • #3165  Update hapijs/isemail to 2.1.0 from 2.1.2
      • hapijs/isemail
    • #3164  Update hueniverse/iron to 4.0.1 from 4.0.0
    • #3163  Update hapijs/cryptiles to 3.0.1 from 3.0.0
      • hapijs/cryptiles
    • #3162  Update hapijs/catbox-memory to 2.0.2 from 2.0.1
    • #3161  Update hapijs/catbox to 7.1.1 from 7.1.0
      • hapijs/catbox
    • #3160  Update hapijs/call to 3.0.1 from 3.0.0
      • hapijs/call
    • #3159  Update hapijs/boom to 3.2.0 from 3.1.3
      • hapijs/boom
    • #3158  Update hapijs/ammo to 2.0.1 from 2.0.0
      • hapijs/ammo
    • #3157  Update hapijs/topo to 2.0.1 from 2.0.0
      • hapijs/topo
    • #3156  Update hapijs/wreck to 7.2.1 from 7.2.0
      • hapijs/wreck
    • #3121  allow array as valid validate config on headers, params, query and payload
    • #3119  Support [] as payload validation

    13.4.0

    • #3147  Pass original validation error if boom
    • #3146  Update hapijs/wreck to 7.2.0 from 7.0.2
      • hapijs/wreck
    • #3145  Update hapijs/vise to 2.0.1 from 2.0.0
      • hapijs/vise
    • #3144  Update hapijs/content to 3.0.1 from 3.0.0
      • hapijs/content
    • #3143  Update jshttp/mime-db to 1.23.0 from 1.22.0
    • #3142  Update moment/moment to 2.13.0 from 2.12.0
    • #3141  Update hapijs/joi to 8.1.0 from 8.0.4
      • hapijs/joi
      • #1315  Add promise-like API to validate. Fixes #1314.
      • #1314  Support promises on `validate()`
      • #1291  Add string.normalize for unicode normalization
      • #1289  Feature request: Unicode normalization
    • #3140  Update hapijs/items to 2.1.0 from 2.0.0
      • hapijs/items
    • #3139  Update hapijs/hoek to 4.0.0 from 3.0.4
      • hapijs/hoek
    • #3138  Update hapijs/heavy to 4.0.1 from 4.0.0
      • hapijs/heavy
    • #3137  Update hapijs/boom to 3.1.3 from 3.1.2
      • hapijs/boom
    • #3136  Update hapijs/accept to 2.1.1 from 2.1.0
      • hapijs/accept
    • #3115  Update hapijs/pez to 2.1.0 from 2.0.1
      • hapijs/pez
    • #3111  Update hapijs/subtext to 4.0.1 from 4.0.0
      • hapijs/subtext

    13.3.0

    • #3107  Permit validation on any payload type
    • #3068  Fast server shutdown

    13.2.2

    • #3101  Auth entity error reports the wrong credential type used

    13.2.1

    • #3044  Enable disabling cache-control headers
    • #2979  `.charset(charset)` doesn't work on its own in ext

    13.1.0

    • #3083  Allow provisioning server cache after construction
    • #3082  Update hapijs/wreck to 7.0.2 from 7.0.0
      • hapijs/wreck
    • #3081  Update hapijs/shot to 3.0.1 from 3.0.0
      • hapijs/shot
    • #3080  Update jshttp/mime-db to 1.22.0 from 1.20.0
    • #3079  Update moment/momemt to 2.12.0 from 2.11.0
    • #3078  Update hapijs/joi to 8.0.4 from 7.1.0
      • hapijs/joi
      • #1315  Add promise-like API to validate. Fixes #1314.
      • #1314  Support promises on `validate()`
      • #1291  Add string.normalize for unicode normalization
      • #1289  Feature request: Unicode normalization
    • #3077  Update hapijs/boom to 3.1.2 from 3.1.1
      • hapijs/boom
    • #3069  Pass through cookie options when calling reply.unstate()
    • #3057  Don't re-initialize the server
    • #3042  Moment - Regular Expression Denial of Service
    • #3015  Can not change/remove the "accept-ranges" response header
    • #3014  Update JSON response stringify for better performance

    13.0.0release notes

    • #3040  13.0.0 Release Notes
    • #3039  Update hueniverse/iron to 4.0.0 from 3.0.1
    • #3038  Update hapijs/statehood to 4.0.0 from 3.1.0
      • hapijs/statehood

    12.1.0

    • #3018  Allow auth strategies to expose an api

    12.0.1

    • #3013  Fix hapijs/shot dependency

    12.0.0release notes

    • #3012  Update hapijs/catbox to 7.1.0 from 7.0.0
      • hapijs/catbox
    • #3011  Update hapijs/shot to 3.0.0 from 2.0.1
      • hapijs/shot
    • #3010  Update jshttp/mime-db to 1.20.0 from 1.19.0
    • #3009  Update moment/moment to 2.11.0 from 2.10.6
    • #3008  Update hapijs/isemail to 2.1.0 from 2.0.0
      • hapijs/isemail
    • #3007  Update hapijs/joi to 7.1.0 from 7.0.0
      • hapijs/joi
      • #1315  Add promise-like API to validate. Fixes #1314.
      • #1314  Support promises on `validate()`
      • #1291  Add string.normalize for unicode normalization
      • #1289  Feature request: Unicode normalization
    • #3006  Update hapijs/hoek to 3.0.4 from 3.0.0
      • hapijs/hoek
    • #3005  Update hapijs/boom to 3.1.1 from 3.0.0
      • hapijs/boom
    • #3004  Update hapijs/accept to 2.1.0 from 2.0.0
      • hapijs/accept
    • #3002  Remove request.session and request.auth.session placeholders
    • #3001  Update hapijs/statehood to 3.1.0 from 3.0.0
      • hapijs/statehood
    • #3000  Return a promise when callback missing
    • #2999  Support required scope with + prefix
    • #2998  Support multiple access combinations per route
    • #2994  Dynamic scope does not work with auth.default()
    • #2993  Support forbidden scope with ! prefix
    • #2992  Normalize auth scope and entity settings under new access option
    • #2988  Handle invalid date exceptions
    • #2985  12.0.0. Release Notes
    • #2983  Update hapijs/subtext to 4.0.0 from 3.0.1
      • hapijs/subtext
    • #2972  Add validation check for stripUnknown route response option
    • #2966  request.raw.res.end() method is called twice
    • #2957  nameless cookie causing hapi fail parsing
    • #2936  Expose origin matching status
    • #2886  Add entire auth object to validation context options

    11.1.4

    • #2990  Fix cors config cascade. Closes #2980
    • #2980  Route level CORS config overrides connection level defaults

    11.1.3

    • #2987  Catch invalid date exceptions

    11.1.2

    • #2953  Tests for issue #2950
    • #2950  Access-Control-Expose-Headers response header duplicate values
    • #2940  Fails to set a global route auth config

    11.1.1

    • #2944  Update hapijs/subtext to 3.0.1 from 3.0.0
      • hapijs/subtext
    • #2931  Lookup route during OPTIONS by using request.info.hostname. Closes #2930
    • #2930  Route not correctly looked up during CORS OPTIONS request when using vhost

    11.1.0

    • #2929  Allow setting request app and plugins via inject
    • #2928  Support per-request decoration

    11.0.5

    • #2894  CORS headers to include 'Origin'

    11.0.4

    • #2923  Update hapijs/vise to 2.0.0 from 1.0.0
      • hapijs/vise
    • #2922  Update hapijs/nigel to 2.0.0 from 1.0.1
      • hapijs/nigel
    • #2921  Update hapijs/pez to 2.0.1 from 1.0.0
      • hapijs/pez
    • #2920  Update hapijs/context to 3.0.0 from 1.0.2
      • hapijs/context
    • #2919  Update hapijs/subtext to 3.0.0 from 2.0.2
      • hapijs/subtext
    • #2918  Update hapijs/statehood to 3.0.0 from 2.1.1
      • hapijs/statehood
    • #2917  Update hapijs/shot to 2.0.1 from 1.7.0
      • hapijs/shot
    • #2916  Update hapijs/qs to 6.0.0 from 5.2.0
      • hapijs/qs
      • # 
    • #2915  Update hapijs/peekaboo to 2.0.0 from 1.0.0
      • hapijs/peekaboo
    • #2914  Update hapijs/mimos to 3.0.0 from 2.0.2
      • hapijs/mimos
    • #2913  Update hapijs/kilt to 2.0.0 from 1.1.1
      • hapijs/kilt
    • #2912  Update hueniverse/iron to 3.0.1 from 2.1.3
    • #2911  Update hapijs/heavy to 4.0.0 from 3.0.1
      • hapijs/heavy
    • #2910  Update hapijs/cryptiles to 3.0.0 from 2.0.5
      • hapijs/cryptiles
    • #2909  Update hapijs/catbox-memory to 2.0.1 from 1.1.2
    • #2908  Update hapijs/isemail to 2.0.0 from 1.2.0
      • hapijs/isemail
    • #2907  Update hapijs/topo to 2.0.0 from 1.1.0
      • hapijs/topo
    • #2906  Update hapijs/joi to 7.0.0 from 6.8.1
      • hapijs/joi
      • #1315  Add promise-like API to validate. Fixes #1314.
      • #1314  Support promises on `validate()`
      • #1291  Add string.normalize for unicode normalization
      • #1289  Feature request: Unicode normalization
    • #2905  Update hapijs/catbox to 7.0.0 from 6.0.0
      • hapijs/catbox
    • #2904  Update hapijs/call to 3.0.0 from 2.0.2
      • hapijs/call
    • #2903  Update hapijs/ammo to 2.0.0 from 1.0.1
      • hapijs/ammo
    • #2902  Update hapijs/accept to 2.0.0 from 1.1.0
      • hapijs/accept
    • #2901  Update hapijs/wreck to 7.0.0 from 6.2.0
      • hapijs/wreck
    • #2900  Update hapijs/b64 to 3.0.0 from 2.0.1
      • hapijs/b64
    • #2899  Update hapijs/items to 2.0.0 from 1.1.0
      • hapijs/items
    • #2898  Update hapijs/boom to 3.0.0 from 2.9.0
      • hapijs/boom
    • #2897  Update hapijs/hoek to 3.0.1 from 2.16.3
      • hapijs/hoek

    11.0.3

    • #2885  Update hapijs/subtext to 2.0.2 from 2.0.1
      • hapijs/subtext
    • #2877  Replace all functions inside functions with arrow functions
    • #2875  Style change: replace for(i, il) with length in test
    • #2874  Replace var with let
    • #2873  Use const where possible
    • #2872  Add strict mode
    • #2870  Fix empty content-length handling for gzip and 204 responses
    • #2869  Gzip compression is skipped when content-length is unknown
    • #2868  CORS: Is 404 on OPTIONS request the right thing to do?
    • #2867  Skip extensions for notFound and badRequest
    • #2862  Update hapijs/subtext to 2.0.2 from 2.0.0
      • hapijs/subtext

    11.0.2

    • #2866  Fixed an issue with mixed-case headers not being matched correctly in CORS
    • #2852  request.params undefined when route not found

    11.0.1

    • #2859  Add error messages to 404's caused by cors closes #2857
    • #2858  Add 'Accept' to default header per #2855

    11.0.0release notes

    • #2850  11.0.0 Release Notes
    • #2849  Add 204 to statuses cached by default
    • #2848  Allow response validation of non-objects
    • #2847  Update hapijs/qs to 5.2.0 from 4.0.0
      • hapijs/qs
      • # 
    • #2845  Allow empty response to default to 204
    • #2840  CORS route-specific override can conflict with connection defaults
    • #2814  Remove server.after()
    • #2807  Remove id from request received event

    10.5.0

    • #2844  Server new route event
    • #2829  Expanded `registrations` API. Added test. Updated docs.
    • #2491  CORS pre-fetch not respecting per-route config

    10.4.1

    • #2836  Update hapijs/heavy to 3.0.1 from 3.0.0
      • hapijs/heavy

    10.4.0

    • #2828  Update hapijs/shot to 1.7.0 from 1.6.1
      • hapijs/shot
    • #2827  Enhance server.ext() to accept an array of event objects
    • #2826  Update hapijs/topo to 1.1.0 from 1.0.3
      • hapijs/topo
    • #2824  request.info.host - Host header wrong in server.inject
    • #2823  Skip empty extension points in request lifecycle
    • #2822  Plugin schema too restrictive
    • #2819  Replace single connection server decorations with assertions
    • #2818  Support plugin level once attribute
    • #2566  Lifecycle hooks on routes

    10.3.0

    • #2754  Add connections inside a plugin

    10.2.1

    • #2817  Multiple connectionless plugin exceptions

    10.2.0

    • #2815  Cleanup after() options
    • #2813  Update server root methods when adding 2nd connection
    • #2812  Prevent adding server extensions once initialize() is called
    • #2811  Support connectionless plugins
    • #2809  Return plugin dependency errors via callback instead of throwing
    • #2808  Pass start() and initialize() errors via callback, not throw
    • #2806  Update hapijs/isemail to 1.2.0 from 1.1.1
      • hapijs/isemail
    • #2805  Update hapijs/joi to 6.8.0 from 6.6.1
      • hapijs/joi
      • #1315  Add promise-like API to validate. Fixes #1314.
      • #1314  Support promises on `validate()`
      • #1291  Add string.normalize for unicode normalization
      • #1289  Feature request: Unicode normalization
    • #2804  Apply arguments schema more consistently
    • #2796  don't duplicate accept-encoding in vary header
    • #2790  Add cache stats to server methods
    • #2788  Option to turn off domains
    • #2777  Public API for Registered Plugins
    • #2773  Detects and rejects malformed response headers
    • #2763  get cache stats for a server method?
    • #2761  Conditional register() for skipping already registered plugins
    • #2736  Stopping the server while starting it
    • #2733  CORS Headers
    • #2352  setting undefined headers on transmit
    • #1850  Set per-plugin registration options when registering an array of plugins

    10.1.0

    • #2787  Update hapijs/wreck to 6.2.0 from 6.1.0
      • hapijs/wreck
    • #2786  Update hapijs/b64 to 2.0.1 from 2.0.0
      • hapijs/b64
    • #2785  Update hapijs/shot to 1.6.1 from 1.6.0
      • hapijs/shot
    • #2784  Update jshttp/mime-db to 1.19.0 from 1.18.0
    • #2783  Update hapijs/hoek to 2.16.3 from 2.14.0
      • hapijs/hoek
    • #2782  Update hapijs/cryptiles to 2.0.5 from 2.0.4
      • hapijs/cryptiles
    • #2776  Add preload flag to HSTS header and fix casing for includeSubDomains.
    • #2505  request.state occasionally null

    10.0.1

    • #2779  Flaky test? "Request does not return an error when server is responding when the timeout occurs"

    10.0.0release notes

    9.5.1

    • #2989  Handle Date parsing error

    9.5.0

      9.4.1

      • #2835  hapi-lts requiring node 4 and no updates to hapi 9?

      9.4.0

      9.3.1

      • #2760  Decorators fail with nested require calls

      9.3.0

      • #2757  Require allowInternals option on server.inject() to call isInternal routes

      9.2.0

      • #2756  Expose route active authentication configuration
      • #2755  Update jshttp/mime-db to 1.18.0 from 1.17.0

      9.1.0

      • #2750  Route config for internal access only routes

      9.0.4

      • #2739  Updated error when calling server.start with no callback
      • #2727  Decorations not propagated to sibling plugins