4.10. 동적 프로그래밍 언어, 웹 서버 및 데이터베이스 서버
nodejs:18
모듈 스트림이 완전히 지원됩니다.
nodejs:18
모듈 스트림은 이전에 기술 프리뷰로 사용 가능하며 RHSA-2022:8833 권고의 릴리스에서 완전히 지원됩니다. nodejs:18
모듈 스트림은 이제 LTS(Long Term Support) 버전인 Node.js 18.12
를 제공합니다.
RHEL 8.7에 포함된 Node.js 18
은 RHEL 8.5 이후 사용 가능한 Node.js 16
의 버그 및 보안 수정 사항과 함께 수많은 새로운 기능을 제공합니다.
주요 변경 사항은 다음과 같습니다.
-
V8
엔진은 버전 10.2로 업그레이드되었습니다. -
npm
패키지 관리자가 버전 8.18.0으로 업그레이드되었습니다. -
Node.js
에서 새로운 실험적가져오기
API를 제공합니다. -
이제
Node.js
에서 새로운 실험적인node:test
모듈을 제공하여 보고되는 테스트 생성을 통해TAP( Test Anything Protocol) 형식으로 이어집니다. -
Node.js
는 이제 IPv4를 통해 IPv6 주소를 선호합니다.
nodejs:18
모듈 스트림을 설치하려면 다음을 사용합니다.
# yum module install nodejs:18
nodejs:16
스트림에서 업그레이드하려면 이후 스트림으로 전환을 참조하십시오.
(BZ#2083073)
nodejs:18
rebased to version 18.14 with npm
rebased to version 9
RHSA-2023:1583 에서 릴리스된 Node.js 18.14
에는 npm
버전 8에서 버전 9로 SemVer 주요 업그레이드가 포함되어 있습니다. 이 업데이트는 유지 관리 이유로 필요했으며 npm
구성을 조정해야 할 수 있습니다.
특히 특정 레지스트리에 범위가 지정되지 않은 인증 관련 설정은 더 이상 지원되지 않습니다. 이러한 변경은 보안상의 이유로 변경되었습니다. 범위가 지정되지 않은 인증 구성을 사용하면 제공된 토큰이 .npmrc
파일에 나열된 모든 레지스트리로 전송되었습니다.
범위가 지정되지 않은 인증 토큰을 사용하는 경우 .npmrc
파일에서 레지스트리 범위 토큰을 생성하고 제공합니다.
.npmrc
파일의 //registry.npmjs.org/: _auth
와 같이 _auth를 사용하는 구성 행이 있는 경우 해당 행을
로 바꾸고 생성한 범위가 지정된 토큰을 제공합니다.
//registry.npmjs.org/:_auth
Token=${NPM_TOKEN}
전체 변경 사항 목록은 업스트림 변경 로그를 참조하십시오.
새 모듈 스트림: ruby:3.1
RHEL 8.7에는 새로운 ruby:3.1
모듈 스트림에 Ruby 3.1.2
가 도입되었습니다. 이 버전은 RHEL 8.5를 통해 배포된 Ruby 3.0
에 비해 다양한 성능 향상, 버그 및 보안 수정, 새로운 기능을 제공합니다.
주요 개선 사항은 다음과 같습니다.
-
이제
대화형 Ruby
(IRB) 유틸리티에서 자동 완성 기능과 문서 대화 상자를 제공합니다. -
lib/
를 대체하고 성능이 향상되고 원격 디버깅 및 다중 프로세스/다중 스레드 디버깅을 지원하는 새로운 디버그 gemdebug
.rb -
error_highlight
gem에서 이제 backtrace에서 세분화된 오류 위치를 제공합니다. - 해시 리터럴 데이터 유형 및 키워드 인수의 값을 생략할 수 있습니다.
-
이제 pin 연산자(
^
)에서 패턴 일치에서 표현식 허용 - 이제 한 줄 패턴 일치에서 생략할 수 있습니다.
- 새로운 실험적인 프로세스의JIT(Just-in-Time) 컴파일러인 YJIT가 AMD 및 Intel 64비트 아키텍처에서 사용 가능
-
TypeProf For IDE
유틸리티가 도입되었으며 IDE의Ruby
코드에 대한 실험적 정적 유형 분석 도구입니다.
MJIT(메서드 기반 Just-in-Time Compiler)에서 다음과 같은 성능 개선 사항이 구현되었습니다.
-
Rails
와 같은 워크로드의 경우 기본 최대ECDHE 캐시 값이 100에서 10000으로 증가했습니다. -
클래스 이벤트에 대한
TraceECDHE가 활성화된 경우ECDHE을 사용하여 컴파일된 코드가
더 이상 취소되지 않습니다.
기타 주요 변경 사항은 다음과 같습니다.
-
tracer.rb
파일이 제거됨 -
버전 4.0부터
Psych
YAML 구문 분석기는 기본적으로safe_load
메서드를 사용합니다.
ruby:3.1
모듈 스트림을 설치하려면 다음을 사용합니다.
# yum module install ruby:3.1
이전 ruby
모듈 스트림에서 업그레이드하려면 이후 스트림으로 전환을 참조하십시오.
(BZ#2063772)
새로운 모듈 스트림: mercurial:6.2
RHEL 8.7은 Mercurial 6.2
를 새로운 모듈 스트림으로 추가합니다. 이 버전은 RHEL 8.0 이후 Mercurial 4.8
에 비해 여러 버그 수정, 개선 사항 및 성능 향상을 제공합니다.
주요 변경 사항은 다음과 같습니다.
-
Mercurial 6.2
에서Python 3.6
이상 지원 -
Mercurial
은 더 이상Python 2
를 지원하지 않습니다. -
hg purge
및hg clean
명령은 이제 추적되지 않은 파일 대신 무시된 파일을 삭제할 수 있는 새로운-i
옵션을 제공합니다. -
hg diff
및hg extdiff
명령에서--from <revision
> 및--to <revision
> 인수를 지원합니다. -
새로운 내부 병합 유틸리티인
internal:mergediff
를 사용할 수 있습니다. - Zstandard (ZSTD) 압축이 기본적으로 사용 가능한 경우 새 리포지토리에 사용됩니다.
-
필요한 확장 기능을 찾을 수 없는 경우
Mercurial
이 시작되지 않는 새로운 확장을 지정할 수 있습니다.
또한 hg
명령에 대한 C 래퍼를 제공하는 새로운 mercurial-chg
유틸리티를 사용할 수 있습니다. chg
명령을 사용하면 Mercurial
명령 서버 백그라운드 프로세스가 생성되면 C 프로그램이 해당 백그라운드 프로세스에 연결하고 Mercurial
명령을 실행합니다. 결과적으로 성능이 크게 향상됩니다.
Mercurial:6.2
모듈 스트림을 설치하려면 다음을 사용합니다.
# yum module install mercurial:6.2
mercurial:4.8
스트림에서 업그레이드하려면 이후 스트림으로 전환을 참조하십시오.
(BZ#2089849)
mariadb-java-client
버전 2.7.1에 기반
Java에서 개발한 애플리케이션에 대한 MariaDB
커넥터를 제공하는 mariadb-java-client
패키지가 버전 2.7.1로 업데이트되었습니다.
이번 업데이트에서는 다음과 같은 서비스 변경 사항이 추가되었습니다.
-
클라이언트 인증 플러그인이 이제 서비스로 정의됩니다. 따라서 새 클라이언트 인증 플러그인을 쉽게 추가할 수 있습니다. 드라이버에는
MySQL
과 호환성을 위해caching_sha2_password
및sha256_password
플러그인이 포함되어 있습니다. -
이제 인증 정보 플러그인을 사용하여 자격 증명 정보를 제공할 수 있습니다. 드라이버에는
AWS IAM
,환경
및속성
의 세 가지 기본 플러그인이 포함되어 있습니다. -
SSL 팩토리 서비스를 사용하면 사용자 정의 SSL 구현을 사용할 수 있습니다. 예를 들어 새로운
HostnameVerifier
구현을 생성할 수 있습니다.
기타 주요 변경 사항은 다음과 같습니다.
-
enabledSslProtocolSuites
옵션에는 기본적으로 TLSv1.2가 포함됩니다.
Redis
버전 6.2.7로 업데이트
redis:6
모듈 스트림을 제공하는 고급 키-값 저장소인 Redis 6
이 버전 6.2.7로 업데이트되었습니다. 이번 업데이트에서는 RHEL 8.4 이후 사용 가능한 버전 6.0에 대한 버그 수정, 보안 수정 및 개선 사항을 제공합니다.
httpd
구성의 LimitRequestBody
지시문의 새 기본값
CVE-2022-29404 를 수정하기 위해 Apache HTTP Server의 LimitRequestBody
지시문의 기본값은 0
(제한 없음)에서 1GiB로 변경되었습니다.
httpd
구성 파일에 LimitRequestBody
의 값이 명시적으로 지정되지 않은 시스템에서 httpd
패키지를 LimitRequestBody
를 기본값으로 1GiB로 업데이트합니다. 결과적으로 HTTP 요청 본문의 총 크기가 이 1GiB 기본 제한을 초과하면 httpd
에서 413 Request entity Too Large
오류 코드를 반환합니다.
HTTP 요청 메시지 본문의 새 기본 허용 크기가 사용 사례에 충분하지 않으면 해당 컨텍스트 내에서 httpd
구성 파일(서버, 디렉터리별, 파일 또는 위치별)을 업데이트하고 기본 제한을 바이트 단위로 설정합니다. 예를 들어 새 2GiB 제한을 설정하려면 다음을 사용합니다.
LimitRequestBody 2147483648
LimitRequestBody
지시문에 명시적 값을 사용하도록 이미 구성된 시스템은 이러한 변경의 영향을 받지 않습니다.
(BZ#2128016)