Kompilator Compose

Przekształcanie funkcji z adnotacją @Composable i włączanie optymalizacji za pomocą wtyczki kompilatora Kotlin.
Najnowsza aktualizacja Wersja stabilna Wersja kandydująca do publikacji Wersja Beta Wersja alfa
7 sierpnia 2024 r. 1.5.15 - - -

Struktura

Compose to połączenie 7 identyfikatorów grupy Maven w androidx. Każda grupa zawiera ukierunkowany podzbiór funkcji, a każda z nich ma własny zestaw informacji o wersji.

W tej tabeli znajdziesz wyjaśnienie grup i linki do poszczególnych zestawów informacji o wersji.

GrupaOpis
compose.animationtworzyć animacje w aplikacjach Jetpack Compose, aby zwiększać komfort użytkowników;
compose.compilerPrzekształcanie funkcji z adnotacją @Composable i włączanie optymalizacji za pomocą wtyczki kompilatora Kotlin.
compose.foundationTwórz aplikacje w Jetpack Compose za pomocą gotowych elementów składowych i rozszerzaj podstawy, aby tworzyć własne elementy systemu projektowania.
compose.materialTwórz interfejsy Jetpack Compose za pomocą gotowych komponentów Material Design. Jest to punkt wejścia wyższego poziomu w Compose, który ma udostępniać komponenty zgodne z tymi opisanymi na stronie www.material.io.
compose.material3Twórz interfejsy Jetpack Compose za pomocą komponentów Material Design 3, czyli kolejnej ewolucji Material Design. Material 3 zawiera zaktualizowane motywy i komponenty oraz funkcje personalizacji Material You, takie jak dynamiczny kolor. Został zaprojektowany tak, aby pasować do nowego stylu wizualnego Androida 12 i interfejsu systemu.
compose.runtimePodstawowe elementy modelu programowania i zarządzania stanem w Compose oraz podstawowe środowisko wykonawcze, do którego kierowany jest wtyczka kompilatora Compose.
compose.uiPodstawowe komponenty interfejsu Compose potrzebne do interakcji z urządzeniem, w tym układ, rysowanie i dane wejściowe.

Deklarowanie zależności

Aby dodać zależność od Compose, musisz dodać do projektu repozytorium Google Maven. Więcej informacji znajdziesz w repozytorium Maven Google.

Dodaj zależności dotyczące potrzebnych artefaktów w pliku build.gradle aplikacji lub modułu:

Odlotowe

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"
    }
}

Więcej informacji o zależnościach znajdziesz w artykule Dodawanie zależności kompilacji.

Opinia

Twoja opinia pomoże nam ulepszyć Jetpacka. Jeśli odkryjesz nowe problemy lub masz pomysły na ulepszenie tej biblioteki, daj nam znać. Zanim utworzysz nową kartę, zapoznaj się z dotychczasowymi problemami w tej bibliotece. Możesz dodać swój głos do istniejącego problemu, klikając przycisk gwiazdki.

Tworzenie nowego problemu

Więcej informacji znajdziesz w dokumentacji narzędzia Issue Tracker.

Wersja 1.5

Wersja 1.5.15

7 sierpnia 2024 r.

androidx.compose.compiler:compiler:1.5.15androidx.compose.compiler:compiler-hosted:1.5.15 zostają opublikowane. Wersja 1.5.15 zawiera te zmiany.

  • Ta wersja kompilatora jest przeznaczona dla języka Kotlin w wersji 1.9.25.

Wersja 1.5.14

14 maja 2024 r.

androidx.compose.compiler:compiler:1.5.14androidx.compose.compiler:compiler-hosted:1.5.14 zostają opublikowane. Wersja 1.5.14 zawiera te zmiany.

Ta wersja kompilatora jest przeznaczona dla języka Kotlin w wersji 1.9.24.

Poprawki błędów

  • Upewnij się, że treść wstawiona jest realizowana, gdy informacje o źródle są wyłączone. (Idddb8)

Wersja 1.5.13

1 maja 2024 r.

androidx.compose.compiler:compiler:1.5.13androidx.compose.compiler:compiler-hosted:1.5.13 zostają opublikowane. Wersja 1.5.13 zawiera te zmiany.

Nowe funkcje

  • Silne pomijanie nie jest już uważane za eksperymentalne i można go bezpiecznie używać w środowisku produkcyjnym. W kolejnej wersji będzie to domyślne działanie. (I6c8c4)

