2017년 8월 15일
코틀린 1.1.4의 릴리스를 발표하게 되어 기쁩니다. 이 릴리스는 코틀린 1.1의 버그 수정 및 도구 업데이트입니다. 이 업데이트는 다음과 같은 사항을 포함하고 있습니다:
- IntelliJ IDEA 플러그인의 주요 성능 저하를 수정함
- 패키지 기본적인 널성 어노테이션 지원 추가
- Java 9 지원 개선
- @Parcelize 어노테이션을 사용하여 Android Parcelable 구현의 초기 실험적 지원 추가
- JavaScript 죽은 코드 제거를 위한 도구 추가, JS 디버깅 및 JS 단위 테스트 지원을 위한 소스맵 개선
- 더 효율적인 바이트코드 생성
- IntelliJ IDEA 플러그인에 많은 새로운 기능 추가
이 업데이트는 2016.2에서 2017.2까지의 모든 버전의 IntelliJ IDEA 및 Android Studio 2.3 및 3.0 Beta와 호환됩니다.
이 릴리스의 모든 변경 사항은 변경 로그에서 확인하실 수 있습니다.
본 릴리스에 포함된 외부 기여자인 Andrius Semionovas, Bill Collins, Derek Alexander, Dimach, Ilya Zorin, Kirill Rakhman, Stuart Kent, takahirom, Toshiaki Kameyama, Vasily Kirichenko, Vitaly Khudobakhshov, Vladimir Koshelev, Yoshinori Isogai, Yuli Fiterman 및 Zoltan Polgar에게 감사의 말씀을 전합니다.
패키지 기본적인 널성 어노테이션
이번 릴리스부터 Kotlin은 패키지 기본적인 널성 어노테이션(JSR-305의 @ParametersAreNonnullByDefault 및 Spring Framework 5.0에서 소개된 @NonNullApi 어노테이션과 같은)을 지원합니다. 사용된 Java API에 대한 더 정확한 널성 정보로 인한 컴파일 오류를 피하고 마이그레이션을 용이하게 하기 위해 해당 어노테이션의 지원은 기본적으로 꺼져 있으며, 컴파일러에 -Xjsr305-annotations=enable 커맨드 라인 옵션을 전달하여 활성화해야 합니다. Gradle 빌드에서 이를 활성화하려면 freeCompilerArgs 옵션을 사용하고, Maven 빌드에서는 <args>를 사용하세요. 자세한 내용은 제안된 사양서를 참조하세요.
Java 9 지원
Java 9 지원을 확대하고 있습니다. 이번 릴리스부터 Kotlin은 module-info.java에서의 정보를 기반으로 모듈 기반 가시성 검사를 수행합니다. JDK 9에서 컴파일러를 실행하는 것도 지원됩니다.
Android Extensions 플러그인 개선
Android Extensions 플러그인은 이제 Activities와 Fragments뿐만 아니라 사용자 지정 뷰 및 ViewHolder와 같은 사용자 지정 레이아웃 컨테이너도 지원합니다. 또한, variant도 완전히 지원됩니다.
더 많은 기능에 대한 정보는 KEEP 제안서를 참조하세요. 이 모든 기능은 실험적으로 간주되므로 build.gradle 파일에서 실험적인 플래그를 활성화해야 합니다:
androidExtensions {
experimental = true
}
Parcelable 지원
Android Extensions 플러그인은 이제 자동 Parcelable 구현 생성기를 포함합니다. 주 생성자에서 직렬화된 속성을 선언하고 @Parcelize 어노테이션을 추가하면, 자동으로 writeToParcel()/createFromParcel() 메서드가 생성됩니다:
@Parcelize
class User(val firstName: String, val lastName: String) : Parcelable
Parcelable 생성기도 실험적인 상태입니다. 이와 관련된 호환성 보증은 하지 않으며 API에 대한 피드백을 환영합니다. 더 자세한 정보는 제안된 사양서를 참조하세요.
JavaScript 죽은 코드 제거
Kotlin 1.1.4는 Kotlin/JS 컴파일러에 의해 생성된 .js 파일에서 죽은 코드를 제거하기 위한 새로운 도구를 추가합니다. 현재 이 도구는 Gradle 빌드에서만 지원됩니다. 활성화하려면 build.gradle에 apply plugin: 'kotlin-dce-js'를 추가하세요. 더 자세한 내용은 문서를 참조하세요.
JavaScript 디버깅
Kotlin 1.1.4는 JavaScript 소스맵 생성을 위한 지원을 개선하여 Chrome DevTools와 같은 브라우저 디버거에서 JS를 디버깅하는 것을 더 쉽게 할 수 있습니다. 더 많은 정보는 튜토리얼을 참조하세요.
JavaScript 단위 테스트
이 업데이트에서는 JavaScript 단위 테스트 지원을 다양한 라이브러리와 함께 작동하도록 확장했습니다. 더 많은 정보와 샘플 프로젝트 링크는 포럼 게시물을 참조하세요.
바이트코드 품질 개선
이번 업데이트에서는 생성된 바이트코드 품질을 위한 여러 가지 개선 사항을 구현했습니다. 이름이 지정된 서스펜딩 함수에서의 예외는 이제 함수 자체에서 발생하며, 이로 인해 스택 추적기가 더 읽기 쉬워지며, 바이트코드가 많은 경우 더 나은 성능을 발휘합니다.
IntelliJ IDEA 플러그인 개선
이번 새 릴리스에서 IntelliJ IDEA 플러그인에 많은 개선 사항이 포함되어 있습니다:
- 주요 성능 개선 사항
- 새 리팩터링 "클래스 복사"
- "Inline" 리팩터링은 이제 접근자가 있는 속성에도 사용할 수 있습니다
- 레이블 이름 변경 지원
- 코드 스타일 설정에서 많은 새로운 옵션
- 데이터 흐름 분석 지원 (Analyze | Analyze Data Flow from/to Here)
- "프로젝트에서 Kotlin 구성"은 이제 Gradle Kotlin DSL을 사용하는 프로젝트도 지원
- 많은 새로운 검사 및 퀵픽스
업데이트 방법
플러그인을 업데이트하려면 Tools | Kotlin | Configure Kotlin Plugin Updates로 이동한 다음 "Check for updates now" 버튼을 누르세요. 또한, Maven과 Gradle 빌드 스크립트에서 컴파일러와 표준 라이브러리 버전도 업데이트하는 것을 잊지 마세요.
새 릴리스에서 문제가 발생하는 경우 포럼이나 Slack(여기에서 초대 받기)에서 도움을 요청하거나 문제 추적기에 문제를 보고하시기 바랍니다.
코틀린을 이용해보세요!
원문
https://blog.jetbrains.com/kotlin/2017/08/kotlin-1-1-4-is-out/
'Kotlin > Release Notes' 카테고리의 다른 글
[Kotlin Release Notes] Kotlin 1.2 Beta Is Out (0) | 2023.09.04 |
---|---|
[Kotlin Release Notes] Kotlin 1.1.50 is out (0) | 2023.09.04 |
[Kotlin Release Notes] Kotlin 1.2 M2 is out (0) | 2023.09.04 |
[Kotlin Release Notes] Early access program for Kotlin 1.2 has been started (0) | 2023.09.04 |
[Kotlin Release Notes] Kotlin 1.1.3 is out (0) | 2023.09.04 |
댓글