Kompilator tworzenia wiadomości

Przekształcaj funkcje @Composable i optymalizuj funkcje za pomocą wtyczki kompilatora Kotlin.
Najnowsza aktualizacja Wersja stabilna Kandydat do wydania Wersja Beta Wydanie alfa
14 maja 2024 r. 1.5.14 - - -

Struktura

Narzędzie Compose to połączenie 7 identyfikatorów grup Maven w ramach usługi androidx. Każda grupa zawiera docelowy podzbiór funkcji, z których każda ma własny zestaw informacji o wersji.

W tej tabeli opisano grupy i linki do poszczególnych zestawów informacji o wersji.

GrupaOpis
compose.animation,Twórz animacje w aplikacjach Jetpack Compose, aby wzbogacać wrażenia użytkowników.
compose.buildrPrzekształcaj funkcje @Composable i optymalizuj funkcje za pomocą wtyczki kompilatora Kotlin.
compose.foundationTwórz aplikacje w Jetpack Compose, używając gotowych do użycia elementów składowych, i rozbuduj podstawy, aby tworzyć własne elementy systemu.
compose.material,Twórz interfejsy Jetpack Compose z gotowymi do użycia komponentami Material Design. Jest to punkt wejścia wyższego poziomu w Composer, który ma dostarczać komponenty pasujące do tych opisanych na www.material.io.
compose.material3,Twórz interfejsy Jetpack Compose z komponentami Material Design 3, które stanowią kolejną wersję Material Design. Material 3 ma zaktualizowane motywy i komponenty oraz funkcje personalizacji Material You, takie jak dynamiczne kolory, i został zaprojektowany tak, aby był spójny z nowym stylem wizualnym i interfejsem systemu na Androidzie 12.
compose.runtime,Podstawowe elementy składowe modelu programowania i zarządzania stanem w Compose oraz podstawowe środowisko wykonawcze, na które ma być kierowana wtyczka kompilatora Compose.
compose.ui,Podstawowe elementy interfejsu tworzenia wiadomości niezbędne do interakcji z urządzeniem, w tym układ, rysowanie i wprowadzanie tekstu.

Deklarowanie zależności

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

W pliku build.gradle aplikacji lub modułu dodaj zależności artefaktów, których potrzebujesz:

Odlotowy

android {
    buildFeatures {
        compose true
    }

    composeOptions {
        kotlinCompilerExtensionVersion = "1.5.14"
    }

    kotlinOptions {
        jvmTarget = "19"
    }
}

Kotlin