Poprawki błędów

  • Naprawiono zgodność binarną funkcji @Composable z parametrami klasy wartości, które mają wartość domyślną i zawierają wartość niepierwotną. (I89465
  • Przesłane poprawki dotyczące kompilacji JS i natywnej z Compose Multiplatform. Szczegółowe informacje znajdziesz w zakresie zatwierdzeń powyżej.

Wersja 1.5.12

17 kwietnia 2024 r.

androidx.compose.compiler:compiler:1.5.12androidx.compose.compiler:compiler-hosted:1.5.12 zostają opublikowane. Wersja 1.5.12 zawiera te zmiany.

Poprawki błędów

  • Rozwiązuje problem z kompilacją przyrostową w Kotlinie 1.9.23. (Ifca55)
  • Poprawianie typów, które nie mogą mieć wartości null, w parametrach wartości dla klas wbudowanych innych niż pierwotne. (Ie6bb5)

Wersja 1.5.11

20 marca 2024 r.

androidx.compose.compiler:compiler:1.5.11androidx.compose.compiler:compiler-hosted:1.5.11 zostają opublikowane. Wersja 1.5.11 zawiera te zmiany.

Notes

  • Począwszy od tej wersji, kompilator będzie wywoływać funkcję startReplaceGroup zamiast startReplacableGroup, gdy moduł jest kompilowany z użyciem środowiska wykonawczego zawierającego tę metodę. startReplaceGroup zostało wprowadzone w środowisku wykonawczym w Compose Runtime 1.7.0-alpha03. Wywołania startRestartGroup są generowane tylko wtedy, gdy kierujesz reklamy na wersję środowiska wykonawczego 1.7.0-alpha03 lub nowszą.

  • Wywoływanie funkcji startReplaceGroup zamiast startReplaceableGroup umożliwia środowisku wykonawczemu wydajniejsze wykrywanie zmian, ale może wpływać na kolejność, w jakiej zmiany są wykrywane przez Composer i wysyłane do Applier. Może to spowodować subtelne zmiany w działaniu, jeśli Applier zależy od kolejności wykrywania tych operacji.

Nowe funkcje

  • Obsługa Kotlina w wersji 1.9.23

Poprawki błędów

  • Naprawianie zagnieżdżonych zewnętrznych typów ogólnych, które są wnioskowane jako niestabilne. (I3437f, b/327643787)
  • Obsługa wielu plików konfiguracji stabilności. (I8db14, b/325326744)
  • Kompilator Compose prawidłowo przekształca teraz zastąpione funkcje, rekursywnie przechodząc przez klasy bazowe i zastąpienia. (I2c9f9, b/316196500)
  • Upewnij się, że zapamiętywanie odwołań do funkcji nie próbuje przechwytywać niejawnych elementów nadrzędnych deklaracji lokalnych, gdy nie są one używane bezpośrednio. (Ib1267)
  • Naprawiono generowanie kodu dla funkcji lambda crossinline z możliwością komponowania (bez włączonej opcji „nonSkippingGroupOptimization” trudno napotkać ten błąd). (Icb2fd, b/325502738)

Wersja 1.5.10

21 lutego 2024 r.

androidx.compose.compiler:compiler:1.5.10androidx.compose.compiler:compiler-hosted:1.5.10 zostają opublikowane. Wersja 1.5.10 zawiera te zmiany.

Poprawki błędów

  • Obsługa literałów na żywo w blokach inicjujących. (b/320397488)
  • Użyj parametru dispatchera, aby sprawdzić, czy funkcja znajduje się w klasie lokalnej (b/323123439).

Wersja 1.5.9

7 lutego 2024 r.

androidx.compose.compiler:compiler:1.5.9androidx.compose.compiler:compiler-hosted:1.5.9 zostają opublikowane. Wersja 1.5.9 zawiera te zmiany.

Poprawki błędów

  • Naprawianie wywołań funkcji kompozycyjnych w inicjatorze obiektu anonimowego. (b/320261458, 96315c)
  • Traktuj rekurencyjne deklaracje lokalne jako przechwycenia. (b/318745941, e7b4b0)
  • Naprawiono zachowanie funkcji Intrinsic remember związane z odwołaniami do metod w języku Java, wymuszając .changed w przypadku typów funkcji z funkcją Intrinsic remember. (b/319810819, 77128e)
  • Dodaliśmy eksperymentalną optymalizację, która usuwa grupy wokół funkcji, których nie można pominąć, np. tych oznaczonych jako @NonSkippableComposable oraz tych, których nie można pominąć w sposób dorozumiany, takich jak funkcje wbudowane i funkcje zwracające wartość inną niż Unit, np. remember.
  • Tę optymalizację można włączyć, przekazując do kompilatora Kotlin opcję wtyczki:-P plugin:androidx.compose.compiler.plugins.kotlin:nonSkippingGroupOptimization=true (I1688f)

Wersja 1.5.8

10 stycznia 2024 r.

androidx.compose.compiler:compiler:1.5.8androidx.compose.compiler:compiler-hosted:1.5.8 zostają opublikowane. Wersja 1.5.8 zawiera te zmiany.

Nowe funkcje

  • Obsługa Kotlina w wersji 1.9.22

Poprawki błędów

  • Naprawiono błąd, który powodował, że kompilator Compose zgłaszał wyjątki podczas kompilacji przy użyciu Java 21. Użytkownicy, którzy korzystają z kompilatora Compose z Google Maven (czyli nie kompilują go samodzielnie), nigdy nie byli narażeni na ten błąd. (b/316644294)
  • Naprawiliśmy błąd, który powodował, że w przypadku niektórych wywołań funkcji lambda, które nie były wstawiane w kodzie, zgłaszano błąd COMPOSABLE_EXPECTED. (b/309364913)
  • Dodaj błąd kompilacji dla parametrów domyślnych w funkcjach otwartych (wcześniej był on ograniczony tylko do funkcji abstrakcyjnych). Compose nie obsługuje obecnie zastępowania domyślnych parametrów z zastąpionych funkcji, a zastępowanie funkcji kompozycyjnej z domyślnymi parametrami kończyło się niepowodzeniem w czasie działania. Użyj znaku @Suppress("ABSTRACT_COMPOSABLE_DEFAULT_PARAMETER_VALUE"), aby pominąć funkcję, ale pamiętaj, że zastąpienie jej bez podania wartości domyślnej parametru spowoduje awarię w czasie działania (b/317490247).
  • Naprawiliśmy błąd w funkcji pamięci wewnętrznej, który uniemożliwiał prawidłowe propagowanie wartości. (b/316327367)

Wkład zewnętrzny

  • Poprawiono błąd pisowni w dokumentacji. (aosp/288106)

Wersja 1.5.7

19 grudnia 2023 r.

androidx.compose.compiler:compiler:1.5.7androidx.compose.compiler:compiler-hosted:1.5.7 zostają opublikowane. Wersja 1.5.7 zawiera te zmiany.

Poprawki błędów

  • Naprawiono awarię środowiska wykonawczego Compose, gdy parametr klucza remember() wywołuje funkcję typu „composable” (b/315855015)
  • Naprawiono awarię środowiska wykonawczego Compose, która występowała podczas używania funkcji return@. (b/315821171)
  • Unikaj używania ścieżek bezwzględnych w kluczach zapamiętywania, co pozwala lepiej wykorzystać pamięć podręczną kompilacji. (b/313937484)

Wersja 1.5.6

6 grudnia 2023 r.

androidx.compose.compiler:compiler:1.5.6androidx.compose.compiler:compiler-hosted:1.5.6 zostają opublikowane. Wersja 1.5.6 zawiera te zmiany.

Nowe funkcje

  • Obsługa Kotlina w wersji 1.9.21

Poprawki błędów

  • Włącz wbudowaną funkcję zapamiętywania – kompilator przekształca wbudowaną funkcję zapamiętywania w wtyczce kompilatora Compose i zastępuje porównania .equals porównaniami liczb całkowitych metadanych parametrów w przypadku stabilnych parametrów. Dzięki temu używanych jest mniej slotów i wykonywanych jest mniej porównań w czasie działania. Tę opcję można wyłączyć, podając argument wtyczki kompilatora: -P plugin:androidx.compose.compiler.plugins.kotlin:intrinsicRemember=false. (If675f)
  • Naprawiono zapamiętywanie odwołań do dostosowanych funkcji i argumentów wbudowanych. (b/312738720)
  • Realizowanie grup po zakończeniu wywołania funkcji wbudowanej (b/312242547)

Wkład zewnętrzny

  • Naprawiono awarię środowiska wykonawczego k/native i k/wasm spowodowaną brakiem instrukcji return w funkcjach Composable, gdy jest to ostatnia instrukcja i zwraca stałą null (aosp/2835716).

Wersja 1.5.5

29 listopada 2023 r.

androidx.compose.compiler:compiler:1.5.5androidx.compose.compiler:compiler-hosted:1.5.5 zostają opublikowane. Wersja 1.5.5 zawiera te zmiany.

Poprawki błędów

  • Naprawiono błąd powodujący awarię podczas wyszukiwania zastąpionych typów funkcji kompozycyjnych (Ib6d2c, b/297665426).
    • Dodano stabilityConfigurationPath do znanych parametrów (wcześniej błąd uniemożliwiał używanie flagi pliku konfiguracyjnego). (b/309765121)
    • Poprawki dotyczące zapamiętywania (I081d1, I4d7bf)
    • Poprawka ponownego komponowania przez uwzględnienie stanu parametru Uncertain w funkcji intrinsic remember (b/263402091)
    • Poprawianie informacji o wierszu debugowania dla funkcji intrinsic remember (Ic8cf5)
    • Naprawiono błąd (IR lowering failed) podczas wyszukiwania zastąpionych typów funkcji kompozycyjnych w czasie kompilacji (b/297665426)

Wkład zewnętrzny

  • Zapamiętywanie stabilnych odwołań do funkcji z argumentami (I4d7bf, b/302680514)

Wersja 1.5.4

7 listopada 2023 r.

androidx.compose.compiler:compiler:1.5.4androidx.compose.compiler:compiler-hosted:1.5.4 zostają opublikowane. Wersja 1.5.4 zawiera te zmiany.

Aktualizacje zależności

  • Komponent Compose Compiler jest teraz zgodny z Kotlinem 1.9.20

Nowe funkcje

  • Dodaj opcję eksperymentalną, która umożliwia włączenie trybu silnego pomijania. Tryb silnego pomijania umożliwia pomijanie funkcji kompozycyjnych z niestabilnymi parametrami. Ponadto lambdy z niestabilnymi przechwyceniami są zapamiętywane. Ta funkcja jest eksperymentalna i nie jest jeszcze gotowa do użytku produkcyjnego. (22421e)
  • Dodaj flagę, aby włączyć lub wyłączyć informacje o źródle lub śladzie. (4d45f09)
  • Zezwalaj na konfigurowanie stabilności klas zewnętrznych za pomocą pliku konfiguracyjnego. (If40eb)

Poprawki błędów

  • Naprawiono wczesne wyjście z funkcji kompozycyjnych, gdy nie są zbierane informacje o źródle. (fe6267)
  • Poprawka kontynuowania z funkcji kompozycyjnych. (948362)
  • Naprawianie rozwiązywania problemów, gdy funkcje kompozycyjne są wywoływane w ramach wywołania funkcji, która ma wiele przeciążeń zależnych od typu zwracanego wyrażenia. (2d36d0)
  • Naprawiono zapamiętywanie, gdy odwołanie do funkcji nie ma odbiornika wysyłania. (fc2326)
  • Naprawiliśmy sprawdzanie zmian, które w niektórych sytuacjach uniemożliwiało ponowne komponowanie wyrażeń lambda. (db3699)
  • Poprawiliśmy stabilność podczas przyrostowej kompilacji w różnych modułach. (7d3e127)
  • Ogranicz zakres @DontMemoize tylko do wyrażeń lambda. (7a7fa52)
  • Naprawiono problem z nieprawidłowym przechwytywaniem zmiennych podczas używania interfejsu funkcji Composable jako wyrażenia lambda. (5ae3556)

Wkład zewnętrzny

  • Używanie symbolu równości strukturalnej do porównywania wartości liczbowych i null (c612a0)

Wersja 1.5.3

29 sierpnia 2023 r.

androidx.compose.compiler:compiler:1.5.3, androidx.compose.compiler:compiler-daemon:1.5.3androidx.compose.compiler:compiler-hosted:1.5.3 są zwalniane. Wersja 1.5.3 zawiera te zmiany.

Aktualizacja zależności

  • Wersja języka Kotlin została zaktualizowana do 1.9.10.

Wersja 1.5.2

23 sierpnia 2023 r.

androidx.compose.compiler:compiler:1.5.2, androidx.compose.compiler:compiler-daemon:1.5.2androidx.compose.compiler:compiler-hosted:1.5.2 są zwalniane. Wersja 1.5.2 zawiera te zmiany.

Poprawki błędów

  • Wstaw numery wierszy dla instrukcji return w funkcjach kompozycyjnych zwracających stałe wartości. (I42d89)
  • Naprawiono wyciek pamięci spowodowany przełączeniem na nowy punkt wejścia wtyczki kompilatora. (4f0a101)
  • Zaprzestanie przekształcania w kompilatorze Compose interfejsów funkcji, które nie są funkcjami kompozycyjnymi. Dzięki temu interfejsy funkcyjne są obsługiwane w taki sam sposób jak funkcje lambda, w tym reguły memoizacji. (28b3ce9)
  • Użyj typu argumentu vararg do wnioskowania o stabilności w miejscu wywołania. (bc83645)

Wersja 1.5.1

26 lipca 2023 r.

androidx.compose.compiler:compiler:1.5.1, androidx.compose.compiler:compiler-daemon:1.5.1androidx.compose.compiler:compiler-hosted:1.5.1 są zwalniane. Wersja 1.5.1 zawiera te zmiany.

Poprawki błędów

  • Naprawiono znaczniki zdarzeń śledzenia kompozycji w funkcjach @ReadOnlyComposable z wczesnymi zwrotami, które powodowały uszkodzenie śladu.

Wersja 1.5.0

18 lipca 2023 r.

androidx.compose.compiler:compiler:1.5.0, androidx.compose.compiler:compiler-daemon:1.5.0androidx.compose.compiler:compiler-hosted:1.5.0 są zwalniane. Wersja 1.5.0 zawiera te zmiany.

Eksperymentalna obsługa K2

  • Komponent kompilatora Compose w wersji 1.5.0 zapewnia eksperymentalną obsługę kompilatora K2. Niektóre funkcje Compose nie są jeszcze obsługiwane w przypadku K2 i zostaną dodane w przyszłych wersjach kompilatora.

Ważne zmiany od wersji 1.4.0

  • Wersja języka Kotlin została zaktualizowana do 1.9.0.
  • Nazwane argumenty w wywołaniach funkcji LAMBDA @Composable zostały wycofane. Ta funkcja korzysta z wewnętrznych interfejsów API kompilatora i nie będzie obsługiwana przez K2.
  • Dodano diagnostykę weryfikującą adnotację @Composable w przypadku wywołań expect/actual. Oczekuje się, że obie deklaracje będą miały pasujące adnotacje.

Wersja 1.4.8

Wersja 1.4.8

28 czerwca 2023 r.

androidx.compose.compiler:compiler:1.4.8, androidx.compose.compiler:compiler-daemon:1.4.8androidx.compose.compiler:compiler-hosted:1.4.8 są zwalniane. Wersja 1.4.8 zawiera te zmiany.

Nowe funkcje

  • Docelowa wersja kompilatora Kotlin została podniesiona do 1.8.22.

Poprawki błędów

  • Ulepszony komunikat o błędzie w przypadku zastąpień @Composable. Teraz prawidłowo wskazuje niezgodność adnotacji.
  • Ostrzeżenie o zbędnej adnotacji @Composable w przypadku funkcji lambda wbudowanych, które nie powinny być oznaczane jako kompozycyjne. Ta funkcja nie będzie obsługiwana w kompilatorze K2.

Wersja 1.4.7

Wersja 1.4.7

3 maja 2023 r.

androidx.compose.compiler:compiler:1.4.7, androidx.compose.compiler:compiler-daemon:1.4.7androidx.compose.compiler:compiler-hosted:1.4.7 są zwalniane. Wersja 1.4.7 zawiera te zmiany.

Nowe funkcje

  • Obsługa języka Kotlin w wersji 1.8.21
  • Dodano wersje pierwotne interfejsu State API, które umożliwiają śledzenie wartości Int, Long, Float i Double w obiektach State bez ponoszenia kar za automatyczne pakowanie.

Wersja 1.4.6

Wersja 1.4.6

19 kwietnia 2023 r.

androidx.compose.compiler:compiler:1.4.6, androidx.compose.compiler:compiler-daemon:1.4.6androidx.compose.compiler:compiler-hosted:1.4.6 są zwalniane. Wersja 1.4.6 zawiera te zmiany.

Poprawki błędów

  • Komponent Compose Compiler zależy teraz od Javy 11 (zamiast Javy 17 wymaganej przez komponent Compose Compiler w wersji 1.4.5), aby lepiej obsługiwać użytkowników, którzy nadal korzystają ze starszych wersji Javy.

Wersja 1.4.5

Wersja 1.4.5

12 kwietnia 2023 r.

androidx.compose.compiler:compiler:1.4.5, androidx.compose.compiler:compiler-daemon:1.4.5androidx.compose.compiler:compiler-hosted:1.4.5 są zwalniane. Wersja 1.4.5 zawiera te zmiany.

UWAGA: ta wersja kompilatora Compose wymaga, aby środowisko kompilacji korzystało z Javy 17 lub nowszej. Na podstawie opinii użytkowników wrócimy do wymagania Javy 11 i wydamy kolejną wersję (1.4.6), aby lepiej obsługiwać użytkowników, którzy korzystają ze starszych wersji Javy.

Nowe funkcje

Obsługa języka Kotlin w wersji 1.8.20

Poprawki błędów

  • Przekazywanie wymagania zastąpienia operatora wywołania kompozycyjnego do klas i interfejsów, które rozszerzają interfejsy lambda z odpowiednimi adnotacjami.f8f2f78a1a769c2373201027f12700e772e4e97e
  • Umożliwia użycie adnotacji @Composable w przypadku operatora getValue i oznacza wygenerowany getter delegata jako kompozycyjny w IR, aby zapewnić jego prawidłowe przekształcenie w późniejszym czasie. f174f6ee60ca957d5cb6d19a5bd02a88267cdf40
  • Naprawiono wewnętrzny błąd środowiska wykonawczego funkcji Compose (oczekiwano wywołania applyChanges()) w przypadku funkcji wbudowanych.b/274786923
  • Unikaj przechwytywania znaku ProcessCancelledException, ponieważ ma on specjalne znaczenie w IDE.b/274725600

Wkład zewnętrzny

Wersja 1.4.4

Wersja 1.4.4

22 marca 2023 r.

androidx.compose.compiler:compiler:1.4.4, androidx.compose.compiler:compiler-daemon:1.4.4androidx.compose.compiler:compiler-hosted:1.4.4 są zwalniane. Wersja 1.4.4 zawiera te zmiany.

Poprawki błędów

  • Naprawianie zwracanych wartości funkcji lambda w funkcjach kompozycyjnych wbudowanych (72172b)
  • Zezwól na zwracanie przez funkcje typu „composable” wartości Nothing (nie generuj błędu, gdy w funkcji typu „composable” używasz komentarza TODO) 3aea8d)

