Gleam v1.17, 단일 파일 배포와 개발 편의성 대폭 개선!
Gleam v1.17은 escript 지원을 통해 단일 파일 배포를 가능하게 하여, Erlang VM 환경에서의 프로그램 공유 및 배포를 간소화함
IDE 기능 강화로 변수 참조 하이라이팅, 상수 `todo` 표현식 지원, 레코드 업데이트 정보 표시 등 개발 생산성이 향상됨
컴파일러는 오류 메시지 개선 및 타입 컨텍스트 인지 기능을 추가하여 디버깅 경험을 향상시킴
JavaScript 및 BEAM 백엔드 성능 최적화와 함께 개발 도구의 안정성 및 편의성 개선이 이루어짐
Gleam escript 지원을 통한 배포 편의성 증대
이번 릴리스의 핵심은 `gleam export escript` 명령어 도입으로, Erlang VM 환경에서 Gleam 코드를 단일 실행 파일로 패키징할 수 있게 되었다. 이는 JavaScript의 번들러와 유사한 방식으로, 여러 모듈을 하나의 파일로 통합하여 배포 및 공유를 용이하게 한다. 이전에는 여러 파일 관리가 불편했으나, 이제는 Erlang 설치만으로 실행 가능한 escript 생성이 가능해져 개발자들의 배포 워크플로우(Deployment Workflow)가 크게 간소화되었다는 평가다.
IDE 기능 강화: Highlight References 및 코드 액션 개선
Gleam 언어 서버(Language Server)는 `textDocument/documentHighlight` 기능을 추가하여 변수 참조 하이라이팅을 지원한다. 또한, `todo` 표현식을 상수에서도 사용할 수 있게 되었고, 이를 활용한 'Fill labels' 코드 액션이 상수 생성 시에도 작동하도록 개선되었다. 이 외에도 레코드 업데이트 시 변경되지 않은 필드 정보를 보여주는 호버링(Hovering) 기능 향상과, 잘못된 모듈 임포트 시 컴파일러가 제안을 제공하는 기능 등이 추가되어 개발 생산성(Developer Productivity) 향상에 기여한다.
컴파일러 오류 메시지 및 타입 시스템 개선
컴파일러는 이제 알 수 없는 변수(Unknown Variable)에 대해 임포트된 모듈 내에서 유사한 이름을 가진 함수를 제안하는 등, 오류 메시지의 유용성을 높였다. 또한, 경고 메시지에서 타입 이름을 컨텍스트에 맞게(Context-Aware) 표시하여, 별칭(Alias)이나 정규화된 이름(Qualified Name)을 사용한 경우에도 개발자가 코드를 더 쉽게 이해하도록 돕는다. 이는 타입 시스템(Type System)의 견고함과 함께 개발자의 디버깅 경험을 향상시키는 중요한 개선점이다.
JavaScript 및 BEAM 백엔드 성능 최적화
Gleam은 JavaScript 런타임 및 Erlang VM(BEAM)을 타겟으로 컴파일되는데, 이번 릴리스에서는 두 플랫폼 모두에서 성능 최적화가 이루어졌다. JavaScript 컴파일 시 패턴 매칭(Pattern Matching)의 효율성을 높여 중복 검사를 제거하고 할당 코드를 간결하게 만들었다. BEAM 백엔드 관련 구체적인 언급은 적지만, 전반적인 언어 서버 및 컴파일러 안정성 개선은 런타임 성능(Runtime Performance)에도 긍정적인 영향을 미칠 것으로 예상된다.
개발 도구 및 생태계 안정성 강화
빌드 도구(`gleam dev`)에 `--no-print-progress` 플래그가 추가되어 개발 중 불필요한 진행률 메시지를 숨길 수 있게 되었다. 또한 `gleam deps outdated` 명령어는 업데이트 가능한 패키지 수를 요약하여 보여주며, Git 저장소 감지 기능이 개선되어 모노레포 환경에서의 패키지 관리(Package Management)가 더욱 용이해졌다. 이 외에도 컴파일러의 내결함성(Fault Tolerance) 강화 및 불필요한 코드 액션 제거 등, 전반적인 개발 경험의 안정성과 편의성을 높이는 데 중점을 두었다.
보안 수정 및 커뮤니티 지원 요청
Gleam 빌드 도구에서 발견된 몇 가지 설정 유효성 검증 관련 취약점(CVE-2026-43965, CVE-2026-32685, CVE-2026-42795)이 수정되었다. 이는 Erlang 생태계 재단(Erlang Ecosystem Foundation)의 지원 덕분이며, AI 기반 취약점 탐지 도구의 발전에 대한 언급도 있었다. 프로젝트는 빅테크나 VC 투자 없이 커뮤니티 후원에 의존하고 있으며, 코어 팀 멤버 지원을 위한 GitHub Sponsors 참여를 독려하고 있다.