Kompilator Compose

Przekształcaj funkcje @Composable i włącz optymalizacje za pomocą wtyczki kompilatora Kotlin.
Ostatnia aktualizacja Wersja stabilna Wersja kandydująca Wersja Beta Wersja alfa
7 sierpnia 2024 r. 1.5.15 - - -

Struktura

Składnik jest kombinacją 7 identyfikatorów grupy Maven w ramach androidx. Każda grupa zawiera określony podzbiór funkcji, z którym wiąże się własny zestaw informacji o wydańach.

Ta tabela zawiera informacje o grupach i linki do poszczególnych zestawów informacji o wersji.

GrupaOpis
compose.animationtworzyć animacje w aplikacjach Jetpack Compose, aby wzbogacać wrażenia użytkowników.
compose.compilerPrzekształcaj funkcje @Composable i włącz optymalizacje za pomocą wtyczki kompilatora Kotlin.
compose.foundationPisać aplikacje Jetpack Compose za pomocą gotowych elementów składowych i rozwijać podstawy, aby tworzyć własne elementy systemu projektowania.
compose.materialTworzenie interfejsów Jetpack Compose za pomocą gotowych komponentów Material Design. Jest to punkt wejścia na wyższym poziomie w Compose, który ma na celu udostępnianie komponentów odpowiadających komponentom opisanym na stronie www.material.io.
compose.material3Twórz interfejsy Jetpack Compose za pomocą komponentów Material Design 3, czyli kolejnej generacji Material Design. Material 3 obejmuje zaktualizowane motywy i elementy oraz funkcje personalizacji Material You, takie jak dynamiczne kolory. Jest on spójny z nowym stylem wizualnym Androida 12 i interfejsem systemu.
compose.runtimePodstawowe elementy modelu programowania i zarządzania stanem w Compose oraz środowisko uruchomieniowe główne dla wtyczki kompilatora Compose, na które ma być nakierowany.
compose.uiPodstawowe elementy interfejsu tworzenia wiadomości, które są potrzebne do interakcji z urządzeniem, w tym układ, rysowanie i wprowadzanie danych.

Deklarowanie zależności

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

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

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

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 zauważysz nowe problemy lub masz pomysły na ulepszenie tej biblioteki, daj nam znać. Zanim utworzysz nowy problem, zapoznaj się z dotychczasowymi problemami w tej bibliotece. Możesz dodać swój głos do istniejącego problemu, klikając przycisk z gwiazdką.

Tworzenie nowego zgłoszenia

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 są dostępne. Wersja 1.5.15 zawiera te komitowane zmiany.

  • Ta wersja kompilatora jest przeznaczona dla Kotlina 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 są dostępne. Wersja 1.5.14 zawiera te komity.

Ta wersja kompilatora jest przeznaczona dla Kotlina 1.9.24.

Poprawki błędów

  • Upewnij się, że wbudowany tekst jest realizowany, 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 są dostępne. Wersja 1.5.13 zawiera te komity.

Nowe funkcje

  • Funkcja pomijania dużej ilości reklam nie jest już uważana za eksperymentalną i może być bezpiecznie używana w wersji produkcyjnej. W kolejnej wersji stanie się to domyślnym zachowaniem. (I6c8c4)