android {
    buildFeatures {
        compose = true
    }

    composeOptions {
        kotlinCompilerExtensionVersion = "1.5.14"
    }

    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ć Jetpack. Daj nam znać, jeśli odkryjesz nowe wydania lub masz pomysły na ulepszenie tej biblioteki. Zanim utworzysz nową bibliotekę, przejrzyj istniejące problemy w tej bibliotece. Możesz oddać swój głos do istniejącego problemu, klikając przycisk gwiazdki.

Tworzenie nowego numeru

Więcej informacji znajdziesz w dokumentacji narzędzia do śledzenia problemów.

Wersja 1.5

Wersja 1.5.14

14 maja 2024 r.

androidx.compose.compiler:compiler:1.5.14 i androidx.compose.compiler:compiler-hosted:1.5.14 zostały udostępnione. Wersja 1.5.14 zawiera te zatwierdzenia.

Ta wersja kompilatora jest kierowana na Kotlin 1.9.24.

Poprawki błędów

  • Upewnij się, że treść w tekście jest wdrażana, gdy informacje o źródle są wyłączone (Idddb8).

Wersja 1.5.13

1 maja 2024 r.

androidx.compose.compiler:compiler:1.5.13 i androidx.compose.compiler:compiler-hosted:1.5.13 zostały udostępnione. Wersja 1.5.13 zawiera te zatwierdzenia.

Nowe funkcje

  • Silne pomijanie nie jest już uważane za eksperymentalne i można je bezpiecznie stosować w produkcji. W następnej wersji stanie się to domyślne działanie. (I6c8c4).

Poprawki błędów

  • Napraw zgodność binarną funkcji @Composable z parametrami klasy wartości, które mają wartość domyślną i opakowują wartość, która nie jest podstawowa. (I89465
  • Przesłane wyżej poprawki kodu JavaScript i kompilacji natywnej z wielu platform Compose. Szczegółowe informacje znajdziesz w powyższym zakresie zatwierdzeń.

Wersja 1.5.12

17 kwietnia 2024 r.

androidx.compose.compiler:compiler:1.5.12 i androidx.compose.compiler:compiler-hosted:1.5.12 zostały udostępnione. Wersja 1.5.12 zawiera te zatwierdzenia.

Poprawki błędów

  • Rozwiązaliśmy problem z kompilacją przyrostową w Kotlin 1.9.23. (Ifca55).
  • Popraw typy niedopuszczające wartości null w parametrach wartości w przypadku klas wbudowanych, które nie są podstawowe. (IE6bb5)

Wersja 1.5.11

20 marca 2024 r.

androidx.compose.compiler:compiler:1.5.11 i androidx.compose.compiler:compiler-hosted:1.5.11 zostały udostępnione. Wersja 1.5.11 zawiera te zatwierdzenia.

Notes

  • Począwszy od tej wersji, po skompilowaniu modułu ze środowiskiem wykonawczym zawierającym tę metodę kompilator będzie teraz wywoływał metodę startReplaceGroup zamiast startReplacableGroup. Usługa startReplaceGroup została wprowadzona w środowisku wykonawczym w środowisku wykonawczym tworzenia 1.7.0-alpha03. Wywołania startRestartGroup są generowane tylko w przypadku kierowania na wersję 1.7.0-alfa03 lub nowszą.

  • Wywołanie startReplaceGroup zamiast startReplaceableGroup umożliwia środowisku wykonawczym efektywniejsze wykrywanie zmian, ale może wpływać na kolejność ich wykrywania przez Composer i wysyłania ich do Applier. Może to spowodować subtelne zmiany w działaniu, jeśli Applier zależy od kolejności ich wykrywania.

Nowe funkcje

  • Obsługa Kotlin w wersji 1.9.23

Poprawki błędów

  • Naprawianie zagnieżdżonych zewnętrznych typów ogólnych uznawanych za niestabilne. (I3437f, b/327643787)
  • Obsługują wiele plików konfiguracji stabilności. (I8db14, b/325326744)
  • Kompilator tworzenia wiadomości prawidłowo przekształca teraz zastąpione funkcje przez rekurencyjne przechodzenie przez klasy podstawowe/zastąpienia. (I2c9f9, b/316196500)
  • Upewnij się, że nota z odwołaniami 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 w przypadku funkcji kompozycyjnej lambda typu crossinline (trudno napotkać ten błąd bez włączonej opcji „nonSkippingGroupOptimization”). (Icb2fd, b/325502738)

Wersja 1.5.10

21 lutego 2024 r.

androidx.compose.compiler:compiler:1.5.10 i androidx.compose.compiler:compiler-hosted:1.5.10 zostały udostępnione. Wersja 1.5.10 zawiera te zatwierdzenia.

Poprawki błędów

  • Obsługuj dosłowne literały w blokach inicjujących. (b/320397488)
  • Użyj parametru dyspozytora, by sprawdzić, czy funkcja jest w klasie lokalnej (b/323123439)

Wersja 1.5.9

7 lutego 2024 r.

androidx.compose.compiler:compiler:1.5.9 i androidx.compose.compiler:compiler-hosted:1.5.9 zostały udostępnione. Wersja 1.5.9 zawiera te zatwierdzenia.

Poprawki błędów

  • Napraw wywołania funkcji kompozycyjne w anonimowym inicjatorze obiektów. (b/320261458, 96315c)
  • Zlicza rekurencyjne lokalne deklaracje jako zapisy. (b/318745941, e7b4b0)
  • Poprawiono działanie funkcji zapamiętywania wewnętrznych zmian związanych z odwołaniami do metody Java przez wymuszanie zastosowania parametru .changed w przypadku typów funkcji z wbudowaną zapamiętywaniem danych. (b/319810819, 77128e)
  • Dodaliśmy optymalizację eksperymentalną, która usuwa grupy funkcji, których nie można pominąć, np. funkcji oznaczonych jako @NonSkippableComposable, oraz funkcji, których nie można pominąć, takich jak funkcje wbudowane i funkcje, które zwracają wartość inną niż jednostka, np. remember.
  • Tę optymalizację można włączyć, przekazując opcję wtyczki -P plugin:androidx.compose.compiler.plugins.kotlin:nonSkippingGroupOptimization=true do kompilatora Kotlin. (I1688f)

Wersja 1.5.8

10 stycznia 2024 r.

androidx.compose.compiler:compiler:1.5.8 i androidx.compose.compiler:compiler-hosted:1.5.8 zostały udostępnione. Wersja 1.5.8 zawiera te zatwierdzenia.

Nowe funkcje

  • Obsługa Kotlin w wersji 1.9.22

Poprawki błędów

  • Usunęliśmy błąd, który powodował, że kompilator kompilował wyjątki w przypadku kompilacji w języku Java21. Ten błąd nigdy nie dotyczył użytkowników, którzy korzystają z narzędzia Google Maven (a nie samodzielnie go kompilują). (b/316644294)
  • Naprawiono błąd, który powodował, że w przypadku niektórych elementów wywołujących niewbudowane funkcje lambda zgłaszany był błąd COMPOSABLE_EXPECTED. (b/309364913)
  • Dodaj błąd kompilacji parametrów domyślnych w funkcjach otwartych (wcześniej występował on tylko w przypadku funkcji abstrakcyjnych). W tej chwili funkcja tworzenia wiadomości nie obsługuje zastępowania parametrów domyślnych z zastąpionych funkcji, a zastępowanie funkcji kompozycyjnej parametrami domyślnymi nie działa w czasie działania. Użyj funkcji @Suppress("ABSTRACT_COMPOSABLE_DEFAULT_PARAMETER_VALUE"), aby wyłączyć tę funkcję. Pamiętaj jednak, że zastąpienie takiej funkcji bez podania wartości domyślnej parametru spowoduje awarię w czasie działania (b/317490247).
  • Naprawiliśmy błąd we wbudowanej zapamiętywaniu, który uniemożliwiał prawidłowe propagację wartości. (B/316327367)

Treści tłumaczone przez użytkowników zewnętrznych

Wersja 1.5.7

19 grudnia 2023 r.

androidx.compose.compiler:compiler:1.5.7 i androidx.compose.compiler:compiler-hosted:1.5.7 zostały udostępnione. Wersja 1.5.7 zawiera te zatwierdzenia.

Poprawki błędów

  • Naprawa awarii środowiska wykonawczego tworzenia, gdy parametr klucza remember() wywołuje funkcję kompozycyjną (b/315855015)
  • Naprawa awarii środowiska wykonawczego tworzenia wiadomości, gdy używana jest usługa return@. (b/315821171)
  • Unikaj używania ścieżek bezwzględnych w kluczach notatek, co pozwala lepiej kompilować wykorzystanie pamięci podręcznej. (b/313937484)

Wersja 1.5.6

6 grudnia 2023 r.

androidx.compose.compiler:compiler:1.5.6 i androidx.compose.compiler:compiler-hosted:1.5.6 zostały udostępnione. Wersja 1.5.6 zawiera te zatwierdzenia.

Nowe funkcje

  • Obsługa Kotlin w wersji 1.9.21

Poprawki błędów

  • Włącz wbudowane zapamiętywanie – przekształcenie kompilatora, które w tekście jest zapamiętywane we wtyczce kompilatora Compose, zastępuje porównania .equals z porównaniami z innymi meta parametru w przypadku stabilnych parametrów. Dzięki temu mniej przedziałów jest używanych i przeprowadzanych 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).
  • Poprawianie zapisywania pamięci dostosowanych odwołań do funkcji i argumentów w treści. (b/312738720)
  • Realizowanie grup po wyjściu z wywołania funkcji wbudowanej (b/312242547)

Treści tłumaczone przez użytkowników zewnętrznych

  • Poprawiono awarię środowiska wykonawczego k/native i k/wasm z powodu braku instrukcji zwrotnej w funkcjach kompozycyjnych, gdy jest to ostatnia instrukcja i zwraca stałą wartość null (aosp/2835716)

Wersja 1.5.5

29 listopada 2023 r.

androidx.compose.compiler:compiler:1.5.5 i androidx.compose.compiler:compiler-hosted:1.5.5 zostały udostępnione. Wersja 1.5.5 zawiera te zatwierdzenia.

Poprawki błędów

  • Naprawia awarię występującą podczas wyszukiwania zastąpionych typów kompozycyjnych (Ib6d2c, b/297665426)
    • Dodaj stabilityConfigurationPath do znanych parametrów (wcześniej błąd uniemożliwiał użycie flagi pliku konfiguracji). (b/309765121)
    • Poprawki notatek (I081d1, I4d7bf)
    • Poprawka zmiany kompozycji przez uwzględnienie niepewnego stanu parametru we wbudowanej pamięci podręcznej (b/263402091)
    • Naprawianie informacji o wierszu debugowania dla wewnętrznego zapamiętywania (Ic8cf5)
    • Naprawa awarii (nieudane zmniejszanie podczerwieni) podczas wyszukiwania zastępowanych typów kompozycyjnych podczas kompilacji (b/297665426)

Treści tłumaczone przez użytkowników zewnętrznych

  • Zapamiętywanie stabilnych odwołań do funkcji za pomocą argumentów (I4d7bf, b/302680514)

Wersja 1.5.4

7 listopada 2023 r.

androidx.compose.compiler:compiler:1.5.4 i androidx.compose.compiler:compiler-hosted:1.5.4 zostały udostępnione. Wersja 1.5.4 zawiera te zatwierdzenia.

Aktualizacje zależności

  • Narzędzie Compose Compiler jest teraz zgodne z Kotlin 1.9.20

Nowe funkcje

  • Dodaj opcję eksperymentalną, aby włączyć silny tryb pomijania. Silny tryb pomijania umożliwia pomijanie elementów kompozycyjnych z niestabilnymi parametrami. Dodatkowo lambda z niestabilnymi zapisami są zapisywane w pamięci. Ta funkcja jest eksperymentalna i nie jest uznawana za gotową do użytku w środowisku produkcyjnym. (22421e)
  • Dodaj flagę, aby włączyć lub wyłączyć informacje o źródle / logu czasu. (4D45f09)
  • Zezwalaj na konfigurowanie stabilności klas zewnętrznych za pomocą pliku konfiguracji. (If40eb).

Poprawki błędów

  • Naprawianie wcześniejszego wyjścia z funkcji kompozycyjnej, gdy informacje o źródle nie są zbierane. (fe6267)
  • Naprawiono opcję Kontynuuj z funkcji kompozycyjnej. (948362).
  • Rozwiąż problem, gdy funkcje kompozycyjne są wywoływane z poziomu wywołania funkcji z wieloma przeciążeniami zależnymi od zwracanego typu wyrażenia. (2d36d0)
  • Poprawiono notatkę, gdy odwołanie do funkcji nie ma odbiornika wysyłającego. (fc2326)
  • Napraw zabrudzenie, które w niektórych sytuacjach uniemożliwiało ponowne kompozycję parametrów lambda. (db3699)
  • Popraw stabilność przy przyrostowej kompilacji danych pomiędzy modułami. (7d3e127)
  • Ogranicz zakres @DontMemoize tylko do wyrażeń lambda. (7a7fa52).
  • Napraw zmienne, które nie są prawidłowo rejestrowane w przypadku używania zabawnego interfejsu kompozycyjnego jako funkcji lambda. (5ae3556).

Treści tłumaczone przez użytkowników zewnętrznych

  • Do porównywania wartości liczbowych i wartości null użyj symbolu równości strukturalnej (c612a0)

Wersja 1.5.3

29 sierpnia 2023 r.

androidx.compose.compiler:compiler:1.5.3, androidx.compose.compiler:compiler-daemon:1.5.3 i androidx.compose.compiler:compiler-hosted:1.5.3 zostały udostępnione. Wersja 1.5.3 zawiera te zatwierdzenia.

Aktualizacja zależności

  • Wersja 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.2 i androidx.compose.compiler:compiler-hosted:1.5.2 zostały udostępnione. Wersja 1.5.2 zawiera te zatwierdzenia.

Poprawki błędów

  • Wstaw numery wierszy w instrukcjach zwrotnych w stale zwracanych funkcjach kompozycyjnych. (I42d89)
  • Napraw wyciek pamięci spowodowany przełączeniem na nowy punkt wejścia wtyczki kompilatora. (4f0a101)
  • Przestań przekształcać zabawne interfejsy, które nie są kompozycyjne, w kompilatorze Compose. Dlatego zabawne interfejsy są obsługiwane w taki sam sposób jak żądania lambda, także z regułami notowania. (28b3ce9).
  • Użyj typu argumentu vararg do wywnioskowania stabilności w witrynie wywołującej. (BC83645)

Wersja 1.5.1

26 lipca 2023 r.

androidx.compose.compiler:compiler:1.5.1, androidx.compose.compiler:compiler-daemon:1.5.1 i androidx.compose.compiler:compiler-hosted:1.5.1 zostały udostępnione. Wersja 1.5.1 zawiera te zatwierdzenia.

Poprawki błędów

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

Wersja 1.5.0

18 lipca 2023 r.

androidx.compose.compiler:compiler:1.5.0, androidx.compose.compiler:compiler-daemon:1.5.0 i androidx.compose.compiler:compiler-hosted:1.5.0 zostały udostępnione. Wersja 1.5.0 zawiera te zatwierdzenia.

Eksperymentalna obsługa K2

  • Kompilator Compose 1.5.0 zapewnia eksperymentalną obsługę kompilatora K2. Niektóre funkcje Compose nie są jeszcze obsługiwane w K2 i pojawią się w kolejnych wersjach kompilatora.

Ważne zmiany wprowadzone od wersji 1.4.0

  • Wersja Kotlin została zaktualizowana do 1.9.0.
  • Argumenty nazwane @Composable wywołań lambda zostały wycofane. Ta funkcja bazuje na wewnętrznych interfejsach API kompilatora i nie będzie obsługiwana w K2.
  • Dodano metodę diagnostyczną służącą do weryfikacji adnotacji @Composable w przypadku oczekiwanych/rzeczywistych połączeń. Obie deklaracje powinny mieć 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.8 i androidx.compose.compiler:compiler-hosted:1.4.8 zostały udostępnione. Wersja 1.4.8 zawiera te zatwierdzenia.

Nowe funkcje

  • Docelowa wersja kompilatora Kotlin została zmieniona na 1.8.22.

Poprawki błędów

  • Poprawiono komunikat o błędzie dotyczący zastąpień @Composable. Teraz prawidłowo wskazuje niezgodność adnotacji.
  • Ostrzegaj o zbędnych adnotacjach @Composable we wbudowanych elementach lambda, które nie powinny być oznaczone jako kompozycyjne. Ta funkcja nie będzie obsługiwana z kompilatorem 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.7 i androidx.compose.compiler:compiler-hosted:1.4.7 zostały udostępnione. Wersja 1.4.7 zawiera te zatwierdzenia.

Nowe funkcje

  • Obsługa Kotlin 1.8.21
  • Dodaliśmy podstawowe wersje interfejsu API State, dzięki czemu możliwe jest śledzenie wartości Int, Long, Float i Double w obiektach State bez nałożenia kary za autoboxing.

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.6 i androidx.compose.compiler:compiler-hosted:1.4.6 zostały udostępnione. Wersja 1.4.6 zawiera te zatwierdzenia.

Poprawki błędów

  • Compose Compiler bazuje teraz na języku Java11 (zamiast języka Java17 wymaganej przez narzędzie Compose Compiler w wersji 1.4.5), aby zapewnić lepszą obsługę użytkowników, którzy nadal korzystają ze starszych wersji języka Java.

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.5 i androidx.compose.compiler:compiler-hosted:1.4.5 zostały udostępnione. Wersja 1.4.5 zawiera te zatwierdzenia.

UWAGA Ta kompilacja kompilatora Compose wymaga środowiska kompilacji Java 17 lub nowszego. Kierując się opiniami użytkowników, postanowiliśmy przywrócić to wymaganie do środowiska Java 11 i wprowadzić nową wersję (1.4.6), aby zapewnić lepsze wsparcie użytkownikom, którzy korzystają ze starszych wersji Javy.

Nowe funkcje

Obsługa Kotlin 1.8.20

Poprawki błędów

  • Propaguj wymaganie zastępowania operatora funkcji kompozycyjnej do klas i interfejsów, które rozszerzają interfejsy lambda za pomocą odpowiednich adnotacji.f8f2f78a1a769c2373201027f12700e772e4e97e
  • Zezwala na użycie adnotacji @Composable w operatorze getValue i oznacza wygenerowaną przez funkcję pobierania danych jako funkcję kompozycyjną w IR, aby zapewnić jej prawidłowe przekształcenie. f174f6ee60ca957d5cb6d19a5bd02a88267cdf40
  • Popraw wewnętrzny błąd tworzenia wiadomości w czasie działania funkcji wbudowanych (oczekiwano wywołania funkcji applyChanges()).b/274786923
  • Unikaj przechwytywania ścieżki ProcessCancelledException, ponieważ ma ona w IDE specjalne znaczenie.b/274725600

Treści tłumaczone przez użytkowników zewnętrznych

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.4 i androidx.compose.compiler:compiler-hosted:1.4.4 zostały udostępnione. Wersja 1.4.4 zawiera te zatwierdzenia.

Poprawki błędów

  • Naprawianie zwracania wbudowanej funkcji lambda (72172b)
  • Zezwalaj elementom kompozycyjnym na zwrócenie Nothing (nie generuj błędu w przypadku użycia funkcji TODO w funkcji kompozycyjnej) 3aea8d)

