오늘 PowerShell 터미널을 켰더니 이런 메시지가 반겨주더라고요.
A new PowerShell stable release is available: v7.5.4
Upgrade now, or check out the release page at:
https://aka.ms/PowerShell-Release?tag=v7.5.4
“오, 업데이트가 나왔네?” 하고 궁금해서 뭐가 바뀌었는지 찾아봤어요. 그런데…
😅 별거 없는데 업데이트하라고?#
릴리스 노트를 살펴보니까 솔직히 “우와!” 할 만한 건 없더라고요.
주요 변경사항이라고는:
- .NET SDK를 9.0.306으로 업그레이드
- 릴리스 파이프라인 내부 작업들
- CodeQL 보안 스캔 관련 수정
- 실패하는 테스트 케이스 수정
- 소켓 타임아웃 보안 개선
“아… 이거 개발자들이나 신경 쓸 내용이네” 싶었어요. 실제 사용자 입장에서 체감할 만한 기능은 딱히 없었거든요.
그래도 일단 업데이트나 해볼까 싶어서 시도했습니다.
🔧 winget으로 업데이트 시도… 했는데?#
가장 간단한 방법부터 시도했어요. winget 쓰면 한 줄로 끝나잖아요?
winget upgrade Microsoft.PowerShell
그런데 이게 웬걸?
사용 가능한 업그레이드를 찾을 수 없습니다.
구성된 원본에서 사용할 수 있는 최신 패키지 버전이 없습니다.
“어? 방금 업데이트 나왔다며?” 🤔
혹시 몰라서 현재 버전 확인해봤어요.
winget list PowerShell
이름 장치 ID 버전 원본
---------------------------------------------------------------
PowerShell 7-x64 Microsoft.PowerShell 7.5.3.0 winget
분명히 7.5.3이고, 7.5.4가 나왔다는데… winget은 모르는 척!
🤷♂️ winget 저장소 타이밍 문제#
알고 보니 이건 흔한 일이더라고요. PowerShell 새 버전이 릴리스되고 winget 저장소에 반영되기까지 약간의 시차가 있거든요.
시도해본 것들:
1. winget 소스 업데이트
winget source update --name winget
결과: 여전히 7.5.4 못 찾음
2. 다시 업그레이드 시도
winget upgrade Microsoft.PowerShell
결과: 역시나 “사용 가능한 업그레이드 없음”
결국 winget은 포기하고 다른 방법을 찾아야 했어요.
💡 직접 설치가 답이다#
이럴 땐 그냥 직접 설치하는 게 제일 빠릅니다.
방법 1: PowerShell 스크립트로 자동 설치
iex "& { $(irm https://aka.ms/install-powershell.ps1) } -UseMSI"
방법 2: GitHub에서 MSI 직접 다운로드
Start-Process "https://github.com/PowerShell/PowerShell/releases/download/v7.5.4/PowerShell-7.5.4-win-x64.msi"
저는 방법 2로 MSI 파일 받아서 설치했어요. 설치는 금방 끝났고, 기존 7.5.3 위에 덮어씌우는 식이라 설정도 그대로 유지되더라고요.
설치 후 PowerShell 재시작하니까 드디어!
$PSVersionTable.PSVersion
Major Minor Patch PreReleaseLabel BuildLabel
----- ----- ----- --------------- ----------
7 5 4
성공! 🎉
🚀 그래서 7.5.4가 별거 없다고?#
네, 7.5.4 자체는 솔직히 마이너 패치예요. 주로 안정성과 보안 개선이 목적이죠.
하지만 이번 기회에 7.5 버전 전체를 살펴보니까, 7.4에서 7.5로 올라올 때 진짜 좋은 게 많았더라고요!
배열 += 연산자 성능 90% 향상#
이건 진짜 대박이에요. 7.4에서는 배열에 += 연산자 쓰는 게 엄청 느렸거든요.
# 7.4에서는 이런 코드가 매우 느렸어요
$array = @()
for ($i = 0; $i -lt 10000; $i++) {
$array += $i
}
7.5에서는 이 작업이 90% 빨라졌어요! List
Test-Path 개선#
# 7.4에서는 -OlderThan이 무시되는 버그가 있었어요
Test-Path "test.txt" -NewerThan "2025-10-01" -OlderThan "2025-10-20"
7.5에서는 이 조합이 제대로 작동합니다. 특정 날짜 범위 안에 생성된 파일을 찾을 때 유용하죠.
.NET 9 기반#
7.5는 .NET 9을 기반으로 하면서 전반적인 성능과 메모리 관리가 개선됐어요. 특히 DATAS(Dynamic Adaptation to Application Sizes) 덕분에 큰 데이터셋 다룰 때 메모리를 더 효율적으로 사용한다고 하네요.
🔐 마이너 패치의 의미#
“별거 없는 업데이트"라고 생각하기 쉽지만, 사실 마이너 패치들이 중요해요.
7.5.4에서 개선된 것들:
- .NET SDK 9.0.306: 보안 패치와 버그 수정 포함
- 소켓 타임아웃 보안 개선: 네트워크 관련 보안 강화
- 테스트 안정성: 개발 과정에서 안정성 확보
- CodeQL 보안 스캔: 코드 취약점 사전 차단
겉으로 보기엔 별거 없어 보여도, 뒤에서 안정성과 보안을 지키는 중요한 작업들이죠.
💭 업데이트할까 말까?#
솔직히 7.5.3에서 7.5.4로 업데이트하는 건 급하게 안 해도 돼요.
업데이트 추천:
- 보안에 민감한 환경
- 안정성이 중요한 프로덕션
- 새로 설치하는 경우
굳이 안 해도 되는 경우:
- 개인 개발 환경
- 특별한 문제 없이 잘 쓰고 있는 경우
- winget에 올라올 때까지 기다려도 됨
저는 그냥… 궁금해서 업데이트했어요 😅
🎯 다음 업데이트는?#
PowerShell 7.6 프리뷰가 이미 나와 있더라고요. 거기서는 또 어떤 재밌는 기능들이 추가될지 기대되네요!
그리고 7.4는 LTS(Long Term Support) 버전이라 장기 지원받을 수 있어요. 안정성이 최우선이라면 7.4.13(최신 LTS)을 쓰는 것도 좋은 선택입니다.
마무리#
별거 없는 업데이트라고 생각했는데, 찾아보니까 나름 의미 있더라고요. winget으로 안 돼서 살짝 귀찮았지만, 직접 설치하는 것도 그리 어렵지 않았어요.
무엇보다 7.5 버전 자체가 7.4에 비해 많이 개선됐다는 걸 다시 확인할 수 있었던 기회였네요. 특히 배열 += 연산자 성능 90% 향상은 진짜 체감될 것 같아요!
여러분은 PowerShell 업데이트 어떻게 관리하시나요? winget 쓰시나요, 아니면 직접 설치하시나요? 댓글로 공유해주세요! 😊
참고 링크:
