24 KiB
24 KiB
Changelog
7.2.0 - 2024-09-28
Changed
Content-Security-Policymiddleware now warns if a directive should have quotes but does not, such asselfinstead of'self'. This will be an error in future versions. See #454
7.1.0 - 2023-11-07
Added
helmet.crossOriginEmbedderPolicynow supports theunsafe-nonedirective. See #477
7.0.0 - 2023-05-06
Changed
- Breaking:
Cross-Origin-Embedder-Policymiddleware is now disabled by default. See #411
Removed
- Breaking: Drop support for Node 14 and 15. Node 16+ is now required
- Breaking:
Expect-CTis no longer part of Helmet. If you still need it, you can use theexpect-ctpackage. See #378
6.2.0 - 2023-05-06
- Expose header names (e.g.,
strictTransportSecurityfor theStrict-Transport-Securityheader, instead ofhsts) - Rework documentation
6.1.5 - 2023-04-11
Fixed
- Fixed yet another issue with TypeScript exports. See #420
6.1.4 - 2023-04-10
Fixed
- Fix another issue with TypeScript default exports. See #418
6.1.3 - 2023-04-10
Fixed
- Fix issue with TypeScript default exports. See #417
6.1.2 - 2023-04-09
Fixed
- Retored
mainto package to help with some build tools
6.1.1 - 2023-04-08
Fixed
- Fixed missing package metadata
6.1.0 - 2023-04-08
Changed
- Improve support for various TypeScript setups, including "nodenext". See #405
6.0.1 - 2022-11-29
Fixed
crossOriginEmbedderPolicydid not accept options at the top level. See #390
6.0.0 - 2022-08-26
Changed
- Breaking:
helmet.contentSecurityPolicyno longer setsblock-all-mixed-contentdirective by default - Breaking:
helmet.expectCtis no longer set by default. It can, however, be explicitly enabled. It will be removed in Helmet 7. See #310 - Breaking: Increase TypeScript strictness around some arguments. Only affects TypeScript users, and may not require any code changes. See #369
helmet.frameguardno longer offers a specific error when trying to useALLOW-FROM; it just says that it is unsupported. Only the error message has changed
Removed
- Breaking: Dropped support for Node 12 and 13. Node 14+ is now required
5.1.1 - 2022-07-23
Changed
5.1.0 - 2022-05-17
Added
Cross-Origin-Embedder-Policy: supportcredentiallesspolicy. See #365- Documented how to set both
Content-Security-PolicyandContent-Security-Policy-Report-Only
Changed
- Cleaned up some documentation around
Origin-Agent-Cluster
5.0.2 - 2022-01-22
Changed
- Improve imports for CommonJS and ECMAScript modules. See #345
- Fixed some documentation
5.0.1 - 2022-01-03
Changed
- Fixed some documentation
Removed
- Removed some unused internal code
5.0.0 - 2022-01-02
Added
- ECMAScript module imports (i.e.,
import helmet from "helmet"andimport { frameguard } from "helmet"). See #320
Changed
- Breaking:
helmet.contentSecurityPolicy:useDefaultsoption now defaults totrue - Breaking:
helmet.contentSecurityPolicy:form-actiondirective is now set to'self'by default - Breaking:
helmet.crossOriginEmbedderPolicyis enabled by default - Breaking:
helmet.crossOriginOpenerPolicyis enabled by default - Breaking:
helmet.crossOriginResourcePolicyis enabled by default - Breaking:
helmet.originAgentClusteris enabled by default helmet.frameguard: add TypeScript editor autocomplete. See #322- Top-level
helmet()function is slightly faster
Removed
- Breaking: Drop support for Node 10 and 11. Node 12+ is now required
4.6.0 - 2021-05-01
Added
helmet.contentSecurityPolicy: theuseDefaultsoption, defaulting tofalse, lets you selectively override defaults more easily- Explicitly define TypeScript types in
package.json. See #303
4.5.0 - 2021-04-17
Added
helmet.crossOriginEmbedderPolicy: a new middleware for theCross-Origin-Embedder-Policyheader, disabled by defaulthelmet.crossOriginOpenerPolicy: a new middleware for theCross-Origin-Opener-Policyheader, disabled by defaulthelmet.crossOriginResourcePolicy: a new middleware for theCross-Origin-Resource-Policyheader, disabled by default
Changed
trueenables a middleware with default options. Previously, this would fail with an error if the middleware was already enabled by default.- Log a warning when passing options to
originAgentClusterat the top level
Fixed
- Incorrect documentation
4.4.1 - 2021-01-18
Changed
- Shrink the published package by about 2.5 kB
4.4.0 - 2021-01-17
Added
helmet.originAgentCluster: a new middleware for theOrigin-Agent-Clusterheader, disabled by default
4.3.1 - 2020-12-27
Fixed
helmet.contentSecurityPolicy: broken TypeScript types. See #283
4.3.0 - 2020-12-27
Added
helmet.contentSecurityPolicy: setting thedefault-srctohelmet.contentSecurityPolicy.dangerouslyDisableDefaultSrcdisables it
Changed
helmet.frameguard: slightly improved error messages for non-strings
4.2.0 - 2020-11-01
Added
helmet.contentSecurityPolicy: get the default directives withcontentSecurityPolicy.getDefaultDirectives()
Changed
helmet()now supports objects that don't haveObject.prototypein their chain, such asObject.create(null), as optionshelmet.expectCt:max-ageis now first. See #264
4.1.1 - 2020-09-10
Changed
- Fixed a few errors in the README
4.1.0 - 2020-08-15
Added
helmet.contentSecurityPolicy:- Directive values can now include functions, as they could in Helmet 3. See #243
Changed
- Helmet should now play more nicely with TypeScript
Removed
- The
HelmetOptionsinterface is no longer exported. This only affects TypeScript users. If you need the functionality back, see this comment
4.0.0 - 2020-08-02
See the Helmet 4 upgrade guide for help upgrading from Helmet 3.
Added
helmet.contentSecurityPolicy:- If no
default-srcdirective is supplied, an error is thrown - Directive lists can be any iterable, not just arrays
- If no
Changed
- This package no longer has dependencies. This should have no effect on end users, other than speeding up installation time.
helmet.contentSecurityPolicy:- There is now a default set of directives if none are supplied
- Duplicate keys now throw an error. See helmetjs/csp#73
- This middleware is more lenient, allowing more directive names or values
helmet.xssFilternow disables the buggy XSS filter by default. See #230
Removed
- Dropped support for old Node versions. Node 10+ is now required
helmet.featurePolicy. If you still need it, use thefeature-policypackage on npm.helmet.hpkp. If you still need it, use thehpkppackage on npm.helmet.noCache. If you still need it, use thenocachepackage on npm.helmet.contentSecurityPolicy:- Removed browser sniffing (including the
browserSniffanddisableAndroidparameters). See helmetjs/csp#97 - Removed conditional support. This includes directive functions and support for a function as the
reportOnly. Read this if you need help. - Removed a lot of checks—you should be checking your CSP with a different tool
- Removed support for legacy headers (and therefore the
setAllHeadersparameter). Read this if you need help. - Removed the
looseoption - Removed support for functions as directive values. You must supply an iterable of strings
- Removed browser sniffing (including the
helmet.frameguard:- Dropped support for the
ALLOW-FROMaction. Read more here.
- Dropped support for the
helmet.hidePoweredByno longer accepts arguments. See this article to see how to replicate the removed behavior. See #224.helmet.hsts:- Dropped support for
includeSubdomainswith a lowercase D. See #231 - Dropped support for
setIf. Read this if you need help. See #232
- Dropped support for
helmet.xssFilterno longer accepts options. Read "How to disable blocking with X-XSS-Protection" and "How to enable thereportdirective with X-XSS-Protection" if you need the legacy behavior.
3.23.3 - 2020-06-26
Changed
helmet.expectCtis no longer a separate package. This should have no effect on end users.helmet.frameguardis no longer a separate package. This should have no effect on end users.
3.23.2 - 2020-06-23
Changed
helmet.dnsPrefetchControlis no longer a separate package. This should have no effect on end users.
3.23.1 - 2020-06-16
Changed
helmet.ieNoOpenis no longer a separate package. This should have no effect on end users.
3.23.0 - 2020-06-12
Deprecated
helmet.featurePolicyis deprecated. Use thefeature-policymodule instead.
3.22.1 - 2020-06-10
Changed
- Rewrote internals in TypeScript. This should have no effect on end users.
3.22.0 - 2020-03-24
Changed
- Updated
helmet-cspto v2.10.0- Add support for the
allow-downloadssandbox directive. See helmet-csp#103
- Add support for the
Deprecated
helmet.noCacheis deprecated. Use thenocachemodule instead. See #215
3.21.3 - 2020-02-24
Changed
- Updated
helmet-cspto v2.9.5- Updated
bowsersubdependency from 2.7.0 to 2.9.0 - Fixed an issue some people were having when importing the
bowsersubdependency. See helmet-csp#96 and #101
- Updated
3.21.2 - 2019-10-21
Changed
- Updated
helmet-cspto v2.9.4- Updated
bowsersubdependency from 2.6.1 to 2.7.0. See helmet-csp#94
- Updated
3.21.1 - 2019-09-20
Fixed
- Updated
helmet-cspto v2.9.2- Fixed a bug where a request from Firefox 4 could delete
default-srcfrom future responses - Fixed tablet PC detection by updating
bowsersubdependency to latest version
- Fixed a bug where a request from Firefox 4 could delete
3.21.0 - 2019-09-04
Added
- Updated
x-xss-protectionto v1.3.0- Added
mode: nullto disablemode=block
- Added
Changed
- Updated
helmet-cspto v2.9.1- Updated
bowsersubdependency from 2.5.3 to 2.5.4. See helmet-csp#88
- Updated
3.20.1 - 2019-08-28
Changed
- Updated
helmet-cspto v2.9.0
3.20.0 - 2019-07-24
Changed
- Updated
helmet-cspto v2.8.0
3.19.0 - 2019-07-17
Changed
- Updated
dns-prefetch-controlto v0.2.0 - Updated
dont-sniff-mimetypeto v1.1.0 - Updated
helmet-crossdomainto v0.4.0 - Updated
hide-powered-byto v1.1.0 - Updated
x-xss-protectionto v1.2.0
3.18.0 - 2019-05-05
Added
featurePolicyhas 19 new features:ambientLightSensor,documentDomain,documentWrite,encryptedMedia,fontDisplayLateSwap,layoutAnimations,legacyImageFormats,loadingFrameDefaultEager,oversizedImages,pictureInPicture,serial,syncScript,unoptimizedImages,unoptimizedLosslessImages,unoptimizedLossyImages,unsizedMedia,verticalScroll,wakeLock, andxr
Changed
- Updated
expect-ctto v0.2.0 - Updated
feature-policyto v0.3.0 - Updated
frameguardto v3.1.0 - Updated
nocacheto v2.1.0
3.17.0 - 2019-05-03
Added
referrerPolicynow supports multiple values
Changed
- Updated
referrerPolicyto v1.2.0
3.16.0 - 2019-03-10
Added
- Add email to
bugsfield inpackage.json
Changed
- Updated
hststo v2.2.0 - Updated
ienoopento v1.1.0 - Changelog is now in the Keep A Changelog format
- Dropped support for Node <4. See the commit for more information
- Updated Adam Baldwin's contact information
Deprecated
helmet.hsts'ssetIfoption has been deprecated and will be removed inhsts@3. See helmetjs/hsts#22 for more
- The
includeSubdomainsoption (with a lowercased) has been deprecated and will be removed inhsts@3. Use the uppercase-DincludeSubDomainsoption instead. See helmetjs/hsts#21 for more
3.15.1 - 2019-02-10
Deprecated
- The
hpkpmiddleware has been deprecated. If you still need to use this module, install the standalonehpkpmodule from npm. See #180 for more.
3.15.0 - 2018-11-07
Added
helmet.featurePolicynow supports four new features
3.14.0 - 2018-10-09
Added
helmet.featurePolicymiddleware
3.13.0 - 2018-07-22
Added
helmet.permittedCrossDomainPoliciesmiddleware
3.12.2 - 2018-07-20
Fixed
- Removed
lodash.reducedependency fromcsp
3.12.1 - 2018-05-16
Fixed
expectCtshould use comma instead of semicolon as delimiter
3.12.0 - 2018-03-02
Added
xssFilternow supportsreportUrioption
3.11.0 - 2018-02-09
Added
- Main Helmet middleware is now named to help with debugging
3.10.0 - 2018-01-23
Added
cspnow supportsprefix-srcdirective
Fixed
cspno longer loads JSON files internally, helping some module bundlersfalseshould be able to disable a CSP directive
3.9.0 - 2017-10-13
Added
cspnow supportsstrict-dynamicvaluecspnow supportsrequire-sri-fordirective
Changed
- Removed
connectdependency
3.8.2 - 2017-09-27
Changed
- Updated
connectdependency to latest
3.8.1 - 2017-07-28
Fixed
cspdoes not automatically setreport-towhen settingreport-uri
3.8.0 - 2017-07-21
Changed
hstsno longer cares whether it's HTTPS and always sets the header
3.7.0 - 2017-07-21
Added
cspnow supportsreport-todirective
Changed
- Throw an error when used incorrectly
- Add a few documentation files to
npmignore
3.6.1 - 2017-05-21
Changed
- Bump
connectversion
3.6.0 - 2017-05-04
Added
expectCtmiddleware for setting theExpect-CTheader
3.5.0 - 2017-03-06
Added
cspnow supports theworker-srcdirective
3.4.1 - 2017-02-24
Changed
- Bump
connectversion
3.4.0 - 2017-01-13
Added
cspnow supports moresandboxdirectives
3.3.0 - 2016-12-31
Added
referrerPolicyallowsstrict-originandstrict-origin-when-cross-origindirectives
Changed
- Bump
connectversion
3.2.0 - 2016-12-22
Added
cspnow allowsmanifest-srcdirective
3.1.0 - 2016-11-03
Added
cspnow allowsframe-srcdirective
3.0.0 - 2016-10-28
Changed
cspwill check your directives for common mistakes and throw errors if it finds them. This can be disabled withloose: true.- Empty arrays are no longer allowed in
csp. For source lists (likescript-srcorobject-src), use the standardscriptSrc: ["'none'"]. Thesandboxdirective can besandbox: trueto block everything. falsecan disable a CSP directive. For example,scriptSrc: falseis the same as not specifying it.- In CSP,
reportOnly: trueno longer requires areport-urito be set. hsts'smaxAgenow defaults to 180 days (instead of 1 day)hsts'smaxAgeparameter is seconds, not millisecondshstsincludes subdomains by defaultdomainparameter inframeguardcannot be empty
Removed
noEtagoption no longer present innoCache- iOS Chrome
connect-srcworkaround in CSP module
2.3.0 - 2016-09-30
Added
hpkpmiddleware now supports theincludeSubDomainsproperty with a capital D
Fixed
hpkpwas settingincludeSubdomainsinstead ofincludeSubDomains
2.2.0 - 2016-09-16
Added
referrerPolicymiddleware
2.1.3 - 2016-09-07
Changed
- Top-level aliases (like
helmet.xssFilter) are no longer dynamically required
2.1.2 - 2016-07-27
Deprecated
nocache'snoEtagoption is now deprecated
Fixed
cspnow better handles Firefox on mobile
2.1.1 - 2016-06-10
Changed
- Remove several dependencies from
helmet-csp
Fixed
frameguardhad a documentation error about its default valueframeguarddocs in main Helmet readme saidframeguard, nothelmet.frameguard
2.1.0 - 2016-05-18
Added
csplets you dynamically setreportOnly
2.0.0 - 2016-04-29
Added
- Pass configuration to enable/disable default middlewares
Changed
dnsPrefetchControlmiddleware is now enabled by default
Removed
- No more module aliases. There is now just one way to include each middleware
frameguardcan no longer be initialized with strings; you must use an object
Fixed
- Make
hpkplowercase in documentation - Update
hpkpspec URL in readmes - Update
frameguardheader name in readme
1.3.0 - 2016-03-01
Added
hpkphas asetIfoption to conditionally set the header
1.2.0 - 2016-02-29
Added
cspnow has abrowserSniffoption to disable all user-agent sniffing
Changed
frameguardcan now be initialized with options- Add
npmignorefile to speed up installs slightly
1.1.0 - 2016-01-12
Added
- Code of conduct
dnsPrefetchControlmiddleware
Fixed
cspreadme had syntax errors
1.0.2 - 2016-01-08
Fixed
cspwouldn't recognizeIE Mobilebrowserscsphad some errors in its readme- Main readme had a syntax error
1.0.1 - 2015-12-19
Fixed
cspwith no User Agent would cause errors
1.0.0 - 2015-12-18
Added
cspmodule supports dynamically-generated values
Changed
cspdirectives are now under thedirectiveskeyhpkp'sReport-Onlyheader is now opt-in, not opt-out- Tweak readmes of every sub-repo
Removed
crossdomainmiddlewarecspno longer throws errors when some directives aren't quoted ('self', for example)maxageoption in thehpkpmiddlewaresafari5option fromcspmodule
Fixed
- Old Firefox Content-Security-Policy behavior for
unsafe-inlineandunsafe-eval - Dynamic
csppolicies is no longer recursive
0.15.0 - 2015-11-26
Changed
hpkpallows areport-uriwithout theReport-Onlyheader
0.14.0 - 2015-11-01
Added
nocachenow sends theSurrogate-Controlheader
Changed
nocacheno longer contains theprivatedirective in theCache-Controlheader
0.13.0 - 2015-10-23
Added
xssFilternow has a function name- Added new CSP docs to readme
Changed
- HSTS option renamed from
includeSubdomainstoincludeSubDomains
0.11.0 - 2015-09-18
Added
cspnow supports Microsoft Edge- CSP Level 2 support
Changed
- Updated
connectto 3.4.0 - Updated
depdto 1.1.0
Fixed
- Added
licensekey tocsp'spackage.json - Empty
cspdirectives now support every directive, not justsandbox
0.10.0 - 2015-07-08
Added
- Add "Handling CSP violations" to
cspreadme - Add license to
package.json
Changed
hpkphad a link to the wrong place in its readmehpkprequires 2 or more pins
Fixed
hpkpmight have miscalculatedmaxAgeslightly wrong
0.9.0 - 2015-04-24
Changed
nocacheaddsprivateto itsCache-Controldirective- Added a description to
package.json
0.8.0 - 2015-04-21
Changed
- Removed hefty Lodash dependency from HSTS and CSP
- Updated string detection module in Frameguard
- Changed readme slightly to better reflect project's focus
Deprecated
- Deprecated
crossdomainmiddleware
Removed
crossdomainis no longer a default middleware
0.7.1 - 2015-03-23
Changed
- Updated all outdated dependencies (insofar as possible)
- HSTS now uses Lodash like all the rest of the libraries
0.7.0 - 2015-03-05
Added
hpkpmiddleware
Changed
- Travis CI should test 0.10 and 0.12
- Minor code cleanup
0.6.2 - 2015-03-01
Changed
- Improved
xssFilterperformance - Updated Lodash versions
0.6.1 - 2015-02-13
Added
- "Other recommended modules" in README
Changed
- Updated Lodash version
Fixed
frameguardmiddleware exported a function calledxframe
0.6.0 - 2015-01-21
Added
- You can disable
cspfor Android
Fixed
cspon Chrome Mobile on Android and iOS
0.5.4 - 2014-12-21
Changed
nocacheshould force revalidation
0.5.3 - 2014-12-08
Changed
platformversion in CSP and X-XSS-Protection
Fixed
- Updated bad wording in frameguard docs
0.5.2 - 2014-11-16
Changed
- Updated Connect version
Fixed
- Fixed minor
cspbugfixes
0.5.1 - 2014-11-09
Changed
- Updated URLs in
package.jsonfor new URL
Fixed
- CSP would set all headers forever after receiving an unknown user agent
0.5.0 - 2014-10-28
Added
- Most middlewares have some aliases now
Changed
xframenow calledframeguard(thoughxframestill works)frameguardchooses sameorigin by defaultframeguardunderstands "SAME-ORIGIN" in addition to "SAMEORIGIN"nocacheremoved from default middleware stack- Middleware split out into their own modules
- Documentation
- Updated supported Node version to at least 0.10.0
- Bumped Connect version
Removed
- Deprecation warnings
Fixed
- Readme link was broken
0.4.2 - 2014-10-16
Added
- Support preload in HSTS header
0.4.1 - 2014-08-24
Added
- Use helmet-crossdomain to test the waters
- 2 spaces instead of 4 throughout the code
0.4.0 - 2014-07-17
Added
nocachenow sets the Expires and Pragma headersnocachenow allows you to crush ETags
Changed
- Improved the docs for nosniff
- Reverted HSTS behavior of requiring a specified max-age
Fixed
- Allow HSTS to have a max-age of 0
0.3.2 - 2014-06-30
Added
- All middleware functions are named
- Throw error with non-positive HSTS max-age
Changed
- Added semicolons in README
- Make some Errors more specific
Removed
- Removed all comment headers; refer to the readme
Fixed
helmet()was having issues- Fixed Syntax errors in README
This changelog was created after the release of 0.3.1.