Wersja 1.4.3

Wersja 1.4.3

22 lutego 2023 roku

Usługa androidx.compose.compiler:compiler:1.4.3 została zwolniona. Wersja 1.4.3 zawiera te zatwierdzenia.

Poprawki błędów

  • Naprawia warunkowe wywołania kompozycyjne w argumentach wywołań kompozycyjnych (Ie93edb).

Wersja 1.4.2

Wersja 1.4.2

8 lutego 2023 r.

Usługa androidx.compose.compiler:compiler:1.4.2 została zwolniona. Wersja 1.4.2 zawiera te zatwierdzenia.

Nowe funkcje

  • Obsługa Kotlin 1.8.10

Poprawki błędów

  • Aby uniknąć błędu zmiany kompozycji, dodaj grupy do treści możliwych do pominięcia lambda.

Wersja 1.4.1

Wersja 1.4.1

8 lutego 2023 r.

Usługa androidx.compose.compiler:compiler:1.4.1 została zwolniona. Wersja 1.4.1 zawiera te zatwierdzenia.

Poprawki błędów

  • Wyłącz wbudowaną optymalizację zapamiętywania, w której wcześniej wprowadzano kilka błędów związanych z generowaniem kodu.
  • Wyłącz funkcję zapamiętywania wewnętrznego w funkcjach zawierających parametr vararg.
  • Naprawianie błędu pomijania elementów w funkcjach kompozycyjnych z parametrami domyślnymi
  • Dodaj komunikat o błędzie defensywnej kreacji zastępczej, jeśli nie uda się sprawdzić zgodności z Kotlin.
  • Usuń generowanie pomijanego kodu z wbudowanej biblioteki lambda

