수개월간의 카나리(Canary) 테스트와 메타 내부에서의 검증을 통해, React 19는 수많은 담금질을 거쳐 마침내 단단하고 안정적인 모습을 갖추게 되었다. 이제 더 이상 새로운 기능을 추가하거나 기존 API를 급격하게 변경하는 일은 없었다. React Core Team은 마침내 공식적인 안정(Stable) 버전 출시를 위한 마지막 단계에 돌입했다.
그 첫 번째 신호탄은 바로 ‘릴리스 후보(Release Candidate, RC)’ 버전의 공개였다.
“오늘, React 19.0.0-rc.0 버전을 npm에 배포합니다.”
앤드류 클라크가 팀 전체 회의에서 공식적으로 선언했다.
릴리스 후보 버전은 ‘이것이 우리가 출시하려는 최종 버전과 거의 동일한 버전이니, 마지막으로 테스트해보고 혹시라도 있을지 모를 치명적인 문제(showstopper)를 알려달라’는 의미를 담고 있었다. 이것은 이제 곧 안정 버전이 출시될 것이라는, 커뮤니티를 향한 강력한 신호였다.
카나리 버전이 주로 Next.js 같은 최신 프레임워크를 사용하는 얼리어답터들을 위한 것이었다면, RC 버전은 더 넓은 범위의 개발자들을 대상으로 했다. Create React App으로 만들어진 오래된 프로젝트, 혹은 직접 빌드 시스템을 구축해 사용하는 대규모 기업의 개발자들이 주요 대상이었다.
React 팀은 RC 버전 공개와 함께, 공식 블로그에 상세한 안내 포스트를 게시했다.
포스트의 내용은 명확했다.
“React 19 RC를 지금 바로 여러분의 애플리케이션에 설치하고 테스트해 주세요. 우리는 특히, 다양한 환경에서의 업그레이드 과정에서 발생하는 문제나, 기존 라이브러리와의 호환성 이슈에 대한 피드백을 기다리고 있습니다.”
공개 직후, 개발자 커뮤니티는 즉각적으로 반응했다.
그동안 카나리 버전을 사용하기에는 부담스러웠던 수많은 개발자들이 자신의 프로젝트에 RC 버전을 설치하기 시작했다. 트위터 타임라인은 npm install react@rc 명령어를 실행한 인증샷과 테스트 후기로 가득 찼다.
“우리 회사 레거시 프로젝트에 RC 버전을 적용해봤는데, 자동 배칭 덕분에 불필요한 리렌더링이 20%나 줄었습니다! 놀랍네요.”
“forwardRef를 모두 제거하는 데 하루가 걸렸지만, 코드가 훨씬 깨끗해져서 만족스럽습니다.”
물론, 긍정적인 반응만 있었던 것은 아니다.
“우리가 사용하던 오래된 UI 라이브러리가 React 19 RC 환경에서는 제대로 동작하지 않습니다. 하이드레이션 과정에서 에러가 발생하네요.”
“IE11 지원을 위한 폴리필(polyfill)과 충돌하는 것 같습니다.”
React 팀의 깃허브 이슈 트래커에는 RC 버전에 대한 다양한 버그 리포트와 질문들이 쏟아져 들어왔다. 팀은 이 마지막 피드백들을 하나도 놓치지 않고 분석하며, 안정 버전 출시 전까지 해결해야 할 문제들의 목록을 만들어나갔다.
며칠 후, 두 번째 릴리스 후보인 19.0.0-rc.1이 배포되었다. 발견된 호환성 문제들이 해결되고, 몇몇 엣지 케이스에 대한 안정성이 보강된 버전이었다.
이러한 과정은 몇 주간 계속되었다. RC 버전을 통해 커뮤니티와 긴밀하게 소통하며 마지막 남은 문제들을 해결해나가는 것. 이것은 React 19라는 거대한 배가 마침내 안정적인 항구에 입항하기 전, 숙련된 도선사들과 함께 항로를 최종 점검하는 섬세하고 중요한 과정이었다. 커뮤니티는 이제 숨을 죽이고, RC라는 꼬리표가 떨어져 나갈 그날을 뜨거운 기대감 속에서 기다리고 있었다.


