코틀린 컴포넌트의 안정성

코틀린 컴포넌트의 안정성 (1.4 이전)

참고: 이 문서는 코틀린 1.4 이전 시기의 컴포넌트 안정성 격조를 다루는 역사적 페이지예요. 컴포넌트가 얼마나 빠르게 진화하느냐에 따라 안정성 모드는 여러 가지로 나뉠 수 있어요.

안정성은 컴포넌트가 얼마나 빨리 진화하고 있느냐에 따라 여러 모드로 나뉘어요.

  • Moving fast (MF): 증분 릴리스 사이에도 어떤 호환성도 기대해서는 안 돼요. 어떤 기능이든 경고 없이 추가되거나 제거되거나 변경될 수 있어요.
  • Additions in Incremental Releases (AIR): 증분 릴리스에서 기능을 추가할 수 있어요. 제거나 동작 변경은 피해야 하고, 필요하다면 이전 증분 릴리스에서 미리 공지해야 해요.
  • Stable Incremental Releases (SIR): 증분 릴리스는 완전히 호환돼요. 최적화와 버그 수정만 일어나요. 모든 변경은 언어 릴리스(language release)에서 가능해요.
  • Fully Stable (FS): 증분 릴리스는 완전히 호환되고, 최적화와 버그 수정만 일어나요. 기능 릴리스(feature release)는 하위 호환이 보장돼요.

같은 컴포넌트라도 소스 호환성과 바이너리 호환성이 서로 다른 모드를 가질 수 있어요. 예를 들어 소스 언어는 완전히 안정화됐는데 바이너리 형식은 아직 안정화되지 않았을 수 있고, 그 반대일 수도 있어요.

코틀린 진화 정책(Kotlin evolution policy)의 조항은 오직 Fully Stable(FS)에 도달한 컴포넌트에만 완전히 적용돼요. 그 시점부터 호환되지 않는 변경은 언어 위원회(Language Committee)의 승인을 받아야 해요.

출처: 공식문서 - Stability of Kotlin components (pre 1.4)

컴포넌트 상태가 입력된 버전 소스 모드 바이너리 모드
Kotlin/JVM 1.0 FS FS
kotlin-stdlib (JVM) 1.0 FS FS
KDoc 문법 1.0 FS N/A
Coroutines 1.3 FS FS
kotlin-reflect (JVM) 1.0 SIR SIR
Kotlin/JS 1.1 AIR MF
Kotlin/Native 1.3 AIR MF
Kotlin Scripts (*.kts) 1.2 AIR MF
dokka 0.1 MF N/A
Kotlin Scripting APIs 1.2 MF MF
Compiler Plugin API 1.0 MF MF
Serialization 1.3 MF MF
Multiplatform Projects 1.2 MF MF
Inline classes 1.3 MF MF
Unsigned arithmetics 1.3 MF MF
그 외 모든 실험적 기능(기본값) N/A MF MF

더 알아보기 (Learn more)