Wersja 1.4.0

17 stycznia 2023 r.

Usługa androidx.compose.compiler:compiler:1.4.0 została zwolniona. Wersja 1.4.0 zawiera te zatwierdzenia.

Ważne zmiany wprowadzone od wersji 1.3.0

  • Obsługa Kotlin 1.8.0
  • Wyłączono wbudowane zapamiętywanie
  • Klasa danych narzędzia UI Group zawiera teraz pole isInline, które wskazuje, czy grupa dotyczy wywołania wbudowanej funkcji kompozycyjnej. Jeśli isInline to true, wywołanie dotyczy wbudowanej funkcji kompozycyjnej. Ta wartość może jednak mieć wartość false w przypadku wywołań wbudowanych funkcji kompozycyjnych, które pochodzą z modułów skompilowanych z wersją wtyczki kompilatora kompilatora, która nie generuje wbudowanych informacji o funkcji.
  • ImmutableCollection oraz jego trwałe rodzeństwo są teraz uważani za stabilne.
  • Nowy parametr etykiety narzędzi w polu AnimatedContent
  • Naprawiono błędne generowanie kodu w przypadku wbudowanej funkcji lambda

Wersja 1.4.0-alpha02

11 listopada 2022 r.

Usługa androidx.compose.compiler:compiler:1.4.0-alpha02 została zwolniona. Wersja 1.4.0-alfa02 zawiera te zatwierdzenia.