Wersja 1.4.3

Wersja 1.4.3

22 lutego 2023 roku

Zostanie wycofaneandroidx.compose.compiler:compiler:1.4.3 Wersja 1.4.3 zawiera te zmiany.

Poprawki błędów

  • Poprawki warunkowych wywołań funkcji kompozycyjnych w argumentach wywołań funkcji kompozycyjnych (Ie93edb)

Wersja 1.4.2

Wersja 1.4.2

8 lutego 2023 r.

Zostanie wycofaneandroidx.compose.compiler:compiler:1.4.2 Wersja 1.4.2 zawiera te zmiany.

Nowe funkcje

  • Obsługa języka Kotlin w wersji 1.8.10

Poprawki błędów

  • Dodaj grupy w treści niepomijalnych funkcji lambda, aby uniknąć błędu ponownego komponowania.

Wersja 1.4.1

Wersja 1.4.1

8 lutego 2023 r.

Zostanie wycofaneandroidx.compose.compiler:compiler:1.4.1 Wersja 1.4.1 zawiera te zmiany.

Poprawki błędów

  • Wyłączono optymalizację pamięci wewnętrznej, która wcześniej powodowała kilka błędów w generowaniu kodu.
  • Wyłącz wbudowaną pamięć w funkcjach zawierających parametr vararg.
  • Naprawianie błędnego pomijania w funkcjach kompozycyjnych z parametrami domyślnymi
  • Dodaj komunikat o błędzie w przypadku niepowodzenia sprawdzania zgodności z Kotlinem.
  • Usuwanie pomijania generowania kodu z funkcji lambda wbudowanej

