본문으로 건너뛰기

PowerShell 7.5.4 업데이트 - 별거 없다더니 업데이트는 왜 이렇게 귀찮아?

목차

오늘 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.Add() 보다도 빠르다고 하니까 이제 마음 편히 += 쓸 수 있겠네요.

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 쓰시나요, 아니면 직접 설치하시나요? 댓글로 공유해주세요! 😊


참고 링크:

본 포스팅은 쿠팡 파트너스 활동의 일환으로, 이에 따른 일정액의 수수료를 제공받습니다.


💬 댓글