Nowe funkcje

  • Dodano obsługę języka Kotlin 1.7.21

Wersja 1.4.0-alpha01

9 listopada 2022 r.

Usługa androidx.compose.compiler:compiler:1.4.0-alpha01 została zwolniona. Wersja 1.4.0-alfa01 zawiera te zatwierdzenia.

Poprawki błędów

  • Naprawiono możliwość wcześniejszego powrotu z wbudowanych funkcji kompozycyjnych (b/255350755).
  • Naprawiono błąd obniżania elementów, który uniemożliwiał obsługę Kotlin/JS w funkcji tworzenia wiadomości (6a40f8).

Wersja 1.3

Wersja 1.3.2

4 października 2022 r.

Usługa androidx.compose.compiler:compiler:1.3.2 została zwolniona. Wersja 1.3.2 zawiera te zatwierdzenia.

Nowa funkcja

  • Ta wersja zawiera aktualizację do wersji Kotlin 1.7.20

Wersja 1.3.1

7 września 2022 roku

Usługa androidx.compose.compiler:compiler:1.3.1 została zwolniona. Wersja 1.3.1 zawiera te zatwierdzenia.

Poprawki błędów

  • Poprawiono błąd IllegalStateException, który w niektórych przypadkach błędnie oznaczał typy jednostek jako kompozycyjne. (b/237863365)
  • Podczas pomijania sprawdzania wersji kompilatora użytkownicy muszą teraz określić preferowaną wersję Kotlin (I9e5e2)

Wersja 1.3.0

10 sierpnia 2022 r.

Usługa androidx.compose.compiler:compiler:1.3.0 została zwolniona. Wersja 1.3.0 zawiera te zatwierdzenia.

Wersja 1.3.0-rc02

3 sierpnia 2022 r.

Usługa androidx.compose.compiler:compiler:1.3.0-rc02 została zwolniona. Wersja 1.3.0-rc02 zawiera te zatwierdzenia.

Wersja 1.3.0-rc01

27 lipca 2022 roku

Usługa androidx.compose.compiler:compiler:1.3.0-rc01 została zwolniona. Wersja 1.3.0-rc01 zawiera te zatwierdzenia.

Wersja 1.3.0-beta01

20 lipca 2022 roku

Usługa androidx.compose.compiler:compiler:1.3.0-beta01 została zwolniona. Wersja 1.3.0-beta01 zawiera te zatwierdzenia.

Nowe funkcje

  • Dodano obsługę języka Kotlin 1.7.10

Wersja 1.2

Wersja 1.2.0

29 czerwca 2022 r.

Usługa androidx.compose.compiler:compiler:1.2.0 została zwolniona. Wersja 1.2.0 zawiera te zatwierdzenia.

Ważne zmiany od wersji 1.1.0

Wersja 1.2.0-rc02

22 czerwca 2022 r.

Usługa androidx.compose.compiler:compiler:1.2.0-rc02 została zwolniona. Wersja 1.2.0-rc02 zawiera te zatwierdzenia.

Poprawki błędów

  • Usunięto możliwość generowania kodu zdarzenia śledzenia z możliwością kompozycyjnego (aosp/2127922)

Wersja 1.2.0-rc01

15 czerwca 2022 r.

