Electron 20.0.0
Electron 20.0.0이 출시되었습니다! 이번 버전은 Chromium 104
, V8 10.4
, 그리고 Node.js 16.15.0
으로 업그레이드되었습니다. 더 자세한 내용은 아래를 참고하세요!
Electron 팀은 Electron 20.0.0 출시를 발표하게 되어 기쁩니다! npm install electron@latest
명령어를 통해 npm으로 설치하거나 릴리스 웹사이트에서 직접 다운로드할 수 있습니다. 이번 릴리스에 대한 자세한 내용을 계속 읽어보시고 여러분의 피드백을 공유해 주세요!
주요 변경 사항
새로운 기능
- 윈도우에서 몰입형 다크 모드를 추가했다. #34549
- 패널 형태의 동작을 지원한다. 윈도우가 전체 화면 앱 위에 떠 있을 수 있다. #34665
- 윈도우 11에서 윈도우 컨트롤 오버레이 버튼의 외관과 느낌을 더 네이티브하게 업데이트했다. #34888
nodeIntegration: true
또는sandbox: false
를 명시하지 않으면 기본적으로 렌더러가 샌드박스 처리된다. #35125- nan으로 네이티브 모듈을 빌드할 때 안전 장치를 추가했다. #35160
스택 변경사항
- Chromium
104
- Node.js
16.15.0
- V8
10.4
주요 변경 사항 및 API 변화
Electron 20 버전에서 도입된 주요 변경 사항은 다음과 같다. 이와 관련된 추가 정보와 향후 예정된 변경 사항은 Planned Breaking Changes 페이지에서 확인할 수 있다.
기본값 변경: nodeIntegration: true
가 없는 렌더러는 기본적으로 샌드박스 처리됨
이전에는 프리로드 스크립트를 지정한 렌더러가 기본적으로 샌드박스 처리되지 않았다. 이는 기본적으로 프리로드 스크립트가 Node.js에 접근할 수 있음을 의미했다. Electron 20부터 이 기본값이 변경되었다. Electron 20부터는 nodeIntegration: true
또는 sandbox: false
를 명시적으로 지정하지 않는 한, 렌더러는 기본적으로 샌드박스 처리된다.
만약 여러분의 프리로드 스크립트가 Node에 의존하지 않는다면, 별도의 조치가 필요 없다. 하지만 프리로드 스크립트가 Node에 의존한다면, 렌더러에서 Node 사용을 제거하도록 리팩토링하거나, 관련 렌더러에 대해 sandbox: false
를 명시적으로 지정해야 한다.
수정: nan 네이티브 모듈의 자동 크래시 문제
Electron 20에서는 네이티브 모듈과 관련된 두 가지 사항을 변경했다:
- V8 헤더가 이제 기본적으로
c++17
을 사용한다. 이 플래그는 electron-rebuild에 추가되었다. - nan에 의존하는 네이티브 모듈에서 누락된 include로 인해 발생하던 자동 크래시 문제를 수정했다.
최대한 안정성을 확보하려면, 특히 nan에 의존하는 모듈을 리빌드할 때 node-gyp >=8.4.0과 electron-rebuild >=3.2.9를 사용할 것을 권장한다. 자세한 내용은 electron #35160과 node-gyp #2497을 참고한다.
제거됨: Linux에서 .skipTaskbar
X11 환경에서 skipTaskbar
는 X11 윈도우 매니저에게 _NET_WM_STATE_SKIP_TASKBAR
메시지를 보낸다. Wayland에는 이에 직접 대응하는 기능이 없으며, 알려진 해결 방법들은 허용하기 어려운 단점을 가지고 있다. 예를 들어, GNOME에서 Window.is_skip_taskbar
를 사용하려면 안전하지 않은 모드가 필요하다. 따라서 Electron은 Linux에서 이 기능을 지원할 수 없다.
17.x.y 버전 지원 종료
Electron 17.x.y 버전은 프로젝트의 지원 정책에 따라 지원이 종료되었다. 개발자와 애플리케이션은 더 새로운 버전의 Electron으로 업그레이드할 것을 권장한다.
E18 (2022년 3월) | E19 (2022년 5월) | E20 (2022년 8월) | E21 (2022년 9월) | E22 (2022년 12월) |
---|---|---|---|---|
18.x.y | 19.x.y | 20.x.y | 21.x.y | 22.x.y |
17.x.y | 18.x.y | 19.x.y | 20.x.y | 21.x.y |
16.x.y | 17.x.y | 18.x.y | 19.x.y | 20.x.y |
15.x.y | -- | -- | -- | -- |
다음 단계
단기적으로, Electron 팀은 Chromium, Node, V8과 같은 주요 컴포넌트의 개발 속도를 따라잡는 데 계속 집중할 예정이다. 릴리스 일정에 대해 약속을 하지는 않지만, 대략 2개월마다 이러한 컴포넌트의 새 버전과 함께 Electron의 새로운 주요 버전을 출시할 계획이다.
Electron의 공개 타임라인은 여기에서 확인할 수 있다.
향후 변경 사항에 대한 더 자세한 정보는 예정된 주요 변경 사항 페이지에서 찾아볼 수 있다.