Wersja 1.4.0

17 stycznia 2023 r.

Zostanie wycofaneandroidx.compose.compiler:compiler:1.4.0 Wersja 1.4.0 zawiera te zmiany.

Ważne zmiany od wersji 1.3.0

  • Obsługa języka Kotlin w wersji 1.8.0
  • Wyłączono zapamiętywanie informacji
  • Klasa danych narzędzi interfejsu Group ma teraz pole isInline, które wskazuje, czy grupa jest przeznaczona do wywołania funkcji kompozycyjnej wbudowanej. Jeśli isInline ma wartość true, wywołanie dotyczy funkcji kompozycyjnej wbudowanej. Wartość może być jednak fałszywa w przypadku wywołań wbudowanych funkcji kompozycyjnych pochodzących z modułów skompilowanych za pomocą wersji wtyczki kompilatora Compose, która nie generuje informacji o funkcji wbudowanej.
  • ImmutableCollection i ich odpowiedniki Persistent są teraz uznawane za stabilne.
  • Nowy parametr w AnimatedContent na potrzeby etykiety narzędzia
  • Naprawiono błędne generowanie kodu w przypadku funkcji lambda w tekście

Wersja 1.4.0-alpha02

11 listopada 2022 r.

Zostanie wycofaneandroidx.compose.compiler:compiler:1.4.0-alpha02 Wersja 1.4.0-alpha02 zawiera te zmiany.

