Files
expressjs.com/ko/changelog/4x.md
2025-04-07 11:33:44 -05:00

16 KiB

layout, title, menu, lang, description, sitemap
layout title menu lang description sitemap
page Express 4.x 업데이트 기록 changelog ko Stay updated with the release change log for Express.js 4.x, detailing new features, bug fixes, and important changes across versions. false

업데이트 기록

4.17.1 - 출시일: 2019-05-25

{: id="4.17.1"}

4.17.1 패치에서 하나의 버그가 고쳐졌습니다.

  • `res.status()`가 존재하는 Express 4 애플리케이션에서 재귀를 일으키기 때문에 롤백되었습니다.

모든 변경 내역 확인: History.md.

4.17.0 - 출시일: 2019-05-16

{: id="4.17.0"}

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](https://www.npmjs.com/package/body-parser) 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 - 출시일: 2018-10-10

{: id="4.16.4"}

4.16.4 패치는 여러 버그 픽스를 포함합니다.

  • `res.sendfile`에서 로깅될 수 있는 `"Request aborted"` 오류를 수정되었습니다.
모든 변경 내역 확인: [History.md](https://github.com/expressjs/express/blob/master/History.md#4164--2018-10-10).

4.16.3 - 출시일: 2018-03-12

{: id="4.16.3"}

4.16.3 패치는 여러 버그 픽스를 포함합니다.

  • `res.location` 메소드나 `res.redirect` 메소드에서 url 끝에 있는 `%` 문자가 `%25`로 인코딩되지 않는 문제를 수정했습니다.
  • 빈 `req.url` 값이 기본 404 에러 핸들링에서 오류를 발생시키는 문제를 수정했습니다.
  • `express.static`의 응답이 이제 제대로 `</html>`을 포함합니다.

모든 변경 내역 확인: History.md.

4.16.2 - 출시일: 2017-10-09

{: id="4.16.2"}

4.16.2 패치는 버그 픽스를 위한 롤백을 포함합니다.

  • `res.send` 메소드에서 `Buffer`가 입력되고, `ETag` 헤더가 이미 응답에 설정되었을 때 발생하는 `TypeError`를 수정했습니다.

모든 변경 내역 확인: History.md.

4.16.1 - 출시일: 2017-09-29

{: id="4.16.1"}

4.16.1 패치는 버그 픽스를 위한 롤백을 포함합니다.

  • `express.static`을 사용하는 일부 유저에게 형향을 줄 수 있는 엣지 케이스 시나리오 회귀를 고치기 위해 [pillarjs/send module](https://www.npmjs.com/package/send를 업데이트 했습니다.

모든 변경 내역 확인: History.md.

4.16.0 - 출시일: 2017-09-28

{: id="4.16.0"}

4.16.0 마이너 릴리즈는 보안 업데이트, 버그 픽스, 최적화, 그리고 새로운 기능을 포함합니다.

  • [jshttp/forwarded 모듈](https://www.npmjs.com/package/forwarded)에서 [발견된 취약점](https://npmjs.com/advisories/527)에 따라 업데이트되었습니다. `req.host`, `req.hostname`, `req.ip`, `req.ips`, `req.protocol`을 사용하는 애플리케이션에 영향을 끼칠 수 있습니다.
  • [취약점](https://npmjs.com/advisories/535)을 해결하기 위해 [pillarjs/send 모듈](https://www.npmjs.com/package/send)의 의존성 모듈로 사용된 `mime`를 업데이트했습니다. `res.type()`에서 untrusted string을 사용하는 애플리케이션에 영향을 끼칠 수 있습니다.
  • [pillarjs/send 모듈](https://www.npmjs.com/package/send)가 Node.js 8.5.0 [취약점](https://nodejs.org/en/blog/vulnerability/september-2017-path-validation/)에 대응하여 패치를 추가했습니다. 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()` 메소드](/{{ page.lang }}/4x/api.html#res.download)가 이제 `options` 오브젝트를 받습니다.
  • `express.json()` 과 `express.urlencoded()` 미들웨어가 특수한 바디 파싱을 지원하기 위해 추가되었습니다. 이 기능은 [expressjs/body-parser 모듈](https://www.npmjs.com/package/body-parser)을 기반으로 돌아갑니다. 현재 `body-parser` 모듈을 사용하고 있는 앱들은 빌트인 파서로 바꿀 수 있습니다.
  • [`express.static()` 미들웨어](/{{ page.lang }}/4x/api.html#express.static)와 [`res.sendFile()` 메소드](/{{ page.lang }}/4x/api.html#res.sendFile)가 이제 `Cache-Control`에서 `immutable` directive를 설정하는 것을 지원합니다. 적절한 `maxAge`와 함께 이 헤더를 설정함을 통해 지원되는 브라우저에서 파일이 아직 클라이언트 캐시에 남아 있어도 서버로 요청을 보내는 것을 방지할 수 있습니다.
  • [pillarjs/send 모듈](https://www.npmjs.com/package/send)이 업데이트되어 더 많은 MIME 타입 리스트를 제공합니다. 이를 통해 `Content-Type`에 더 많은 파일을 지원할 수 있습니다. 70개의 새 파일 확장자를 지원합니다.

모든 변경 내역 확인: History.md.

4.15.5 - 출시일: 2017-09-24

{: id="4.15.5"}

4.15.5 패치는 보안 업데이트, 최적화, 그리고 버그 픽스를 포함합니다.

모든 변경 내역 확인: History.md.

4.15.4 - 출시일: 2017-08-06

{: id="4.15.4"}

4.15.4 패치는 마이너 버그 픽스를 포함합니다.

  • 인증서 조건에서 관리 중인 `"신뢰할 수 있는 프록시"` 값이 배열이 되던 문제 수정

모든 변경 내역 확인: History.md.

4.15.3 - 출시일: 2017-05-16

{: id="4.15.3"}

4.15.3 패치는 보안 업데이트와 마이너 버그 픽스를 포함합니다.

  • Update a dependency of the [pillarjs/send module](https://www.npmjs.com/package/send) to address a [vulnerability](https://snyk.io/vuln/npm:ms:20170412). 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 - 출시일: 2017-03-06

{: id="4.15.2"}

4.15.2 패치는 마이너 버그 픽스를 포함합니다.

  • Fix regression parsing keys starting with `[` in the extended (default) query parser.

모든 변경 내역 확인: History.md.

4.15.1 - 출시일: 2017-03-05

{: id="4.15.1"}

4.15.1 패치는 마이너 버그 픽스를 포함합니다.

  • Fix compatibility issue when using the datejs 1.x library where the [`express.static()` middleware](/{{ page.lang }}/4x/api.html#express.static) and [`res.sendFile()` method](/{{ page.lang }}/4x/api.html#res.sendFile) would incorrectly respond with 412 Precondition Failed.

모든 변경 내역 확인: History.md.

4.15.0 - 출시일: 2017-03-01

{: id="4.15.0"}

4.15.0 마이너 릴리즈는 버그 픽스, 최적화, 마이너 기능 추가를 포함합니다.

  • 이 버전부터 Node.js 7.x.를 합니다.
  • The [`express.static()` middleware](/{{ page.lang }}/4x/api.html#express.static) and [`res.sendFile()` method](/{{ page.lang }}/4x/api.html#res.sendFile) now support the `If-Match` and `If-Unmodified-Since` request headers.
  • Update to [jshttp/etag module](https://www.npmjs.com/package/etag) to generate the default ETags for responses which work when Node.js has [FIPS-compliant crypto enabled](https://nodejs.org/dist/latest/docs/api/cli.html#cli_enable_fips).
  • 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 - 출시일: 2017-01-28

{: id="4.14.1"}

4.14.1 패치는 버그 픽스와 최적화를 포함합니다.

모든 변경 내역 확인: History.md.

4.14.0 - 출시일: 2016-06-16

{: id="4.14.0"}

4.14.0 마이너 릴리즈는 버그 픽스, 보안 업데이트, 최적화, 마이너 기능 추가를 포함합니다.

  • 이 버전부터 Node.js 6.x.를 지원합니다.
  • Update to [jshttp/negotiator module](https://www.npmjs.com/package/negotiator) fixes a [regular expression denial of service vulnerability](https://npmjs.com/advisories/106). [jshttp/negotiator 모듈](https://www.npmjs.com/package/negotiator)을 업데이트해서 [정규 표현식 서비스 거부 취약점](https://npmjs.com/advisories/106)을 수정했습니다..
  • [`res.sendFile()` 메소드](/{{ page.lang }}/4x/api.html#res.sendFile)가 이제 다음의 2가지 옵션을 지원합니다. `acceptRanges`, `cacheControl`
    • acceptRanges (기본값: true): ranged requests를 받아 들이는지의 여부를 켜고 끕니다. 꺼져있을 때, 응답은 accept-Ranges 헤더를 보내지 않으며, Range 요청 헤더를 무시합니다.

    • cacheControl, (기본값: true):Cache-Control 헤더를 켜고 끕니다. 이 헤더를 끄면 maxAge 옵션을 무시합니다.

    • 또한 res.sendFileRange 헤더도 처리하고, 리다이렉션도 더 잘 하도록 업데이트 했습니다.

  • [`res.location()` 메소드](/{{ page.lang }}/4x/api.html#res.location) 와 [`res.redirect()` 메소드](/{{ page.lang }}/4x/api.html#res.redirect)가 URL 문자열이 인코딩되어있지 않다면 인코딩합니다.
  • [`res.json()` 메소드](/{{ page.lang }}/4x/api.html#res.json)와 [`res.jsonp()` 메소드](/{{ page.lang }}/4x/api.html#res.jsonp)의 일반적인 상황에서의 성능이 향상되었습니다.
  • [jshttp/cookie 모듈](https://www.npmjs.com/package/cookie) (다른 향상점과 함께)이 업데이트되었으며, 이제 [`res.cookie()` 메소드](/{{ page.lang }}/4x/api.html#res.cookie)가 `sameSite` 옵션을 지원해서 여러분이 [SameSite 쿠키 옵션](https://tools.ietf.org/html/draft-west-first-party-cookies-07)을 지정할 수 있게 됩니다. 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()` 메소드](/{{ page.lang }}/4x/api.html#req.range) 옵션 객체가 이제 `combine`을 지원합니다.(기본값: `false`) `true`로 설정하면, 오버랩핑과 인접 범위를 결합해서 헤더에서 설정한대로 리턴합니다.

모든 변경 내역 확인: History.md.