TL;DR

  • Effect 4.0은 Effect를 처음부터 다시 구축한 주요 릴리스로, 번들 크기와 메모리 사용량을 줄이고 동시 작업 처리량을 높임.
  • Effect 3.x와 비교해 최소 프로그램 번들은 35.6KB에서 7.1KB로 감소하고, 작업 처리량은 초당 0.71M에서 4.57M으로 증가하며, 5만 개 파이버의 힙 메모리는 157.5MB에서 21.8MB로 감소함.
  • 여러 패키지를 effect 패키지와 단일 버전 릴리스 체계로 통합하고, 핵심 패키지의 런타임 의존성을 0개로 구성함.
  • 2026년 9월 21일 주간 npm 다운로드는 4,390만 회이며, Effect 4.x의 최근 7일 점유율은 56%로 3.x의 44%를 앞섬.
  • Effect 4.x는 최소 3년간 지원되며, 버그 수정은 2029년 9월 또는 Effect 5.0 출시 후 1년 중 더 늦은 시점까지, 보안 수정은 2029년 9월 또는 5.0 출시 후 2년 중 더 늦은 시점까지 제공됨.

Effect 4.0

  • Effect 4.0은 지금까지 출시한 릴리스 가운데 가장 야심 찬 버전으로, Effect를 처음부터 다시 구축한 결과물임.
  • 실행 속도가 빨라지고 메모리 사용량이 크게 줄며, 트리 셰이킹(tree-shaking)으로 번들 크기도 훨씬 작아짐.
  • Effect 3.x와 4.x의 성능 비교는 다음과 같음.
  • 최소 프로그램 크기: 3.x 35.6KB, 4.x 7.1KB로, 번들 크기는 더 작을수록 좋음.
  • 초당 작업 수: 3.x 0.71M, 4.x 4.57M으로, 동시 작업 처리량은 6.4배 높으며 수치가 클수록 좋음.
  • 파이버(fiber) 5만 개의 힙 메모리: 3.x 157.5MB, 4.x 21.8MB로, 파이버당 메모리 사용량은 86% 감소하며 수치가 작을수록 좋음.
  • 번들 비교는 동일한 소스 코드로 빌드한 뒤 최소화하고 gzip 압축한 결과임. 런타임 수치는 새 프로세스에서 각각 9회 실행한 결과의 중앙값임.

하나의 생태계, 의존성 0개

  • 이전에 별도 패키지로 제공되던 여러 기능이 이제 effect 자체에 포함됨.
  • 주변 패키지들은 단일 버전을 공유하며 함께 릴리스됨.
  • 핵심 effect 패키지는 런타임 의존성이 없음. 배포하는 모든 코드를 직접 관리해 서드파티 의존성 체인이 없고, 공급망 공격에 노출될 가능성도 낮음.

함수에서 클러스터까지

  • Effect는 처음에는 훨씬 작은 범위에서 시작했지만, 현재는 단일 함수부터 분산 시스템까지 다룸.
  • 프로그래밍 모델은 효과 시스템(effect system)을 중심으로 하며, 타입 지정 오류, 의존성 주입, 리소스 관리, 구조적 동시성, 관측 가능성을 기본 제공함.
  • 표준 라이브러리와 플랫폼 통합이 프로그래밍 모델을 중심으로 확장됐고, 이후 영속 워크플로와 클러스터링을 비롯한 분산 시스템용 상위 수준 기본 요소가 추가됨.
  • 모든 계층은 동일한 모델을 기반으로 하며, 상위 계층까지 같은 보장을 유지함.

주류 채택

  • Effect는 대기업을 포함해 다양한 규모의 기업에서 프로덕션 환경에 사용됨.
  • 2026년 9월 21일 주간 npm 다운로드 수는 4,390만 회이며, 3.x 대비 증가율은 179배임.
  • 최근 7일간 Effect 4.x 채택 비중은 56%, 3.x는 44%임.
  • Effect를 중심으로 자체 커뮤니티를 가진 프로젝트도 성장했으며, 클라우드 인프라 분야의 Alchemy와 프런트엔드 분야의 Foldkit이 있음.
  • 프로덕션에서 Effect를 사용하는 팀에 구축 중인 제품과 필요한 지원을 공유해 달라고 요청함.

장기 지원

  • 팀들이 Effect를 제품의 기반으로 삼는 만큼, 이번 릴리스부터 모든 주요 버전에 장기 지원 정책을 적용함.
  • Effect 4.x의 버그 수정은 2029년 9월 또는 5.0 출시 후 1년 중 더 늦은 시점까지 제공됨.
  • 보안 수정은 2029년 9월 또는 5.0 출시 후 2년 중 더 늦은 시점까지 제공됨.
  • 지원 기간은 최소 3년이며, 5.0이 충분히 늦게 출시되면 버그 및 보안 수정 지원은 이 최소 기간을 넘김.
  • 5.0이 2027년 9월 출시되면 4.x는 2029년 9월까지 버그와 보안 수정을 받음.
  • 5.0이 2028년 9월 출시되면 4.x는 2029년 9월까지 버그 수정, 2030년 9월까지 보안 수정을 받음.
  • 5.0이 2030년 9월 출시되면 4.x는 2031년 9월까지 버그 수정, 2032년 9월까지 보안 수정을 받음.
  • 전체 정책과 릴리스 절차는 후속 게시물에서 공유할 예정임.

다음 계획

  • 우선순위는 생태계의 더 많은 부분을 안정화하는 것임.
  • 새 모듈 가운데 일부는 아직 @stability unstable 또는 @stability experimental로 표시돼 있으며, 이는 마이너 또는 패치 릴리스에서 변경될 수 있음을 뜻함.
  • 프로덕션 피드백을 활용해 모듈을 다듬고 안정 버전으로 승격할 계획임.
  • 앞으로 더 폭넓은 네이티브 플랫폼 지원과 상위 수준 기본 요소를 제공하며, Effect를 애플리케이션 전체를 위한 단일 프로그래밍 모델로 확장할 계획임.

이제 사용자의 차례

  • 마이그레이션을 진행하는 경우 마이그레이션 가이드부터 시작할 수 있으며, 코딩 에이전트에 전달하면 대부분의 작업을 자동으로 처리할 수 있음.
  • Effect가 궁금한 경우 문서를 확인하거나 에이전트에 Effect로 개발해야 하는 이유를 물어볼 수 있음.
  • 기여, 릴리스 테스트, 버그 제보, 다른 사용자의 시작 지원에 참여한 모든 사람에게 감사를 전함.
  • X, Bluesky, Discord에서 소식을 공유하고 함께 축하해 달라고 요청함.
  • 마지막 업데이트 날짜는 2026년 9월 30일임.