Nowe funkcje

  • Dodaliśmy obsługę języka Kotlin 1.7.21

Wersja 1.4.0-alpha01

9 listopada 2022 r.

Zostanie wycofaneandroidx.compose.compiler:compiler:1.4.0-alpha01 Wersja 1.4.0-alpha01 zawiera te zmiany.

Poprawki błędów

  • Poprawiono możliwość wcześniejszego powrotu z funkcji typu „composable” wbudowanych w kodzie (b/255350755).
  • Usunięto błąd w obniżaniu wartości pozornych, który powodował brak obsługi Kotlin/JS w Compose (6a40f8).

Wersja 1.3

Wersja 1.3.2

4 października 2022 r.

Zostanie wycofaneandroidx.compose.compiler:compiler:1.3.2 Wersja 1.3.2 zawiera te zmiany.

Nowa funkcja

  • Ta wersja zawiera aktualizację do Kotlin 1.7.20.

Wersja 1.3.1

7 września 2022 roku

Zostanie wycofaneandroidx.compose.compiler:compiler:1.3.1 Wersja 1.3.1 zawiera te zmiany.

Poprawki błędów

  • Naprawiono błąd IllegalStateException, który w niektórych przypadkach powodował, że kompilator Compose błędnie oznaczał typy jednostek jako funkcje kompozycyjne. (b/237863365)
  • Użytkownicy muszą teraz określać preferowaną wersję języka Kotlin podczas wyłączania sprawdzania wersji kompilatora (I9e5e2).

Wersja 1.3.0

10 sierpnia 2022 r.

Zostanie wycofaneandroidx.compose.compiler:compiler:1.3.0 Wersja 1.3.0 zawiera te zmiany.

Wersja 1.3.0-rc02

3 sierpnia 2022 r.

Zostanie wycofaneandroidx.compose.compiler:compiler:1.3.0-rc02 Wersja 1.3.0-rc02 zawiera te zmiany.

Wersja 1.3.0-rc01

27 lipca 2022 roku

Zostanie wycofaneandroidx.compose.compiler:compiler:1.3.0-rc01 Wersja 1.3.0-rc01 zawiera te zmiany.

Wersja 1.3.0-beta01

20 lipca 2022 roku

Zostanie wycofaneandroidx.compose.compiler:compiler:1.3.0-beta01 Wersja 1.3.0-beta01 zawiera te zmiany.

Nowe funkcje

  • Dodaliśmy obsługę języka Kotlin 1.7.10

Wersja 1.2

Wersja 1.2.0

