두 차례 계획된 릴리스 후보 중 첫 번째 버전은 9월 11일 발표됐으며, dotnet.microsoft.com에서 다운로드할 수 있다. 출시일은 11월로 예정돼 있다.
이번 라이브러리 업데이트에서는 새로운 API가 추가돼 개발자가 웹소켓 핑을 전송하거나 상대가 제시간에 응답하지 않으면 연결을 종료할 수 있도록 선택할 수 있다. 이전에는 개발자가 연결이 유휴 상태로 남지 않도록 KeepAliveInterval을 설정할 수 있었으나, 상대방의 응답을 강제하는 내장 메커니즘은 없었다. 이제 ClientWebSocketOptions와 WebSocketCreationOptions에서 이를 설정할 수 있다.
또한 라이브러리 측면에서는 특정 알고리즘에 따른 압축 수준과 압축 전략을 설정할 수 있는 ZLibCompressionOptions와 BrotliCompressionOptions 타입이 추가됐다. CompressionLevel이 제공하는 설정보다 더 세밀한 조정이 필요한 개발자에게 유용하다. 새로운 압축 옵션은 향후 확장 가능하도록 설계됐다. 또 다른 변경 사항으로는 LogLevel.Trace에서 HttpClientFactory가 기록하는 이벤트에 이제 기본적으로 헤더 값이 포함되지 않는다.
닷넷 9의 닷넷 마우이는 제품 품질 향상에 중점을 두고 있다. 여기에는 테스트 커버리지 확대, 엔드투엔드 시나리오 테스트, 버그 수정 등이 포함된다. 이런 개선 사항은 닷넷 9의 7번째 미리 보기 릴리스에서 강조되었다. 또한 비주얼 스튜디오 코드 확장 기능에는 HorizontalTextAlignment.justify를 사용해 Label에서 텍스트를 수평으로 정렬할 수 있는 기능이 추가됐다.
ASP닷넷 코어(ASP.NET Core) 관련 릴리스 후보 공지에서는 7월 15일에 발표된 미리 보기 6에서 SignalR의 분산 추적에 대한 초기 지원이 추가되었음을 설명하고 있다. RC1에서는 SignalR 클라이언트가 Microsoft.AspNetCore.SignalR.Client라는 ActivitySource를 가지게 됐으며, 허브 호출 시 클라이언트 스팬이 생성된다. 또한 클라이언트에서 서버로의 허브 호출이 컨텍스트 전파를 지원하게 됐다. 마이크로소프트는 이를 통해 진정한 분산 추적이 가능해졌으며, 클라이언트에서 서버로 호출이 전달되고 다시 돌아오는 과정을 볼 수 있게 되었다고 밝혔다.
또한 닷넷 SDK에는 새로운 명령어 dotnet workload history가 추가됐다. 이 명령어는 특정 닷넷 SDK 설치에 대한 워크로드 설치 또는 수정 내역을 보여준다. 여기에는 설치된 워크로드의 버전과 설치 시점이 포함된다. 이 기능은 개발자가 시간에 따른 워크로드 설치 내역의 변화를 이해하고, 설치할 워크로드 버전을 결정하는 데 도움이 될 수 있도록 설계됐다.
닷넷 9 이전 버전은 2023년 11월에 출시된 닷넷 8로, 동적 메모리 제한 및 JSON 개선 사항을 주요 특징으로 삼았다.
editor@itworld.co.kr