Kompilator Compose
androidx.compose
(Wszystkie pakiety Compose znajdziesz w dokumentacji interfejsu API)
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.
Grupa | Opis |
---|---|
compose.animation | tworzyć animacje w aplikacjach Jetpack Compose, aby zwiększać komfort użytkowników; |
compose.compiler | Przekształcanie funkcji z adnotacją @Composable i włączanie optymalizacji za pomocą wtyczki kompilatora Kotlin. |
compose.foundation | Twórz aplikacje w Jetpack Compose za pomocą gotowych elementów składowych i rozszerzaj podstawy, aby tworzyć własne elementy systemu projektowania. |
compose.material | Twó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.material3 | Twó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.runtime | Podstawowe elementy modelu programowania i zarządzania stanem w Compose oraz podstawowe środowisko wykonawcze, do którego kierowany jest wtyczka kompilatora Compose. |
compose.ui | Podstawowe 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.
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.15
i androidx.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.14
i androidx.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.13
i androidx.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.12
i androidx.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.11
i androidx.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
zamiaststartReplacableGroup
, gdy moduł jest kompilowany z użyciem środowiska wykonawczego zawierającego tę metodę.startReplaceGroup
zostało wprowadzone w środowisku wykonawczym w Compose Runtime1.7.0-alpha03
. WywołaniastartRestartGroup
są generowane tylko wtedy, gdy kierujesz reklamy na wersję środowiska wykonawczego 1.7.0-alpha03 lub nowszą.Wywoływanie funkcji
startReplaceGroup
zamiaststartReplaceableGroup
umożliwia środowisku wykonawczemu wydajniejsze wykrywanie zmian, ale może wpływać na kolejność, w jakiej zmiany są wykrywane przezComposer
i wysyłane doApplier
. Może to spowodować subtelne zmiany w działaniu, jeśliApplier
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.10
i androidx.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.9
i androidx.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.8
i androidx.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.7
i androidx.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.6
i androidx.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: -Pplugin: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.5
i androidx.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)
- Dodano
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.4
i androidx.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.3
i androidx.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.2
i androidx.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.1
i androidx.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.0
i androidx.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.8
i androidx.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.7
i androidx.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 obiektachState
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.6
i androidx.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.5
i androidx.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 operatoragetValue
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
- Ulepszona obsługa funkcji Composable w Kotlin/Native.f52b6aeed22400dd4f4a4f05559a9aa42642402c
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
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 poleisInline
, które wskazuje, czy grupa jest przeznaczona do wywołania funkcji kompozycyjnej wbudowanej. JeśliisInline
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
- Obsługa języka Kotlin w wersji 1.7.0
- Przeczytaj nasz post na blogu, w którym wyjaśniamy nową strategię określania wersji kompilatora Compose.
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 stronieandroidx.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 wersji1.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 wersji1.6.0
. Zgodna kompilacja
1.6.10
jest dostępna w wersjach SNAPSHOT androidx.dev z numerembuildId
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 Kotlin1.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.