Compose 컴파일러
최근 업데이트 | 안정화 버전 | 출시 후보 버전 | 베타 버전 | 알파 버전 |
---|---|---|---|---|
2024년 8월 7일 | 1.5.15 | - | - | - |
구조
Compose는 androidx
내의 Maven 그룹 ID 7개의 조합입니다. 각 그룹에는 타겟팅된 기능의 하위 집합이 있으며, 각 기능은 자체적인 출시 노트를 포함하고 있습니다.
다음 표에서는 그룹에 관한 설명과 각 출시 노트 조합의 링크를 제시합니다.
그룹 | 설명 |
---|---|
compose.animation | Jetpack Compose 애플리케이션에서 애니메이션을 빌드하여 풍부한 사용자 경험을 제공합니다. |
compose.compiler | Kotlin 컴파일러 플러그인으로 최적화를 사용 설정하고 @Composable 함수를 변환합니다. |
compose.foundation | 즉시 사용 가능한 구성요소를 사용해 Jetpack Compose 애플리케이션을 작성하고 기초를 확장해 나만의 디자인 시스템 요소를 빌드합니다. |
compose.material | 즉시 사용 가능한 Material Design 구성요소로 Jetpack Compose UI를 빌드합니다. 이는 Compose를 고급 수준에서 사용하는 첫 단계이며, www.material.io에 설명된 것과 동일한 구성요소를 제공합니다. |
compose.material3 | 차세대 Material Design인 Material Design 3 구성요소로 Jetpack Compose UI를 빌드합니다. Material 3은 업데이트된 테마 설정 및 구성요소, Material You 맞춤설정 기능(동적 색상 등)을 포함하며 새로운 Android 12의 시각적 스타일 및 시스템 UI와 일관되도록 설계되었습니다. |
compose.runtime | Compose의 프로그래밍 모델과 상태 관리를 위한 기본 구성요소이며, Compose 컴파일러 플러그인이 타겟팅하는 핵심 런타임입니다. |
compose.ui | 레이아웃, 그리기, 입력 등 기기와 상호작용할 때 필요한 Compose UI의 기본적인 구성요소입니다. |
종속 항목 선언
Compose의 종속 항목을 추가하려면 프로젝트에 Google Maven 저장소를 추가해야 합니다. 자세한 내용을 알아보려면 Google Maven 저장소를 읽어보세요.
다음과 같이 앱 또는 모듈의 build.gradle
파일에 필요한 아티팩트의 종속 항목을 추가합니다.
Groovy
android { buildFeatures { compose true } composeOptions { kotlinCompilerExtensionVersion = "1.5.15" } kotlinOptions { jvmTarget = "19" } }
Kotlin
android { buildFeatures { compose = true } composeOptions { kotlinCompilerExtensionVersion = "1.5.15" } kotlinOptions { jvmTarget = "19" } }
종속 항목에 관한 자세한 내용은 빌드 종속 항목 추가를 참고하세요.
의견
제출하신 의견은 Jetpack을 개선하는 데 도움이 됩니다. 새로운 문제를 발견하거나 라이브러리 개선을 위한 아이디어가 있다면 Google에 알려 주세요. 새 문제를 제출하기 전에 이 라이브러리의 기존 문제를 살펴보시기 바랍니다. 별표 버튼을 클릭하여 기존 문제에 투표할 수 있습니다.
자세한 내용은 Issue Tracker 문서를 참고하세요.
버전 1.5
버전 1.5.15
2024년 8월 7일
androidx.compose.compiler:compiler:1.5.15
및 androidx.compose.compiler:compiler-hosted:1.5.15
이 출시되었습니다. 버전 1.5.15에 포함된 커밋을 확인하세요.
- 이 컴파일러 출시는 Kotlin 1.9.25를 타겟팅합니다.
버전 1.5.14
2024년 5월 14일
androidx.compose.compiler:compiler:1.5.14
및 androidx.compose.compiler:compiler-hosted:1.5.14
이 출시되었습니다. 버전 1.5.14에 포함된 커밋을 확인하세요.
이 컴파일러 출시는 Kotlin 1.9.24를 타겟팅합니다.
버그 수정
- 소스 정보가 사용 중지된 경우 인라인 본문이 인식되는지 확인합니다. 추가합니다. (Idddb8)
버전 1.5.13
2024년 5월 1일
androidx.compose.compiler:compiler:1.5.13
및 androidx.compose.compiler:compiler-hosted:1.5.13
이 출시되었습니다. 버전 1.5.13에 포함된 커밋을 확인하세요.
새로운 기능
- 강력한 건너뛰기는 더 이상 실험용으로 간주되지 않으며 프로덕션에서 사용하기에 안전합니다. 향후 출시에서는 기본 동작이 됩니다. 추가했습니다. (I6c8c4)
버그 수정
- 기본값이 있고 원시 값이 아닌 값을 래핑하는 값 클래스 매개변수가 있는
@Composable
함수의 바이너리 호환성을 수정합니다. (I89465 참조) - Compose 멀티플랫폼의 JS 및 네이티브 컴파일에 관한 업스트림 수정사항이 있습니다. 자세한 내용은 위의 커밋 범위를 참고하세요.
버전 1.5.12
2024년 4월 17일
androidx.compose.compiler:compiler:1.5.12
및 androidx.compose.compiler:compiler-hosted:1.5.12
이 출시되었습니다. 버전 1.5.12에 포함된 커밋을 확인하세요.
버그 수정
- Kotlin 1.9.23의 증분 컴파일 문제가 수정되었습니다. (Ifca55 참조)
- 원시가 아닌 인라인 클래스의 값 매개변수에서 null을 허용하지 않는 유형을 수정합니다. 추가했습니다. (Ie6bb5)
버전 1.5.11
2024년 3월 20일
androidx.compose.compiler:compiler:1.5.11
및 androidx.compose.compiler:compiler-hosted:1.5.11
이 출시되었습니다. 버전 1.5.11에 포함된 커밋을 확인하세요.
참고
이 버전부터 컴파일러는 이제 모듈이 이 메서드가 포함된 런타임으로 컴파일될 때
startReplacableGroup
대신startReplaceGroup
를 호출합니다.startReplaceGroup
는 Compose 런타임1.7.0-alpha03
의 런타임에 도입되었습니다.startRestartGroup
호출은 1.7.0-alpha03 이상 버전의 런타임을 타겟팅할 때만 생성됩니다.startReplaceableGroup
대신startReplaceGroup
를 호출하면 런타임이 변경사항을 더 효율적으로 감지할 수 있지만Composer
에서 변경사항을 감지하고Applier
로 전송하는 순서에 영향을 미칠 수 있습니다. 이로 인해Applier
가 이러한 작업이 감지된 순서에 의존하는 경우 동작이 미세하게 변경될 수 있습니다.
새로운 기능
- Kotlin 1.9.23 지원
버그 수정
- 중첩된 외부 일반 유형이 불안정한 것으로 추론되는 문제를 수정했습니다. 추가했습니다. (I3437f, b/327643787)
- 여러 안정성 구성 파일을 지원합니다. 추가했습니다. (I8db14, b/325326744)
- 이제 Compose 컴파일러가 기본 클래스/재정의를 재귀적으로 진행하여 재정의된 함수를 올바르게 변환합니다. 추가했습니다. (I2c9f9, b/316196500)
- 로컬 선언이 직접 사용되지 않을 때 함수 참조 메모에서 로컬 선언의 암시적 상위 요소를 캡처하려고 시도하지 않도록 합니다. 추가했습니다. (Ib1267)
- 컴포저블 교차 인라인 람다의 코드 생성을 수정합니다('nonSkippingGroupOptimization'을 사용 설정하지 않으면 이 버그가 발생하기 어려움). 추가했습니다. (Icb2fd, b/325502738)
버전 1.5.10
2024년 2월 21일
androidx.compose.compiler:compiler:1.5.10
및 androidx.compose.compiler:compiler-hosted:1.5.10
이 출시되었습니다. 버전 1.5.10에 포함된 커밋을 확인하세요.
버그 수정
- init 블록 내에서 라이브 리터럴을 지원합니다. b/320397488을 참조하세요.
- 디스패처 매개변수를 사용하여 함수가 로컬 클래스 내에 있는지 확인합니다. (b/323123439)
버전 1.5.9
2024년 2월 7일
androidx.compose.compiler:compiler:1.5.9
및 androidx.compose.compiler:compiler-hosted:1.5.9
이 출시되었습니다. 버전 1.5.9에 포함된 커밋을 확인하세요.
버그 수정
- 익명 객체 이니셜라이저에서 구성 가능한 호출을 수정합니다. (b/320261458, 96315c 참조)
- 재귀 로컬 선언을 캡처로 계산합니다. (b/318745941, e7b4b0)
- 내장 remember가 내장 remember가 있는 함수 유형에 .change를 강제로 적용함으로써 Java 메서드 참조와 관련된 동작을 변경하는 내장 기능 수정. (b/319810819, 77128e)
- 건너뛸 수 없는 함수(예: 명시적으로
@NonSkippableComposable
로 표시된 함수) 및 암시적으로 건너뛸 수 없는 함수(예:remember
과 같이 Unit이 아닌 값을 반환하는 함수 및 인라인 함수와 같이 건너뛸 수 없는 함수) 주변의 그룹을 삭제하는 실험용 최적화를 추가했습니다. - 이 최적화는 플러그인 옵션인
-P plugin:androidx.compose.compiler.plugins.kotlin:nonSkippingGroupOptimization=true
할 수 있습니다. 추가했습니다. (I1688f)
버전 1.5.8
2024년 1월 10일
androidx.compose.compiler:compiler:1.5.8
및 androidx.compose.compiler:compiler-hosted:1.5.8
이 출시되었습니다. 버전 1.5.8에 포함된 커밋을 확인하세요.
새로운 기능
- Kotlin 1.9.22 지원
버그 수정
- Java21을 사용하여 빌드할 때 Compose 컴파일러 빌드에서 예외가 발생하는 버그를 수정했습니다. Google Maven의 Compose 컴파일러를 사용하는 사용자 (즉, 자체적으로 빌드하지 않음)는 이 버그의 영향을 받지 않았습니다. b/316644294를 참조하세요.
- 인라인되지 않은 람다의 일부 호출자에 관해
COMPOSABLE_EXPECTED
오류가 보고되는 버그를 수정했습니다. b/309364913을 참조하세요. - 공개 함수에서 기본 매개변수에 관한 컴파일 오류를 추가합니다 (이전에는 추상 함수에만 제한되었음). Compose는 현재 재정의된 함수에서 기본 매개변수를 대체하는 것을 지원하지 않으며 기본 매개변수로 구성 가능한 함수를 재정의하면 런타임 시 실패했습니다.
@Suppress("ABSTRACT_COMPOSABLE_DEFAULT_PARAMETER_VALUE")
를 사용하여 표시하지만, 매개변수의 기본값을 제공하지 않고 이러한 함수를 재정의하면 런타임 시 비정상 종료됩니다.(b/317490247) - 값이 올바르게 전파되지 못하게 하는 내장 기억의 버그를 수정했습니다. b/316327367을 참조하세요.
외부 기여
- 문서 오타를 수정합니다. (aosp/288106 참고)
버전 1.5.7
2023년 12월 19일
androidx.compose.compiler:compiler:1.5.7
및 androidx.compose.compiler:compiler-hosted:1.5.7
이 출시되었습니다. 버전 1.5.7에 포함된 커밋을 확인하세요.
버그 수정
remember()
키 매개변수가 구성 가능한 함수를 호출할 때 발생하는 Compose 런타임 비정상 종료 문제를 수정합니다. (b/315855015)return@
사용 시 Compose 런타임 비정상 종료 문제를 수정합니다. b/315821171을 참조하세요.- 빌드 캐시 사용률을 개선하려면 메모리 키에 절대 경로를 사용하지 마세요. b/313937484를 참조하세요.
버전 1.5.6
2023년 12월 6일
androidx.compose.compiler:compiler:1.5.6
및 androidx.compose.compiler:compiler-hosted:1.5.6
이 출시되었습니다. 버전 1.5.6에 포함된 커밋을 확인하세요.
새로운 기능
- Kotlin 1.9.21 지원
버그 수정
- 내장 메모리 사용 설정 - Compose 컴파일러 플러그인에서 인라인으로 기억하고
.equals
비교를 안정적인 매개변수 메타의 int 비교로 대체하는 컴파일러 변환입니다. 따라서 사용되는 슬롯이 줄어들고 런타임 시 비교 작업이 줄어듭니다. 이 옵션은 컴파일러 플러그인 인수 -Pplugin:androidx.compose.compiler.plugins.kotlin:intrinsicRemember=false
를 제공하여 사용 중지할 수 있습니다. 추가했습니다. (If675f) - 조정된 함수 참조 및 인라인 인수의 메모를 수정합니다. b/312738720을 참조하세요.
- 인라인 함수 호출을 종료할 때 그룹을 구현합니다. (b/312242547)
외부 기여
- 구성 가능한 함수가 마지막 문이고 null const를 반환할 때 구성 가능한 함수에서 누락된 return 문으로 인한 k/native 및 k/wasm 런타임 비정상 종료 문제를 수정합니다. (aosp/2835716)
버전 1.5.5
2023년 11월 29일
androidx.compose.compiler:compiler:1.5.5
및 androidx.compose.compiler:compiler-hosted:1.5.5
이 출시되었습니다. 버전 1.5.5에 포함된 커밋을 확인하세요.
버그 수정
- 재정의된 컴포저블 유형을 조회하는 동안 발생하는 비정상 종료 문제를 수정했습니다. (Ib6d2c, b/297665426)
<ph type="x-smartling-placeholder">
- </ph>
stabilityConfigurationPath
를 알려진 매개변수에 추가합니다 (이전에는 버그로 인해 구성 파일 플래그가 사용되지 않음). b/309765121을 참조하세요.- 메모리를 수정했습니다. (I081d1, I4d7bf)
- 내장 기억의 불확실한 매개변수 상태를 고려하여 리컴포지션을 수정했습니다. (b/263402091)
- 내장 메모리의 디버깅 줄 정보를 수정합니다. (Ic8cf5)
- 컴파일 시간에 재정의된 컴포저블 유형을 조회하는 동안 발생하는 비정상 종료 (IR 낮추기 실패)를 수정했습니다. (b/297665426)
외부 기여
- 인수를 사용하여 안정적인 함수 참조를 기억합니다. (I4d7bf, b/302680514)
버전 1.5.4
2023년 11월 7일
androidx.compose.compiler:compiler:1.5.4
및 androidx.compose.compiler:compiler-hosted:1.5.4
이 출시되었습니다. 버전 1.5.4에 포함된 커밋을 확인하세요.
종속 항목 업데이트
- Compose Compiler가 이제 Kotlin 1.9.20과 호환됩니다.
새로운 기능
- 강력한 건너뛰기 모드를 사용 설정하는 실험용 옵션을 추가합니다. 강력한 건너뛰기 모드를 사용하면 불안정한 매개변수가 있는 컴포저블을 건너뛸 수 있습니다. 또한 불안정한 캡처가 포함된 람다는 기억됩니다. 이 기능은 실험용이며 프로덕션 용도로 사용할 준비가 되지 않은 것으로 간주됩니다. 추가했습니다. (22421e)
- 소스/trace 정보를 사용 설정/사용 중지하는 플래그를 추가합니다. 추가했습니다. (4d45f09)
- 구성 파일을 통해 외부 클래스의 안정성을 구성할 수 있습니다. 추가했습니다. (If40eb)
버그 수정
- 소스 정보가 수집되지 않을 때 구성 가능한 함수의 조기 종료를 수정합니다. (fe6267)
- 구성 가능한 함수에서 계속 수정 (948362)
- 표현식 반환 유형에 종속되는 여러 오버로드가 있는 함수 호출 내에서 구성 가능한 함수가 호출될 때 발생하는 해결 문제를 수정합니다. 추가했습니다. (2d36d0)
- 함수 참조에 디스패치 수신자가 없는 경우 메모를 수정합니다. (fc2326)
- 일부 상황에서 람다가 재구성되지 않는 더티 검사를 수정합니다. 추가합니다. (db3699)
- 모듈 간에 점진적으로 컴파일할 때 안정성을 수정합니다. 추가했습니다. (7d3e127)
@DontMemoize
범위를 람다 표현식으로만 줄입니다. 추가했습니다. (7a7fa52)- 컴포저블 Fun 인터페이스를 람다로 사용할 때 변수가 올바르게 캡처되지 않는 문제를 수정합니다. 추가했습니다. (5ae3556)
외부 기여
- 숫자 및 null 비교에 구조적 등호 기호를 사용합니다. (c612a0)
버전 1.5.3
2023년 8월 29일
androidx.compose.compiler:compiler:1.5.3
, androidx.compose.compiler:compiler-daemon:1.5.3
및 androidx.compose.compiler:compiler-hosted:1.5.3
가 출시되었습니다. 버전 1.5.3에 포함된 커밋을 확인하세요.
종속 항목 업데이트
- Kotlin 버전이 1.9.10으로 업데이트됨
버전 1.5.2
2023년 8월 23일
androidx.compose.compiler:compiler:1.5.2
, androidx.compose.compiler:compiler-daemon:1.5.2
및 androidx.compose.compiler:compiler-hosted:1.5.2
가 출시되었습니다. 버전 1.5.2에 포함된 커밋을 확인하세요.
버그 수정
- 상수를 반환하는 구성 가능한 함수에 return 문에 대한 줄 번호를 삽입합니다. 추가했습니다. (I42d89)
- 새 컴파일러 플러그인 진입점으로 전환하여 발생하는 메모리 누수를 수정합니다. 추가했습니다. (4f0a101)
- Compose 컴파일러에서 구성 불가능한 재미있는 인터페이스 변환을 중지합니다. 이렇게 하면 메모리 규칙을 포함하여 재미있는 인터페이스가 람다와 동일한 방식으로 처리됩니다. 추가했습니다. (28b3ce9)
- 호출 사이트의 안정성을 추론하려면 vararg 인수 유형을 사용합니다. 추가합니다. (bc83645)
버전 1.5.1
2023년 7월 26일
androidx.compose.compiler:compiler:1.5.1
, androidx.compose.compiler:compiler-daemon:1.5.1
및 androidx.compose.compiler:compiler-hosted:1.5.1
가 출시되었습니다. 버전 1.5.1에 포함된 커밋을 확인하세요.
버그 수정
- 트레이스 손상을 일으키는 조기 반환이 있는
@ReadOnlyComposable
함수의 컴포지션 트레이스 이벤트 마커를 수정했습니다.
버전 1.5.0
2023년 7월 18일
androidx.compose.compiler:compiler:1.5.0
, androidx.compose.compiler:compiler-daemon:1.5.0
및 androidx.compose.compiler:compiler-hosted:1.5.0
가 출시되었습니다. 버전 1.5.0에 포함된 커밋을 확인하세요.
실험용 K2 지원
- Compose 컴파일러 1.5.0은 K2 컴파일러를 실험적으로 지원합니다. 일부 Compose 기능은 아직 K2에서 지원되지 않으며 향후 버전의 컴파일러에서 제공될 예정입니다.
1.4.0 이후 중요 변경사항
- Kotlin 버전이 1.9.0으로 업데이트되었습니다.
@Composable
람다 호출의 이름이 지정된 인수가 지원 중단되었습니다. 이 기능은 내부 컴파일러 API를 사용하므로 K2에서 지원되지 않습니다.- 예상/실제 호출에 관한
@Composable
주석을 확인하는 진단이 추가되었습니다. 두 선언 모두 일치하는 주석을 보유해야 합니다.
버전 1.4.8
버전 1.4.8
2023년 6월 28일
androidx.compose.compiler:compiler:1.4.8
, androidx.compose.compiler:compiler-daemon:1.4.8
및 androidx.compose.compiler:compiler-hosted:1.4.8
가 출시되었습니다. 버전 1.4.8에 포함된 커밋을 확인하세요.
새로운 기능
- 타겟 Kotlin 컴파일러 버전이 1.8.22로 변경되었습니다.
버그 수정
@Composable
재정의 오류 메시지가 개선되었습니다. 이제 주석 불일치를 올바르게 가리킵니다.- 컴포저블로 표시해서는 안 되는 인라인 람다에 중복된
@Composable
주석에 관해 경고합니다. K2 컴파일러에서는 이 기능이 지원되지 않습니다.
버전 1.4.7
버전 1.4.7
2023년 5월 3일
androidx.compose.compiler:compiler:1.4.7
, androidx.compose.compiler:compiler-daemon:1.4.7
및 androidx.compose.compiler:compiler-hosted:1.4.7
가 출시되었습니다. 버전 1.4.7에 포함된 커밋을 확인하세요.
새로운 기능
- Kotlin 1.8.21 지원
State
API의 프리미티브 버전을 추가하여 오토박스에 관한 페널티를 일으키지 않고도State
객체에서 Int, Long, Float, Double 값을 추적할 수 있습니다.
버전 1.4.6
버전 1.4.6
2023년 4월 19일
androidx.compose.compiler:compiler:1.4.6
, androidx.compose.compiler:compiler-daemon:1.4.6
및 androidx.compose.compiler:compiler-hosted:1.4.6
가 출시되었습니다. 버전 1.4.6에 포함된 커밋을 확인하세요.
버그 수정
- 이전 버전의 Java를 여전히 사용하고 있는 사용자를 더 효과적으로 지원하기 위해 이제 Compose 컴파일러가 Compose Compiler 버전 1.4.5에 필요한 Java17 대신 Java11에 종속됩니다.
버전 1.4.5
버전 1.4.5
2023년 4월 12일
androidx.compose.compiler:compiler:1.4.5
, androidx.compose.compiler:compiler-daemon:1.4.5
및 androidx.compose.compiler:compiler-hosted:1.4.5
가 출시되었습니다. 버전 1.4.5에 포함된 커밋을 확인하세요.
참고 이 Compose 컴파일러 빌드에는 Java 17 이상을 사용하는 빌드 환경이 필요합니다. 이전 자바 버전을 사용하는 사용자를 더 효과적으로 지원하기 위해 사용자 의견에 따라 이 요구사항을 자바 11로 다시 변경하고 다른 버전 (1.4.6)을 후속 버전으로 제공할 예정입니다.
새로운 기능
Kotlin 1.8.20 지원
버그 수정
- 컴포저블의 요구사항 전파 요구사항은 상응하는 주석으로 람다 인터페이스를 확장하는 클래스 및 인터페이스에 연산자 재정의를 호출합니다.f8f2f78a1a769c2373201027f12700e772e4e97e
getValue
연산자에서@Composable
주석을 사용하도록 허용하고 대리자의 생성된 getter를 IR에서 컴포저블로 표시하여 나중에 올바르게 변환되도록 합니다. f174f6ee60ca957d5cb6d19a5bd02a88267cdf40- 인라인 함수의 내부 Compose 런타임 오류 (
applyChanges()
가 호출될 것으로 예상됨)를 수정했습니다.b/274786923 ProcessCancelledException
는 IDE에서 특별한 의미가 있으므로 캡처하지 마세요.b/274725600
외부 기여
- Kotlin/네이티브에서 구성 가능한 함수 지원이 개선되었습니다.f52b6aeed22400dd4f4a4f05559a9aa42642402c
버전 1.4.4
버전 1.4.4
2023년 3월 22일
androidx.compose.compiler:compiler:1.4.4
, androidx.compose.compiler:compiler-daemon:1.4.4
및 androidx.compose.compiler:compiler-hosted:1.4.4
가 출시되었습니다. 버전 1.4.4에 포함된 커밋을 확인하세요.
버그 수정
- 구성 가능한 인라인 람다 반환을 수정했습니다. (72172b)
- 컴포저블이
Nothing
를 반환하도록 허용 (구성 가능한 함수에서 TODO를 사용할 때 오류를 생성하지 않음) 3aea8d)
버전 1.4.3
버전 1.4.3
2023년 2월 22일
androidx.compose.compiler:compiler:1.4.3
이 출시되었습니다. 버전 1.4.3에 포함된 커밋을 확인하세요.
버그 수정
- 구성 가능한 호출의 인수에서 조건부 구성 가능한 호출을 수정합니다. (Ie93edb)
버전 1.4.2
버전 1.4.2
2023년 2월 8일
androidx.compose.compiler:compiler:1.4.2
가 출시되었습니다. 버전 1.4.2에 포함된 커밋을 확인하세요.
새로운 기능
- Kotlin 1.8.0 지원
버그 수정
- 건너뛸 수 없는 람다의 본문에 그룹을 추가하여 리컴포지션 버그를 방지합니다.
버전 1.4.1
버전 1.4.1
2023년 2월 8일
androidx.compose.compiler:compiler:1.4.1
이 출시되었습니다. 버전 1.4.1에 포함된 커밋을 확인하세요.
버그 수정
- 이전에 몇 가지 코드 생성 버그를 발생시킨 내부 기억 최적화 비활성화
- vararg 매개변수가 포함된 함수에서 내부 기억 기능을 중지합니다.
- 기본 매개변수를 사용하는 컴포저블의 잘못된 건너뛰기 문제 해결
- Kotlin 호환성 검사에 실패하는 경우 방어적 대체 오류 메시지를 추가합니다.
- 인라인 람다에서 건너뛰기 코드 생성 삭제
버전 1.4.0
2023년 1월 17일
androidx.compose.compiler:compiler:1.4.0
이 출시되었습니다. 버전 1.4.0에 포함된 커밋을 확인하세요.
1.3.0 이후 중요 변경사항
- Kotlin 1.8.0을 지원합니다.
- 내장 기능 remember를 사용 중지했습니다.
- 이제 UI 도구 데이터 클래스
Group
에 그룹이 구성 가능한 인라인 함수 호출인지를 나타내는isInline
필드가 있습니다.isInline
이true
이면 구성 가능한 인라인 함수가 호출됩니다. 그러나 인라인 함수 정보를 생성하지 않는 Compose 컴파일러 플러그인 버전으로 컴파일된 모듈의 구성 가능한 인라인 함수 호출에 대한 값은 false일 수 있습니다. ImmutableCollection
및 영구 동위 요소는 이제 안정적인 것으로 간주됩니다.- 도구 라벨에 관한 새 매개변수가
AnimatedContent
에 추가되었습니다. - 인라인 람다의 잘못된 코드 생성을 수정했습니다.
버전 1.4.0-alpha02
2022년 11월 11일
androidx.compose.compiler:compiler:1.4.0-alpha02
가 출시되었습니다. 버전 1.4.0-alpha02에 포함된 커밋을 확인하세요.
새로운 기능
- Kotlin
1.7.21
지원을 추가했습니다.
버전 1.4.0-alpha01
2022년 11월 9일
androidx.compose.compiler:compiler:1.4.0-alpha01
이 출시되었습니다. 버전 1.4.0-alpha01에 포함된 커밋을 확인하세요.
버그 수정
- 구성 가능한 인라인 함수에서 초기에 반환하는 기능을 수정합니다. (b/255350755)
- Compose에서 Kotlin/JS 지원을 중단하는 미끼 내리기의 버그를 수정합니다. (6a40f8)
버전 1.3
버전 1.3.2
2022년 10월 4일
androidx.compose.compiler:compiler:1.3.2
이 출시되었습니다. 버전 1.3.2에 포함된 커밋을 확인하세요.
새로운 기능
- 이 버전에는 Kotlin 1.7.20으로의 업데이트가 포함되어 있습니다.
버전 1.3.1
2022년 9월 7일
androidx.compose.compiler:compiler:1.3.1
이 출시되었습니다. 버전 1.3.1에 포함된 커밋을 확인하세요.
버그 수정
- Compose 컴파일러가 일부 상황에서 단위 유형을 컴포저블로 잘못 표시하는
IllegalStateException
을 수정했습니다. (b/237863365) - 사용자는 이제 컴파일러 버전 확인을 억제할 때 선호하는 Kotlin 버전을 지정해야 합니다. (I9e5e2)
버전 1.3.0
2022년 8월 10일
androidx.compose.compiler:compiler:1.3.0
이 출시되었습니다. 버전 1.3.0에 포함된 커밋을 확인하세요.
버전 1.3.0-rc02
2022년 8월 3일
androidx.compose.compiler:compiler:1.3.0-rc02
가 출시되었습니다. 버전 1.3.0-rc02에 포함된 커밋을 확인하세요.
버전 1.3.0-rc01
2022년 7월 27일
androidx.compose.compiler:compiler:1.3.0-rc01
이 출시되었습니다. 버전 1.3.0-rc01에 포함된 커밋을 확인하세요.
버전 1.3.0-beta01
2022년 7월 20일
androidx.compose.compiler:compiler:1.3.0-beta01
이 출시되었습니다. 버전 1.3.0-beta01에 포함된 커밋을 확인하세요.
새로운 기능
- Kotlin
1.7.10
지원을 추가했습니다.
버전 1.2
버전 1.2.0
2022년 6월 29일
androidx.compose.compiler:compiler:1.2.0
이 출시되었습니다. 버전 1.2.0에 포함된 커밋을 확인하세요.
1.1.0 이후 중요 변경사항
- Kotlin 1.7.0 지원
- Compose의 새로운 Compose 컴파일러 버전 관리 전략을 설명하는 블로그 게시물을 참고하세요.
버전 1.2.0-rc02
2022년 6월 22일
androidx.compose.compiler:compiler:1.2.0-rc02
가 출시되었습니다. 버전 1.2.0-rc02에 포함된 커밋을 확인하세요.
버그 수정
- 컴포저블 트레이스 이벤트 코드 생성을 삭제했습니다. (aosp/2127922)
버전 1.2.0-rc01
2022년 6월 15일
androidx.compose.compiler:compiler:1.2.0-rc01
이 출시되었습니다. 버전 1.2.0-rc01에 포함된 커밋을 확인하세요.
버전 1.2.0-beta03
2022년 6월 1일
androidx.compose.compiler:compiler:1.2.0-beta03
이 출시되었습니다. 버전 1.2.0-beta03에 포함된 커밋을 확인하세요.
버전 1.2.0-beta02
2022년 5월 18일
androidx.compose.compiler:compiler:1.2.0-beta02
가 출시되었습니다. 버전 1.2.0-beta02에 포함된 커밋을 확인하세요.
버전 1.2.0-beta01
2022년 5월 11일
androidx.compose.compiler:compiler:1.2.0-beta01
이 출시되었습니다. 버전 1.2.0-beta01에 포함된 커밋을 확인하세요.
- 이 출시는 1.2의 첫 번째 베타 버전입니다. 마지막 알파 이후 변경사항이 없습니다.
새로운 기능
- Kotlin
1.6.21
지원을 추가했습니다.
버전 1.2.0-alpha08
2022년 4월 20일
androidx.compose.compiler:compiler:1.2.0-alpha08
이 출시되었습니다. 버전 1.2.0-alpha08에 포함된 커밋을 확인하세요.
버전 1.2.0-alpha07
2022년 4월 6일
androidx.compose.compiler:compiler:1.2.0-alpha07
이 출시되었습니다. 버전 1.2.0-alpha07에 포함된 커밋을 확인하세요.
버전 1.2.0-alpha06
2022년 3월 23일
androidx.compose.compiler:compiler:1.2.0-alpha06
이 출시되었습니다. 버전 1.2.0-alpha06에 포함된 커밋을 확인하세요.
버전 1.2.0-alpha05
2022년 3월 9일
androidx.compose.compiler:compiler:1.2.0-alpha05
가 출시되었습니다. 버전 1.2.0-alpha05에 포함된 커밋을 확인하세요.
버전 1.2.0-alpha04
2022년 2월 23일
androidx.compose.compiler:compiler:1.2.0-alpha04
가 출시되었습니다. 버전 1.2.0-alpha04에 포함된 커밋을 확인하세요.
버전 1.2.0-alpha03
2022년 2월 9일
androidx.compose.compiler:compiler:1.2.0-alpha03
이 출시되었습니다. 버전 1.2.0-alpha03에 포함된 커밋을 확인하세요.
버전 1.2.0-alpha02
2022년 1월 26일
androidx.compose.compiler:compiler:1.2.0-alpha02
가 출시되었습니다. 버전 1.2.0-alpha02에 포함된 커밋을 확인하세요.
버전 1.2.0-alpha01
2022년 1월 12일
androidx.compose.compiler:compiler:1.2.0-alpha01
이 출시되었습니다. 버전 1.2.0-alpha01에 포함된 커밋을 확인하세요.
새로운 기능
- Kotlin
1.6.10
지원이 추가되었습니다.
버전 1.1
버전 1.1.1
2022년 2월 23일
androidx.compose.compiler:compiler:1.1.1
이 출시되었습니다. 버전 1.1.1에 포함된 커밋을 확인하세요.
버그 수정
androidx.compose.ui.platform.RenderNodeLayer.updateDisplayList
에서 발생하는NullPointerException
을 수정합니다. (aosp/1947059, b/206677462)- Android에서 클립보드를 읽는 동안 클립보드 콘텐츠로 인해 발생하는 비정상 종료 문제를 해결했습니다. (I06020, b/197769306)
LazyVerticalGrid
의 RTL을 수정했습니다. (aosp/1931080, b/207510535)
버전 1.1.0
2022년 2월 9일
androidx.compose.compiler:compiler:1.1.0
이 출시되었습니다. 버전 1.1.0에 포함된 커밋을 확인하세요.
1.0.0 이후 중요 변경사항
- Android 12 오버스크롤 효과의 안정화 버전 지원
- 터치 영역 크기 조정 개선
- Compose 1.0의 경우 Material 구성요소는 Material 접근성 가이드라인 터치 영역 크기에 맞게 레이아웃 공간을 확장합니다. 예를 들어 버튼의 크기를 더 작게 설정하더라도 버튼 터치 영역은 최소
48x48dp
로 확장됩니다. 이렇게 하면 Compose Material이 Material Design 구성요소의 동작과 동일하게 정렬되어 뷰와 Compose를 함께 사용할 때 일관되게 동작합니다. 또한 이러한 변경을 통해 Compose Material 구성요소를 사용하여 UI를 만들 때 터치 영역 접근성에 관한 최소 요구사항이 충족됩니다. - Navigation Rail의 안정화 버전 지원
- 다수의 이전 실험용 API의 안정화 버전 전환
- 최신 버전의 Kotlin 지원
버전 1.1.0-rc03
2022년 1월 26일
androidx.compose.compiler:compiler:1.1.0-rc03
이 출시되었습니다. 버전 1.1.0-rc03에 포함된 커밋을 확인하세요.
버그 수정
- Compose Material 1.1.0-rc03을 지원하도록 업데이트했습니다.
버전 1.1.0-rc02
2021년 12월 16일
androidx.compose.compiler:compiler:1.1.0-rc02
가 출시되었습니다. 버전 1.1.0-rc02에 포함된 커밋을 확인하세요.
종속 항목 업데이트
- Compose Compiler
1.1.0-rc02
가 Kotlin1.6.10
과 호환됩니다.
버전 1.1.0-rc01
2021년 12월 15일
androidx.compose.compiler:compiler:1.1.0-rc01
이 출시되었습니다. 버전 1.1.0-rc01에 포함된 커밋을 확인하세요.
종속 항목 변경사항
- Compose Compiler
1.1.0-rc01
이 Kotlin1.6.0
과 호환됩니다. buildId
8003490인 androidx.dev SNAPSHOT을 통해 호환되는1.6.10
빌드를 사용할 수 있습니다. 다음 종속 항목 스니펫은 Compose 컴파일러의 SNAPSHOT을 구성합니다.프로젝트의 루트
build.gradle
파일에 다음 스니펫을 추가합니다.buildscript { repositories { google() jcenter() maven { url 'https://androidx.dev/snapshots/builds/8003490/artifacts/repository' } } }
Compose를 사용하는 앱 또는 모듈의
build.gradle
파일에 다음 스니펫을 추가합니다.android { composeOptions { kotlinCompilerExtensionVersion = "1.2.0-SNAPSHOT" } }
버전 1.1.0-beta04
2021년 12월 1일
androidx.compose.compiler:compiler:1.1.0-beta04
가 출시되었습니다. 버전 1.1.0-beta04에 포함된 커밋을 확인하세요.
새로운 기능
- Kotlin
1.6.0
과 호환되도록 업데이트되었습니다.
버전 1.1.0-beta03
2021년 11월 17일
androidx.compose.compiler:compiler:1.1.0-beta03
이 출시되었습니다. 버전 1.1.0-beta03에 포함된 커밋을 확인하세요.
버전 1.1.0-beta02
2021년 11월 3일
androidx.compose.compiler:compiler:1.1.0-beta02
가 출시되었습니다. 버전 1.1.0-beta02에 포함된 커밋을 확인하세요.
버전 1.1.0-beta01
2021년 10월 27일
androidx.compose.compiler:compiler:1.1.0-beta01
이 출시되었습니다. 버전 1.1.0-beta01에 포함된 커밋을 확인하세요.
버전 1.1.0-alpha06
2021년 10월 13일
androidx.compose.compiler:compiler:1.1.0-alpha06
이 출시되었습니다. 버전 1.1.0-alpha06에 포함된 커밋을 확인하세요.
버전 1.1.0-alpha05
2021년 9월 29일
androidx.compose.compiler:compiler:1.1.0-alpha05
가 출시되었습니다. 버전 1.1.0-alpha05에 포함된 커밋을 확인하세요.
버전 1.1.0-alpha04
2021년 9월 15일
androidx.compose.compiler:compiler:1.1.0-alpha04
가 출시되었습니다. 버전 1.1.0-alpha04에 포함된 커밋을 확인하세요.
버전 1.1.0-alpha03
2021년 9월 1일
androidx.compose.compiler:compiler:1.1.0-alpha03
이 출시되었습니다. 버전 1.1.0-alpha03에 포함된 커밋을 확인하세요.
새로운 기능
- 이제 Compose 컴파일러가 이전 버전의 Compose Runtime(1.0)을 지원합니다. 이 변경 전에 Compose 컴파일러는 같은 버전 이상의 Compose Runtime과만 호환되었습니다. 이 변경 후에는 Compose 컴파일러가 이전 버전의 Compose Runtime(1.0)과 호환됩니다. (aosp/1796968)
- Kotlin
1.5.30
에 종속되도록 Compose1.1.0-alpha03
을 업데이트했습니다. (I74545)
버전 1.1.0-alpha02
2021년 8월 18일
androidx.compose.compiler:compiler:1.1.0-alpha02
가 출시되었습니다. 버전 1.1.0-alpha02에 포함된 커밋을 확인하세요.
버전 1.1.0-alpha01
2021년 8월 4일
androidx.compose.compiler:compiler:1.1.0-alpha01
이 출시되었습니다. 버전 1.1.0-alpha01에 포함된 커밋을 확인하세요.
버전 1.0
버전 1.0.5
2021년 11월 3일
androidx.compose.compiler:compiler:1.0.5
가 출시되었습니다. 버전 1.0.5에 포함된 커밋을 확인하세요.
버그 수정
- derivedStateOf 인스턴스를 추적할 때 발생하는 비정상 종료 문제를 수정했습니다. (aosp/1792247)
버전 1.0.4
2021년 10월 13일
androidx.compose.compiler:compiler:1.0.4
가 출시되었습니다. 버전 1.0.4에 포함된 커밋을 확인하세요.
종속 항목 업데이트
- Kotlin
1.5.31
에 종속되도록 업데이트했습니다.
버전 1.0.3
2021년 9월 29일
androidx.compose.compiler:compiler:1.0.3
이 출시되었습니다. 버전 1.0.3에 포함된 커밋을 확인하세요.
종속 항목 업데이트
- Kotlin
1.5.30
에 종속되도록 업데이트했습니다.
버전 1.0.2
2021년 9월 1일
androidx.compose.compiler:compiler:1.0.2
가 출시되었습니다. 버전 1.0.2에 포함된 커밋을 확인하세요.
Compose 1.0.2
출시를 지원하도록 업데이트되었습니다. Compose 1.0.2
는 여전히 Kotlin 1.5.21
과 호환됩니다.
버전 1.0.1
2021년 8월 4일
androidx.compose.compiler:compiler:1.0.1
이 출시되었습니다. 버전 1.0.1에 포함된 커밋을 확인하세요.
종속 항목 업데이트
- Kotlin
1.5.21
에 종속되도록 업데이트했습니다.
버전 1.0.0
2021년 7월 28일
androidx.compose.compiler:compiler:1.0.0
이 출시되었습니다. 버전 1.0.0에 포함된 커밋을 확인하세요.
1.0.0의 주요 기능
Compose의 첫 번째 안정화 버전입니다. 자세한 내용은 공식 Compose 출시 블로그를 참고하세요.
버전 1.0.0-rc02
2021년 7월 14일
androidx.compose.compiler:compiler:1.0.0-rc02
가 출시되었습니다. 버전 1.0.0-rc02에 포함된 커밋을 확인하세요.
버전 1.0.0-rc01
2021년 7월 1일
androidx.compose.compiler:compiler:1.0.0-rc01
이 출시되었습니다. 버전 1.0.0-rc01에 포함된 커밋을 확인하세요.
버전 1.0.0-beta09
2021년 6월 16일
androidx.compose.compiler:compiler:1.0.0-beta09
가 출시되었습니다. 버전 1.0.0-beta09에 포함된 커밋을 확인하세요.
버전 1.0.0-beta08
2021년 6월 2일
androidx.compose.compiler:compiler:1.0.0-beta08
이 출시되었습니다. 버전 1.0.0-beta08에 포함된 커밋을 확인하세요.
버전 1.0.0-beta07
2021년 5월 18일
androidx.compose.compiler:compiler:1.0.0-beta07
이 출시되었습니다. 버전 1.0.0-beta07에 포함된 커밋을 확인하세요.
버전 1.0.0-beta06
2021년 5월 5일
androidx.compose.compiler:compiler:1.0.0-beta06
이 출시되었습니다. 버전 1.0.0-beta06에 포함된 커밋을 확인하세요.
버전 1.0.0-beta05
2021년 4월 21일
androidx.compose.compiler:compiler:1.0.0-beta05
가 출시되었습니다. 버전 1.0.0-beta05에 포함된 커밋을 확인하세요.
버전 1.0.0-beta04
2021년 4월 7일
androidx.compose.compiler:compiler:1.0.0-beta04
가 출시되었습니다. 버전 1.0.0-beta04에 포함된 커밋을 확인하세요.
버전 1.0.0-beta03
2021년 3월 24일
androidx.compose.compiler:compiler:1.0.0-beta03
이 출시되었습니다. 버전 1.0.0-beta03에 포함된 커밋을 확인하세요.
버전 1.0.0-beta02
2021년 3월 10일
androidx.compose.compiler:compiler:1.0.0-beta02
가 출시되었습니다. 버전 1.0.0-beta02에 포함된 커밋을 확인하세요.
버전 1.0.0-beta01
2021년 2월 24일
androidx.compose.compiler:compiler:1.0.0-beta01
이 출시되었습니다. 버전 1.0.0-beta01에 포함된 커밋을 확인하세요.
Compose 1.0.0 베타의 첫 번째 버전입니다.
버전 1.0.0-alpha12
2021년 2월 10일
androidx.compose.compiler:compiler:1.0.0-alpha12
가 출시되었습니다. 버전 1.0.0-alpha12에 포함된 커밋을 확인하세요.
버전 1.0.0-alpha11
2021년 1월 28일
androidx.compose.compiler:compiler:1.0.0-alpha11
이 출시되었습니다. 버전 1.0.0-alpha11에 포함된 커밋을 확인하세요.
버전 1.0.0-alpha10
2021년 1월 13일
androidx.compose.compiler:compiler:1.0.0-alpha10
이 출시되었습니다. 버전 1.0.0-alpha10에 포함된 커밋을 확인하세요.
버전 1.0.0-alpha09
2020년 12월 16일
androidx.compose.compiler:compiler:1.0.0-alpha09
가 출시되었습니다. 버전 1.0.0-alpha09에 포함된 커밋을 확인하세요.
버전 1.0.0-alpha08
2020년 12월 2일
androidx.compose.compiler:compiler:1.0.0-alpha08
이 출시되었습니다. 버전 1.0.0-alpha08에 포함된 커밋을 확인하세요.
버전 1.0.0-alpha07
2020년 11월 11일
androidx.compose.compiler:compiler:1.0.0-alpha07
이 출시되었습니다. 버전 1.0.0-alpha07에 포함된 커밋을 확인하세요.
새로운 기능
- 안정성 추론 및 전파. Compose 컴파일러 플러그인은 컴파일하는 유형을 분석하여 런타임에 특정 최적화를 적용할 수 있는지 추론합니다. 이렇게 추론된 결과는 다른 모듈의 컴파일러에서 활용할 클래스에 메타데이터로 합성됩니다. 또한 이러한 추론의 런타임 결과는 컴포지션 중에 구성 가능한 호출에 전달된 메타데이터로 전달됩니다. 따라서 구성 가능한 함수의 다른 메타데이터 프로토콜이 필요했습니다. 즉, alpha07 컴파일러로 컴파일된 구성 가능한 함수가 이전 컴파일러 버전으로 컴파일된 구성 가능한 함수와 호환되는 바이너리가 아닙니다. (aosp/1431988)
버전 1.0.0-alpha06
2020년 10월 28일
androidx.compose.compiler:compiler:1.0.0-alpha06
이 출시되었습니다. 버전 1.0.0-alpha06에 포함된 커밋을 확인하세요.
버전 1.0.0-alpha05
2020년 10월 14일
androidx.compose.compiler:compiler:1.0.0-alpha05
가 출시되었습니다. 버전 1.0.0-alpha05에 포함된 커밋을 확인하세요.
버전 1.0.0-alpha04
2020년 10월 1일
androidx.compose.compiler:compiler:1.0.0-alpha04
가 출시되었습니다. 버전 1.0.0-alpha04에 포함된 커밋을 확인하세요.
androidx.compose:compose-compiler
가 androidx.compose.compiler:compiler
로 리팩터링되었습니다.
새 그룹의 첫 번째 버전입니다.