Usługa androidx.compose.compiler:compiler:1.2.0-rc01 została zwolniona. Wersja 1.2.0-rc01 zawiera te zatwierdzenia.

Wersja 1.2.0-beta03

1 czerwca 2022 r.

Usługa androidx.compose.compiler:compiler:1.2.0-beta03 została zwolniona. Wersja 1.2.0-beta03 zawiera te zatwierdzenia.

Wersja 1.2.0-beta02

18 maja 2022 r.

Usługa androidx.compose.compiler:compiler:1.2.0-beta02 została zwolniona. Wersja 1.2.0-beta02 zawiera te zatwierdzenia.

Wersja 1.2.0-beta01

11 maja 2022 roku

Usługa androidx.compose.compiler:compiler:1.2.0-beta01 została zwolniona. Wersja 1.2.0-beta01 zawiera te zatwierdzenia.

  • Pierwsza wersja beta 1.2. Od ostatniej wersji alfa nie ma żadnych zmian.

Nowe funkcje

  • Dodano obsługę języka Kotlin 1.6.21

Wersja 1.2.0-alpha08

20 kwietnia 2022 r.

Usługa androidx.compose.compiler:compiler:1.2.0-alpha08 została zwolniona. Wersja 1.2.0-alfa08 zawiera te zatwierdzenia.

Wersja 1.2.0-alpha07

6 kwietnia 2022 roku

Usługa androidx.compose.compiler:compiler:1.2.0-alpha07 została zwolniona. Wersja 1.2.0-alfa07 zawiera te zatwierdzenia.

Wersja 1.2.0-alpha06

23 marca 2022 r.

Usługa androidx.compose.compiler:compiler:1.2.0-alpha06 została zwolniona. Wersja 1.2.0-alfa06 zawiera te zatwierdzenia.

Wersja 1.2.0-alpha05

9 marca 2022 r.

Usługa androidx.compose.compiler:compiler:1.2.0-alpha05 została zwolniona. Wersja 1.2.0-alfa05 zawiera te zatwierdzenia.

Wersja 1.2.0-alfa04

23 lutego 2022 r.

Usługa androidx.compose.compiler:compiler:1.2.0-alpha04 została zwolniona. Wersja 1.2.0-alfa04 zawiera te zatwierdzenia.

Wersja 1.2.0-alfa03

9 lutego 2022 r.

Usługa androidx.compose.compiler:compiler:1.2.0-alpha03 została zwolniona. Wersja 1.2.0-alfa03 zawiera te zatwierdzenia.

Wersja 1.2.0-alfa02

26 stycznia 2022 r.

Usługa androidx.compose.compiler:compiler:1.2.0-alpha02 została zwolniona. Wersja 1.2.0-alfa02 zawiera te zatwierdzenia.

Wersja 1.2.0-alpha01

12 stycznia 2022 r.

Usługa androidx.compose.compiler:compiler:1.2.0-alpha01 została zwolniona. Wersja 1.2.0-alfa01 zawiera te zatwierdzenia.

Nowe funkcje

  • Dodano obsługę języka Kotlin 1.6.10.

Wersja 1.1

Wersja 1.1.1

23 lutego 2022 r.

Usługa androidx.compose.compiler:compiler:1.1.1 została zwolniona. Wersja 1.1.1 zawiera te zatwierdzenia.

Poprawki błędów

  • Napraw NullPointerException pod adresem androidx.compose.ui.platform.RenderNodeLayer.updateDisplayList (aosp/1947059, b/206677462)
  • Naprawiono błąd spowodowany przez zawartość schowka przy odczytywaniu ze schowka na Androidzie. (I06020, b/197769306)
  • Poprawiono RTL w LazyVerticalGrid (aosp/1931080, b/207510535)

Wersja 1.1.0

9 lutego 2022 r.

Usługa androidx.compose.compiler:compiler:1.1.0 została zwolniona. Wersja 1.1.0 zawiera te zatwierdzenia.

Ważne zmiany wprowadzone od wersji 1.0.0

  • Stabilna obsługa efektu przewijania w Androidzie 12.
  • Ulepszenia rozmiaru docelowego elementu dotykowego
  • Pamiętaj, że w przypadku Compose 1.0 komponenty Material mają rozszerzać obszar układu, aby zapewnić zgodność z wytycznymi dotyczącymi ułatwień dostępu Material Design rozmiar docelowego elementu dotykowego. Na przykład docelowy element dotykowy przycisku zostanie powiększony do minimalnego rozmiaru 48x48dp, nawet jeśli ustawisz rozmiar przycisku na mniejszy. Dzięki temu interfejs Compose Material ma takie samo zachowanie jak komponenty stylu Material Design, co zapewnia spójne zachowanie w przypadku połączenia widoków i tworzenia wiadomości. Ta zmiana zagwarantuje też, że w przypadku tworzenia UI z użyciem komponentów Compose Material, minimalne wymagania dotyczące ułatwień dostępu docelowych elementów dotykowych będą spełnione.
  • Stabilna obsługa kolejki nawigacyjnej
  • Przeniesienie niektórych wcześniej eksperymentalnych interfejsów API do wersji stabilnej
  • pomoc dotycząca nowszych wersji Kotlin,

Wersja 1.1.0-rc03

26 stycznia 2022 r.

Usługa androidx.compose.compiler:compiler:1.1.0-rc03 została zwolniona. Wersja 1.1.0-rc03 zawiera te zatwierdzenia.

Poprawki błędów

  • Zaktualizowano, aby obsługiwała Material 1.1.0-rc03

Wersja 1.1.0-rc02

16 grudnia 2021 r.

Usługa androidx.compose.compiler:compiler:1.1.0-rc02 została zwolniona. Wersja 1.1.0-rc02 zawiera te zatwierdzenia.