29 czerwca 2022 r.

Zostanie wycofaneandroidx.compose.compiler:compiler:1.2.0 Wersja 1.2.0 zawiera te zmiany.

Ważne zmiany od wersji 1.1.0

Wersja 1.2.0-rc02

22 czerwca 2022 r.

Zostanie wycofaneandroidx.compose.compiler:compiler:1.2.0-rc02 Wersja 1.2.0-rc02 zawiera te zmiany.

Poprawki błędów

  • Usunięto generowanie kodu zdarzenia śledzenia z możliwością komponowania (aosp/2127922)

Wersja 1.2.0-rc01

15 czerwca 2022 r.

Zostanie wycofaneandroidx.compose.compiler:compiler:1.2.0-rc01 Wersja 1.2.0-rc01 zawiera te zmiany.

Wersja 1.2.0-beta03

1 czerwca 2022 r.

Zostanie wycofaneandroidx.compose.compiler:compiler:1.2.0-beta03 Wersja 1.2.0-beta03 zawiera te zmiany.

Wersja 1.2.0-beta02

18 maja 2022 r.

Zostanie wycofaneandroidx.compose.compiler:compiler:1.2.0-beta02 Wersja 1.2.0-beta02 zawiera te zmiany.

Wersja 1.2.0-beta01

11 maja 2022 roku

Zostanie wycofaneandroidx.compose.compiler:compiler:1.2.0-beta01 Wersja 1.2.0-beta01 zawiera te zmiany.

  • To pierwsza wersja beta 1.2. Od ostatniej wersji alfa nie wprowadzono żadnych zmian.

Nowe funkcje

  • Dodaliśmy obsługę języka Kotlin 1.6.21

Wersja 1.2.0-alpha08

20 kwietnia 2022 r.

Zostanie wycofaneandroidx.compose.compiler:compiler:1.2.0-alpha08 Wersja 1.2.0-alpha08 zawiera te zmiany.

Wersja 1.2.0-alpha07

6 kwietnia 2022 roku

Zostanie wycofaneandroidx.compose.compiler:compiler:1.2.0-alpha07 Wersja 1.2.0-alpha07 zawiera te zmiany.

Wersja 1.2.0-alpha06

23 marca 2022 r.

Zostanie wycofaneandroidx.compose.compiler:compiler:1.2.0-alpha06 Wersja 1.2.0-alpha06 zawiera te zmiany.

Wersja 1.2.0-alpha05

9 marca 2022 r.

Zostanie wycofaneandroidx.compose.compiler:compiler:1.2.0-alpha05 Wersja 1.2.0-alpha05 zawiera te zmiany.

Wersja 1.2.0-alpha04

23 lutego 2022 r.

Zostanie wycofaneandroidx.compose.compiler:compiler:1.2.0-alpha04 Wersja 1.2.0-alpha04 zawiera te zmiany.

Wersja 1.2.0-alpha03

9 lutego 2022 r.

Zostanie wycofaneandroidx.compose.compiler:compiler:1.2.0-alpha03 Wersja 1.2.0-alpha03 zawiera te zmiany.

Wersja 1.2.0-alpha02

26 stycznia 2022 r.

Zostanie wycofaneandroidx.compose.compiler:compiler:1.2.0-alpha02 Wersja 1.2.0-alpha02 zawiera te zmiany.

Wersja 1.2.0-alpha01

12 stycznia 2022 r.

Zostanie wycofaneandroidx.compose.compiler:compiler:1.2.0-alpha01 Wersja 1.2.0-alpha01 zawiera te zmiany.

Nowe funkcje

  • Dodaliśmy obsługę języka Kotlin 1.6.10.

Wersja 1.1

Wersja 1.1.1

23 lutego 2022 r.

Zostanie wycofaneandroidx.compose.compiler:compiler:1.1.1 Wersja 1.1.1 zawiera te zmiany.

Poprawki błędów

  • Rozwiązanie problemu NullPointerException na stronie androidx.compose.ui.platform.RenderNodeLayer.updateDisplayList (aosp/1947059, b/206677462)
  • Naprawiliśmy awarię spowodowaną zawartością schowka podczas odczytywania danych ze schowka na urządzeniu z Androidem. (I06020, b/197769306)
  • Poprawiono układ od prawej do lewej w LazyVerticalGrid (aosp/1931080, b/207510535)

Wersja 1.1.0

9 lutego 2022 r.

Zostanie wycofaneandroidx.compose.compiler:compiler:1.1.0 Wersja 1.1.0 zawiera te zmiany.

Ważne zmiany od wersji 1.0.0

  • Stabilna obsługa efektu przewijania w Androidzie 12
  • Ulepszenia rozmiaru obszaru dotyku
  • Pamiętaj, że w przypadku Compose 1.0 komponenty Material rozszerzą swój obszar układu, aby spełnić wytyczne dotyczące ułatwień dostępu w interfejsie Material w zakresie rozmiaru docelowego elementu dotykowego. Na przykład docelowy element dotykowy przycisku zostanie powiększony do minimalnego rozmiaru 48x48dp, nawet jeśli ustawisz mniejszy rozmiar przycisku. Dzięki temu biblioteka Compose Material zachowuje się tak samo jak komponenty Material Design, co zapewnia spójność, jeśli używasz widoków i biblioteki Compose. Ta zmiana zapewnia też, że podczas tworzenia interfejsu za pomocą komponentów Compose Material spełnione zostaną minimalne wymagania dotyczące dostępności docelowych elementów dotykowych.
  • Stabilna obsługa kolumny nawigacji
  • Przenosi kilka wcześniej eksperymentalnych interfejsów API do wersji stabilnej.
  • Obsługa nowszych wersji języka Kotlin

Wersja 1.1.0-rc03

26 stycznia 2022 r.

Zostanie wycofaneandroidx.compose.compiler:compiler:1.1.0-rc03 Wersja 1.1.0-rc03 zawiera te zmiany.

