4.17.1 패치에서 하나의 버그가 고쳐졌습니다.
res.status()
가 존재하는 Express 4 애플리케이션에서 재귀를 일으키기 때문에 롤백되었습니다.
모든 변경 내역 확인: History.md.
4.17.0 마이너 릴리즈에서는 버그를 고치고 몇몇 새 기능을 추가했습니다.
The express.raw()
and express.text()
middleware have been added to provide request body parsing for more raw request payloads. This uses the expressjs/body-parser module module underneath, so apps that are currently requiring the module separately can switch to the built-in parsers.
res.cookie()
API가 이제 sameSite
옵션을 위해 "none"
값을 지원합니다.
"trust proxy"
설정이 활성화되어 있을 때, req.hostname
가 이제 여러개의 X-Forwarded-For
헤더가 요청에 있는 것을 허용합니다.
이 버전부터 Express가 Node.js 10.x 버전과 12.x 버전을 지원합니다.
res.sendFile()
API가 이제 비 문자열이 path
인수가 되었을 때 더 빠르고 쉽게 이해할 수 있는 에러를 제공합니다.
res.status()
API가 이제 null
이나 undefined
가 인수가 되었을 때 더 빠르고 쉽게 이해할 수 있는 에러를 제공합니다.
모든 변경 내역 확인: History.md.
4.16.4 패치는 여러 버그 픽스를 포함합니다.
res.sendfile
에서 로깅될 수 있는 "Request aborted"
오류를 수정되었습니다.
모든 변경 내역 확인: History.md.
4.16.3 패치는 여러 버그 픽스를 포함합니다.
res.location
메소드나 res.redirect
메소드에서 url 끝에 있는 %
문자가 %25
로 인코딩되지 않는 문제를 수정했습니다.
빈 req.url
값이 기본 404 에러 핸들링에서 오류를 발생시키는 문제를 수정했습니다.
express.static
의 응답이 이제 제대로 </html>
을 포함합니다.
모든 변경 내역 확인: History.md.
4.16.2 패치는 버그 픽스를 위한 롤백을 포함합니다.
res.send
메소드에서 Buffer
가 입력되고, ETag
헤더가 이미 응답에 설정되었을 때 발생하는 TypeError
를 수정했습니다.
모든 변경 내역 확인: History.md.
4.16.1 패치는 버그 픽스를 위한 롤백을 포함합니다.
express.static
을 사용하는 일부 유저에게 형향을 줄 수 있는 엣지 케이스 시나리오 회귀를 고치기 위해 [pillarjs/send module](https://www.npmjs.com/package/send를 업데이트 했습니다.
모든 변경 내역 확인: History.md.
4.16.0 마이너 릴리즈는 보안 업데이트, 버그 픽스, 최적화, 그리고 새로운 기능을 포함합니다.
jshttp/forwarded 모듈에서 발견된 취약점에 따라 업데이트되었습니다. req.host
, req.hostname
, req.ip
, req.ips
, req.protocol
을 사용하는 애플리케이션에 영향을 끼칠 수 있습니다.
취약점을 해결하기 위해 pillarjs/send 모듈의 의존성 모듈로 사용된 mime
를 업데이트했습니다. res.type()
에서 untrusted string을 사용하는 애플리케이션에 영향을 끼칠 수 있습니다.
pillarjs/send 모듈가 Node.js 8.5.0 취약점에 대응하여 패치를 추가했습니다. Express.js의 이전 버전을 Node.js 8.5.0 (이 특정한 버전만 해당합니다)에서 사용하는 경우, express.static
, res.sendfile
과 res.sendFile
API가 취약해집니다.
이 버전부터 Node.js 8.x.를 지원합니다.
새로운 설정, "json escape"
는 res.json()
, res.jsonp()
가 문자를 escape 할 수 있도록 하고, res.send()
의 응답을 클라이언트가 Content-Type
에 따라 인식하는게 아니라 HTML로 인식하도록 합니다. 이건 Express 앱을 XSS 기반의 공격으로부터 지킬 수 있도록 도와줍니다.
res.download()
메소드가 이제 options
오브젝트를 받습니다.
express.json()
과 express.urlencoded()
미들웨어가 특수한 바디 파싱을 지원하기 위해 추가되었습니다. 이 기능은 expressjs/body-parser 모듈을 기반으로 돌아갑니다. 현재 body-parser
모듈을 사용하고 있는 앱들은 빌트인 파서로 바꿀 수 있습니다.
express.static()
미들웨어와 res.sendFile()
메소드가 이제 Cache-Control
에서 immutable
directive를 설정하는 것을 지원합니다. 적절한 maxAge
와 함께 이 헤더를 설정함을 통해 지원되는 브라우저에서 파일이 아직 클라이언트 캐시에 남아 있어도 서버로 요청을 보내는 것을 방지할 수 있습니다.
pillarjs/send 모듈이 업데이트되어 더 많은 MIME 타입 리스트를 제공합니다. 이를 통해 Content-Type
에 더 많은 파일을 지원할 수 있습니다. 70개의 새 파일 확장자를 지원합니다.
모든 변경 내역 확인: History.md.
4.15.5 패치는 보안 업데이트, 최적화, 그리고 버그 픽스를 포함합니다.
취약점이 해결된 jshttp/fresh 모듈로 업데이트했습니다. 다음과 같은 API에 영향을 끼칩니다. express.static
, req.fresh
, res.json
, res.jsonp
, res.send
, res.sendfile
res.sendFile
, res.sendStatus
jshttp/fresh 모듈의 업데이트는 유효하지 않은 날짜로 이루어진 수정된 헤더 처리를 수정하고, If-None-Match
와 같은 조건부 헤더를 파싱하는 것을 빠르게 합니다.
모든 변경 내역 확인: History.md.
4.15.4 패치는 마이너 버그 픽스를 포함합니다.
인증서 조건에서 관리 중인 "신뢰할 수 있는 프록시"
값이 배열이 되던 문제 수정
모든 변경 내역 확인: History.md.
4.15.3 패치는 보안 업데이트와 마이너 버그 픽스를 포함합니다.
Update a dependency of the pillarjs/send module to address a vulnerability. This may affect your application if untrusted string input is passed to the maxAge
option in the following APIs: express.static
, res.sendfile
, and res.sendFile
.
res.set
으로 Content-Type
에 charset을 추가할 수 없는 오류를 수정했습니다.
Fix missing </html>
in HTML document.
모든 변경 내역 확인: History.md.
4.15.2 패치는 마이너 버그 픽스를 포함합니다.
Fix regression parsing keys starting with [
in the extended (default) query parser.
모든 변경 내역 확인: History.md.
4.15.1 패치는 마이너 버그 픽스를 포함합니다.
Fix compatibility issue when using the datejs 1.x library where the express.static()
middleware and res.sendFile()
method would incorrectly respond with 412 Precondition Failed.
모든 변경 내역 확인: History.md.
4.15.0 마이너 릴리즈는 버그 픽스, 최적화, 마이너 기능 추가를 포함합니다.
이 버전부터 Node.js 7.x.를 합니다.
The express.static()
middleware and res.sendFile()
method now support the If-Match
and If-Unmodified-Since
request headers.
Update to jshttp/etag module to generate the default ETags for responses which work when Node.js has FIPS-compliant crypto enabled.
Various auto-generated HTML responses like the default not found and error handlers will respond with complete HTML 5 documents and additional security headers.
모든 변경 내역 확인: History.md.
4.14.1 패치는 버그 픽스와 최적화를 포함합니다.
Update to pillarjs/finalhandler module fixes an exception when Express handles an Error
object which has a headers
property that is not an object.
모든 변경 내역 확인: History.md.
4.14.0 마이너 릴리즈는 버그 픽스, 보안 업데이트, 최적화, 마이너 기능 추가를 포함합니다.
이 버전부터 Node.js 6.x.를 지원합니다.
Update to jshttp/negotiator module fixes a regular expression denial of service vulnerability. jshttp/negotiator 모듈을 업데이트해서 정규 표현식 서비스 거부 취약점을 수정했습니다..
res.sendFile()
메소드가 이제 다음의 2가지 옵션을 지원합니다. acceptRanges
, cacheControl
acceptRanges
(기본값: true
): ranged requests를 받아 들이는지의 여부를 켜고 끕니다. 꺼져있을 때, 응답은 accept-Ranges
헤더를 보내지 않으며, Range
요청 헤더를 무시합니다.
cacheControl
, (기본값: true
):Cache-Control
헤더를 켜고 끕니다. 이 헤더를 끄면 maxAge
옵션을 무시합니다.
또한 res.sendFile
이 Range
헤더도 처리하고, 리다이렉션도 더 잘 하도록 업데이트 했습니다.
res.location()
메소드 와 res.redirect()
메소드가 URL 문자열이 인코딩되어있지 않다면 인코딩합니다.
res.json()
메소드와 res.jsonp()
메소드의 일반적인 상황에서의 성능이 향상되었습니다.
jshttp/cookie 모듈 (다른 향상점과 함께)이 업데이트되었으며, 이제 res.cookie()
메소드가 sameSite
옵션을 지원해서 여러분이 SameSite 쿠키 옵션을 지정할 수 있게 됩니다. NOTE: 이 속성은 아직 완전히 표준화되지 않았습니다. 미래에 바뀔 수도 있고, 클라이언트가 무시할 수 있습니다.
sameSite
옵션으로 가능한 값:
true
: SameSite
속성을 Strict
로 설정해 strict same site enforcement합니다.false
: SameSite
속성을 설정하지 않습니다..'lax'
, SameSite
속성을 Lax
로 설정해 lax same site enforcement합니다..'strict'
, SameSite
속성을 Strict
로 설정해 strict same site enforcement합니다.윈도우에서 절대 경로 검사가 종종 부정확했던 문제를 수정했습니다.
프록시를 사용하는 IP 주소 결정이 굉장하게 향상되었습니다.
req.range()
메소드 옵션 객체가 이제 combine
을 지원합니다.(기본값: false
) true
로 설정하면, 오버랩핑과 인접 범위를 결합해서 헤더에서 설정한대로 리턴합니다.
모든 변경 내역 확인: History.md.