Aktualizacje zależności

  • Kompilator 1.1.0-rc02 jest zgodny z Kotlin 1.6.10.

Wersja 1.1.0-rc01

15 grudnia 2021 roku

Usługa androidx.compose.compiler:compiler:1.1.0-rc01 została zwolniona. Wersja 1.1.0-rc01 zawiera te zatwierdzenia.

Zmiany zależności

  • Kompilator 1.1.0-rc01 jest zgodny z Kotlin 1.6.0.
  • Zgodna kompilacja 1.6.10 jest dostępna na stronie androidx.dev SNAPSHOTs z kodem buildId 8003490. Ten fragment kodu zależności skonfiguruje polecenia SNAPSHOT na potrzeby kompilatora Compose:

    Dodaj ten fragment kodu do pliku głównego 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 funkcji tworzenia wiadomości:

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

Wersja 1.1.0-beta04

1 grudnia 2021 r.

Usługa androidx.compose.compiler:compiler:1.1.0-beta04 została zwolniona. Wersja 1.1.0-beta04 zawiera te zatwierdzenia.

Nowe funkcje

  • Zaktualizowano, aby była zgodna z platformą Kotlin 1.6.0

Wersja 1.1.0-beta03

17 listopada 2021 r.

Usługa androidx.compose.compiler:compiler:1.1.0-beta03 została zwolniona. Wersja 1.1.0-beta03 zawiera te zatwierdzenia.

Wersja 1.1.0-beta02

3 listopada 2021 r.

Usługa androidx.compose.compiler:compiler:1.1.0-beta02 została zwolniona. Wersja 1.1.0-beta02 zawiera te zatwierdzenia.

Wersja 1.1.0-beta01

27 października 2021 roku

Usługa androidx.compose.compiler:compiler:1.1.0-beta01 została zwolniona. Wersja 1.1.0-beta01 zawiera te zatwierdzenia.

Wersja 1.1.0-alpha06

13 października 2021 r.

Usługa androidx.compose.compiler:compiler:1.1.0-alpha06 została zwolniona. Wersja 1.1.0-alfa06 zawiera te zatwierdzenia.

Wersja 1.1.0-alpha05

29 września 2021 r.

Usługa androidx.compose.compiler:compiler:1.1.0-alpha05 została zwolniona. Wersja 1.1.0-alfa05 zawiera te zatwierdzenia.

Wersja 1.1.0-alfa04

15 września 2021 r.

Usługa androidx.compose.compiler:compiler:1.1.0-alpha04 została zwolniona. Wersja 1.1.0-alfa04 zawiera te zatwierdzenia.

Wersja 1.1.0-alfa03

1 września 2021 roku

Usługa androidx.compose.compiler:compiler:1.1.0-alpha03 została zwolniona. Wersja 1.1.0-alfa03 zawiera te zatwierdzenia.

Nowe funkcje

  • Kompilator Compose obsługuje teraz starsze wersje środowiska wykonawczego Compose (1.0). Przed tą zmianą kompilator był zgodny tylko ze środowiskiem wykonawczym Compose w tej samej wersji lub nowszej. Po tej zmianie kompilator jest zgodny ze starszą wersją środowiska wykonawczego Compose (1.0). (Aosp/1796968).
  • Zaktualizowano funkcję Utwórz 1.1.0-alpha03, aby bazowała na Kotlinie 1.5.30. (I74545)

Wersja 1.1.0-alfa02

18 sierpnia 2021 r.

Usługa androidx.compose.compiler:compiler:1.1.0-alpha02 została zwolniona. Wersja 1.1.0-alfa02 zawiera te zatwierdzenia.

Wersja 1.1.0-alpha01

4 sierpnia 2021 r.

Usługa androidx.compose.compiler:compiler:1.1.0-alpha01 została zwolniona. Wersja 1.1.0-alfa01 zawiera te zatwierdzenia.

Wersja 1.0

Wersja 1.0.5

3 listopada 2021 r.

Usługa androidx.compose.compiler:compiler:1.0.5 została zwolniona. Wersja 1.0.5 zawiera te zatwierdzenia.

Poprawki błędów

  • Usunięto problem ze śledzeniem awarii w instancjach originStateOf. (Aosp/1792247)

Wersja 1.0.4

13 października 2021 r.

Usługa androidx.compose.compiler:compiler:1.0.4 została zwolniona. Wersja 1.0.4 zawiera te zatwierdzenia.

Aktualizacje zależności

  • Zaktualizowano na podstawie usługi Kotlin 1.5.31

Wersja 1.0.3

29 września 2021 r.

Usługa androidx.compose.compiler:compiler:1.0.3 została zwolniona. Wersja 1.0.3 zawiera te zatwierdzenia.

Aktualizacje zależności

  • Zaktualizowano na podstawie usługi Kotlin 1.5.30

Wersja 1.0.2

1 września 2021 roku

Usługa androidx.compose.compiler:compiler:1.0.2 została zwolniona. Wersja 1.0.2 zawiera te zatwierdzenia.

Zaktualizowano, aby obsługiwała wersję 1.0.2 Utwórz. Funkcja Compose 1.0.2 jest nadal zgodna z Kotlin 1.5.21.

Wersja 1.0.1

4 sierpnia 2021 r.

Usługa androidx.compose.compiler:compiler:1.0.1 została zwolniona. Wersja 1.0.1 zawiera te zatwierdzenia.

Aktualizacje zależności

  • Zaktualizowano w zależności od systemu Kotlin 1.5.21.

Wersja 1.0.0

28 lipca 2021 roku

Usługa androidx.compose.compiler:compiler:1.0.0 została zwolniona. Wersja 1.0.0 zawiera te zatwierdzenia.

Główne funkcje 1.0.0

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

Wersja 1.0.0-rc02

14 lipca 2021 roku