Poprawki błędów

  • Zaktualizowano, aby obsługiwać Compose Material w wersji 1.1.0-rc03

Wersja 1.1.0-rc02

16 grudnia 2021 r.

Zostanie wycofaneandroidx.compose.compiler:compiler:1.1.0-rc02 Wersja 1.1.0-rc02 zawiera te zmiany.

Aktualizacje zależności

  • Komponent Compose Compiler 1.1.0-rc02 jest zgodny z Kotlinem w wersji 1.6.10.

Wersja 1.1.0-rc01

15 grudnia 2021 roku

Zostanie wycofaneandroidx.compose.compiler:compiler:1.1.0-rc01 Wersja 1.1.0-rc01 zawiera te zmiany.

Zmiany zależności

  • Komponent Compose Compiler 1.1.0-rc01 jest zgodny z Kotlinem w wersji 1.6.0.
  • Zgodna kompilacja 1.6.10 jest dostępna w wersjach SNAPSHOT androidx.dev z numerem buildId 8003490. Ten fragment kodu zależności skonfiguruje wersje SNAPSHOT dla kompilatora Compose:

    Dodaj ten fragment kodu do głównego pliku build.gradle projektu:

    buildscript {
        repositories {
            google()
            jcenter()
            maven { url 'https://androidx.dev/snapshots/builds/8003490/artifacts/repository' }
        }
    }
    

    Dodaj ten fragment kodu do pliku build.gradle aplikacji lub modułu, który korzysta z Compose:

    android {
        composeOptions {
            kotlinCompilerExtensionVersion = "1.2.0-SNAPSHOT"
        }
    }
    

Wersja 1.1.0-beta04

1 grudnia 2021 r.

Zostanie wycofaneandroidx.compose.compiler:compiler:1.1.0-beta04 Wersja 1.1.0-beta04 zawiera te zmiany.

Nowe funkcje

  • Zaktualizowano, aby była zgodna z Kotlinem 1.6.0

Wersja 1.1.0-beta03

17 listopada 2021 r.

Zostanie wycofaneandroidx.compose.compiler:compiler:1.1.0-beta03 Wersja 1.1.0-beta03 zawiera te commity.

Wersja 1.1.0-beta02

3 listopada 2021 r.

Zostanie wycofaneandroidx.compose.compiler:compiler:1.1.0-beta02 Wersja 1.1.0-beta02 zawiera te zmiany.

Wersja 1.1.0-beta01

27 października 2021 roku

Zostanie wycofaneandroidx.compose.compiler:compiler:1.1.0-beta01 Wersja 1.1.0-beta01 zawiera te zmiany.

Wersja 1.1.0-alpha06

13 października 2021 r.

Zostanie wycofaneandroidx.compose.compiler:compiler:1.1.0-alpha06 Wersja 1.1.0-alpha06 zawiera te zmiany.

Wersja 1.1.0-alpha05

29 września 2021 r.

Zostanie wycofaneandroidx.compose.compiler:compiler:1.1.0-alpha05 Wersja 1.1.0-alpha05 zawiera te zmiany.

Wersja 1.1.0-alpha04

15 września 2021 r.

Zostanie wycofaneandroidx.compose.compiler:compiler:1.1.0-alpha04 Wersja 1.1.0-alpha04 zawiera te zmiany.

Wersja 1.1.0-alpha03

1 września 2021 roku

Zostanie wycofaneandroidx.compose.compiler:compiler:1.1.0-alpha03 Wersja 1.1.0-alpha03 zawiera te zmiany.

Nowe funkcje

  • Kompilator Compose obsługuje teraz starsze wersje środowiska wykonawczego Compose (1.0). Przed tą zmianą kompilator Compose był zgodny tylko ze środowiskiem wykonawczym Compose w tej samej lub nowszej wersji. Po tej zmianie kompilator Compose jest zgodny ze starszą wersją środowiska wykonawczego Compose (1.0). (aosp/1796968)
  • Zaktualizowano Compose 1.1.0-alpha03, aby zależał od Kotlin 1.5.30. (I74545)

Wersja 1.1.0-alpha02

18 sierpnia 2021 r.

Zostanie wycofaneandroidx.compose.compiler:compiler:1.1.0-alpha02 Wersja 1.1.0-alpha02 zawiera te zmiany.

Wersja 1.1.0-alpha01

4 sierpnia 2021 r.

Zostanie wycofaneandroidx.compose.compiler:compiler:1.1.0-alpha01 Wersja 1.1.0-alpha01 zawiera te zmiany.

Wersja 1.0

Wersja 1.0.5

3 listopada 2021 r.

Zostanie wycofaneandroidx.compose.compiler:compiler:1.0.5 Wersja 1.0.5 zawiera te zmiany.

Poprawki błędów

  • Naprawiliśmy awarię śledzenia instancji derivedStateOf. (aosp/1792247)

Wersja 1.0.4

13 października 2021 r.

Zostanie wycofaneandroidx.compose.compiler:compiler:1.0.4 Wersja 1.0.4 zawiera te zmiany.

Aktualizacje zależności

  • Zaktualizowano, aby zależał od Kotlin 1.5.31

Wersja 1.0.3

29 września 2021 r.

Zostanie wycofaneandroidx.compose.compiler:compiler:1.0.3 Wersja 1.0.3 zawiera te zmiany.

Aktualizacje zależności

  • Zaktualizowano, aby zależał od Kotlin 1.5.30

Wersja 1.0.2

1 września 2021 roku

Zostanie wycofaneandroidx.compose.compiler:compiler:1.0.2 Wersja 1.0.2 zawiera te zmiany.

Zaktualizowano, aby obsługiwać wersję 1.0.2 Compose. Compose 1.0.2 jest nadal zgodny z Kotlinem 1.5.21.

Wersja 1.0.1

4 sierpnia 2021 r.

Zostanie wycofaneandroidx.compose.compiler:compiler:1.0.1 Wersja 1.0.1 zawiera te zmiany.

