Electron 10.0.0
Electron 10.0.0이 출시되었다! 이번 버전은 Chromium 85
, V8 8.5
, Node.js 12.16
으로 업그레이드되었으며, 여러 새로운 API 통합과 개선 사항이 추가되었다. 자세한 내용은 아래를 참고하자!
Electron 팀은 Electron 10.0.0 출시를 발표하게 되어 기쁘게 생각한다. npm install electron@latest
명령어를 통해 설치하거나 릴리스 웹사이트에서 다운로드할 수 있다. 이번 릴리스는 업그레이드, 수정 사항, 그리고 새로운 기능으로 가득 차 있다.
Electron 10 릴리스에서는 릴리스 노트에도 변화를 주었다. Electron 10에서 새로 추가된 내용과 이전 릴리스와의 차이점을 더 쉽게 확인할 수 있도록, Electron 10에 도입되었지만 이전 버전에도 백포팅된 변경 사항도 함께 포함했다. 이를 통해 앱 개발자들이 Electron을 업그레이드할 때 새로운 기능과 버그 수정 사항을 더 쉽게 찾을 수 있기를 바란다.
여러분이 이번 버전으로 무엇을 만들어낼지 기대가 된다! 이번 릴리스에 대한 자세한 내용을 계속 읽어보고, 피드백이 있다면 공유해 주길 바란다!
주요 변경 사항
스택 변경 사항
- Chromium
85.0.4183.84
- Node.js
12.16.3
- V8
8.5
주요 기능
contents.getBackgroundThrottling()
메서드와contents.backgroundThrottling
속성이 추가되었다. [#21036]- 메인 프로세스에서
desktopCapturer
모듈을 사용할 수 있게 되었다. #23548 - 이제
ses.isPersistent()
API를 호출해 주어진session
이 영구적인지 확인할 수 있다. #22622 - 네트워크 IP 주소 변경과 ICE로 인해 RTC 호출이 연결되지 않던 문제를 해결했다. (Chromium 이슈 1113227). #24998
새로운 기능과 변경 사항의 전체 목록은 10.0.0 릴리스 노트에서 확인할 수 있다.
주요 변경 사항
enableRemoteModule
의 기본값을false
로 변경했다. #22091- 이는
remote
모듈을 사용자 영역으로 옮기고 점차 폐기할 계획의 일환이다. 해당 결정의 배경과 폐기 일정에 대한 자세한 내용은 이 이슈를 참고하면 된다.
- 이는
app.allowRendererProcessReuse
의 기본값을true
로 변경했다. #22336 (Electron 9에서도 동일)- 이로 인해 렌더러 프로세스에서 컨텍스트를 인식하지 못하는 네이티브 모듈을 로드하지 못하게 된다. 해당 변경 사항의 배경과 폐기 일정에 대한 자세한 내용은 이 이슈를 참고하면 된다.
- macOS에서 OS 로캘이 아랍어나 히브리어와 같은 RTL 언어로 설정된 경우 윈도우 버튼의 위치를 수정했다. 프레임리스 윈도우 앱은 스타일링 시 이 변경 사항을 고려해야 할 수 있다. #22016
이러한 변경 사항과 향후 예정된 변경 사항에 대한 자세한 내용은 Planned Breaking Changes 페이지에서 확인할 수 있다.
API 변경 사항
- Session: 이제
ses.isPersistent()
API를 호출하여 주어진session
이 지속적인지 확인할 수 있다. #22622 - Contents:
contents.getBackgroundThrottling()
메서드와contents.backgroundThrottling
속성이 추가되었다. #21036
더 이상 사용되지 않는 API
다음 API는 이제 더 이상 사용되지 않거나 제거되었다:
netLog
의 더 이상 사용되지 않는currentlyLoggingPath
속성이 제거되었다. 또한netLog.stopLogging
은 더 이상 기록된 로그의 경로를 반환하지 않는다. #22732crashReporter
에서 압축되지 않은 크래시 업로드가 더 이상 사용되지 않는다. #23598
7.x.y 버전 지원 종료
Electron 7.x.y 버전은 프로젝트의 지원 정책에 따라 지원이 종료되었다. 개발자와 애플리케이션은 Electron의 최신 버전으로 업그레이드할 것을 권장한다.
다음 단계
단기적으로, 팀은 Chromium, Node, V8과 같은 Electron을 구성하는 주요 컴포넌트의 개발 속도를 따라잡는 데 계속 집중할 예정이다. 출시 일정에 대한 약속은 신중하게 다루지만, 대략 분기별로 이러한 컴포넌트의 새 버전과 함께 Electron의 새로운 주요 버전을 출시할 계획이다. 11.0.0 버전의 예정 일정은 Electron 11.0 개발 주기의 주요 날짜를 보여준다. 또한, Electron의 버전 관리에 대한 더 자세한 정보는 버전 관리 문서를 참고한다.
다가오는 Electron 버전에서 예정된 주요 변경 사항에 대한 정보는 예정된 주요 변경 사항 문서에서 확인할 수 있다.
remote
모듈 폐지 작업 계속 진행 중 (Electron 11)
우리는 Electron 9에서 remote
모듈 제거 작업을 시작했으며, 이제 remote
모듈을 완전히 없애기 위한 계획을 계속 진행하고 있다. Electron 11에서는 Electron 10에서와 마찬가지로 WeakRef 구현을 위한 리팩토링 작업을 이어갈 예정이다. 폐지에 대한 전체 계획과 세부 사항은 이 이슈를 참고하길 바란다.
네이티브 Node 모듈을 Context Aware 또는 N-API로 요구하기 위한 최종 단계 (Electron 12에서)
편집: 이 블로그 포스트는 원래 Electron 11에서 렌더러 프로세스 재사용을 비활성화할 것이라고 언급했습니다. 렌더러 프로세스 재사용 비활성화는 이제 Electron 12로 연기되었습니다.
Electron 6부터, 우리는 렌더러 프로세스에서 로드되는 네이티브 Node 모듈이 N-API 또는 Context Aware가 되도록 요구하는 기반을 마련해 왔습니다. 이 변경을 강제함으로써 더 강력한 보안, 더 빠른 성능, 그리고 유지보수 작업의 감소를 달성할 수 있습니다. 이 계획의 최종 단계는 Electron 12에서 렌더러 프로세스 재사용을 비활성화하는 기능을 제거하는 것입니다. 자세한 내용과 제안된 타임라인은 이 이슈를 참고하세요.