Usługa androidx.compose.compiler:compiler:1.0.0-rc02 została zwolniona. Wersja 1.0.0-rc02 zawiera te zatwierdzenia.

Wersja 1.0.0-rc01

1 lipca 2021 r.

Usługa androidx.compose.compiler:compiler:1.0.0-rc01 została zwolniona. Wersja 1.0.0-rc01 zawiera te zatwierdzenia.

Wersja 1.0.0-beta09

16 czerwca 2021 r.

Usługa androidx.compose.compiler:compiler:1.0.0-beta09 została zwolniona. Wersja 1.0.0-beta09 zawiera te zatwierdzenia.

Wersja 1.0.0-beta08

2 czerwca 2021 r.

Usługa androidx.compose.compiler:compiler:1.0.0-beta08 została zwolniona. Wersja 1.0.0-beta08 zawiera te zatwierdzenia.

Wersja 1.0.0-beta07

18 maja 2021 r.

Usługa androidx.compose.compiler:compiler:1.0.0-beta07 została zwolniona. Wersja 1.0.0-beta07 zawiera te zatwierdzenia.

Wersja 1.0.0-beta06

5 maja 2021 roku

Usługa androidx.compose.compiler:compiler:1.0.0-beta06 została zwolniona. Wersja 1.0.0-beta06 zawiera te zatwierdzenia.

Wersja 1.0.0-beta05

21 kwietnia 2021 r.

Usługa androidx.compose.compiler:compiler:1.0.0-beta05 została zwolniona. Wersja 1.0.0-beta05 zawiera te zatwierdzenia.

Wersja 1.0.0-beta04

7 kwietnia 2021 r.

Usługa androidx.compose.compiler:compiler:1.0.0-beta04 została zwolniona. Wersja 1.0.0-beta04 zawiera te zatwierdzenia.

Wersja 1.0.0-beta03

24 marca 2021 r.

Usługa androidx.compose.compiler:compiler:1.0.0-beta03 została zwolniona. Wersja 1.0.0-beta03 zawiera te zatwierdzenia.

Wersja 1.0.0-beta02

10 marca 2021 r.

Usługa androidx.compose.compiler:compiler:1.0.0-beta02 została zwolniona. Wersja 1.0.0-beta02 zawiera te zatwierdzenia.

Wersja 1.0.0-beta01

24 lutego 2021 r.

Usługa androidx.compose.compiler:compiler:1.0.0-beta01 została zwolniona. Wersja 1.0.0-beta01 zawiera te zatwierdzenia.

To jest pierwsza wersja beta Compose 1.0.0.

Wersja 1.0.0-alfa12

10 lutego 2021 r.

Usługa androidx.compose.compiler:compiler:1.0.0-alpha12 została zwolniona. Wersja 1.0.0-alfa12 zawiera te zatwierdzenia.

Wersja 1.0.0-alfa11

28 stycznia 2021 roku

Usługa androidx.compose.compiler:compiler:1.0.0-alpha11 została zwolniona. Wersja 1.0.0-alfa11 zawiera te zatwierdzenia.

Wersja 1.0.0-alpha10

13 stycznia 2021 r.

Usługa androidx.compose.compiler:compiler:1.0.0-alpha10 została zwolniona. Wersja 1.0.0-alfa10 zawiera te zatwierdzenia.

Wersja 1.0.0-alpha09

16 grudnia 2020 roku

Usługa androidx.compose.compiler:compiler:1.0.0-alpha09 została zwolniona. Wersja 1.0.0-alfa09 zawiera te zatwierdzenia.

Wersja 1.0.0-alpha08

Grudzień 2, 2020

Usługa androidx.compose.compiler:compiler:1.0.0-alpha08 została zwolniona. Wersja 1.0.0-alfa08 zawiera te zatwierdzenia.

Wersja 1.0.0-alpha07

11 listopada 2020 roku

Usługa androidx.compose.compiler:compiler:1.0.0-alpha07 została zwolniona. Wersja 1.0.0-alfa07 zawiera te zatwierdzenia.

Nowe funkcje

  • Wnioski i rozpowszechnianie dotyczące stabilności. Wtyczka Compose Compiler przeanalizuje skompilowane typy, aby ustalić, czy kwalifikuje się do określonych optymalizacji w środowisku wykonawczym. Ten wynikowy wynik jest następnie syntetyzowany jako metadane w klasie do wykorzystania przez kompilatora w innych modułach. Ponadto wynik tych wnioskowania z czasu działania jest przekazywany w metadanych przekazywanych do wywołań kompozycyjnych podczas komponowania. Wymagało to zastosowania innego protokołu metadanych dla funkcji kompozycyjnych, co oznacza, że takie funkcje skompilowane z użyciem kompilatora alfa07 nie będą binarnie zgodne z funkcjami kompozycyjnymi kompilowanymi z żadną wcześniejszą wersją tego kompilatora. (Aosp/1431988).

Wersja 1.0.0-alpha06

28 października 2020 r.

Usługa androidx.compose.compiler:compiler:1.0.0-alpha06 została zwolniona. Wersja 1.0.0-alfa06 zawiera te zatwierdzenia.

Wersja 1.0.0-alpha05

14 października 2020 r.

Usługa androidx.compose.compiler:compiler:1.0.0-alpha05 została zwolniona. Wersja 1.0.0-alfa05 zawiera te zatwierdzenia.

Wersja 1.0.0-alpha04

1 października 2020 roku

Usługa androidx.compose.compiler:compiler:1.0.0-alpha04 została zwolniona. Wersja 1.0.0-alfa04 zawiera te zatwierdzenia.

Element androidx.compose:compose-compiler został zmodyfikowany na androidx.compose.compiler:compiler. To jest pierwsza wersja w nowej grupie.