Aktualizacje zależności

  • Zaktualizowano, aby zależał od Kotlina w wersji 1.5.21.

Wersja 1.0.0

28 lipca 2021 roku

Zostanie wycofaneandroidx.compose.compiler:compiler:1.0.0 Wersja 1.0.0 zawiera te zmiany.

Najważniejsze funkcje wersji 1.0.0

To pierwsza stabilna wersja Compose. Więcej informacji znajdziesz na oficjalnym blogu o wersji Compose.

Wersja 1.0.0-rc02

14 lipca 2021 roku

Zostanie wycofaneandroidx.compose.compiler:compiler:1.0.0-rc02 Wersja 1.0.0-rc02 zawiera te zmiany.

Wersja 1.0.0-rc01

1 lipca 2021 r.

Zostanie wycofaneandroidx.compose.compiler:compiler:1.0.0-rc01 Wersja 1.0.0-rc01 zawiera te zmiany.

Wersja 1.0.0-beta09

16 czerwca 2021 r.

Zostanie wycofaneandroidx.compose.compiler:compiler:1.0.0-beta09 Wersja 1.0.0-beta09 zawiera te zmiany.

Wersja 1.0.0-beta08

2 czerwca 2021 r.

Zostanie wycofaneandroidx.compose.compiler:compiler:1.0.0-beta08 Wersja 1.0.0-beta08 zawiera te zmiany.

Wersja 1.0.0-beta07

18 maja 2021 r.

Zostanie wycofaneandroidx.compose.compiler:compiler:1.0.0-beta07 Wersja 1.0.0-beta07 zawiera te zmiany.

Wersja 1.0.0-beta06

5 maja 2021 roku

Zostanie wycofaneandroidx.compose.compiler:compiler:1.0.0-beta06 Wersja 1.0.0-beta06 zawiera te zmiany.

Wersja 1.0.0-beta05

21 kwietnia 2021 r.

Zostanie wycofaneandroidx.compose.compiler:compiler:1.0.0-beta05 Wersja 1.0.0-beta05 zawiera te zmiany.

Wersja 1.0.0-beta04

7 kwietnia 2021 r.

Zostanie wycofaneandroidx.compose.compiler:compiler:1.0.0-beta04 Wersja 1.0.0-beta04 zawiera te zmiany.

Wersja 1.0.0-beta03

24 marca 2021 r.

Zostanie wycofaneandroidx.compose.compiler:compiler:1.0.0-beta03 Wersja 1.0.0-beta03 zawiera te zmiany.

Wersja 1.0.0-beta02

10 marca 2021 r.

Zostanie wycofaneandroidx.compose.compiler:compiler:1.0.0-beta02 Wersja 1.0.0-beta02 zawiera te zmiany.

Wersja 1.0.0-beta01

24 lutego 2021 r.

Zostanie wycofaneandroidx.compose.compiler:compiler:1.0.0-beta01 Wersja 1.0.0-beta01 zawiera te zmiany.

To pierwsza wersja beta Compose 1.0.0.

Wersja 1.0.0-alpha12

10 lutego 2021 r.

Zostanie wycofaneandroidx.compose.compiler:compiler:1.0.0-alpha12 Wersja 1.0.0-alpha12 zawiera te zmiany.

Wersja 1.0.0-alpha11

28 stycznia 2021 roku

Zostanie wycofaneandroidx.compose.compiler:compiler:1.0.0-alpha11 Wersja 1.0.0-alpha11 zawiera te zmiany.

Wersja 1.0.0-alpha10

13 stycznia 2021 r.

Zostanie wycofaneandroidx.compose.compiler:compiler:1.0.0-alpha10 Wersja 1.0.0-alpha10 zawiera te zmiany.

Wersja 1.0.0-alpha09

16 grudnia 2020 roku

Zostanie wycofaneandroidx.compose.compiler:compiler:1.0.0-alpha09 Wersja 1.0.0-alpha09 zawiera te zmiany.

Wersja 1.0.0-alpha08

2 grudnia 2020 r.

Zostanie wycofaneandroidx.compose.compiler:compiler:1.0.0-alpha08 Wersja 1.0.0-alpha08 zawiera te zmiany.

Wersja 1.0.0-alpha07

11 listopada 2020 roku

Zostanie wycofaneandroidx.compose.compiler:compiler:1.0.0-alpha07 Wersja 1.0.0-alpha07 zawiera te zmiany.

Nowe funkcje

  • Wnioskowanie i propagacja stabilności Wtyczka kompilatora Compose analizuje kompilowane typy, aby określić, czy kwalifikują się one do pewnych optymalizacji w czasie działania. Wywnioskowany wynik jest następnie syntetyzowany jako metadane w klasie, aby kompilator mógł go używać w innych modułach. Ponadto wynik tych wnioskowań jest przekazywany w metadanych do wywołań kompozycyjnych podczas kompozycji. Wymagało to innego protokołu metadanych dla funkcji kompozycyjnych, co oznacza, że funkcje kompozycyjne skompilowane za pomocą kompilatora w wersji alpha07 nie będą binarnie zgodne z funkcjami kompozycyjnymi skompilowanymi za pomocą wcześniejszych wersji kompilatora. (aosp/1431988)

Wersja 1.0.0-alpha06

28 października 2020 r.

Zostanie wycofaneandroidx.compose.compiler:compiler:1.0.0-alpha06 Wersja 1.0.0-alpha06 zawiera te zmiany.

Wersja 1.0.0-alpha05

14 października 2020 r.

Zostanie wycofaneandroidx.compose.compiler:compiler:1.0.0-alpha05 Wersja 1.0.0-alpha05 zawiera te zmiany.

Wersja 1.0.0-alpha04

1 października 2020 roku

Zostanie wycofaneandroidx.compose.compiler:compiler:1.0.0-alpha04 Wersja 1.0.0-alpha04 zawiera te zmiany.

androidx.compose:compose-compiler zostało przekształcone w androidx.compose.compiler:compiler. To pierwsza wersja w nowej grupie.