Poprawki błędów

  • Poprawić zgodność binarną funkcji @Composable z parametrami klasy wartości, które mają wartość domyślną i owijają wartość niepierwotną. (I89465
  • Wprowadzono poprawki dla kompilacji JS i kompilacji natywnych z Compose na wiele platform. 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 są dostępne. Wersja 1.5.12 zawiera te komity.

Poprawki błędów

  • Rozwiązano problem z kompilacją przyrostową w Kotlin 1.9.23. (Ifca55)
  • Popraw typy niepustych w parametrach wartości dla nieprostych wbudowanych klas. (Ie6bb5)

Wersja 1.5.11

20 marca 2024 r.

androidx.compose.compiler:compiler:1.5.11androidx.compose.compiler:compiler-hosted:1.5.11 są dostępne. Wersja 1.5.11 zawiera te komitowane zmiany.

Notes

  • Począwszy od tej wersji kompilator będzie wywoływać metodę startReplaceGroup zamiast startReplacableGroup, gdy moduł zostanie skompilowany z czasem wykonywania zawierającym tę metodę. startReplaceGroup został wprowadzony w środowisku wykonawczym w Środowisku wykonawczym usługi Compose1.7.0-alpha03. Wywołania funkcji startRestartGroup są generowane tylko wtedy, gdy kierujesz reklamy na środowisko wykonawcze w wersji 1.7.0-alpha03 lub nowszej.

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

Nowe funkcje

  • Obsługa Kotlina 1.9.23

Poprawki błędów

  • Poprawianie problemu z zagnieżżonymi zewnętrznymi typami ogólnymi, które są uznawane za niestabilne. (I3437f, b/327643787)
  • Obsługa wielu plików konfiguracji stabilności. (I8db14, b/325326744)
  • Kompilator Compose poprawnie przekształca zastąpione funkcje, rekurencyjnie przechodząc przez podstawowe klasy/zastąpienia. (I2c9f9, b/316196500)
  • Upewnij się, że zapamiętywanie odwołań do funkcji nie próbuje uchwycić ukrytych rodziców deklaracji lokalnych, gdy nie są one używane bezpośrednio. (Ib1267)
  • Naprawiliśmy problem z generowaniem kodu w przypadku kompozytowanych funkcji lambda w ramach linii kodu (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.10androidx.compose.compiler:compiler-hosted:1.5.10 są dostępne. Wersja 1.5.10 zawiera te commity.

Poprawki błędów

  • Obsługa literali w blokach init. (b/320397488)
  • Użyj parametru dispatcher, 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 są dostępne. Wersja 1.5.9 zawiera te zatwierdzenia.

Poprawki błędów

  • Popraw wywołania kompozytowe w inicjalizowanym obiekcie anonimowym. (b/320261458, 96315c)
  • Uwzględniaj rekurencyjne deklaracje lokalne jako chwyty. (b/318745941, e7b4b0)
  • Naprawić zachowanie zmian dotyczących pamiętania wewnętrznego związane z odwołaniami do metody Java, wymuszając .changed dla typów funkcji z pamięcią wewnętrzną. (b/319810819, 77128e)
  • Dodano eksperymentalną optymalizację, która usunie grupy wokół funkcji, które nie są pomijalne, takich jak funkcje wyraźnie oznaczone jako @NonSkippableComposable, oraz funkcje, które są niejawnie nie pomijalne, takie jak funkcje wbudowane i funkcje, które zwracają wartość inną niż Unit, takie jak remember.
  • Można ją 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.8androidx.compose.compiler:compiler-hosted:1.5.8 są dostępne. Wersja 1.5.8 zawiera te zatwierdzenia.

Nowe funkcje

  • Obsługa Kotlina 1.9.22

Poprawki błędów

  • Naprawiono błąd, który powodował wyrzucanie wyjątków podczas kompilowania kompilatora Compose przy użyciu Java21. Ten błąd nie dotyczył użytkowników, którzy korzystają z kompilatora Compose z Google Maven (czyli nie kompilują go samodzielnie). (b/316644294)
  • Naprawiono błąd, który powodował zgłaszanie błędu COMPOSABLE_EXPECTED w przypadku niektórych wywołujących niewbudowanych funkcji lambda. (b/309364913)
  • Dodawanie błędu kompilacji w przypadku domyślnych parametrów w otwartych funkcjach (wcześniej było to ograniczone tylko do funkcji abstrakcyjnych). Obecnie kompozytor nie obsługuje zastępowania domyślnych parametrów w zastąpionych funkcjach, a zastępowanie funkcji kompozytowanej za pomocą domyślnych parametrów powodowało błąd w czasie wykonywania. Aby ją pominąć, użyj instrukcji @Suppress("ABSTRACT_COMPOSABLE_DEFAULT_PARAMETER_VALUE"), ale pamiętaj, że zastąpienie takiej funkcji bez podania wartości domyślnej parametru spowoduje awarię w czasie wykonywania (b/317490247).
  • Naprawiono błąd w pamięci wewnętrznej, który uniemożliwiał prawidłowe rozprzestrzenianie się wartości. (b/316327367)

Darowizna zewnętrzna

Wersja 1.5.7

19 grudnia 2023 r.

androidx.compose.compiler:compiler:1.5.7androidx.compose.compiler:compiler-hosted:1.5.7 są dostępne. Wersja 1.5.7 zawiera te commity.

Poprawki błędów

  • Naprawiono błąd powodujący awarię podczas działania kompozytora, gdy parametr klucza remember() wywołuje funkcję typu Composable (b/315855015).
  • Usunięto awarię podczas działania Compose, która występowała podczas używania funkcji return@. (b/315821171)
  • Unikaj ścieżek bezwzględnych w kluczach zapamiętania, co pozwala lepiej wykorzystać pamięć podręczną. (b/313937484)

Wersja 1.5.6

6 grudnia 2023 r.

androidx.compose.compiler:compiler:1.5.6androidx.compose.compiler:compiler-hosted:1.5.6 są dostępne. Wersja 1.5.6 zawiera te zatwierdzenia.

Nowe funkcje

  • Obsługa Kotlina 1.9.21

Poprawki błędów

  • Włączanie pamiętania informacji wewnętrznych – przekształcenie kompilatora, które wstawia pamiętanie w ramach wtyczki kompilatora w Compose i zastępuje porównania .equals porównaniami typu int z metadanymi parametrów w przypadku stabilnych parametrów. W efekcie podczas wykonywania kodu jest wykorzystywana mniejsza liczba slotów i wykonywanych jest mniej porównań. Opcję można wyłączyć, podając argument wtyczki kompilatora: -P plugin:androidx.compose.compiler.plugins.kotlin:intrinsicRemember=false. (If675f)
  • Naprawiono problem z memorowaniem zaadaptowanych odwołań do funkcji i argumentów wbudowanych. (b/312738720)
  • Realizacja grup podczas zamykania wywołania funkcji w nawiasach klamrowych (b/312242547)

Darowizna zewnętrzna

  • Naprawić błąd czasu wykonywania w k/native i k/wasm spowodowany brakiem instrukcji return w funkcjach kompozytowych, gdy jest to ostatnia instrukcja i zwraca wartość null const (aosp/2835716)

Wersja 1.5.5

29 listopada 2023 r.

androidx.compose.compiler:compiler:1.5.5androidx.compose.compiler:compiler-hosted:1.5.5 są dostępne. Wersja 1.5.5 zawiera te zatwierdzenia.

Poprawki błędów

  • Rozwiązano problem z zawieszaniem się podczas wyszukiwania zastąpionych typów kompozytowych (Ib6d2c, b/297665426)
    • Dodaj stabilityConfigurationPath do znanych parametrów (poprzednio błąd uniemożliwiał używanie flagi pliku konfiguracyjnego). (b/309765121)
    • Poprawki dotyczące pamięci podręcznej (I081d1, I4d7bf)
    • Poprawka dotycząca rekompozycji polegająca na uwzględnieniu stanu niepewnego parametru w pamięci wewnętrznej (b/263402091)
    • Popraw informacje o linii debugowania w przypadku funkcji zapamiętania informacji (Ic8cf5)
    • Naprawiono błąd powodujący awarię (nie udało się obniżyć IR) podczas sprawdzania zastąpionych typów kompozytowych w czasie kompilacji (b/297665426).

Darowizna zewnętrzna

  • Zapisywanie w pamięci podręcznej 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 są dostępne. Wersja 1.5.4 zawiera te zatwierdzenia.

Aktualizacje zależności

  • Kompilator Compose jest teraz zgodny z Kotlinem 1.9.20

Nowe funkcje

  • Dodaliśmy opcję eksperymentalną umożliwiającą włączenie trybu mocnego pomijania. Tryb pomijania z wysoką czułości pozwala pomijać komponenty z niestabilnymi parametrami. Dodatkowo funkcje lambda z niestabilnymi przechwyceniami są zapamiętywane. Ta funkcja jest eksperymentalna i nie jest gotowa do użytku produkcyjnego. (22421e)
  • Dodaj flagę, aby włączyć lub wyłączyć informacje o źródle/trasowaniu. (4d45f09)
  • Zezwalanie na konfigurowanie stabilności klas zewnętrznych za pomocą pliku konfiguracyjnego. (If40eb)

Poprawki błędów

  • Poprawka dotycząca przedwczesnego zakończenia funkcji składanych, gdy nie są zbierane informacje o źródle. (fe6267)
  • Napraw ciągłość z funkcji składanych. (948362)
  • Naprawiono rozwiązanie, gdy funkcje składane są wywoływane z poziomu wywołania funkcji, które ma wiele przeciążeń zależnych od typu zwracanego przez wyrażenie. (2d36d0)
  • Naprawiono problem z zapamiętywaniem, gdy odwołanie do funkcji nie ma odbiornika rozsyłania. (fc2326)
  • Naprawiono sprawdzanie nieczystości, które w niektórych sytuacjach uniemożliwiało ponowne skompilowanie funkcji lambda. (db3699)
  • Poprawiliśmy stabilność podczas kompilacji przyrostowej w różnych modułach. (7d3e127)
  • Ogranicz zakres @DontMemoize tylko do wyrażeń lambda. (7a7fa52)
  • Naprawiono problem z nieprawidłowym przechwyceniem zmiennych podczas korzystania z interfejsu Composable fun jako funkcji lambda. (5ae3556)

Darowizna zewnętrzna

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

Wersja 1.5.3

29 sierpnia 2023 r.

Funkcje androidx.compose.compiler:compiler:1.5.3, androidx.compose.compiler:compiler-daemon:1.5.3androidx.compose.compiler:compiler-hosted:1.5.3 są dostępne. Wersja 1.5.3 zawiera te zatwierdzenia.

Aktualizacja zależności

  • Wersja Kotlina została zaktualizowana do 1.9.10

Wersja 1.5.2

23 sierpnia 2023 r.

Funkcje androidx.compose.compiler:compiler:1.5.2, androidx.compose.compiler:compiler-daemon:1.5.2androidx.compose.compiler:compiler-hosted:1.5.2 są dostępne. Wersja 1.5.2 zawiera te zatwierdzenia.

Poprawki błędów

  • Wstawianie numerów wierszy w przypadku instrukcji return w funkcjach składanych zwracających stałą wartość. (I42d89)
  • Rozwiązanie problemu z wyciekiem pamięci spowodowanego przejściem na nowy punkt wejścia w dodatku kompilatora. (4f0a101)
  • Zatrzymanie przekształcania nieskładalnych interfejsów funkcji w kompilatorze Compose. Dzięki temu interfejsy funkcji są obsługiwane tak samo jak funkcje lambda, w tym reguły zapamiętywania. (28b3ce9)
  • Użyj typu argumentu vararg do wnioskowania o stabilności w miejscu wywołania. (bc83645)

Wersja 1.5.1

26 lipca 2023 r.

Funkcje androidx.compose.compiler:compiler:1.5.1, androidx.compose.compiler:compiler-daemon:1.5.1androidx.compose.compiler:compiler-hosted:1.5.1 są dostępne. Wersja 1.5.1 zawiera te zatwierdzenia.

Poprawki błędów

  • Naprawiono znaczniki zdarzeń funkcji @ReadOnlyComposable w kompozycji z wczesnymi zwracanymi wartościami, które powodowały uszkodzenie ścieżki.

Wersja 1.5.0

18 lipca 2023 r.

Funkcje androidx.compose.compiler:compiler:1.5.0, androidx.compose.compiler:compiler-daemon:1.5.0androidx.compose.compiler:compiler-hosted:1.5.0 są dostępne. Wersja 1.5.0 zawiera te commity.

Eksperymentalna obsługa K2

  • Kompilator Compose w wersji 1.5.0 zapewnia eksperymentalną obsługę kompilatora K2. Niektóre funkcje usługi Compose nie są jeszcze obsługiwane przez K2, ale pojawią się w kolejnych wersjach tego kompilatora.

Ważne zmiany od wersji 1.4.0

  • Wersja Kotlina została zaktualizowana do 1.9.0.
  • Argumenty nazwane w przypadku wywołań 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ę, aby sprawdzić adnotację @Composable w przypadku oczekiwanych i rzeczywistych połączeń. Obie deklaracje powinny mieć pasujące adnotacje.

Wersja 1.4.8

Wersja 1.4.8

28 czerwca 2023 r.

Funkcje androidx.compose.compiler:compiler:1.4.8, androidx.compose.compiler:compiler-daemon:1.4.8androidx.compose.compiler:compiler-hosted:1.4.8 są dostępne. Wersja 1.4.8 zawiera te zatwierdzenia.

Nowe funkcje

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

Poprawki błędów

  • Ulepszono komunikat o błędzie dotyczący zastępowania wartości @Composable. Teraz poprawnie wskazuje niezgodność adnotacji.
  • Ostrzeżenie o niepotrzebnej adnotacji @Composable w przypadku funkcji lambda w ciele funkcji, które nie powinny być oznaczone jako kompozytowe. Ta funkcja nie będzie obsługiwana przez kompilator K2.

Wersja 1.4.7

Wersja 1.4.7

3 maja 2023 r.

Funkcje androidx.compose.compiler:compiler:1.4.7, androidx.compose.compiler:compiler-daemon:1.4.7androidx.compose.compiler:compiler-hosted:1.4.7 są dostępne. Wersja 1.4.7 zawiera te zatwierdzenia.

Nowe funkcje

  • Obsługa Kotlina 1.8.21
  • Dodano prymitywne wersje interfejsu API State, które umożliwiają śledzenie wartości Int, Long, Float i Double w obiektach State bez naliczania kar za automatyczne zaokrąglanie.

Wersja 1.4.6

Wersja 1.4.6

19 kwietnia 2023 r.

Funkcje androidx.compose.compiler:compiler:1.4.6, androidx.compose.compiler:compiler-daemon:1.4.6androidx.compose.compiler:compiler-hosted:1.4.6 są dostępne. Wersja 1.4.6 zawiera te zatwierdzenia.

Poprawki błędów

  • Kompilator Compose zależy teraz od Javy 11 (zamiast Javy 17 wymaganej przez kompilator Compose 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.

Funkcje androidx.compose.compiler:compiler:1.4.5, androidx.compose.compiler:compiler-daemon:1.4.5androidx.compose.compiler:compiler-hosted:1.4.5 są dostępne. Wersja 1.4.5 zawiera te zatwierdzenia.

UWAGA: ta wersja kompilatora Compose wymaga, aby środowisko kompilacji używało Javy w wersji 17 lub nowszej. Na podstawie opinii użytkowników zrezygnujemy z tego wymagania i wprowadzimy wersję 1.4.6, aby lepiej obsługiwać użytkowników korzystających ze starszych wersji Javy.

Nowe funkcje

Obsługa Kotlina 1.8.20

Poprawki błędów

  • Rozpowszechnianie wymagań dotyczących zastępowania operatora wywołania kompozytowego do klas i interfejsów rozszerzających interfejsy lambda za pomocą odpowiednich adnotacji.f8f2f78a1a769c2373201027f12700e772e4e97e
  • Umożliwia użycie adnotacji @Composable w operatorze getValue i oznacza wygenerowany getter dla delegata jako kompozytywny w IR, aby zapewnić jego prawidłową późniejszą transformację. f174f6ee60ca957d5cb6d19a5bd02a88267cdf40
  • Naprawiono wewnętrzny błąd czasu wykonywania w komponencie Compose (oczekiwano, że funkcja applyChanges() została wywołana) w przypadku funkcji w wierszu.b/274786923
  • Unikaj rejestrowania ProcessCancelledException, ponieważ ma ono specjalne znaczenie w IDE.b/274725600

Darowizna zewnętrzna

Wersja 1.4.4

Wersja 1.4.4

22 marca 2023 r.

Funkcje androidx.compose.compiler:compiler:1.4.4, androidx.compose.compiler:compiler-daemon:1.4.4androidx.compose.compiler:compiler-hosted:1.4.4 są dostępne. Wersja 1.4.4 zawiera te zatwierdzenia.

Poprawki błędów

  • Naprawianie zwrotów inline lambda w komponowalnych (72172b)
  • Zezwalanie elementom typu „composable” na zwracanie wartości Nothing (nie generuj błędu podczas używania TODO w funkcji typu „composable”) 3aea8d)

Wersja 1.4.3

Wersja 1.4.3

22 lutego 2023 roku

androidx.compose.compiler:compiler:1.4.3 został zwolniony. Wersja 1.4.3 zawiera te zatwierdzenia.

Poprawki błędów

  • Poprawiono wywołania komponentów warunkowych w argumentach wywołań komponentów (Ie93edb).

Wersja 1.4.2

Wersja 1.4.2

8 lutego 2023 r.

androidx.compose.compiler:compiler:1.4.2 został zwolniony. Wersja 1.4.2 zawiera te zatwierdzenia.

Nowe funkcje

  • Obsługa Kotlina 1.8.10

Poprawki błędów

  • Dodaj grupy w ciele nieprzeskakujalnych funkcji lambda, aby uniknąć błędu związanego z rekompozycją.

Wersja 1.4.1

Wersja 1.4.1

8 lutego 2023 r.

androidx.compose.compiler:compiler:1.4.1 został zwolniony. Wersja 1.4.1 zawiera te zatwierdzenia.

Poprawki błędów

  • Wyłącz optymalizację pamięci wewnętrznej, która wcześniej powodowała kilka błędów w generowaniu kodu.
  • Wyłączanie funkcji pamięci wbudowanej w funkcjach zawierających parametr vararg.
  • Poprawka błędnego pomijania w komponentach z domyślnymi parametrami
  • Dodaj komunikat o błędzie w ramach mechanizmu obronnego, jeśli nie uda się sprawdzić zgodności z Kotlinem.
  • Usuwanie pomijania generowania kodu z ramek lambda

Wersja 1.4.0

17 stycznia 2023 r.

androidx.compose.compiler:compiler:1.4.0 został zwolniony. Wersja 1.4.0 zawiera te zatwierdzenia.

Ważne zmiany od wersji 1.3.0

  • Obsługa Kotlina 1.8.0
  • Wyłączone przypomnienie wewnętrzne
  • Klasa danych narzędzi UI Group zawiera teraz pole isInline, które wskazuje, czy grupa służy do wywołania funkcji inline composable. Jeśli isInline to true, wywołanie jest wywołaniem funkcji inline composable. Wartość może jednak być fałszywa w przypadku wywołań funkcji inline composable, które pochodzą z modułów skompilowanych za pomocą wersji wtyczki kompilatora Compose, która nie generuje informacji o funkcji inline.
  • ImmutableCollection i ich trwałe elementy podrzędne są teraz uważane za stabilne.
  • Nowy parametr w AnimatedContent dla etykiety narzędzia
  • Naprawiono nieprawidłowe generowanie kodu dla lambda wbudowanej.

Wersja 1.4.0-alpha02

11 listopada 2022 r.

androidx.compose.compiler:compiler:1.4.0-alpha02 został zwolniony. Wersja 1.4.0-alpha02 zawiera te commity.

Nowe funkcje

  • Dodaliśmy obsługę Kotlina 1.7.21

Wersja 1.4.0-alpha01

9 listopada 2022 r.

androidx.compose.compiler:compiler:1.4.0-alpha01 został zwolniony. Wersja 1.4.0-alpha01 zawiera te commity.

Poprawki błędów

  • Naprawiono możliwość wcześniejszego powrotu z funkcji typu „composable” wbudowanych w kod (b/255350755).
  • Naprawiono błąd związany z obniżaniem decoy, który powodował problemy z obsługą języka Kotlin/JS w Compose (6a40f).

Wersja 1.3

Wersja 1.3.2

4 października 2022 r.

androidx.compose.compiler:compiler:1.3.2 został zwolniony. Wersja 1.3.2 zawiera te commity.

Nowa funkcja

  • Ta wersja zawiera aktualizację Kotlina 1.7.20

Wersja 1.3.1

7 września 2022 roku

androidx.compose.compiler:compiler:1.3.1 został zwolniony. Wersja 1.3.1 zawiera te zatwierdzenia.

Poprawki błędów

  • Naprawiono błąd IllegalStateException, który powodował, że kompilator Compose w niektórych okolicznościach błędnie oznaczał typy jednostek jako kompozytowe. (b/237863365)
  • Użytkownicy muszą teraz określić preferowaną wersję Kotlina, gdy chcą pominąć sprawdzanie wersji kompilatora (I9e5e2)

Wersja 1.3.0

10 sierpnia 2022 r.

androidx.compose.compiler:compiler:1.3.0 został zwolniony. Wersja 1.3.0 zawiera te commity.

Wersja 1.3.0-rc02

3 sierpnia 2022 r.

androidx.compose.compiler:compiler:1.3.0-rc02 został zwolniony. Wersja 1.3.0-rc02 zawiera te commity.

Wersja 1.3.0-rc01

27 lipca 2022 roku

androidx.compose.compiler:compiler:1.3.0-rc01 został zwolniony. Wersja 1.3.0-rc01 zawiera te commity.

Wersja 1.3.0-beta01

20 lipca 2022 roku

androidx.compose.compiler:compiler:1.3.0-beta01 został zwolniony. Wersja 1.3.0-beta01 zawiera te zatwierdzenia.

Nowe funkcje

  • Dodaliśmy obsługę Kotlina 1.7.10

Wersja 1.2

Wersja 1.2.0

29 czerwca 2022 r.

androidx.compose.compiler:compiler:1.2.0 został zwolniony. Wersja 1.2.0 zawiera te zatwierdzenia.

Ważne zmiany od wersji 1.1.0

Wersja 1.2.0-rc02

22 czerwca 2022 r.

androidx.compose.compiler:compiler:1.2.0-rc02 został zwolniony. Wersja 1.2.0-rc02 zawiera te zatwierdzenia.

Poprawki błędów

  • Usunięto generowanie kodu zdarzenia śledzenia w komponentach (aosp/2127922)

Wersja 1.2.0-rc01

15 czerwca 2022 r.

androidx.compose.compiler:compiler:1.2.0-rc01 został zwolniony. Wersja 1.2.0-rc01 zawiera te zatwierdzenia.

Wersja 1.2.0-beta03

1 czerwca 2022 r.

androidx.compose.compiler:compiler:1.2.0-beta03 został zwolniony. Wersja 1.2.0-beta03 zawiera te commity.

Wersja 1.2.0-beta02

18 maja 2022 r.

androidx.compose.compiler:compiler:1.2.0-beta02 został zwolniony. Wersja 1.2.0-beta02 zawiera te commity.

Wersja 1.2.0-beta01

11 maja 2022 roku

androidx.compose.compiler:compiler:1.2.0-beta01 został zwolniony. Wersja 1.2.0-beta01 zawiera te commity.

  • To pierwsza wersja beta 1.2. Nie ma żadnych zmian od ostatniej wersji alfa.

Nowe funkcje

  • Dodaliśmy obsługę Kotlina 1.6.21

Wersja 1.2.0-alpha08

20 kwietnia 2022 r.

androidx.compose.compiler:compiler:1.2.0-alpha08 został zwolniony. Wersja 1.2.0-alpha08 zawiera te zatwierdzenia.

Wersja 1.2.0-alpha07

6 kwietnia 2022 roku

androidx.compose.compiler:compiler:1.2.0-alpha07 został zwolniony. Wersja 1.2.0-alpha07 zawiera te zatwierdzenia.

Wersja 1.2.0-alpha06

23 marca 2022 r.

androidx.compose.compiler:compiler:1.2.0-alpha06 został zwolniony. Wersja 1.2.0-alpha06 zawiera te commity.

Wersja 1.2.0-alpha05

9 marca 2022 r.

androidx.compose.compiler:compiler:1.2.0-alpha05 został zwolniony. Wersja 1.2.0-alpha05 zawiera te commity.

Wersja 1.2.0-alpha04

23 lutego 2022 r.

androidx.compose.compiler:compiler:1.2.0-alpha04 został zwolniony. Wersja 1.2.0-alpha04 zawiera te commity.

Wersja 1.2.0-alpha03

9 lutego 2022 r.

androidx.compose.compiler:compiler:1.2.0-alpha03 został zwolniony. Wersja 1.2.0-alpha03 zawiera te komisy.

Wersja 1.2.0-alpha02

26 stycznia 2022 r.

androidx.compose.compiler:compiler:1.2.0-alpha02 został zwolniony. Wersja 1.2.0-alpha02 zawiera te commity.

Wersja 1.2.0-alpha01

12 stycznia 2022 r.

androidx.compose.compiler:compiler:1.2.0-alpha01 został zwolniony. Wersja 1.2.0-alpha01 zawiera te commity.

Nowe funkcje

  • Dodano obsługę Kotlina 1.6.10.

Wersja 1.1

Wersja 1.1.1

23 lutego 2022 r.

androidx.compose.compiler:compiler:1.1.1 został zwolniony. Wersja 1.1.1 zawiera te zatwierdzenia.

Poprawki błędów

Wersja 1.1.0

9 lutego 2022 r.

androidx.compose.compiler:compiler:1.1.0 został zwolniony. Wersja 1.1.0 zawiera te zatwierdzenia.

Ważne zmiany od wersji 1.0.0

  • stabilna obsługa efektu przewijania do końca w Androidzie 12,
  • Ulepszone dopasowywanie rozmiaru dotyku
  • Pamiętaj, że w wersji Compose 1.0 komponenty Material Design będą rozszerzać swoją przestrzeń układu, aby spełniać wytyczne Material Design dotyczące rozmiaru docelowego elementu dotykowego. Na przykład docelowy element dotykowy przycisku będzie miał co najmniej rozmiar 48x48dp, nawet jeśli ustawisz mniejszy rozmiar przycisku. Dzięki temu komponenty Compose będą działać tak samo jak komponenty Material Design, co zapewni spójność, jeśli użyjesz widoków i Compose. Ta zmiana zapewnia też, że podczas tworzenia interfejsu użytkownika za pomocą komponentów Compose Material zostaną spełnione minimalne wymagania dotyczące dostępności docelowych elementów dotykowych.
  • stabilna obsługa kolumny nawigacji,
  • przekształciliśmy kilka wcześniej eksperymentalnych interfejsów API w stabilne.
  • Obsługa nowszych wersji Kotlina

Wersja 1.1.0-rc03

26 stycznia 2022 r.

androidx.compose.compiler:compiler:1.1.0-rc03 został zwolniony. Wersja 1.1.0-rc03 zawiera te commity.

Poprawki błędów

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

Wersja 1.1.0-rc02

16 grudnia 2021 r.

androidx.compose.compiler:compiler:1.1.0-rc02 został zwolniony. Wersja 1.1.0-rc02 zawiera te zatwierdzenia.

Aktualizacje zależności

  • Kompilator Compose 1.1.0-rc02 jest zgodny z Kotlinem 1.6.10.

Wersja 1.1.0-rc01

15 grudnia 2021 roku

androidx.compose.compiler:compiler:1.1.0-rc01 został zwolniony. Wersja 1.1.0-rc01 zawiera te zatwierdzenia.

Zmiany zależności

  • Kompilator Compose 1.1.0-rc01 jest zgodny z Kotlinem 1.6.0.
  • Kompatybilna wersja 1.6.10 jest dostępna na stronie androidx.dev w ramach migawek z buildId 8003490. Ten fragment kodu skonfiguruje SNAPSHOTS dla kompilatora Compose:

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

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

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

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

Wersja 1.1.0-beta04

1 grudnia 2021 r.

androidx.compose.compiler:compiler:1.1.0-beta04 został zwolniony. Wersja 1.1.0-beta04 zawiera te commity.

Nowe funkcje

  • Zaktualizowano, aby zapewnić zgodność z Kotlin 1.6.0

Wersja 1.1.0-beta03

17 listopada 2021 r.

androidx.compose.compiler:compiler:1.1.0-beta03 został zwolniony. Wersja 1.1.0-beta03 zawiera te commity.

Wersja 1.1.0-beta02

3 listopada 2021 r.

androidx.compose.compiler:compiler:1.1.0-beta02 został zwolniony. Wersja 1.1.0-beta02 zawiera te commity.

Wersja 1.1.0-beta01

27 października 2021 roku

androidx.compose.compiler:compiler:1.1.0-beta01 został zwolniony. Wersja 1.1.0-beta01 zawiera te commity.

Wersja 1.1.0-alpha06

13 października 2021 r.

androidx.compose.compiler:compiler:1.1.0-alpha06 został zwolniony. Wersja 1.1.0-alpha06 zawiera te commity.

Wersja 1.1.0-alpha05

29 września 2021 r.

androidx.compose.compiler:compiler:1.1.0-alpha05 został zwolniony. Wersja 1.1.0-alpha05 zawiera te commity.

Wersja 1.1.0-alpha04

15 września 2021 r.

androidx.compose.compiler:compiler:1.1.0-alpha04 został zwolniony. Wersja 1.1.0-alpha04 zawiera te commity.

Wersja 1.1.0-alpha03

1 września 2021 roku

androidx.compose.compiler:compiler:1.1.0-alpha03 został zwolniony. Wersja 1.1.0-alpha03 zawiera te commity.

Nowe funkcje

  • Kompilator Compose obsługuje teraz starsze wersje środowiska wykonawczego Compose (1.0). Przed tą zmianą kompilator Compose był zgodny tylko z Compose Runtime tej samej wersji lub nowszej. 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ło od Kotlina 1.5.30. (I74545)

Wersja 1.1.0-alpha02

18 sierpnia 2021 r.

androidx.compose.compiler:compiler:1.1.0-alpha02 został zwolniony. Wersja 1.1.0-alpha02 zawiera te commity.

Wersja 1.1.0-alpha01

4 sierpnia 2021 r.

androidx.compose.compiler:compiler:1.1.0-alpha01 został zwolniony. Wersja 1.1.0-alpha01 zawiera te commity.

Wersja 1.0

Wersja 1.0.5

3 listopada 2021 r.

androidx.compose.compiler:compiler:1.0.5 został zwolniony. Wersja 1.0.5 zawiera te zatwierdzenia.

Poprawki błędów

  • Naprawiono problem ze śledzeniem awarii w przypadku instancji derivedStateOf. (aosp/1792247)

Wersja 1.0.4

13 października 2021 r.

androidx.compose.compiler:compiler:1.0.4 został zwolniony. Wersja 1.0.4 zawiera te zatwierdzenia.

Aktualizacje zależności

  • Zaktualizowano zależność od Kotlina 1.5.31

Wersja 1.0.3

29 września 2021 r.

androidx.compose.compiler:compiler:1.0.3 został zwolniony. Wersja 1.0.3 zawiera te zatwierdzenia.

Aktualizacje zależności

  • Zaktualizowano zależność od Kotlina 1.5.30

Wersja 1.0.2

1 września 2021 roku

androidx.compose.compiler:compiler:1.0.2 został zwolniony. Wersja 1.0.2 zawiera te zatwierdzenia.

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

Wersja 1.0.1

4 sierpnia 2021 r.

androidx.compose.compiler:compiler:1.0.1 został zwolniony. Wersja 1.0.1 zawiera te zatwierdzenia.

Aktualizacje zależności

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

Wersja 1.0.0

28 lipca 2021 roku

androidx.compose.compiler:compiler:1.0.0 został zwolniony. Wersja 1.0.0 zawiera te zatwierdzenia.

Najważniejsze funkcje wersji 1.0.0

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

Wersja 1.0.0-rc02

14 lipca 2021 roku

androidx.compose.compiler:compiler:1.0.0-rc02 został zwolniony. Wersja 1.0.0-rc02 zawiera te zatwierdzenia.

Wersja 1.0.0-rc01

1 lipca 2021 r.

androidx.compose.compiler:compiler:1.0.0-rc01 został zwolniony. Wersja 1.0.0-rc01 zawiera te zatwierdzenia.

Wersja 1.0.0-beta09

16 czerwca 2021 r.

androidx.compose.compiler:compiler:1.0.0-beta09 został zwolniony. Wersja 1.0.0-beta09 zawiera te commity.

Wersja 1.0.0-beta08

2 czerwca 2021 r.

androidx.compose.compiler:compiler:1.0.0-beta08 został zwolniony. Wersja 1.0.0-beta08 zawiera te commity.

Wersja 1.0.0-beta07

18 maja 2021 r.

androidx.compose.compiler:compiler:1.0.0-beta07 został zwolniony. Wersja 1.0.0-beta07 zawiera te zatwierdzenia.

Wersja 1.0.0-beta06

5 maja 2021 roku

androidx.compose.compiler:compiler:1.0.0-beta06 został zwolniony. Wersja 1.0.0-beta06 zawiera te zatwierdzenia.

Wersja 1.0.0-beta05

21 kwietnia 2021 r.

androidx.compose.compiler:compiler:1.0.0-beta05 został zwolniony. Wersja 1.0.0-beta05 zawiera te commity.

Wersja 1.0.0-beta04

7 kwietnia 2021 r.

androidx.compose.compiler:compiler:1.0.0-beta04 został zwolniony. Wersja 1.0.0-beta04 zawiera te commity.

Wersja 1.0.0-beta03

24 marca 2021 r.

androidx.compose.compiler:compiler:1.0.0-beta03 został zwolniony. Wersja 1.0.0-beta03 zawiera te komitowane zmiany.

Wersja 1.0.0-beta02

10 marca 2021 r.

androidx.compose.compiler:compiler:1.0.0-beta02 został zwolniony. Wersja 1.0.0-beta02 zawiera te zatwierdzenia.

Wersja 1.0.0-beta01

24 lutego 2021 r.

androidx.compose.compiler:compiler:1.0.0-beta01 został zwolniony. Wersja 1.0.0-beta01 zawiera te commity.

To pierwsza wersja Compose 1.0.0 w wersji beta.

Wersja 1.0.0-alpha12

10 lutego 2021 r.

androidx.compose.compiler:compiler:1.0.0-alpha12 został zwolniony. Wersja 1.0.0-alpha12 zawiera te commity.

Wersja 1.0.0-alpha11

28 stycznia 2021 roku

androidx.compose.compiler:compiler:1.0.0-alpha11 został zwolniony. Wersja 1.0.0-alpha11 zawiera te commity.

Wersja 1.0.0-alpha10

13 stycznia 2021 r.

androidx.compose.compiler:compiler:1.0.0-alpha10 został zwolniony. Wersja 1.0.0-alpha10 zawiera te zatwierdzenia.

Wersja 1.0.0-alpha09

16 grudnia 2020 roku

androidx.compose.compiler:compiler:1.0.0-alpha09 został zwolniony. Wersja 1.0.0-alpha09 zawiera te commity.

Wersja 1.0.0-alpha08

2 grudnia 2020 r.

androidx.compose.compiler:compiler:1.0.0-alpha08 został zwolniony. Wersja 1.0.0-alpha08 zawiera te commity.

Wersja 1.0.0-alpha07

11 listopada 2020 roku

androidx.compose.compiler:compiler:1.0.0-alpha07 został zwolniony. Wersja 1.0.0-alpha07 zawiera te commity.

Nowe funkcje

  • Wnioskowanie i rozchodzenie się stabilności. Komponent kompilatora usługi Compose będzie analizować typy, które kompiluje, aby określić, czy można je zoptymalizować w czasie wykonywania. Ten wynik jest następnie syntetyzowany jako metadane klasy, aby kompilator mógł go wykorzystać w innych modułach. Ponadto wynik tych wnioskowań jest przekazywany w ramach metadanych przekazywanych do wywołań kompozytowych podczas tworzenia. Wymagało to użycia innego protokołu metadanych w przypadku funkcji składanych, co oznacza, że funkcje składane skompilowane za pomocą kompilatora alpha07 nie będą zgodne z binarnymi funkcjami składanymi skompilowanymi za pomocą wcześniejszej wersji kompilatora. (aosp/1431988)

Wersja 1.0.0-alpha06

28 października 2020 r.

androidx.compose.compiler:compiler:1.0.0-alpha06 został zwolniony. Wersja 1.0.0-alpha06 zawiera te commity.

Wersja 1.0.0-alpha05

14 października 2020 r.

androidx.compose.compiler:compiler:1.0.0-alpha05 został zwolniony. Wersja 1.0.0-alpha05 zawiera te commity.

Wersja 1.0.0-alpha04

1 października 2020 roku

androidx.compose.compiler:compiler:1.0.0-alpha04 został zwolniony. Wersja 1.0.0-alpha04 zawiera te commity.

Element androidx.compose:compose-compiler został przekształcony w element androidx.compose.compiler:compiler. To pierwsza wersja w nowej grupie.