Compose का ऐनिमेशन

उपयोगकर्ता अनुभव को बेहतर बनाने के लिए, Jetpack Compose ऐप्लिकेशन में ऐनिमेशन बनाएं.
नया अपडेट स्टेबल रिलीज़ रिलीज़ कैंडिडेट बीटा रिलीज़ ऐल्फ़ा रिलीज़
19 नवंबर, 2025 1.9.5 1.10.0-rc01 - -

संरचना

Compose, androidx में मौजूद सात Maven ग्रुप आईडी का कॉम्बिनेशन है. हर ग्रुप में, फ़ंक्शन का एक टारगेट किया गया सबसेट होता है. हर ग्रुप के लिए, रिलीज़ नोट का अपना सेट होता है.

इस टेबल में, ग्रुप और रिलीज़ नोट के हर सेट के लिंक के बारे में बताया गया है.

ग्रुपब्यौरा
compose.animationउपयोगकर्ता अनुभव को बेहतर बनाने के लिए, Jetpack Compose ऐप्लिकेशन में ऐनिमेशन बनाएं.
compose.compiler@Composable फ़ंक्शन को बदलें और Kotlin कंपाइलर प्लगिन की मदद से ऑप्टिमाइज़ेशन चालू करें.
compose.foundationइस्तेमाल के लिए तैयार बिल्डिंग ब्लॉक की मदद से, Jetpack Compose ऐप्लिकेशन लिखें. साथ ही, अपने डिज़ाइन सिस्टम के कॉम्पोनेंट बनाने के लिए, फ़ाउंडेशन को बढ़ाएं.
compose.materialइस्तेमाल के लिए तैयार मटीरियल डिज़ाइन कॉम्पोनेंट की मदद से, Jetpack Compose यूज़र इंटरफ़ेस (यूआई) बनाएं. यह Compose का टॉप लेवल एंट्री पॉइंट है. इसे ऐसे कॉम्पोनेंट उपलब्ध कराने के लिए डिज़ाइन किया गया है जो www.material.io पर बताए गए कॉम्पोनेंट से मेल खाते हों.
compose.material3मटीरियल डिज़ाइन 3 कॉम्पोनेंट की मदद से, Jetpack Compose यूज़र इंटरफ़ेस (यूआई) बनाएं. ये कॉम्पोनेंट, मटीरियल डिज़ाइन का अगला वर्शन हैं. Material 3 में, थीमिंग और कॉम्पोनेंट को अपडेट किया गया है. साथ ही, इसमें Material You की मनमुताबिक सेटिंग से जुड़ी सुविधाएं भी शामिल हैं. जैसे, डाइनैमिक कलर. इसे Android 12 की नई विज़ुअल स्टाइल और सिस्टम यूज़र इंटरफ़ेस (यूआई) के साथ काम करने के लिए डिज़ाइन किया गया है.
compose.runtimeयह Compose के प्रोग्रामिंग मॉडल और स्टेट मैनेजमेंट के बुनियादी बिल्डिंग ब्लॉक हैं. साथ ही, Compose Compiler Plugin के लिए कोर रनटाइम है, ताकि वह इसे टारगेट कर सके.
compose.uiडिवाइस के साथ इंटरैक्ट करने के लिए, कंपोज़ यूज़र इंटरफ़ेस (यूआई) के बुनियादी कॉम्पोनेंट. इनमें लेआउट, ड्रॉइंग, और इनपुट शामिल हैं.

डिपेंडेंसी का एलान करना

Compose पर डिपेंडेंसी जोड़ने के लिए, आपको अपने प्रोजेक्ट में Google Maven रिपॉज़िटरी जोड़नी होगी. ज़्यादा जानकारी के लिए, Google की Maven रिपॉज़िटरी पढ़ें.

अपने ऐप्लिकेशन या मॉड्यूल के लिए, build.gradle फ़ाइल में उन आर्टफ़ैक्ट की डिपेंडेंसी जोड़ें जिनकी आपको ज़रूरत है:

Groovy

dependencies {
    implementation "androidx.compose.animation:animation:1.9.5"
}

android {
    buildFeatures {
        compose true
    }

    composeOptions {
        kotlinCompilerExtensionVersion = "1.5.15"
    }

    kotlinOptions {
        jvmTarget = "1.8"
    }
}

Kotlin

dependencies {
    implementation("androidx.compose.animation:animation:1.9.5")
}

android {
    buildFeatures {
        compose = true
    }

    composeOptions {
        kotlinCompilerExtensionVersion = "1.5.15"
    }

    kotlinOptions {
        jvmTarget = "1.8"
    }
}

डिपेंडेंसी के बारे में ज़्यादा जानने के लिए, बिल्ड डिपेंडेंसी जोड़ना लेख पढ़ें.

सुझाव/राय दें या शिकायत करें

आपके सुझाव, शिकायत या राय से Jetpack को बेहतर बनाने में मदद मिलती है. अगर आपको कोई नई समस्या मिलती है या आपके पास इस लाइब्रेरी को बेहतर बनाने के लिए सुझाव हैं, तो हमें बताएं. कृपया नई समस्या सबमिट करने से पहले, इस लाइब्रेरी में शामिल मौजूदा समस्याओं को देखें. स्टार बटन पर क्लिक करके, किसी मौजूदा समस्या के लिए वोट किया जा सकता है.

नई समस्या दर्ज करने का तरीका

ज़्यादा जानकारी के लिए, Issue Tracker का दस्तावेज़ देखें.

वर्शन 1.10

वर्शन 1.10.0-rc01

19 नवंबर, 2025

androidx.compose.animation:animation-*:1.10.0-rc01 रिलीज़ हो गया है. वर्शन 1.10.0-rc01 में ये बदलाव शामिल हैं.

एपीआई में हुए बदलाव

  • unveilIn और veilOut के विकल्प अब EnterExitTransitions के लिए उपलब्ध हैं. इससे, कॉन्टेंट के दिखने या बंद होने के दौरान, उसके सामने मौजूद ओवरले लेयर में ऐनिमेशन जोड़ने की अनुमति मिलती है. (If26fe)

गड़बड़ियां ठीक की गईं

  • sharedElement को अलग करने और फिर से जोड़ने की सुविधा के ज़रिए, बाउंड्री ट्रैकिंग की सुविधा काम करती है (be0e9e)
  • शेयर किए गए एलिमेंट के मैप को ट्रांज़िशन की स्थिति के बारे में जानकारी देने के लिए, ऑब्ज़र्वेबल बनाएं. (1fc2ec)

वर्शन 1.10.0-beta02

05 नवंबर, 2025

androidx.compose.animation:animation-*:1.10.0-beta02 रिलीज़ हो गया है. वर्शन 1.10.0-beta02 में ये बदलाव शामिल हैं.

वर्शन 1.10.0-beta01

22 अक्टूबर, 2025

androidx.compose.animation:animation-*:1.10.0-beta01 रिलीज़ हो गया है. वर्शन 1.10.0-beta01 में ये बदलाव शामिल हैं.

एपीआई में हुए बदलाव

  • SharedContentConfig फ़ैक्ट्री मेथड को हटा दिया गया है. यह मेथड, लैंबडा लेता था. इससे यह पता चलता था कि शेयर किए गए एलिमेंट को चालू किया जाना चाहिए या नहीं. lookheadScopeCoordinates एपीआई को अपडेट कर दिया गया है. इसमें LookaheadScope को रिसीवर स्कोप के तौर पर इस्तेमाल किया जा रहा है. साथ ही, सोर्स कोऑर्डिनेट को पैरामीटर के तौर पर इस्तेमाल किया जा रहा है. (Id1fc2, b/452416806)
  • BoundsTransform के इंटरफ़ेस को अपडेट किया गया है, ताकि यह SizeTransform के साथ काम कर सके. (Ia46f2, b/343696350)
  • बंद किए गए ScaleToBounds एपीआई को हटा दिया गया है. इसके बजाय, कृपया scaleToBounds का इस्तेमाल करें. (I17296)

वर्शन 1.10.0-alpha05

08 अक्टूबर, 2025

androidx.compose.animation:animation-*:1.10.0-alpha05 रिलीज़ हो गया है. वर्शन 1.10.0-alpha05 में ये बदलाव शामिल हैं.

एपीआई में हुए बदलाव

वर्शन 1.10.0-alpha04

24 सितंबर, 2025

androidx.compose.animation:animation-*:1.10.0-alpha04 रिलीज़ हो गया है. वर्शन 1.10.0-alpha04 में ये बदलाव शामिल हैं.

एपीआई में हुए बदलाव

  • PlaceHolderSize से जुड़े एपीआई के नाम अपडेट किए गए. (I037d8, b/343696350)
  • शेयर किए गए एलिमेंट के ट्रांज़िशन के लिए नया एपीआई. इससे शेयर किए गए एलिमेंट में जेस्चर की स्पीड को बनाए रखने के लिए, शुरुआती स्पीड को सपोर्ट किया जा सकेगा. (I91be9)

वर्शन 1.10.0-alpha03

10 सितंबर, 2025

androidx.compose.animation:animation-*:1.10.0-alpha03 रिलीज़ हो गया है. वर्शन 1.10.0-alpha03 में ये बदलाव शामिल हैं.

एपीआई में हुए बदलाव

  • Modifier.skipToLookaheadSize अब डिफ़ॉल्ट रूप से चालू किए गए lambda का इस्तेमाल करता है. यह सिर्फ़ तब साइज़ स्किप करने की सुविधा चालू करता है, जब शेयर किया गया ट्रांज़िशन चालू हो. यह Modifier.skipToLookaheadPosition की तरह ही काम करता है. (Ibe0f5, b/432485585)

वर्शन 1.10.0-alpha02

27 अगस्त, 2025

androidx.compose.animation:animation-*:1.10.0-alpha02 रिलीज़ हो गया है. वर्शन 1.10.0-alpha02 में ये बदलाव शामिल हैं.

वर्शन 1.10.0-alpha01

13 अगस्त, 2025

androidx.compose.animation:animation-*:1.10.0-alpha01 रिलीज़ हो गया है. वर्शन 1.10.0-alpha01 में ये बदलाव शामिल हैं.

नई सुविधाएं

  • शेयर किए गए एलिमेंट को डाइनैमिक तरीके से चालू और बंद करने की अनुमति देने वाला नया एपीआई. इससे यह भी पता चलता है कि शेयर किए गए एलिमेंट का ट्रांज़िशन पहले से चल रहा है या नहीं.
  • नया एपीआई, ट्रांज़िशन के दौरान टारगेट किए गए शेयर किए गए एलिमेंट को हटाने पर, टारगेट की गई दूसरी सीमाओं को सेट अप करने के लिए.
  • किसी LookaheadScope का LayoutCoordinates पाने के लिए नया एपीआई. (I18dd4, b/409819304, b/395670637)
  • शेयर किए गए ट्रांज़िशन के दौरान, लेआउट को टारगेट पोज़िशन पर ऐंकर करने के लिए, SharedTransitionScope में नया मॉडिफ़ायर Modifier.skipToLookaheadPosition. (I88734)

एपीआई में हुए बदलाव

  • clipInOverlayDuringTransition लैम्डा को हटाकर, renderInSharedTransitionOverlay को आसान बनाया गया है, क्योंकि इसका इस्तेमाल बहुत कम किया जाता है. SharedContentConfig के लिए, नई फ़ैक्ट्री मेथड जोड़ी गई है. (Id01b2)
  • शेयर किए गए एलिमेंट, शेयर की गई सीमाओं, और renderInSharedTransitionOverlay कॉन्फ़िगरेशन के लिए डिफ़ॉल्ट का एक सेट जोड़ा गया. इन डिफ़ॉल्ट सेटिंग को अब सार्वजनिक एपीआई के ज़रिए ऐक्सेस किया जा सकता है. (Id23cc)
  • ScaleToBounds ResizeMode का नाम बदलकर scaleToBounds कर दिया गया है (I5ac50)

गड़बड़ियां ठीक की गईं

वर्शन 1.9

वर्शन 1.9.5

19 नवंबर, 2025

androidx.compose.animation:animation-*:1.9.5 रिलीज़ हो गया है. वर्शन 1.9.5 में ये बदलाव शामिल हैं.

वर्शन 1.9.4

22 अक्टूबर, 2025

androidx.compose.animation:animation-*:1.9.4 रिलीज़ हो गया है. वर्शन 1.9.4 में ये बदलाव शामिल हैं.

वर्शन 1.9.3

08 अक्टूबर, 2025

androidx.compose.animation:animation-*:1.9.3 रिलीज़ हो गया है. वर्शन 1.9.3 में ये बदलाव शामिल हैं.

वर्शन 1.9.2

24 सितंबर, 2025

androidx.compose.animation:animation-*:1.9.2 रिलीज़ हो गया है. वर्शन 1.9.2 में ये बदलाव शामिल हैं.

वर्शन 1.9.1

10 सितंबर, 2025

androidx.compose.animation:animation-*:1.9.1 रिलीज़ हो गया है. वर्शन 1.9.1 में ये बदलाव शामिल हैं.

गड़बड़ियां ठीक की गईं

  • sharedElementWithCallerManagedVisibility के लिए, ऐनिमेशन शुरू करने की समस्या ठीक की गई. (fa29de)

वर्शन 1.9.0

13 अगस्त, 2025

androidx.compose.animation:animation-*:1.9.0 रिलीज़ हो गया है. वर्शन 1.9.0 में ये बदलाव शामिल हैं.

वर्शन 1.9.0-rc01

30 जुलाई, 2025

androidx.compose.animation:animation-*:1.9.0-rc01 रिलीज़ हो गया है. वर्शन 1.9.0-rc01 में ये बदलाव शामिल हैं.

वर्शन 1.9.0-beta03

16 जुलाई, 2025

androidx.compose.animation:animation-*:1.9.0-beta03 रिलीज़ हो गया है. वर्शन 1.9.0-beta03 में ये बदलाव शामिल हैं.

वर्शन 1.9.0-beta02

2 जुलाई, 2025

androidx.compose.animation:animation-*:1.9.0-beta02 रिलीज़ हो गया है. वर्शन 1.9.0-beta02 में ये बदलाव शामिल हैं.

वर्शन 1.9.0-beta01

18 जून, 2025

androidx.compose.animation:animation-*:1.9.0-beta01 रिलीज़ हो गया है. वर्शन 1.9.0-beta01 में ये बदलाव शामिल हैं.

वर्शन 1.9.0-alpha04

4 जून, 2025

androidx.compose.animation:animation-*:1.9.0-alpha04 रिलीज़ हो गया है. वर्शन 1.9.0-alpha04 में ये बदलाव शामिल हैं.

वर्शन 1.9.0-alpha03

20 मई, 2025

androidx.compose.animation:animation-*:1.9.0-alpha03 रिलीज़ हो गया है. वर्शन 1.9.0-alpha03 में ये बदलाव शामिल हैं.

वर्शन 1.9.0-alpha02

7 मई, 2025

androidx.compose.animation:animation-*:1.9.0-alpha02 रिलीज़ हो गया है. वर्शन 1.9.0-alpha02 में ये बदलाव शामिल हैं.

नई सुविधाएं

  • शेयर किए गए एलिमेंट में स्क्रोल करने या उन्हें खींचकर छोड़ने की सुविधा को बेहतर बनाया गया है. खास तौर पर, जब ट्रांज़िशन करने वाले शेयर किए गए एलिमेंट को स्क्रोल किया जा रहा हो, तो स्क्रोल डेल्टा को सीधे तौर पर शेयर किए गए एलिमेंट पर लागू किया जाएगा. इससे शेयर किए गए एलिमेंट, नए टारगेट को फ़ॉलो नहीं करेंगे. (cacf7b)

वर्शन 1.9.0-alpha01

23 अप्रैल, 2025

androidx.compose.animation:animation-*:1.9.0-alpha01 रिलीज़ हो गया है. वर्शन 1.9.0-alpha01 में ये बदलाव शामिल हैं.

व्यवहार में बदलाव

  • Compose के साथ शिप किए गए Lint चेक के लिए, अब AGP का कम से कम 8.8.2 वर्शन ज़रूरी है. अगर AGP को अपग्रेड नहीं किया जा सकता, तो gradle.properties में android.experimental.lint.version=8.8.2 (या नया वर्शन) का इस्तेमाल करके, Lint को अपग्रेड किया जा सकता है. IDE में Compose के लिंट चेक चलाने के लिए, Android Studio Ladybug या इसके बाद का वर्शन ज़रूरी है.

नई सुविधाएं

  • शेयर किए गए एलिमेंट के लिए स्क्रोल करने की बेहतर परफ़ॉर्मेंस (ea4f1f)

एपीआई में हुए बदलाव

  • Kotlin 2.0 के साथ रिलीज़ किए गए प्रोजेक्ट के लिए, KGP 2.0.0 या इसके बाद के वर्शन की ज़रूरत होती है. (Idb6b5)
  • TabRow और ScrollableTabRow अब काम नहीं करते. इनकी जगह, हर एक के प्राइमरी और सेकंडरी वैरिएंट का इस्तेमाल किया जाता है. प्राइमरी और सेकंडरी टैब की लाइनें, स्पेसिफ़िकेशन के मुताबिक ज़्यादा सटीक और बेहतर परफ़ॉर्म करती हैं. (I918e2)
  • क्वेरी के संसाधनों में LocalResources कंपोज़िशन लोकल जोड़ी गई. कॉन्फ़िगरेशन में बदलाव होने पर, LocalResources.current को फिर से कंपोज़ किया जाएगा. इसलिए, stringResource() जैसे एपीआई को किए गए कॉल, अपडेट की गई वैल्यू (I50c13, b/274786917) दिखाएंगे

गड़बड़ियां ठीक की गईं

  • पक्का करें कि ट्रांज़िशन पूरा होने पर, शेयर किए गए एलिमेंट को ओवरले से हटा दिया गया हो (35f359)
  • ट्रांज़िशन के दौरान, ज़रूरत से ज़्यादा रीकंपोज़िशन को कम किया गया (988923)
  • बच्चे के ट्रांज़िशन में रुकावट आने की समस्या को ठीक किया गया (8aed52)
  • पक्का करें कि नया TransitionState एट्रिब्यूट की वैल्यू देने पर ट्रांज़िशन रीसेट हो जाए (57820a)

बाहरी योगदान

  • लिखें 1.8.1: अगर स्टीवन शॉन ने पहले ही नई अवधि तय कर दी है, तो SeekableTransitionState में ऐनिमेशन खत्म करें. (0c832c)

वर्शन 1.8

वर्शन 1.8.3

18 जून, 2025

androidx.compose.animation:animation-*:1.8.3 रिलीज़ हो गया है. वर्शन 1.8.3 में ये बदलाव शामिल हैं.

वर्शन 1.8.2

20 मई, 2025

androidx.compose.animation:animation-*:1.8.2 रिलीज़ हो गया है. वर्शन 1.8.2 में ये बदलाव शामिल हैं.

वर्शन 1.8.1

7 मई, 2025

androidx.compose.animation:animation-*:1.8.1 रिलीज़ हो गया है. वर्शन 1.8.1 में ये बदलाव शामिल हैं.

बाहरी योगदान

  • अगर नई अवधि खत्म हो चुकी है, तो SeekableTransitionState में ऐनिमेशन बंद करें. धन्यवाद स्टीवन शोएन! (fbcdf7)

वर्शन 1.8.0

23 अप्रैल, 2025

androidx.compose.animation:animation-*:1.8.0 रिलीज़ हो गया है. वर्शन 1.8.0 में ये बदलाव शामिल हैं.

1.7.0 के बाद हुए ज़रूरी बदलाव

  • वर्शन 1.8.0 में हुए अहम बदलावों के बारे में इस ब्लॉग पोस्ट में बताया गया है
  • लुकअहेड स्कोप में साइज़ और पोज़िशन में होने वाले बदलावों को ऐनिमेट करने के लिए, नया Modifier.animateBounds एपीआई. (94b939)
  • आर्क और स्प्लाइन के साथ कीफ़्रेम के लिए फ़ाइनल किए गए एपीआई (89e119)
  • LazyGrid और Pager में Lookahead की सुविधा काम करती है. इसमें स्क्रोलिंग, आइटम कंपोज़िशन/डिस्पोज़ल, और आइटम ऐनिमेशन में लुकअहेड पास और अप्रोच पास के बीच अंतर करना शामिल है. साथ ही, स्क्रोलिंग और आइटम ऐनिमेशन टारगेट के लिए, लुकअहेड पास का इस्तेमाल किया जाता है.
  • शेयर किए गए एलिमेंट के सभी एपीआई में एक जैसा नाम रखने के लिए, sharedElement पैरामीटर के नाम को राज्य से बदलकर sharedContentState कर दिया गया है. (9e7df5)
  • AnimatedImageVector सुइट के एपीआई अब स्टेबल हो गए हैं.(69d7e0)

वर्शन 1.8.0-rc03

9 अप्रैल, 2025

androidx.compose.animation:animation-*:1.8.0-rc03 रिलीज़ हो गया है. वर्शन 1.8.0-rc03 में ये बदलाव शामिल हैं.

वर्शन 1.8.0-rc02

26 मार्च, 2025

androidx.compose.animation:animation-*:1.8.0-rc02 रिलीज़ हो गया है. वर्शन 1.8.0-rc02 में ये बदलाव शामिल हैं.

वर्शन 1.8.0-rc01

12 मार्च, 2025

androidx.compose.animation:animation-*:1.8.0-rc01 रिलीज़ हो गया है. वर्शन 1.8.0-rc01 में ये बदलाव शामिल हैं.

गड़बड़ियां ठीक की गईं

  • चाइल्ड ट्रांज़िशन को ठीक किए जाने के बाद भी, उसे गलत तरीके से इंटरप्ट किया गया के तौर पर मार्क किया जा रहा था. इस समस्या को ठीक किया गया है. (3fa2ce)

वर्शन 1.8.0-beta03

26 फ़रवरी, 2025

androidx.compose.animation:animation-*:1.8.0-beta03 रिलीज़ हो गया है. वर्शन 1.8.0-beta03 में ये बदलाव शामिल हैं.

वर्शन 1.8.0-beta02

12 फ़रवरी, 2025

androidx.compose.animation:animation-*:1.8.0-beta02 रिलीज़ हो गया है. वर्शन 1.8.0-beta02 में ये बदलाव शामिल हैं.

वर्शन 1.8.0-beta01

29 जनवरी, 2025

androidx.compose.animation:animation-*:1.8.0-beta01 रिलीज़ हो गया है. वर्शन 1.8.0-beta01 में ये बदलाव शामिल हैं.

वर्शन 1.8.0-alpha08

15 जनवरी, 2025

androidx.compose.animation:animation-*:1.8.0-alpha08 रिलीज़ हो गया है. वर्शन 1.8.0-alpha08 में ये बदलाव शामिल हैं.

गड़बड़ियां ठीक की गईं

  • MotionFrameOfReferencePlacement के रीसेट होने की वजह से, LazyGrid में animateBounds से गलत प्लेसमेंट वाले ऐनिमेशन को ठीक किया गया. (16193b)
  • SharedTransitionLayout में इंट्रिंसिक क्वेरी की समस्या ठीक की गई. इसके लिए, इंट्रिंसिक क्वेरी को टॉप-लेवल के लुकअहेड रूट से लुकअहेड पास पर रीडायरेक्ट किया गया. (a07d12)
  • दस्तावेज़ों में, वे @param टैग जोड़े गए जो पहले मौजूद नहीं थे. (e5cf67)

वर्शन 1.8.0-alpha07

11 दिसंबर, 2024

androidx.compose.animation:animation-*:1.8.0-alpha07 रिलीज़ हो गया है. वर्शन 1.8.0-alpha07 में ये बदलाव शामिल हैं.

नई सुविधाएं

  • यह Pager में लुकअहेड की सुविधा के साथ काम करता है. इसके लिए, यह आइटम बनाए रखने और स्क्रोलिंग का इस्तेमाल करने के लिए, लुकअहेड पास को अप्रोच पास से अलग करता है. (b/371802474)

गड़बड़ियां ठीक की गईं

  • इस अपडेट में, क्रैश होने की एक ऐसी समस्या को ठीक किया गया है जिसमें शेयर किया गया कोई एलिमेंट कंपोज़ किया जाता है, लेकिन उसे कभी मेज़र/प्लेस नहीं किया जाता. इसके लिए, शेयर किए गए एलिमेंट को ओवरले में रेंडर करने से पहले, उसे कम से कम एक बार रेंडर करना ज़रूरी है. (b/371802474)

वर्शन 1.8.0-alpha06

13 नवंबर, 2024

androidx.compose.animation:animation-*:1.8.0-alpha06 रिलीज़ हो गया है. वर्शन 1.8.0-alpha06 में ये बदलाव शामिल हैं.

एपीआई में हुए बदलाव

  • शेयर किए गए एलिमेंट के सभी एपीआई में एक जैसा नाम रखने के लिए, sharedElement पैरामीटर के नाम को state से बदलकर sharedContentState कर दिया गया है. (I5694c, b/375351468)
  • AnimatedImageVector एपीआई का सुइट अब स्टेबल हो गया है. (I7174b, b/261436267)

वर्शन 1.8.0-alpha05

30 अक्टूबर, 2024

androidx.compose.animation:animation-*:1.8.0-alpha05 रिलीज़ हो गया है. वर्शन 1.8.0-alpha05 में ये बदलाव शामिल हैं.

नई सुविधाएं

  • अब LazyGrid में लुकअहेड की सुविधा काम करती है. इसमें स्क्रोलिंग, आइटम कंपोज़िशन/डिस्पोज़ल, और आइटम ऐनिमेशन में लुकअहेड पास और अप्रोच पास के बीच अंतर करना शामिल है. साथ ही, स्क्रोलिंग और आइटम ऐनिमेशन टारगेट के लिए, लुकअहेड पास का इस्तेमाल किया जाता है.

गड़बड़ियां ठीक की गईं

  • ट्रांज़िशन फिर से बनाए जाने पर, AnimatedContent के साइज़ ट्रांसफ़ॉर्म के लिए इंटरनल स्टेटस अपडेट करता है. इससे यह पक्का होता है कि टारगेट साइज़ की जानकारी हमेशा अप-टू-डेट रहे. (b/372512085)

वर्शन 1.8.0-alpha04

16 अक्टूबर, 2024

androidx.compose.animation:animation-*:1.8.0-alpha04 रिलीज़ हो गया है. वर्शन 1.8.0-alpha04 में ये बदलाव शामिल हैं.

गड़बड़ियां ठीक की गईं

  • ऐसी गड़बड़ी को ठीक किया गया है जिसकी वजह से, कुछ ईज़िंग कर्व, समय के कुछ हिस्सों में क्रैश हो जाते थे.
  • हमने एक गड़बड़ी ठीक की है. इसकी वजह से, आरटीएल मोड में Modifier.animateContentSize ठीक से अलाइन नहीं हो रहा था. (Idae6b, b/372055503)

वर्शन 1.8.0-alpha03

2 अक्टूबर, 2024

androidx.compose.animation:animation-*:1.8.0-alpha03 रिलीज़ हो गया है. वर्शन 1.8.0-alpha03 में ये बदलाव शामिल हैं.

एपीआई में हुए बदलाव

  • Kotlin का वर्शन 1.9 (I1a14c) पर अपडेट किया गया

गड़बड़ियां ठीक की गईं

  • AnimatedContent के साइज़ ऐनिमेशन में एक समस्या ठीक की गई है. इसमें, ऐनिमेशन को हमेशा ट्रैक किया जाता है और मौजूदा साइज़ से ऐनिमेशन शुरू किया जाता है, ताकि ऐनिमेशन लगातार चलता रहे.

वर्शन 1.8.0-alpha02

18 सितंबर, 2024

androidx.compose.animation:animation-*:1.8.0-alpha02 रिलीज़ हो गया है. वर्शन 1.8.0-alpha02 में ये बदलाव शामिल हैं.

वर्शन 1.8.0-alpha01

4 सितंबर, 2024

androidx.compose.animation:animation-*:1.8.0-alpha01 रिलीज़ हो गया है. वर्शन 1.8.0-alpha01 में ये बदलाव शामिल हैं.

नई सुविधाएं

  • लुकअहेड स्कोप में साइज़ और पोज़िशन में होने वाले बदलावों को ऐनिमेट करने के लिए, नया Modifier.animateBounds एपीआई. 94b9394

एपीआई में हुए बदलाव

  • आर्क और स्प्लाइन वाले मुख्य फ़्रेम से एक्सपेरिमेंट के फ़्लैग हटाए गए (89e1199)

गड़बड़ियां ठीक की गईं

  • कोई मैच न मिलने पर, placeHolderSize लॉजिक को छोड़ें (77c0160)
  • AndroidFlingSpline में वीडियो चलाने के समय को सीमित करें, ताकि वीडियो चलाने के समय में लगातार बढ़ोतरी होने की वजह से होने वाली क्रैश की समस्या को रोका जा सके(9d47587)
  • कुछ स्थितियों में SharedTransitionScope के आइटम न दिखाने की समस्या ठीक की गई (b41077b6)

बाहरी योगदान

  • स्टीवन शॉन के किसी ट्रांज़िशन के चालू न होने पर, सीक किए जा सकने वाले ट्रांज़िशन playTime को सेट होने से रोकें. (c2e6e7e6)

वर्शन 1.7

वर्शन 1.7.8

12 फ़रवरी, 2025

androidx.compose.animation:animation-*:1.7.8 रिलीज़ हो गया है. वर्शन 1.7.8 में ये बदलाव शामिल हैं.

वर्शन 1.7.7

29 जनवरी, 2025

androidx.compose.animation:animation-*:1.7.7 रिलीज़ हो गया है. 1.7.6 वर्शन के बाद से कोई बदलाव नहीं किया गया है. 11 दिसंबर, 2024

androidx.compose.animation:animation-*:1.7.6 रिलीज़ हो गया है. वर्शन 1.7.6 में ये बदलाव शामिल हैं.

वर्शन 1.7.5

30 अक्टूबर, 2024

androidx.compose.animation:animation-*:1.7.5 रिलीज़ हो गया है. वर्शन 1.7.5 में ये बदलाव शामिल हैं.

गड़बड़ियां ठीक की गईं

  • हमने एक गड़बड़ी ठीक की है. इसकी वजह से, आरटीएल मोड में Modifier.animateContentSize ठीक से अलाइन नहीं हो रहा था. (Idae6b, b/372055503)

वर्शन 1.7.4

16 अक्टूबर, 2024

androidx.compose.animation:animation-*:1.7.4 रिलीज़ हो गया है. वर्शन 1.7.4 में ये बदलाव शामिल हैं.

वर्शन 1.7.3

2 अक्टूबर, 2024

androidx.compose.animation:animation-*:1.7.3 रिलीज़ हो गया है. वर्शन 1.7.3 में ये बदलाव शामिल हैं.

वर्शन 1.7.2

18 सितंबर, 2024

androidx.compose.animation:animation-*:1.7.2 रिलीज़ हो गया है. वर्शन 1.7.2 में ये बदलाव शामिल हैं.

बाहरी योगदान

  • जब कोई ट्रांज़िशन नहीं चल रहा हो, तब सीक किए जा सकने वाले ट्रांज़िशन playTime को सेट होने से रोकता है. धन्यवाद स्टीवन शोएन! (c2e6e7e6)

वर्शन 1.7.1

10 सितंबर, 2024

  • Android आर्टफ़ैक्ट में कोई बदलाव नहीं किया गया है. -desktop आर्टफ़ैक्ट हटा दिए गए हैं. साथ ही, -jvmStubs और -linuxx64Stubs आर्टफ़ैक्ट जोड़ दिए गए हैं. इनमें से किसी भी टारगेट का इस्तेमाल नहीं किया जाना चाहिए. ये सिर्फ़ प्लेसहोल्डर हैं, ताकि Jetbrains Compose को बेहतर बनाने में मदद मिल सके.

वर्शन 1.7.0

4 सितंबर, 2024

androidx.compose.animation:animation-*:1.7.0 रिलीज़ हो गया है.

1.6.0 के बाद हुए ज़रूरी बदलाव

वर्शन 1.7.0 में हुए अहम बदलावों के बारे में जानने के लिए, यह ब्लॉग पोस्ट पढ़ें.

शेयर किए गए एलिमेंट के ट्रांज़िशन के लिए नए एपीआई

  • शेयर किए गए एलिमेंट के ट्रांज़िशन के नए एपीआई, आपके इस्तेमाल और सुझाव/राय देने या शिकायत करने के लिए उपलब्ध हैं. ये नए एक्सपेरिमेंटल एपीआई, लेआउट को टैग करने की सुविधा देते हैं. इसके लिए, लेआउट ट्री में शेयर किए गए लेआउट और दिए गए मॉडिफ़ायर का इस्तेमाल किया जाता है. इससे, शेयर किए गए कॉन्टेंट का एक सेट बंद होने और दूसरा सेट शुरू होने पर, बाउंड्री में आसानी से बदलाव होता है. (Icb0b9)
  • sharedBounds में कॉन्टेंट को बड़े पैमाने पर उपलब्ध कराने के लिए, नई scaleInSharedContentToBounds और scaleOutSharedContentToBounds (I731c1)
  • एक्सपेरिमेंट के तौर पर उपलब्ध SharedTransitionScope अब क्लास के बजाय इंटरफ़ेस है. (Iaf856)
  • sharedBounds के लिए नया resizeModes (ScaleToBounds और RemeasureToBounds). इससे, स्केलिंग और फिर से मेज़र करने के बीच कोई विकल्प चुना जा सकता है. पिछले scaleIn/OutSharedContentToBounds एपीआई अब काम नहीं करते. (I0d41a)

मौजूदा एपीआई में सुधार:

  • नया Modifier.animateContentSize, जो कस्टम कॉन्टेंट अलाइनमेंट के लिए एक अतिरिक्त पैरामीटर लेता है. (I5623a, b/269803907)
  • साइज़, पोज़िशन या किसी अन्य टारगेट को ऐनिमेट करने के लिए, नया एक्सपेरिमेंटल DeferredTargetAnimation. इंस्टैंटिएट करने के दौरान, टारगेट के बारे में जानकारी नहीं होती है. (I60745)
  • SeekableTransitionState, snapTo() को seekTo() से बदलता है. साथ ही, एक snapTo() जोड़ता है, जो बिना किसी ऐनिमेशन के स्थिति को तुरंत डेस्टिनेशन स्थिति में बदल देता है.
  • अब keyframesWithSpline को periodicBias वैल्यू (फ़्लोट) पास की जा सकती है. इससे स्प्लाइन की शुरुआती और आखिरी वेलोसिटी बराबर हो जाएगी. स्प्लाइन का इस्तेमाल करके, बार-बार होने वाले ऐनिमेशन के लिए यह फ़ंक्शन काम का होता है. बायस से पता चलता है कि पीरियोडिसिटी हासिल करने के लिए, हर वेलोसिटी (शुरुआती और आखिरी) में कितना बदलाव किया जाता है. (Ic1e6c, b/292114811)

यहां दिए गए एपीआई अब स्टेबल हो गए हैं या इन्हें हटा दिया गया है:

  • AnimatedVisibilityScope.transition अब एक स्टेबल एपीआई है. Modifier.animateEnterExit(..) को भी स्थिर कर दिया गया है. (I6c1d1)
  • ApproachLayoutModifierNode और Modifier.approachLayout अब स्टेबल हो गए हैं. साथ ही, पुराने isMeasurementApproachComplete() और isPlacementApproachComplete() की जगह लेने के लिए, नए isMeasurementApproachInProgress() और isPlacementApproachInProgress() उपलब्ध हैं.
  • बहिष्कृत किए गए intermediateLayout मॉडिफ़ायर को हटाया गया. (I3e91c)
  • LookaheadScope एपीआई को स्थिर कर दिया गया है. (I21507)

वर्शन 1.7.0-rc01

21 अगस्त, 2024

androidx.compose.animation:animation-*:1.7.0-rc01 रिलीज़ हो गया है. वर्शन 1.7.0-rc01 में ये बदलाव शामिल हैं.

वर्शन 1.7.0-beta07

7 अगस्त, 2024

androidx.compose.animation:animation-*:1.7.0-beta07 रिलीज़ हो गया है. वर्शन 1.7.0-beta07 में ये बदलाव शामिल हैं.

गड़बड़ियां ठीक की गईं

  • कुछ स्थितियों में ट्रांज़िशन के दौरान, फ़िक्स्ड SharedTransitionScope के ओवरले आइटम नहीं दिख रहे थे. आम तौर पर, ऐसा नेविगेशन के साथ इस्तेमाल करने पर होता था. इस समस्या को ठीक कर दिया गया है. (Id65ab, b/347520198)

वर्शन 1.7.0-beta06

24 जुलाई, 2024

androidx.compose.animation:animation-*:1.7.0-beta06 रिलीज़ हो गया है. वर्शन 1.7.0-beta06 में ये बदलाव शामिल हैं.

गड़बड़ियां ठीक की गईं

  • ट्रांज़िशन बंद होने पर, SnapshotStateObserver से मिले डेटा को सही तरीके से हटाने की सुविधा जोड़ी गई है. इससे SeekableTransition की ट्रांज़िशन स्टेट लीक होने की समस्या ठीक हो गई है. (b9c7182)
  • ऐसे कुछ मामलों को ठीक किया गया है जिनमें पैरंट ट्रांज़िशन पूरा होने पर, चाइल्ड ट्रांज़िशन को 'पूरा हो गया' के तौर पर सही तरीके से मार्क नहीं किया जाता था. (dc42216)

वर्शन 1.7.0-beta05

10 जुलाई, 2024

androidx.compose.animation:animation-*:1.7.0-beta05 रिलीज़ हो गया है. वर्शन 1.7.0-beta05 में ये बदलाव शामिल हैं.

गड़बड़ियां ठीक की गईं

  • अब snapshotFlow में, ट्रांज़िशन प्रॉपर्टी totalDurationNanos को सही तरीके से पढ़ा जा सकता है.

वर्शन 1.7.0-beta04

26 जून, 2024

androidx.compose.animation:animation-*:1.7.0-beta04 रिलीज़ हो गया है. वर्शन 1.7.0-beta04 में ये बदलाव शामिल हैं.

वर्शन 1.7.0-beta03

12 जून, 2024

androidx.compose.animation:animation-*:1.7.0-beta03 रिलीज़ हो गया है. वर्शन 1.7.0-beta03 में ये बदलाव शामिल हैं.

वर्शन 1.7.0-beta02

29 मई, 2024

androidx.compose.animation:animation-*:1.7.0-beta02 रिलीज़ हो गया है. वर्शन 1.7.0-beta02 में ये बदलाव शामिल हैं.

वर्शन 1.7.0-beta01

14 मई, 2024

androidx.compose.animation:animation-*:1.7.0-beta01 रिलीज़ हो गया है. वर्शन 1.7.0-beta01 में ये बदलाव शामिल हैं.

एपीआई में हुए बदलाव

  • sharedBounds के लिए नया resizeModes (ScaleToBounds और RemeasureToBounds). इससे, स्केलिंग और फिर से मेज़र करने के बीच कोई विकल्प चुना जा सकता है. पिछले scaleIn/OutSharedContentToBounds एपीआई अब काम नहीं करते. (I0d41a)

बाहरी योगदान

  • स्टीवन शॉन ने एक्सपेरिमेंटल SharedTransitionScope को अब क्लास के बजाय इंटरफ़ेस बना दिया है. (Iaf856, b/338415048, b/338414702)

वर्शन 1.7.0-alpha08

1 मई, 2024

androidx.compose.animation:animation-*:1.7.0-alpha08 रिलीज़ हो गया है. वर्शन 1.7.0-alpha08 में ये बदलाव शामिल हैं.

एपीआई में हुए बदलाव

  • LookaheadScope एपीआई को स्थिर कर दिया गया है. (I21507)

बाहरी योगदान

  • स्टीवन शॉन (1ca89529) ने SeekableTransitionState के ऐनिमेट/स्नैप होने के बाद, ऐनिमेशन शुरू होने का समय मिटा दिया

वर्शन 1.7.0-alpha07

17 अप्रैल, 2024

androidx.compose.animation:animation-*:1.7.0-alpha07 रिलीज़ हो गया है. वर्शन 1.7.0-alpha07 में ये बदलाव शामिल हैं.

नई सुविधाएं

  • शेयर किए गए एलिमेंट के ट्रांज़िशन के नए एपीआई, आपके इस्तेमाल और सुझाव/राय देने या शिकायत करने के लिए उपलब्ध हैं. ये नए एक्सपेरिमेंटल एपीआई, लेआउट को टैग करने की सुविधा देते हैं. इसके लिए, लेआउट ट्री में शेयर किए गए लेआउट और दिए गए मॉडिफ़ायर का इस्तेमाल किया जाता है. इससे, शेयर किए गए कॉन्टेंट का एक सेट बंद होने और दूसरा सेट शुरू होने पर, बाउंड्री में आसानी से बदलाव होता है. (Icb0b9)
  • sharedBounds में कॉन्टेंट को बड़े पैमाने पर उपलब्ध कराने के लिए, नई scaleInSharedContentToBounds और scaleOutSharedContentToBounds (I731c1)

एपीआई में हुए बदलाव

  • AnimatedVisibilityScope.transition अब एक स्टेबल एपीआई है. Modifier.animateEnterExit(..) को भी स्थिर कर दिया गया है. (I6c1d1)
  • ApproachLayoutModifierNode और Modifier.approachLayout अब स्टेबल हो गए हैं. साथ ही, पुराने isMeasurementApproachComplete() और isPlacementApproachComplete() की जगह लेने के लिए, नए isMeasurementApproachInProgress() और isPlacementApproachInProgress() उपलब्ध हैं.
  • बहिष्कृत किए गए intermediateLayout मॉडिफ़ायर को हटाया गया. (I3e91c)
  • अब keyframesWithSpline को periodicBias वैल्यू (फ़्लोट) पास की जा सकती है. इससे स्प्लाइन की शुरुआती और आखिरी वेलोसिटी बराबर हो जाएगी. स्प्लाइन का इस्तेमाल करके, बार-बार होने वाले ऐनिमेशन के लिए यह फ़ंक्शन काम का होता है. बायस से पता चलता है कि पीरियोडिसिटी हासिल करने के लिए, हर वेलोसिटी (शुरुआती और आखिरी) में कितना बदलाव किया जाता है. (Ic1e6c, b/292114811)

गड़बड़ियां ठीक की गईं

  • ईज़िंग कर्व के ओवर-शूटिंग और अंडर-शूटिंग की समस्या ठीक की गई है. पहले, इन्हें 0..1 पर क्लैंप किया जाता था (I38747)

वर्शन 1.7.0-alpha06

3 अप्रैल, 2024

androidx.compose.animation:animation-*:1.7.0-alpha06 रिलीज़ हो गया है. वर्शन 1.7.0-alpha06 में ये बदलाव शामिल हैं.

नई सुविधाएं

  • LazyColumn और LazyRow में, आइटम के दिखने और गायब होने के ऐनिमेशन की सुविधा जोड़ी गई. पहले, प्लेसमेंट (रीऑर्डरिंग) ऐनिमेशन के लिए सहायता पाने के लिए, Modifier.animateItemPlacement() मॉडिफ़ायर जोड़ा जा सकता था. हमने इस मॉडिफ़ायर को बंद कर दिया है और एक नया मॉडिफ़ायर लॉन्च किया है. यह एक्सपेरिमेंट के लिए नहीं है. इसका नाम Modifier.animateItem() है. इसकी मदद से, ऐनिमेशन के तीनों टाइप इस्तेमाल किए जा सकते हैं: दिखना (फ़ेड इन), गायब होना (फ़ेड आउट), और क्रम बदलना. (I2d7f7, b/330152398, b/150812265)

गड़बड़ियां ठीक की गईं

  • updateTransition एपीआई की परफ़ॉर्मेंस में सुधार किया गया है.

वर्शन 1.7.0-alpha05

20 मार्च, 2024

androidx.compose.animation:animation-*:1.7.0-alpha05 रिलीज़ हो गया है. वर्शन 1.7.0-alpha05 में ये बदलाव शामिल हैं.

एपीआई में हुए बदलाव

  • SeekableTransitionState, snapTo() को seekTo() से बदलता है. साथ ही, एक snapTo() जोड़ता है, जो बिना किसी ऐनिमेशन के स्थिति को तुरंत डेस्टिनेशन स्थिति में बदल देता है.

वर्शन 1.7.0-alpha04

6 मार्च, 2024

androidx.compose.animation:animation-*:1.7.0-alpha04 रिलीज़ हो गया है. वर्शन 1.7.0-alpha04 में ये बदलाव शामिल हैं.

एपीआई में हुए बदलाव

  • पाथ की दिशा बदलने के लिए नया एपीआई Path.reverse() (I36348)

वर्शन 1.7.0-alpha03

21 फ़रवरी, 2024

androidx.compose.animation:animation-*:1.7.0-alpha03 रिलीज़ हो गया है. वर्शन 1.7.0-alpha03 में ये बदलाव शामिल हैं.

नई सुविधाएं

  • नया Modifier.animateContentSize, जो कस्टम कॉन्टेंट अलाइनमेंट के लिए एक अतिरिक्त पैरामीटर लेता है. (I5623a, b/269803907)
  • साइज़, पोज़िशन या किसी अन्य टारगेट को ऐनिमेट करने के लिए नया एक्सपेरिमेंटल DeferredTargetAnimation. इंस्टैंटिएट करने के दौरान, टारगेट के बारे में जानकारी नहीं होती है. (I60745)

वर्शन 1.7.0-alpha02

7 फ़रवरी, 2024

androidx.compose.animation:animation-*:1.7.0-alpha02 रिलीज़ हो गया है. वर्शन 1.7.0-alpha02 में ये बदलाव शामिल हैं.

गड़बड़ियां ठीक की गईं

  • KeyframesSpec के साथ काम करने से जुड़ी समस्या ठीक की गई. (I2bdf3, b/322214617)
  • LazyList में इस्तेमाल किए जाने पर, Modifier.animateContentSize के ठीक से रीसेट न होने की समस्या ठीक की गई. (I070512, b/322525716)
  • टाइमस्टैंप की सीमा से बाहर होने पर, IllegalStateException को KeyframesSpec पर ठीक किया गया. (I341b8, b/322839811)

वर्शन 1.7.0-alpha01

24 जनवरी, 2024

androidx.compose.animation:animation-*:1.7.0-alpha01 रिलीज़ हो गया है. वर्शन 1.7.0-alpha01 में ये बदलाव शामिल हैं.

वर्शन 1.6

वर्शन 1.6.8

12 जून, 2024

androidx.compose.animation:animation-*:1.6.8 रिलीज़ हो गया है. वर्शन 1.6.8 में ये बदलाव शामिल हैं.

वर्शन 1.6.7

1 मई, 2024

androidx.compose.animation:animation-*:1.6.7 रिलीज़ हो गया है. वर्शन 1.6.7 में ये बदलाव शामिल हैं.

वर्शन 1.6.6

17 अप्रैल, 2024

androidx.compose.animation:animation-*:1.6.6 रिलीज़ हो गया है. पिछली रिलीज़ के बाद से कोई बदलाव नहीं हुआ है

वर्शन 1.6.5

3 अप्रैल, 2024

androidx.compose.animation:animation-*:1.6.5 रिलीज़ हो गया है. वर्शन 1.6.5 में ये बदलाव शामिल हैं.

वर्शन 1.6.4

20 मार्च, 2024

androidx.compose.animation:animation-*:1.6.4 रिलीज़ हो गया है. वर्शन 1.6.4 में ये बदलाव शामिल हैं.

वर्शन 1.6.3

6 मार्च, 2024

androidx.compose.animation:animation-*:1.6.3 रिलीज़ हो गया है. वर्शन 1.6.3 में ये बदलाव शामिल हैं.

वर्शन 1.6.2

21 फ़रवरी, 2024

androidx.compose.animation:animation-*:1.6.2 रिलीज़ हो गया है. वर्शन 1.6.2 में ये बदलाव शामिल हैं.

वर्शन 1.6.1

7 फ़रवरी, 2024

androidx.compose.animation:animation-*:1.6.1 रिलीज़ हो गया है. वर्शन 1.6.1 में ये बदलाव शामिल हैं.

गड़बड़ियां ठीक की गईं

  • KeyframesSpec के साथ काम करने से जुड़ी समस्या ठीक की गई. (I2bdf3, b/322214617)

वर्शन 1.6.0

24 जनवरी, 2024

androidx.compose.animation:animation-*:1.6.0 रिलीज़ हो गया है. वर्शन 1.6.0 में ये बदलाव शामिल हैं.

वर्शन 1.6.0-rc01

10 जनवरी, 2024

androidx.compose.animation:animation-*:1.6.0-rc01 रिलीज़ हो गया है. वर्शन 1.6.0-rc01 में ये बदलाव शामिल हैं.

वर्शन 1.6.0-beta03

13 दिसंबर, 2023

androidx.compose.animation:animation-*:1.6.0-beta03 रिलीज़ हो गया है. वर्शन 1.6.0-beta03 में ये बदलाव शामिल हैं.

एपीआई में हुए बदलाव

  • AnimatedContentTransitionScope से scaleInToFitContainer और scaleOutToFitContainer को कुछ समय के लिए हटा दिया गया है, क्योंकि इनके लिए लुकअहेड की ज़रूरत होती है. ये सुविधाएं तब उपलब्ध होंगी, जब आने वाले समय में रिलीज़ होने वाले वर्शन में, लुकअहेड की सुविधा डिफ़ॉल्ट रूप से चालू होगी या आपने इसे चालू किया होगा.

वर्शन 1.6.0-beta02

29 नवंबर, 2023

androidx.compose.animation:animation-*:1.6.0-beta02 रिलीज़ हो गया है. वर्शन 1.6.0-beta02 में ये बदलाव शामिल हैं.

वर्शन 1.6.0-beta01

15 नवंबर, 2023

androidx.compose.animation:animation-*:1.6.0-beta01 रिलीज़ हो गया है. वर्शन 1.6.0-beta01 में ये बदलाव शामिल हैं.

एपीआई में हुए बदलाव

  • ज़्यादा जानकारी देने के लिए, ExitTransition.Hold का नाम बदलकर ExitTransition.KeepUntilTransitionsFinished कर दिया गया है. (I1c490)
  • अब keyframesWithSpline का इस्तेमाल करके, किसी भी N-डाइमेंशनल वैल्यू को इंटरपोलेट किया जा सकता है. इसके लिए, मोनोटोनिक स्प्लाइन का इस्तेमाल किया जाता है. यह Offset, IntOffset, DpOffset जैसी पोज़िशनल वैल्यू को इंटरपोलेट करने के लिए खास तौर पर उपयोगी है. इसे एक्सपेरिमेंट के तौर पर उपलब्ध एपीआई के तौर पर जोड़ा गया है.

गड़बड़ियां ठीक की गईं

  • ArcLine में स्वीप ग्रेडिएंट के लिए रेंडरर की सुविधा जोड़ी गई. (I4d5bb)
  • PageSize.Fixed के लिए equals और hashcode लागू करें. (Ie3ede, b/300134276)
  • Window Inset में बदलाव करने पर, बाइनरी के साथ काम करने से जुड़ी समस्या ठीक की गई. (Iee695)
  • Material3 चिप/बटन के लिए, मटीरियल कोर लेयर हटाएं. ऐसा इसलिए, क्योंकि माइक्रोबेंचमार्क से पता चलता है कि इसके बिना बेहतर परफ़ॉर्मेंस मिलती है. (I55555)

वर्शन 1.6.0-alpha08

18 अक्टूबर, 2023

androidx.compose.animation:animation-*:1.6.0-alpha08 रिलीज़ हो गया है. वर्शन 1.6.0-alpha08 में ये बदलाव शामिल हैं.

एपीआई में हुए बदलाव

  • बिल्डर पैटर्न को बनाए रखने वाले KeyframesSpecConfig#using के पक्ष में KeyframesSpecConfig#with को बंद कर दिया गया है. (I1d769)

वर्शन 1.6.0-alpha07

4 अक्टूबर, 2023

androidx.compose.animation:animation-*:1.6.0-alpha07 रिलीज़ हो गया है. वर्शन 1.6.0-alpha07 में ये बदलाव शामिल हैं.

एपीआई में हुए बदलाव

  • फ़िक्स्ड और स्क्रोल किए जा सकने वाले टैबरो में अब प्राइमरी और सेकंडरी वैरिएंट उपलब्ध हैं. ये Material3 में तय किए गए रंग और इंडिकेटर के व्यवहार के हिसाब से सही तरीके से मैप किए गए हैं.
  • PrimaryScrollableTabRow और SecondaryScrollableTabRow अब स्क्रोल की स्थिति दिखाते हैं. (Iec8f5, b/260572337)

वर्शन 1.6.0-alpha06

20 सितंबर, 2023

androidx.compose.animation:animation-*:1.6.0-alpha06 रिलीज़ हो गया है. वर्शन 1.6.0-alpha06 में ये बदलाव शामिल हैं.

वर्शन 1.6.0-alpha05

6 सितंबर, 2023

androidx.compose.animation:animation-*:1.6.0-alpha05 रिलीज़ हो गया है. वर्शन 1.6.0-alpha05 में ये बदलाव शामिल हैं.

एपीआई में हुए बदलाव

  • PathEasing को जोड़ा गया, ताकि ईज़िंग कर्व को कोई भी पाथ दिया जा सके. (Idb4b9)

वर्शन 1.6.0-alpha04

23 अगस्त, 2023

androidx.compose.animation:animation-*:1.6.0-alpha04 रिलीज़ हो गया है. वर्शन 1.6.0-alpha04 में ये बदलाव शामिल हैं.

एपीआई में हुए बदलाव

  • डेवलपर को ट्रांज़िशन की प्रोसेस को कंट्रोल करने की अनुमति देने के लिए, SeekableTransitionState जोड़ें. (I8e69d)

वर्शन 1.6.0-alpha03

9 अगस्त, 2023

androidx.compose.animation:animation-*:1.6.0-alpha03 रिलीज़ हो गया है. वर्शन 1.6.0-alpha03 में ये बदलाव शामिल हैं.

एपीआई में हुए बदलाव

  • ऑब्जेक्ट को सीन में शामिल करने और हटाने के लिए, ट्रांज़िशन का नया टाइप. यह ऑब्जेक्ट को सीन में शामिल करने और हटाने के दौरान, ऐनिमेशन वाले कंटेनर के साइज़ के हिसाब से कॉन्टेंट को स्केल करता है. LookaheadScope कंपोज़ेबल फ़न और इंटरफ़ेस अब स्टेबल हो गए हैं. (Ifb2ce)

वर्शन 1.6.0-alpha02

26 जुलाई, 2023

androidx.compose.animation:animation-*:1.6.0-alpha02 रिलीज़ हो गया है. वर्शन 1.6.0-alpha02 में ये बदलाव शामिल हैं.

एपीआई में हुए बदलाव

  • AnimatedContent में आउटगोइंग कॉन्टेंट दिखाने के लिए नया ExitTransition.Hold, जब तक कि दोनों के ट्रांज़िशन खत्म नहीं हो जाते. (I5984f)
  • कंपोज़ेबल में इस्तेमाल किए जा सकने वाले इनपुट तय करने के लिए अतिरिक्त एनोटेशन (I51109)

वर्शन 1.6.0-alpha01

21 जून, 2023

androidx.compose.animation:animation-*:1.6.0-alpha01 रिलीज़ हो गया है. वर्शन 1.6.0-alpha01 में ये बदलाव शामिल हैं.

नई सुविधाएं

  • लुकअहेड पास में टारगेट साइज़ की जानकारी देकर, Modifier.animateContentSize और AnimatedVisibility को लुकअहेड सिस्टम में पूरी तरह से इंटिग्रेट किया जा सकता है.

एपीआई में हुए बदलाव

  • IntrinsincMeasureScope में नई प्रॉपर्टी और उसके लागू करने के तरीके (जैसे, MeasureScope). इससे यह पता चलता है कि मौजूदा मेज़रमेंट पास, लुकअहेड पास है या नहीं. (I7a812)

गड़बड़ियां ठीक की गईं

  • स्प्रिंग ऐनिमेशन से असाइनमेंट हटाए गए. (Ie9431)
  • Enum.valueOf के लिए वैल्यू पैरामीटर का नाम बदला गया (Ia9b89)
  • enum valueOf (I818fe) से ज़्यादा थ्रो किए गए अपवाद

संस्‍करण 1.5

वर्शन 1.5.4

18 अक्टूबर, 2023

androidx.compose.animation:animation-*:1.5.4 रिलीज़ हो गया है. वर्शन 1.5.4 में ये बदलाव शामिल हैं.

वर्शन 1.5.3

4 अक्टूबर, 2023

androidx.compose.animation:animation-*:1.5.3 रिलीज़ हो गया है. इस वर्शन में कोई बदलाव नहीं किया गया है

संस्‍करण 1.5.2

27 सितंबर, 2023

androidx.compose.animation:animation-*:1.5.2 रिलीज़ हो गया है. वर्शन 1.5.2 में ये बदलाव शामिल हैं.

संस्‍करण 1.5.1

6 सितंबर, 2023

androidx.compose.foundation:foundation-*:1.5.1 रिलीज़ हो गया है. वर्शन 1.5.1 में ये बदलाव शामिल हैं.

गड़बड़ियां ठीक की गईं

  • टेक्स्ट फ़ील्ड में कीबोर्ड दिखने और readOnly के सही होने पर बदलाव किए जा सकने की समस्या ठीक की गई. इसके अलावा, फ़ोकस किए जाने के दौरान readOnly को सही से गलत पर बदलने पर कीबोर्ड न दिखने की समस्या को भी ठीक किया गया है. (I34a19, b/246909589)

संस्‍करण 1.5.1

6 सितंबर, 2023

androidx.compose.animation:animation-*:1.5.1 रिलीज़ हो गया है. वर्शन 1.5.1 में ये बदलाव शामिल हैं.

वर्शन 1.5.0

9 अगस्त, 2023

androidx.compose.animation:animation-*:1.5.0 रिलीज़ हो गया है. वर्शन 1.5.0 में ये बदलाव शामिल हैं.

वर्शन 1.5.0-rc01

26 जुलाई, 2023

androidx.compose.animation:animation-*:1.5.0-rc01 रिलीज़ हो गया है. वर्शन 1.5.0-rc01 में ये बदलाव शामिल हैं.

गड़बड़ियां ठीक की गईं

  • हमने उस समस्या को ठीक कर दिया है जिसमें प्रिमिटिव स्टेट टाइप (जैसे कि MutableIntState) पर .value को कॉल करने पर, अमान्य फ़िक्स के साथ लिंट चेतावनी दिखती थी. अब जांच में, सही प्रॉपर्टी पर माइग्रेट करने का सुझाव दिया जाएगा. (Iba953, b/287279257)

  • प्रिमिटिव के लिए, mutableStateOf() कॉल को उनके खास टाइप में माइग्रेट करने का सुझाव देने के लिए, जांच का विकल्प उपलब्ध है. इसका लिंट आईडी AutoboxingStateCreation है. पहले, यह जांच सभी प्रोजेक्ट के लिए डिफ़ॉल्ट रूप से चालू होती थी. Android Studio के एडिटर और आपके प्रोजेक्ट के लिंट आउटपुट में इस चेतावनी को देखने के लिए, इसकी गंभीरता को सूचना से बदलकर चेतावनी (या इससे ज़्यादा) पर सेट करें. इसके लिए, अपने मॉड्यूल के build.gradle या build.gradle.kts कॉन्फ़िगरेशन में warning "AutoboxingStateCreation" को इस तरह से एलान करें (I34f7e):

        android {
            lint {
                warning "AutoboxingStateCreation"
            }
            ...
        }
    

वर्शन 1.5.0-beta03

28 जून, 2023

androidx.compose.animation:animation-*:1.5.0-beta03 रिलीज़ हो गया है. वर्शन 1.5.0-beta03 में ये बदलाव शामिल हैं.

वर्शन 1.5.0-beta02

7 जून, 2023

androidx.compose.animation:animation-*:1.5.0-beta02 रिलीज़ हो गया है. वर्शन 1.5.0-beta02 में ये बदलाव शामिल हैं.

वर्शन 1.5.0-beta01

24 मई, 2023

androidx.compose.animation:animation-*:1.5.0-beta01 रिलीज़ हो गया है. वर्शन 1.5.0-beta01 में ये बदलाव शामिल हैं.

एपीआई में हुए बदलाव

  • रीकंपोज़िशन, कलर ऐनिमेशन, और AndroidComposeView (Ib2bfa) में किए गए बदलावों को हटाया गया

गड़बड़ियां ठीक की गईं

  • स्प्रिंग ऐनिमेशन से हटाए गए असाइनमेंट (Ie9431)

वर्शन 1.5.0-alpha04

10 मई, 2023

androidx.compose.animation:animation-*:1.5.0-alpha04 रिलीज़ हो गया है. वर्शन 1.5.0-alpha04 में ये बदलाव शामिल हैं.

एपीआई में हुए बदलाव

  • ContentKey अब AnimatedContent में काम करता है, ताकि यह तय किया जा सके कि ट्रांज़िशन कब होना चाहिए. (Ic069b)

वर्शन 1.5.0-alpha03

19 अप्रैल, 2023

androidx.compose.animation:animation-*:1.5.0-alpha03 रिलीज़ हो गया है. वर्शन 1.5.0-alpha03 में ये बदलाव शामिल हैं.

नई सुविधाएं

  • LookaheadScope में SubcomposeLayout के लिए नया डिफ़ॉल्ट व्यवहार. इसकी मदद से, SubcomposeLayouts के साथ लुकअहेड ऐनिमेशन को बेहतर तरीके से काम करने की अनुमति मिलती है. हालांकि, SubcomposeLayouts में कंडीशनल स्लॉट (जैसे कि TabRow, Scaffold, BoxWithConstraints वगैरह) नहीं होने चाहिए.

एपीआई में हुए बदलाव

  • नया डिफ़ॉल्ट intermediateMeasurePolicy, लुकअहेड पास से मेज़रमेंट की नीति का फिर से इस्तेमाल करता है. इससे SubcomposeLayout के ऐसे सबटाइप बिना शर्त वाले स्लॉट के साथ काम कर पाते हैं जो डिफ़ॉल्ट रूप से लुकअहेड के साथ काम करते हैं. जैसे, Scaffold, TabRow, और BoxWithConstraints. (Id84c8)
  • एंट्री और एग्ज़िट ट्रांज़िशन को एक साथ इस्तेमाल करने के लिए, infix fun with का नाम बदलकर togetherWith कर दिया गया है. कॉन्टेंट लैंबडा के लिए, रिसीवर के तौर पर नया AnimatedContentScope. (Ic39ae)

वर्शन 1.5.0-alpha02

5 अप्रैल, 2023

androidx.compose.animation:animation-*:1.5.0-alpha02 रिलीज़ हो गया है. वर्शन 1.5.0-alpha02 में ये बदलाव शामिल हैं.

नई सुविधाएं

  • SubcomposeLayout में लुकअहेड की सुविधा के लिए, नया एक्सपेरिमेंटल एपीआई. इससे SubcomposeLayout को LookaheadScope में ठीक से काम करने की अनुमति मिल जाएगी. SubcomposeLayout के कुछ सबटाइप के लिए, ज़्यादा बेहतर सहायता जल्द ही उपलब्ध होगी.

एपीआई में हुए बदलाव

  • नया SubcomposeLayout एपीआई, जो लुकअहेड पर आधारित ऐनिमेशन के दौरान मेज़र/लेआउट लॉजिक को हैंडल करने के लिए, एक अतिरिक्त इंटरमीडिएट मेज़रमेंट नीति का इस्तेमाल करता है. (I017d3)

वर्शन 1.5.0-alpha01

22 मार्च, 2023

androidx.compose.animation:animation-*:1.5.0-alpha01 रिलीज़ हो गया है. वर्शन 1.5.0-alpha01 में ये बदलाव शामिल हैं.

एपीआई में हुए बदलाव

  • AnimatedContent एपीआई अब स्टेबल हैं. AnimatedContentScope का नाम बदलकर AnimatedContentTransitionScope कर दिया गया है. scaleIn और scaleOut अब स्टेबल एपीआई हैं. (Iaf54e)

वर्शन 1.4

वर्शन 1.4.3

3 मई, 2023

androidx.compose.animation:animation:1.4.3, androidx.compose.animation:animation-core:1.4.3, और androidx.compose.animation:animation-graphics:1.4.3 में कोई बदलाव नहीं किया गया है. सिर्फ़ वर्शन को अपडेट किया गया है.

वर्शन 1.4.2

19 अप्रैल, 2023

androidx.compose.animation:animation:1.4.2, androidx.compose.animation:animation-core:1.4.2, और androidx.compose.animation:animation-graphics:1.4.2 को बिना किसी बदलाव के रिलीज़ किया गया है. वर्शन 1.4.2 में ये बदलाव शामिल हैं.

वर्शन 1.4.1

5 अप्रैल, 2023

androidx.compose.animation:animation:1.4.1, androidx.compose.animation:animation-core:1.4.1, और androidx.compose.animation:animation-graphics:1.4.1 को बिना किसी बदलाव के रिलीज़ किया गया है. वर्शन 1.4.1 में ये बदलाव शामिल हैं.

वर्शन 1.4.0

22 मार्च, 2023

androidx.compose.animation:animation:1.4.0, androidx.compose.animation:animation-core:1.4.0, और androidx.compose.animation:animation-graphics:1.4.0 रिलीज़ किए गए हैं. वर्शन 1.4.0 में ये बदलाव शामिल हैं.

1.3.0 के बाद हुए अहम बदलाव

  • टूलिंग लेबल, rememberInfiniteTransition और InfiniteTransition और ट्रांज़िशन (जैसे कि InfiniteTransition#animateColor) पर मौजूद सभी एक्सटेंशन फ़ंक्शन के साथ काम करता है (I56ef7)

वर्शन 1.4.0-rc01

8 मार्च, 2023

androidx.compose.animation:animation:1.4.0-rc01, androidx.compose.animation:animation-core:1.4.0-rc01, और androidx.compose.animation:animation-graphics:1.4.0-rc01 को बिना किसी बदलाव के रिलीज़ किया गया है. वर्शन 1.4.0-rc01 में ये बदलाव शामिल हैं.

वर्शन 1.4.0-beta02

22 फ़रवरी, 2023

androidx.compose.animation:animation:1.4.0-beta02, androidx.compose.animation:animation-core:1.4.0-beta02, और androidx.compose.animation:animation-graphics:1.4.0-beta02 को बिना किसी बदलाव के रिलीज़ किया गया है. वर्शन 1.4.0-beta02 में ये बदलाव शामिल हैं.

वर्शन 1.4.0-beta01

8 फ़रवरी, 2023

androidx.compose.animation:animation:1.4.0-beta01, androidx.compose.animation:animation-core:1.4.0-beta01, और androidx.compose.animation:animation-graphics:1.4.0-beta01 को बिना किसी बदलाव के रिलीज़ किया गया है. वर्शन 1.4.0-beta01 में ये बदलाव शामिल हैं.

वर्शन 1.4.0-alpha05

25 जनवरी, 2023

androidx.compose.animation:animation:1.4.0-alpha05, androidx.compose.animation:animation-core:1.4.0-alpha05, और androidx.compose.animation:animation-graphics:1.4.0-alpha05 रिलीज़ किए गए हैं. वर्शन 1.4.0-alpha05 में ये बदलाव शामिल हैं.

बदलाव

  • पिछले ऐल्फ़ा वर्शन के बाद से, ऐनिमेशन लाइब्रेरी में कोई बदलाव नहीं किया गया है. सिर्फ़ वर्शन में बदलाव किया गया है

वर्शन 1.4.0-alpha04

11 जनवरी, 2023

androidx.compose.animation:animation:1.4.0-alpha04, androidx.compose.animation:animation-core:1.4.0-alpha04, और androidx.compose.animation:animation-graphics:1.4.0-alpha04 रिलीज़ किए गए हैं. वर्शन 1.4.0-alpha04 में ये बदलाव शामिल हैं.

नई सुविधाएं

  • टूलिंग लेबल, rememberInfiniteTransition और InfiniteTransition और Transition पर मौजूद सभी एक्सटेंशन फ़ंक्शन (जैसे, InfiniteTransition#animateColor) में काम करता है (I56ef7)

एपीआई में हुए बदलाव

  • InfiniteTransition#TransitionAnimationState और InfiniteTransition#animations एपीआई अब सार्वजनिक तौर पर उपलब्ध हैं. (I36682)

वर्शन 1.4.0-alpha03

7 दिसंबर, 2022

androidx.compose.animation:animation:1.4.0-alpha03, androidx.compose.animation:animation-core:1.4.0-alpha03, और androidx.compose.animation:animation-graphics:1.4.0-alpha03 रिलीज़ किए गए हैं. वर्शन 1.4.0-alpha03 में ये बदलाव शामिल हैं.

एपीआई में हुए बदलाव

  • Compose नियम का इस्तेमाल करके की जाने वाली यूआई जांचों में, withFrameNanos कॉलबैक के दौरान फिर से शुरू किए गए कंटीन्यूएशन तब तक डिस्पैच नहीं किए जाएंगे, जब तक सभी फ़्रेम कॉलबैक पूरे नहीं हो जाते. ऐसा सामान्य तौर पर कंपोज़ करने के तरीके में भी होता है. हालांकि, पुरानी सुविधा पर निर्भर रहने वाले टेस्ट फ़ेल हो सकते हैं. इससे सिर्फ़ उस कोड पर असर पड़ेगा जो सीधे तौर पर withFrameNanos या withFrameMillis को कॉल करता है. साथ ही, इसमें उन फ़ंक्शन को पास किए गए कॉलबैक के बाहर का लॉजिक होता है जिसे कॉलबैक के अंदर ले जाने की ज़रूरत पड़ सकती है. उदाहरणों के लिए, इस सीएल में ऐनिमेशन टेस्ट में किए गए बदलाव देखें.
  • TestMonotonicFrameClock कंस्ट्रक्टर और फ़ैक्ट्री फ़ंक्शन में, onPerformTraversals: (Long) -> Unit पैरामीटर जोड़ा गया है. इससे withFrameNanos कॉलबैक के बाद और कॉलर की को-रूटीन फिर से शुरू होने से पहले कोड चलाया जा सकता है. (Idb413, b/254115946, b/222093277, b/255802670)
  • टूलिंग लेबल (Iebe2d) के लिए, AnimatedContent में नया पैरामीटर

वर्शन 1.4.0-alpha02

9 नवंबर, 2022

androidx.compose.animation:animation:1.4.0-alpha02, androidx.compose.animation:animation-core:1.4.0-alpha02, और androidx.compose.animation:animation-graphics:1.4.0-alpha02 रिलीज़ किए गए हैं. वर्शन 1.4.0-alpha02 में ये बदलाव शामिल हैं.

एपीआई में हुए बदलाव

  • ToolingState जोड़ें, ताकि टूलिंग, कंपोज़ेबल की इंटरनल स्थितियों को बदल सके (Ie6614)

वर्शन 1.4.0-alpha01

24 अक्टूबर, 2022

androidx.compose.animation:animation:1.4.0-alpha01, androidx.compose.animation:animation-core:1.4.0-alpha01, और androidx.compose.animation:animation-graphics:1.4.0-alpha01 रिलीज़ किए गए हैं. वर्शन 1.4.0-alpha01 में ये बदलाव शामिल हैं.

गड़बड़ियां ठीक की गईं

  • AnimatedContent में, इंटरप्ट करने वाले गलत ऐनिमेशन को ठीक किया गया (b/238662479)

वर्शन 1.3

वर्शन 1.3.3

11 जनवरी, 2023

androidx.compose.animation:animation:1.3.3, androidx.compose.animation:animation-core:1.3.3, और androidx.compose.animation:animation-graphics:1.3.3 रिलीज़ किए गए हैं. वर्शन 1.3.3 में ये बदलाव शामिल हैं.

  • 1.3.2 के बाद से कोई बदलाव नहीं हुआ है.

वर्शन 1.3.2

7 दिसंबर, 2022

androidx.compose.animation:animation:1.3.2, androidx.compose.animation:animation-core:1.3.2, और androidx.compose.animation:animation-graphics:1.3.2 रिलीज़ किए गए हैं. वर्शन 1.3.2 में ये बदलाव शामिल हैं.

गड़बड़ियां ठीक की गईं

  • androidx.compose.ui 1.3.2 के साथ काम करने के लिए अपडेट किया गया

वर्शन 1.3.1

9 नवंबर, 2022

androidx.compose.animation:animation:1.3.1, androidx.compose.animation:animation-core:1.3.1, और androidx.compose.animation:animation-graphics:1.3.1 रिलीज़ किए गए हैं. वर्शन 1.3.1 में ये बदलाव शामिल हैं.

वर्शन 1.3.0

24 अक्टूबर, 2022

androidx.compose.animation:animation:1.3.0, androidx.compose.animation:animation-core:1.3.0, और androidx.compose.animation:animation-graphics:1.3.0 रिलीज़ किए गए हैं. वर्शन 1.3.0 में ये बदलाव शामिल हैं.

1.2.0 के बाद हुए ज़रूरी बदलाव

  • नए ईज़िंग फ़ंक्शन का सेट अब स्थिर हो गया है

वर्शन 1.3.0-rc01

5 अक्टूबर, 2022

androidx.compose.animation:animation:1.3.0-rc01, androidx.compose.animation:animation-core:1.3.0-rc01, और androidx.compose.animation:animation-graphics:1.3.0-rc01 रिलीज़ किए गए हैं. वर्शन 1.3.0-rc01 में ये बदलाव शामिल हैं.

वर्शन 1.3.0-beta03

21 सितंबर, 2022

androidx.compose.animation:animation:1.3.0-beta03, androidx.compose.animation:animation-core:1.3.0-beta03, और androidx.compose.animation:animation-graphics:1.3.0-beta03 रिलीज़ किए गए हैं. वर्शन 1.3.0-beta03 में ये बदलाव शामिल हैं.

  • 1.3.0-beta02 के बाद से कोई बदलाव नहीं किया गया है.

वर्शन 1.3.0-beta02

7 सितंबर, 2022

androidx.compose.animation:animation:1.3.0-beta02, androidx.compose.animation:animation-core:1.3.0-beta02, और androidx.compose.animation:animation-graphics:1.3.0-beta02 रिलीज़ किए गए हैं. वर्शन 1.3.0-beta02 में ये बदलाव शामिल हैं.

  • कंपाइलर के विकल्पों से Kotlin.experimental को हटाया गया, क्योंकि अब इसका इस्तेमाल नहीं किया जा सकता

वर्शन 1.3.0-beta01

24 अगस्त, 2022

androidx.compose.animation:animation:1.3.0-beta01, androidx.compose.animation:animation-core:1.3.0-beta01, और androidx.compose.animation:animation-graphics:1.3.0-beta01 रिलीज़ किए गए हैं. वर्शन 1.3.0-beta01 में ये बदलाव शामिल हैं.

वर्शन 1.3.0-alpha03

10 अगस्त, 2022

androidx.compose.animation:animation:1.3.0-alpha03, androidx.compose.animation:animation-core:1.3.0-alpha03, और androidx.compose.animation:animation-graphics:1.3.0-alpha03 रिलीज़ किए गए हैं. वर्शन 1.3.0-alpha03 में ये बदलाव शामिल हैं.

एपीआई में हुए बदलाव

  • टूलिंग लेबल (Iac08a) के लिए, Crossfade, animateAsState, और Animatable में नया पैरामीटर
  • atFraction फ़ंक्शन जोड़ा गया है. इसकी मदद से, मुख्य फ़्रेम को किसी तय अवधि के बजाय किसी फ़्रैक्शन पर सेट किया जा सकता है. (I20c76, b/232059455)

वर्शन 1.3.0-alpha02

27 जुलाई, 2022

androidx.compose.animation:animation:1.3.0-alpha02, androidx.compose.animation:animation-core:1.3.0-alpha02, और androidx.compose.animation:animation-graphics:1.3.0-alpha02 रिलीज़ किए गए हैं. वर्शन 1.3.0-alpha02 में ये बदलाव शामिल हैं.

वर्शन 1.3.0-alpha01

29 जून, 2022

androidx.compose.animation:animation:1.3.0-alpha01, androidx.compose.animation:animation-core:1.3.0-alpha01, और androidx.compose.animation:animation-graphics:1.3.0-alpha01 रिलीज़ किए गए हैं. वर्शन 1.3.0-alpha01 में ये बदलाव शामिल हैं.

एपीआई में हुए बदलाव

  • नया LookaheadLayout, जो मेज़र/लेआउट से पहले लुकअहेड पास की सुविधा देता है. इससे लेआउट में बदलाव होने पर, उसकी पहले से गणना की जा सकती है. साथ ही, पोस्ट-लुकअहेड मेज़रमेंट/लेआउट को पहले से कैलकुलेट किए गए साइज़/जगह का इस्तेमाल करने की अनुमति मिलती है, ताकि साइज़ और जगहों को टारगेट की ओर ऐनिमेशन किया जा सके. SubcomposeLayouts फ़िलहाल काम नहीं करते हैं. हालांकि, आने वाले समय में इसकी सुविधा उपलब्ध होगी. (I477f5)

वर्शन 1.2

वर्शन 1.2.1

10 अगस्त, 2022

androidx.compose.animation:animation:1.2.1, androidx.compose.animation:animation-core:1.2.1, और androidx.compose.animation:animation-graphics:1.2.1 रिलीज़ किए गए हैं. वर्शन 1.2.1 में ये बदलाव शामिल हैं.

वर्शन 1.2.0

27 जुलाई, 2022

androidx.compose.animation:animation:1.2.0, androidx.compose.animation:animation-core:1.2.0, और androidx.compose.animation:animation-graphics:1.2.0 रिलीज़ किए गए हैं. वर्शन 1.2.0 में ये बदलाव शामिल हैं.

1.1.0 के बाद हुए अहम बदलाव

  • Compose ऐनिमेशन में अब डेवलपर विकल्पों में मौजूद 'ऐनिमेटर अवधि स्केल' सेटिंग काम करती है.
  • एक्सपेरिमेंट के तौर पर, ईज़िंग कर्व के कई नए विकल्प उपलब्ध हैं.
  • AnimatedImageVector अब repeatCount और repeatMode के साथ काम करता है

वर्शन 1.2.0-rc03

29 जून, 2022

androidx.compose.animation:animation:1.2.0-rc03, androidx.compose.animation:animation-core:1.2.0-rc03, और androidx.compose.animation:animation-graphics:1.2.0-rc03 रिलीज़ किए गए हैं. वर्शन 1.2.0-rc03 में ये बदलाव शामिल हैं.

  • 1.2.0-rc02 के बाद से कोई बदलाव नहीं किया गया है.

वर्शन 1.2.0-rc02

22 जून, 2022

androidx.compose.animation:animation:1.2.0-rc02, androidx.compose.animation:animation-core:1.2.0-rc02, और androidx.compose.animation:animation-graphics:1.2.0-rc02 रिलीज़ किए गए हैं. वर्शन 1.2.0-rc02 में ये बदलाव शामिल हैं.

गड़बड़ियां ठीक की गईं

  • ईज़िंग फ़ंक्शन (Ied441) पर ExperimentalEasingApi एनोटेशन हटाया गया

वर्शन 1.2.0-rc01

15 जून, 2022

androidx.compose.animation:animation:1.2.0-rc01, androidx.compose.animation:animation-core:1.2.0-rc01, और androidx.compose.animation:animation-graphics:1.2.0-rc01 रिलीज़ किए गए हैं. वर्शन 1.2.0-rc01 में ये बदलाव शामिल हैं.

एपीआई में हुए बदलाव

  • Compose लाइब्रेरी में इंटरफ़ेस अब jdk8 के डिफ़ॉल्ट इंटरफ़ेस के तरीकों (I5bcf1) का इस्तेमाल करके बनाए जाते हैं

वर्शन 1.2.0-beta03

1 जून, 2022

androidx.compose.animation:animation:1.2.0-beta03, androidx.compose.animation:animation-core:1.2.0-beta03, और androidx.compose.animation:animation-graphics:1.2.0-beta03 रिलीज़ किए गए हैं. वर्शन 1.2.0-beta03 में ये बदलाव शामिल हैं.

एपीआई में हुए बदलाव

  • ऐनिमेशन के लिए, एक्सपेरिमेंट के तौर पर ईज़िंग कर्व जोड़े गए (I64a38)

वर्शन 1.2.0-beta02

18 मई, 2022

androidx.compose.animation:animation:1.2.0-beta02, androidx.compose.animation:animation-core:1.2.0-beta02, और androidx.compose.animation:animation-graphics:1.2.0-beta02 रिलीज़ किए गए हैं. वर्शन 1.2.0-beta02 में ये बदलाव शामिल हैं.

वर्शन 1.2.0-beta01

11 मई, 2022

androidx.compose.animation:animation:1.2.0-beta01, androidx.compose.animation:animation-core:1.2.0-beta01, और androidx.compose.animation:animation-graphics:1.2.0-beta01 रिलीज़ किए गए हैं. वर्शन 1.2.0-beta01 में ये बदलाव शामिल हैं.

  • यह 1.2 का पहला बीटा वर्शन है! पिछले ऐल्फ़ा वर्शन के बाद से कोई बदलाव नहीं हुआ है.

वर्शन 1.2.0-alpha08

20 अप्रैल, 2022

androidx.compose.animation:animation:1.2.0-alpha08, androidx.compose.animation:animation-core:1.2.0-alpha08, और androidx.compose.animation:animation-graphics:1.2.0-alpha08 रिलीज़ किए गए हैं. वर्शन 1.2.0-alpha08 में ये बदलाव शामिल हैं.

वर्शन 1.2.0-alpha07

6 अप्रैल, 2022

androidx.compose.animation:animation:1.2.0-alpha07, androidx.compose.animation:animation-core:1.2.0-alpha07, और androidx.compose.animation:animation-graphics:1.2.0-alpha07 रिलीज़ किए गए हैं. वर्शन 1.2.0-alpha07 में ये बदलाव शामिल हैं.

एपीआई में हुए बदलाव

  • AnimatedImageVector अब repeatCount और repeatMode के साथ काम करता है (Ia3e75, b/199304067)

वर्शन 1.2.0-alpha06

23 मार्च, 2022

androidx.compose.animation:animation:1.2.0-alpha06, androidx.compose.animation:animation-core:1.2.0-alpha06, और androidx.compose.animation:animation-graphics:1.2.0-alpha06 रिलीज़ किए गए हैं. वर्शन 1.2.0-alpha06 में ये बदलाव शामिल हैं.

एपीआई में हुए बदलाव

  • वेक्टर ड्रॉएबल को पार्स करने की सुविधा को अपडेट किया गया है. इससे, लेआउट की मौजूदा दिशा आरटीएल होने पर, VectorPainter के कॉन्टेंट को अपने-आप फ़्लिप करने की सुविधा काम करेगी. (I79cd9, b/185760237)

गड़बड़ियां ठीक की गईं

  • वेक्टर ग्राफ़िक्स एपीआई को अपडेट किया गया है, ताकि @UiComposable के बजाय सही कंपोज़ेबल एनोटेशन @VectorComposable का इस्तेमाल किया जा सके (I942bc)

वर्शन 1.2.0-alpha05

9 मार्च, 2022

androidx.compose.animation:animation:1.2.0-alpha05, androidx.compose.animation:animation-core:1.2.0-alpha05, और androidx.compose.animation:animation-graphics:1.2.0-alpha05 रिलीज़ किए गए हैं. वर्शन 1.2.0-alpha05 में ये बदलाव शामिल हैं.

एपीआई में हुए बदलाव

  • हुर्रे! Compose ऐनिमेशन अब डेवलपर विकल्पों में मौजूद 'ऐनिमेटर अवधि स्केल' सेटिंग के साथ काम करता है. (I5a4fc, b/161675988)

वर्शन 1.2.0-alpha04

23 फ़रवरी, 2022

androidx.compose.animation:animation:1.2.0-alpha04, androidx.compose.animation:animation-core:1.2.0-alpha04, और androidx.compose.animation:animation-graphics:1.2.0-alpha04 रिलीज़ किए गए हैं. वर्शन 1.2.0-alpha04 में ये बदलाव शामिल हैं.

वर्शन 1.2.0-alpha03

9 फ़रवरी, 2022

androidx.compose.animation:animation:1.2.0-alpha03, androidx.compose.animation:animation-core:1.2.0-alpha03, और androidx.compose.animation:animation-graphics:1.2.0-alpha03 रिलीज़ किए गए हैं. वर्शन 1.2.0-alpha03 में ये बदलाव शामिल हैं.

वर्शन 1.2.0-alpha02

26 जनवरी, 2022

androidx.compose.animation:animation:1.2.0-alpha02, androidx.compose.animation:animation-core:1.2.0-alpha02, और androidx.compose.animation:animation-graphics:1.2.0-alpha02 रिलीज़ किए गए हैं. वर्शन 1.2.0-alpha02 में ये बदलाव शामिल हैं.

वर्शन 1.2.0-alpha01

12 जनवरी, 2022

androidx.compose.animation:animation:1.2.0-alpha01, androidx.compose.animation:animation-core:1.2.0-alpha01, और androidx.compose.animation:animation-graphics:1.2.0-alpha01 रिलीज़ किए गए हैं. वर्शन 1.2.0-alpha01 में ये बदलाव शामिल हैं.

एपीआई में हुए बदलाव

  • <animated-vector> रिसॉर्स फ़ाइल लोड करने के लिए, animatedVectorResource के बजाय AnimatedImageVector.animatedVectorResource का इस्तेमाल करें.
    • AnimatedImageVector को रेंडर करने के लिए, AnimatedImageVector#painterFor के बजाय rememberAnimatedVectorResource का इस्तेमाल करें. (I9c300)

गड़बड़ियां ठीक की गईं

  • Animatable और AnimationResult में toString तरीके जोड़े गए. (Icd3a6)

डिपेंडेंसी से जुड़े अपडेट

  • अब Kotlin 1.6.10 पर निर्भर करता है.

वर्शन 1.1

वर्शन 1.1.1

23 फ़रवरी, 2022

androidx.compose.animation:animation:1.1.1, androidx.compose.animation:animation-core:1.1.1, और androidx.compose.animation:animation-graphics:1.1.1 रिलीज़ किए गए हैं. वर्शन 1.1.1 में ये बदलाव शामिल हैं.

गड़बड़ियां ठीक की गईं

  • NullPointerException को androidx.compose.ui.platform.RenderNodeLayer.updateDisplayList पर ठीक करें (aosp/1947059, b/206677462)
  • Android पर क्लिपबोर्ड से कॉन्टेंट पढ़ते समय, क्लिपबोर्ड में मौजूद कॉन्टेंट की वजह से ऐप्लिकेशन क्रैश होने की समस्या को ठीक किया गया है. (I06020, b/197769306)
  • LazyVerticalGrid में आरटीएल की समस्या ठीक की गई (aosp/1931080, b/207510535)

वर्शन 1.1.0

9 फ़रवरी, 2022

androidx.compose.animation:animation:1.1.0, androidx.compose.animation:animation-core:1.1.0, और androidx.compose.animation:animation-graphics:1.1.0 रिलीज़ किए गए हैं. वर्शन 1.1.0 में ये बदलाव शामिल हैं.

1.0.0 के बाद हुए अहम बदलाव

  • Android 12 के ओवरस्क्रॉल इफ़ेक्ट के लिए स्टेबल सपोर्ट
  • टच टारगेट के साइज़ में सुधार
  • ध्यान दें कि Compose 1.0 के हिसाब से, मटीरियल कॉम्पोनेंट, लेआउट स्पेस को बढ़ाएंगे, ताकि टच टारगेट साइज़ के लिए, मटीरियल सुलभता के दिशा-निर्देशों का पालन किया जा सके. उदाहरण के लिए, अगर आपने बटन का साइज़ छोटा सेट किया है, तब भी बटन का टच टारगेट कम से कम 48x48dp तक बढ़ जाएगा. इससे Compose Material, Material Design Components के साथ काम करता है. साथ ही, Views और Compose को एक साथ इस्तेमाल करने पर, एक जैसा अनुभव मिलता है. इस बदलाव से यह भी पक्का होता है कि Compose Material कॉम्पोनेंट का इस्तेमाल करके यूज़र इंटरफ़ेस (यूआई) बनाते समय, टच टारगेट की ऐक्सेसिबिलिटी से जुड़ी ज़रूरी शर्तें पूरी हों.
  • नेविगेशन रेल के लिए स्टेबल सपोर्ट
  • यह एक्सपेरिमेंट के तौर पर उपलब्ध कई एपीआई को स्टेबल वर्शन में बदलता है
  • Kotlin के नए वर्शन के लिए सहायता

वर्शन 1.1.0-rc03

26 जनवरी, 2022

androidx.compose.animation:animation:1.1.0-rc03, androidx.compose.animation:animation-core:1.1.0-rc03, और androidx.compose.animation:animation-graphics:1.1.0-rc03 रिलीज़ किए गए हैं. वर्शन 1.1.0-rc03 में ये बदलाव शामिल हैं.

गड़बड़ियां ठीक की गईं

  • Compose Material 1.1.0-rc03 के साथ काम करने के लिए अपडेट किया गया

वर्शन 1.1.0-rc01

15 दिसंबर, 2021

androidx.compose.animation:animation:1.1.0-rc01 और androidx.compose.animation:animation-core:1.1.0-rc01 रिलीज़ हो गए हैं. वर्शन 1.1.0-rc01 में ये बदलाव शामिल हैं.

एपीआई में हुए बदलाव

  • <animated-vector> रिसॉर्स फ़ाइल लोड करने के लिए, animatedVectorResource के बजाय AnimatedImageVector.animatedVectorResource का इस्तेमाल करें.
    • AnimatedImageVector को रेंडर करने के लिए, AnimatedImageVector#painterFor के बजाय rememberAnimatedVectorResource का इस्तेमाल करें. (I9c300)

वर्शन 1.1.0-beta04

1 दिसंबर, 2021

androidx.compose.animation:animation:1.1.0-beta04, androidx.compose.animation:animation-core:1.1.0-beta04, और androidx.compose.animation:animation-graphics:1.1.0-beta04 रिलीज़ किए गए हैं. वर्शन 1.1.0-beta04 में ये बदलाव शामिल हैं.

नई सुविधाएं

  • Kotlin 1.6.0 के साथ काम करने के लिए अपडेट किया गया

वर्शन 1.1.0-beta03

17 नवंबर, 2021

androidx.compose.animation:animation:1.1.0-beta03, androidx.compose.animation:animation-core:1.1.0-beta03, और androidx.compose.animation:animation-graphics:1.1.0-beta03 रिलीज़ किए गए हैं. वर्शन 1.1.0-beta03 में ये बदलाव शामिल हैं.

एपीआई में हुए बदलाव

  • प्लेसमेंट में बदलाव को मॉनिटर करने के लिए, नया मॉडिफ़ायर Modifier.onPlaced जोड़ा गया. इसलिए, प्लेसमेंट में हुए बदलाव के आधार पर, चाइल्ड मॉडिफ़ायर के ऑफ़सेट में अन्य बदलाव किए जा सकते हैं. (I558fd)
  • क्रॉसफ़ेड में contentKey के लिए नया सपोर्ट. ContentKey का इस्तेमाल, ऐनिमेशन सिस्टम यह जांचने के लिए करेगा कि कॉन्टेंट एक जैसा है या नहीं. इसलिए, अलग-अलग स्थितियों के लिए सही contentKey तय करके, स्थितियों के हिसाब से कस्टम डिफ़िंग की जा सकती है.

    ContentKey का इस्तेमाल, कॉन्टेंट को सेव और वापस लाने के लिए भी किया जाएगा. (I2e055, b/197907070)

वर्शन 1.1.0-beta02

3 नवंबर, 2021

androidx.compose.animation:animation:1.1.0-beta02, androidx.compose.animation:animation-core:1.1.0-beta02, और androidx.compose.animation:animation-graphics:1.1.0-beta02 रिलीज़ किए गए हैं. वर्शन 1.1.0-beta02 में ये बदलाव शामिल हैं.

गड़बड़ियां ठीक की गईं

  • टूलिंग के लिए नए ऐनिमेशन एपीआई. खास तौर पर, ये टूल को ट्रांज़िशन में ऐनिमेशन और उनके कॉन्फ़िगरेशन की जांच करने की अनुमति देते हैं. (I4116e)

वर्शन 1.1.0-beta01

27 अक्टूबर, 2021

androidx.compose.animation:animation:1.1.0-beta01, androidx.compose.animation:animation-core:1.1.0-beta01, और androidx.compose.animation:animation-graphics:1.1.0-beta01 रिलीज़ किए गए हैं. वर्शन 1.1.0-beta01 में ये बदलाव शामिल हैं.

एपीआई में हुए बदलाव

  • टूलिंग के लिए नए ऐनिमेशन एपीआई. खास तौर पर, ये टूल को ट्रांज़िशन में ऐनिमेशन और उनके कॉन्फ़िगरेशन की जांच करने की अनुमति देते हैं. (I4116e)

वर्शन 1.1.0-alpha06

13 अक्टूबर, 2021

androidx.compose.animation:animation:1.1.0-alpha06, androidx.compose.animation:animation-core:1.1.0-alpha06, और androidx.compose.animation:animation-graphics:1.1.0-alpha06 रिलीज़ किए गए हैं. वर्शन 1.1.0-alpha06 में ये बदलाव शामिल हैं.

वर्शन 1.1.0-alpha05

29 सितंबर, 2021

androidx.compose.animation:animation:1.1.0-alpha05, androidx.compose.animation:animation-core:1.1.0-alpha05, और androidx.compose.animation:animation-graphics:1.1.0-alpha05 रिलीज़ किए गए हैं. वर्शन 1.1.0-alpha05 में ये बदलाव शामिल हैं.

एपीआई में हुए बदलाव

  • EnterTransition, ExitTransition, और AnimatedVisibility एपीआई के कुछ वर्शन को स्टेबल बना दिया गया है. MutableTransitionState.isIdle अब एक्सपेरिमेंट के तौर पर उपलब्ध नहीं है. (I5072d)

  • बदलाव: Enter/ExitTransition फ़ैक्ट्रियों में लैम्डा को पैरामीटर की सूची में आखिरी पोज़िशन पर ले जाया गया है. (I5072d)

वर्शन 1.1.0-alpha04

15 सितंबर, 2021

androidx.compose.animation:animation:1.1.0-alpha04, androidx.compose.animation:animation-core:1.1.0-alpha04, और androidx.compose.animation:animation-graphics:1.1.0-alpha04 रिलीज़ किए गए हैं. वर्शन 1.1.0-alpha04 में ये बदलाव शामिल हैं.

वर्शन 1.1.0-alpha03

1 सितंबर, 2021

androidx.compose.animation:animation:1.1.0-alpha03, androidx.compose.animation:animation-core:1.1.0-alpha03, और androidx.compose.animation:animation-graphics:1.1.0-alpha03 रिलीज़ किए गए हैं. वर्शन 1.1.0-alpha03 में ये बदलाव शामिल हैं.

नई सुविधाएं

  • Compose 1.1.0-alpha03 को Kotlin 1.5.30 पर निर्भर रहने के लिए अपडेट किया गया. (I74545)

वर्शन 1.1.0-alpha02

18 अगस्त, 2021

androidx.compose.animation:animation:1.1.0-alpha02, androidx.compose.animation:animation-core:1.1.0-alpha02, और androidx.compose.animation:animation-graphics:1.1.0-alpha02 रिलीज़ किए गए हैं. वर्शन 1.1.0-alpha02 में ये बदलाव शामिल हैं.

एपीआई में हुए बदलाव

  • StartOffset को अब repeatable और infiniteRepeatable में इस्तेमाल किया जा सकता है. इससे ऐनिमेशन शुरू होने में देरी की जा सकती है या ऐनिमेशन शुरू होने से पहले उसे फ़ास्ट फ़ॉरवर्ड किया जा सकता है. यह स्टार्ट ऑफ़सेट दोहराया नहीं जाएगा (Ic679f, b/195079908)
  • स्केल के लिए, नया एंटर/एग्ज़िट ट्रांज़िशन. इसका इस्तेमाल, एंटर/एक्ज़िट ट्रांज़िशन के अन्य टाइप के साथ किया जा सकता है. (I372da, b/191325593)

वर्शन 1.1.0-alpha01

4 अगस्त, 2021

androidx.compose.animation:animation:1.1.0-alpha01, androidx.compose.animation:animation-core:1.1.0-alpha01, और androidx.compose.animation:animation-graphics:1.1.0-alpha01 रिलीज़ किए गए हैं. वर्शन 1.1.0-alpha01 में ये बदलाव शामिल हैं.

एपीआई में हुए बदलाव

  • AnimatedImageVector और इससे जुड़े एपीआई अब नए androidx.compose.animation:animation-graphics मॉड्यूल में हैं. (I60873)

गड़बड़ियां ठीक की गईं

  • InfiniteAnimationPolicy को :compose:ui (I5eb09, b/160602714) पर ले जाया गया

वर्शन 1.0

वर्शन 1.0.5

3 नवंबर, 2021

androidx.compose.animation:animation:1.0.5 और androidx.compose.animation:animation-core:1.0.5 रिलीज़ हो गए हैं. वर्शन 1.0.5 में ये बदलाव शामिल हैं.

गड़बड़ियां ठीक की गईं

  • derivedStateOf इंस्टेंस को ट्रैक करने के दौरान क्रैश होने की समस्या ठीक की गई. (aosp/1792247)

वर्शन 1.0.4

13 अक्टूबर, 2021

androidx.compose.animation:animation:1.0.4 और androidx.compose.animation:animation-core:1.0.4 रिलीज़ हो गए हैं. वर्शन 1.0.4 में ये बदलाव शामिल हैं.

डिपेंडेंसी से जुड़े अपडेट

  • Kotlin 1.5.31 पर निर्भर रहने के लिए अपडेट किया गया

वर्शन 1.0.3

29 सितंबर, 2021

androidx.compose.animation:animation:1.0.3 और androidx.compose.animation:animation-core:1.0.3 रिलीज़ हो गए हैं. वर्शन 1.0.3 में ये बदलाव शामिल हैं.

डिपेंडेंसी से जुड़े अपडेट

  • Kotlin 1.5.30 पर निर्भर रहने के लिए अपडेट किया गया

वर्शन 1.0.2

1 सितंबर, 2021

androidx.compose.animation:animation:1.0.2 और androidx.compose.animation:animation-core:1.0.2 रिलीज़ हो गए हैं. वर्शन 1.0.2 में ये बदलाव शामिल हैं.

Compose 1.0.2 के रिलीज़ किए गए वर्शन के साथ काम करने के लिए अपडेट किया गया. Compose 1.0.2 अब भी Kotlin 1.5.21 के साथ काम करता है.

वर्शन 1.0.1

4 अगस्त, 2021

androidx.compose.animation:animation:1.0.1 और androidx.compose.animation:animation-core:1.0.1 रिलीज़ हो गए हैं. वर्शन 1.0.1 में ये बदलाव शामिल हैं.

डिपेंडेंसी से जुड़े अपडेट

  • Kotlin 1.5.21 पर निर्भर रहने के लिए अपडेट किया गया.

वर्शन 1.0.0

28 जुलाई, 2021

androidx.compose.animation:animation:1.0.0 और androidx.compose.animation:animation-core:1.0.0 रिलीज़ हो गए हैं. वर्शन 1.0.0 में ये बदलाव शामिल हैं.

1.0.0 वर्शन की मुख्य सुविधाएं

यह Compose का पहला स्टेबल वर्शन है. ज़्यादा जानकारी के लिए, कृपया Compose रिलीज़ का आधिकारिक ब्लॉग देखें!

मौजूदा समस्याएं

  • अगर Android Studio Bumblebee Canary 4 या AGP 7.1.0-alpha04/7.1.0-alpha05 का इस्तेमाल किया जा रहा है, तो आपको यह क्रैश दिख सकता है:

      java.lang.AbstractMethodError: abstract method "void androidx.lifecycle.DefaultLifecycleObserver.onCreate(androidx.lifecycle.LifecycleOwner)"
    

    इस समस्या को ठीक करने के लिए, अपनी build.gradle फ़ाइल में minSdkVersion को कुछ समय के लिए 24 या उससे ज़्यादा पर सेट करें. इस समस्या को Android Studio Bumblebee और AGP 7.1 के अगले वर्शन में ठीक कर दिया जाएगा. (b/194289155)

वर्शन 1.0.0-rc02

14 जुलाई, 2021

androidx.compose.animation:animation:1.0.0-rc02 और androidx.compose.animation:animation-core:1.0.0-rc02 रिलीज़ हो गए हैं. वर्शन 1.0.0-rc02 में ये बदलाव शामिल हैं.

वर्शन 1.0.0-rc01

1 जुलाई, 2021

androidx.compose.animation:animation:1.0.0-rc01 और androidx.compose.animation:animation-core:1.0.0-rc01 रिलीज़ हो गए हैं. वर्शन 1.0.0-rc01 में ये बदलाव शामिल हैं.

गड़बड़ियां ठीक की गईं

  • InfiniteAnimationPolicy को androidx.compose.ui:ui में ले जाया गया (I5eb09, b/160602714)

वर्शन 1.0.0-beta09

16 जून, 2021

androidx.compose.animation:animation:1.0.0-beta09 और androidx.compose.animation:animation-core:1.0.0-beta09 रिलीज़ हो गए हैं. वर्शन 1.0.0-beta09 में ये बदलाव शामिल हैं.

एपीआई में हुए बदलाव

  • नया AnimatedContent कंपोज़ेबल. यह अपने कॉन्टेंट में बदलावों को मैनेज करता है. इसके लिए, यह ContentTransform को पसंद के मुताबिक बनाता है. ऐसा तब होता है, जब नया टारगेट कॉन्टेंट दिखता है और शुरुआती कॉन्टेंट हट जाता है. एंट्री और एग्ज़िट ट्रांज़िशन के अलग-अलग कॉम्बिनेशन का इस्तेमाल करके, स्लाइड को पसंद के मुताबिक बनाया जा सकता है. कॉन्टेंट ट्रांसफ़ॉर्म के तौर पर, AnimatedContent आने वाले कॉन्टेंट के हिसाब से अपने साइज़ को अपने-आप ऐनिमेट करता है. (I2c3df)
  • ManualFrameClock को हटा दिया गया है. अगर आपको ऐनिमेशन कंट्रोल करने हैं, तो composeTestRule.mainClock का इस्तेमाल करें. (I3c3e8, b/189951065)

प्रोफ़ाइल के नियम जोड़े गए

इस रिलीज़ में, कंपोज़ मॉड्यूल (I14ed6) में प्रोफ़ाइल के नियम जोड़े गए हैं:

  • androidx.compose.animation
  • androidx.compose.animation-core
  • androidx.compose.foundation
  • androidx.compose.foundation-layout
  • androidx.compose.material
  • androidx.compose.material-ripple
  • androidx.compose.runtime
  • androidx.compose.ui
  • androidx.compose.ui.geometry
  • androidx.compose.ui.graphics
  • androidx.compose.ui.text
  • androidx.compose.ui.text
  • androidx.compose.ui.unit
  • androidx.compose.ui.util

प्रोफ़ाइल के नियम क्या होते हैं?

  • किसी लाइब्रेरी के लिए प्रोफ़ाइल के नियम, src/main या उससे मिलती-जुलती डायरेक्ट्री में मौजूद टेक्स्ट फ़ाइल baseline-prof.txt में तय किए जाते हैं. फ़ाइल में हर लाइन के लिए एक नियम तय किया जाता है. इस मामले में, नियम एक ऐसा पैटर्न होता है जिसका इस्तेमाल लाइब्रेरी में मौजूद तरीकों या क्लास से मिलान करने के लिए किया जाता है. इन नियमों का सिंटैक्स, एआरटी प्रोफ़ाइल के ऐसे फ़ॉर्मैट का सुपरसेट होता है जिसे आसानी से पढ़ा जा सकता है. इसका इस्तेमाल adb shell profman --dump-classes-and-methods ... का इस्तेमाल करते समय किया जाता है. ये नियम, तरीकों या क्लास को टारगेट करने के लिए दो में से किसी एक फ़ॉर्म में होते हैं.

  • किसी तरीके के नियम का पैटर्न इस तरह होगा:

    <FLAGS><CLASS_DESCRIPTOR>-><METHOD_SIGNATURE>
    
  • क्लास के नियम इस पैटर्न में होंगे:

    <CLASS_DESCRIPTOR>
    
  • यहां <FLAGS>, H, S, और P में से एक या उससे ज़्यादा वर्ण हैं. इनसे यह पता चलता है कि इस तरीके को "हॉट", "स्टार्टअप" या "पोस्ट स्टार्टअप" के तौर पर फ़्लैग किया जाना चाहिए या नहीं.

  • <CLASS_DESCRIPTOR> उस क्लास का डिस्क्रिप्टर है जिससे टारगेट किया गया तरीका जुड़ा है. उदाहरण के लिए, क्लास androidx.compose.runtime.SlotTable का डिस्क्रिप्टर Landroidx/compose/runtime/SlotTable; होगा.

  • <METHOD_SIGNATURE>, मेथड का सिग्नेचर होता है. इसमें मेथड का नाम, पैरामीटर टाइप, और रिटर्न टाइप शामिल होते हैं. उदाहरण के लिए, LayoutNode पर मौजूद fun isPlaced(): Boolean तरीके का सिग्नेचर isPlaced()Z है.

  • इन पैटर्न में वाइल्डकार्ड (**, *, और ?) हो सकते हैं, ताकि एक नियम में कई तरीके या क्लास शामिल हों.

नियमों से क्या होता है?

  • जिस तरीके में H फ़्लैग होता है उससे पता चलता है कि यह "हॉट" तरीका है. इसे पहले से ही कंपाइल किया जाना चाहिए.

  • S फ़्लैग वाली किसी भी विधि का मतलब है कि इसे स्टार्टअप के समय कॉल किया जाता है. इसलिए, इसे पहले से कंपाइल किया जाना चाहिए, ताकि स्टार्टअप के समय कंपाइल करने और समझने में लगने वाले समय को बचाया जा सके.

  • जिस तरीके में P फ़्लैग होता है वह स्टार्टअप के बाद कॉल किया जाता है.

  • इस फ़ाइल में मौजूद क्लास से पता चलता है कि इसका इस्तेमाल स्टार्टअप के दौरान किया जाता है. इसलिए, इसे हीप में पहले से ही असाइन कर दिया जाना चाहिए, ताकि क्लास लोडिंग की लागत से बचा जा सके.

यह कैसे काम करता है?

  • लाइब्रेरी इन नियमों को तय कर सकती हैं. ये नियम, एएआर आर्टफ़ैक्ट में शामिल किए जाएंगे. जब इन आर्टफ़ैक्ट को शामिल करके कोई ऐप्लिकेशन बनाया जाता है, तो इन नियमों को एक साथ मर्ज कर दिया जाता है. इसके बाद, मर्ज किए गए नियमों का इस्तेमाल करके, ऐप्लिकेशन के लिए एक कॉम्पैक्ट बाइनरी एआरटी प्रोफ़ाइल बनाई जाती है. जब ऐप्लिकेशन को डिवाइसों पर इंस्टॉल किया जाता है, तब एआरटी इस प्रोफ़ाइल का इस्तेमाल कर सकता है. इससे ऐप्लिकेशन के किसी खास सबसेट को पहले से कंपाइल किया जा सकता है, ताकि ऐप्लिकेशन की परफ़ॉर्मेंस को बेहतर बनाया जा सके. खास तौर पर, पहली बार ऐप्लिकेशन चलाने पर. ध्यान दें कि इससे डीबग किए जा सकने वाले ऐप्लिकेशन पर कोई असर नहीं पड़ेगा.

वर्शन 1.0.0-beta08

2 जून, 2021

androidx.compose.animation:animation:1.0.0-beta08 और androidx.compose.animation:animation-core:1.0.0-beta08 रिलीज़ हो गए हैं. वर्शन 1.0.0-beta08 में ये बदलाव शामिल हैं.

गड़बड़ियां ठीक की गईं

  • अब detectDragGesures, detectVerticalGestures, और detectHorizontalGestures, अपने-आप जगह बदलने की सुविधा का इस्तेमाल करेंगे. इसलिए, onDrag कॉलबैक (I42fc4, b/185096350, b/187320697) में change.consumePositionChange को कॉल करने की ज़रूरत नहीं है
  • Modifier.onGloballyPositioned() को बदलकर, इस मॉडिफ़ायर के कोऑर्डिनेट को मॉडिफ़ायर चेन में रिपोर्ट करने के लिए इस्तेमाल किया गया. इससे सभी मॉडिफ़ायर लागू करने के बाद, लेआउट के कोऑर्डिनेट रिपोर्ट नहीं किए जाते. इसका मतलब है कि अब मॉडिफ़ायर के क्रम से यह तय होगा कि कौनसे कोऑर्डिनेट रिपोर्ट किए जाएंगे. (Ieb67d, b/177926591)

वर्शन 1.0.0-beta07

18 मई, 2021

androidx.compose.animation:animation:1.0.0-beta07 और androidx.compose.animation:animation-core:1.0.0-beta07 रिलीज़ हो गए हैं. वर्शन 1.0.0-beta07 में ये बदलाव शामिल हैं.

एपीआई में हुए बदलाव

  • नया AnimatedVisibility एपीआई, जो MutableTransitionState में दिखने की स्थिति तय करने की सुविधा देता है. इससे, currentState और isIdle के ज़रिए, AnimatedVisibility से बाहर की ऐनिमेशन स्थितियों को भी देखा जा सकता है.
    • Transition में बच्चे के नए ट्रांज़िशन के लिए सहायता
    • AnimationScope.transition का इस्तेमाल करके, AnimatedVisibility में कस्टम एग्ज़िट/एंटर ट्रांज़िशन ऐनिमेशन की सुविधा जोड़ी गई
    • AnimatedVisibility के सभी बच्चों के लिए, नया animateEnterExit मॉडिफ़ायर ऐक्सेस किया जा सकता है
    • AnimatedVisibility API को बंद कर दिया गया है. ये एपीआई, initiallyVisible पैरामीटर का इस्तेमाल करते हैं (I702f3)

वर्शन 1.0.0-beta06

5 मई, 2021

androidx.compose.animation:animation:1.0.0-beta06 और androidx.compose.animation:animation-core:1.0.0-beta06 रिलीज़ हो गए हैं. वर्शन 1.0.0-beta06 में ये बदलाव शामिल हैं.

वर्शन 1.0.0-beta05

21 अप्रैल, 2021

androidx.compose.animation:animation:1.0.0-beta05 और androidx.compose.animation:animation-core:1.0.0-beta05 रिलीज़ हो गए हैं. वर्शन 1.0.0-beta05 में ये बदलाव शामिल हैं.

गड़बड़ियां ठीक की गईं

  • ui-test-manifest और ui-tooling-data की AndroidManifest फ़ाइलें अब Android 12 के साथ काम करती हैं (I6f9de, b/184718994)

वर्शन 1.0.0-beta04

7 अप्रैल, 2021

androidx.compose.animation:animation:1.0.0-beta04 और androidx.compose.animation:animation-core:1.0.0-beta04 रिलीज़ हो गए हैं. वर्शन 1.0.0-beta04 में ये बदलाव शामिल हैं.

एपीआई में हुए बदलाव

  • RowScope, ColumnScope, BoxScope, BoxWithConstraintsScope के सार्वजनिक इंस्टेंस हटा दिए गए हैं. (I4e83e, b/181869067)

वर्शन 1.0.0-beta03

24 मार्च, 2021

androidx.compose.animation:animation:1.0.0-beta03 और androidx.compose.animation:animation-core:1.0.0-beta03 रिलीज़ हो गए हैं. वर्शन 1.0.0-beta03 में ये बदलाव शामिल हैं.

वर्शन 1.0.0-beta02

10 मार्च, 2021

androidx.compose.animation:animation:1.0.0-beta02 और androidx.compose.animation:animation-core:1.0.0-beta02 रिलीज़ हो गए हैं. वर्शन 1.0.0-beta02 में ये बदलाव शामिल हैं.

गड़बड़ियां ठीक की गईं

  • एक्सपेरिमेंट के तौर पर उपलब्ध एपीआई के सार्वजनिक इस्तेमाल पर पाबंदियां लागू करें (I6aa29, b/174531520)

वर्शन 1.0.0-beta01

24 फ़रवरी, 2021

androidx.compose.animation:animation:1.0.0-beta01 और androidx.compose.animation:animation-core:1.0.0-beta01 रिलीज़ हो गए हैं. वर्शन 1.0.0-beta01 में ये बदलाव शामिल हैं.

यह Compose 1.0.0 Beta का पहला वर्शन है.

एपीआई में हुए बदलाव

  • InteractionState को [Mutable]InteractionSource से बदल दिया गया है
    • इंटरफ़ेस, इंटरैक्शन इवेंट को इकट्ठा करने या उन्हें ट्रिगर करने के लिए ज़िम्मेदार होते हैं.
    • Button और Modifier.clickable() जैसे कॉम्पोनेंट को interactionState = remember { InteractionState() } पास करने के बजाय, interactionSource = remember { MutableInteractionSource() } का इस्तेमाल करें.
    • इसके बजाय: Interaction.Pressed in interactionState इसके बजाय, आपको InteractionSource पर एक्सटेंशन फ़ंक्शन का इस्तेमाल करना चाहिए. जैसे, InteractionSource.collectIsPressedAsState().
    • इस्तेमाल के जटिल उदाहरणों के लिए, InteractionSource.interactions का इस्तेमाल करके इंटरैक्शन की स्ट्रीम को देखा जा सकता है. ज़्यादा जानकारी के लिए, InteractionSource का दस्तावेज़ और सैंपल देखें.
    • (I85965, b/152525426, b/171913923, b/171710801, b/174852378)
  • smoothScrollBy और scrollBy तरीकों के पैकेज को androidx.compose.foundation.gestures.* (I3f7c1, b/175294473) में बदला गया
  • साइज़ मॉडिफ़ायर के नाम बदल दिए गए हैं. Modifier.width/height/size का नाम बदलकर requiredWidth/requiredHeight/requiredSize कर दिया गया है. Modifier.preferredWidth/preferredHeight/preferredSize का नाम बदलकर width/height/size कर दिया गया है. (I5b414)
  • ओरिएंटेशन को फ़ाउंडेशन पैकेज में ले जाया गया है. VelocirtTracker को ui.gesture से ui.input.pointer में ले जाया गया. (Iff4a8, b/175294473)
  • AnimationClockObservable और इसकी सबक्लास हटा दी गई हैं. AnimatedFloat को हटा दिया गया है. (Icde52, b/177457083)
  • Modifier.draggable अब एक सामान्य लैम्ब्डा के बजाय DraggableState स्वीकार करता है. rememberDraggableState { delta -> } की मदद से, पहले जैसा व्यवहार पाने के लिए स्टेट बनाई जा सकती है (Ica70f, b/175294473)
  • animate, animatedValue, और AnimatedValue API हटा दिए गए हैं (If27bc, b/177457083)
  • AnimationEndReason.Interrupted को हटा दिया गया है. अगर ऐनिमेशन में रुकावट आती है, तो CancellationException थ्रो किया जाएगा. (I2cbbc, b/179695417)
  • TargetAnimation API को हटा दिया गया है. (If47d1, b/177457083)

वर्शन 1.0.0-alpha12

10 फ़रवरी, 2021

androidx.compose.animation:animation:1.0.0-alpha12 और androidx.compose.animation:animation-core:1.0.0-alpha12 रिलीज़ हो गए हैं. वर्शन 1.0.0-alpha12 में ये बदलाव शामिल हैं.

एपीआई में हुए बदलाव

  • Modifier.pointerInput को अब याद रखने वाली कुंजियों की ज़रूरत होती है. इससे यह पता चलता है कि नई डिपेंडेंसी के लिए, पॉइंटर इनपुट का पता लगाने वाली कोराउटीन को कब रीस्टार्ट करना चाहिए. (I849cd)
  • Bounds का नाम बदलकर DpRect (I4b32a) कर दिया गया है
  • ऐनिमेशन सिस्टम में, AnimationSpec के लिए पैरामीटर का नाम animationSpec कर दिया गया है. साथ ही, Enter/ExitTransition को भी सीमित करें, ताकि वह FiniteAnimationSpec को स्वीकार कर सके. (Ie47c5, b/177457083)
  • Animatable.snapTo और Animatable.stop अब सस्पेंड फ़ंक्शन हैं (If4288)
  • जिस तरह हमने पहले state { 0 } कंपोज़ेबल को हटाया था और अब remember { mutableStateOf(0) } के इस्तेमाल को बढ़ावा दे रहे हैं उसी तरह हम savedInstanceState { 0 } कंपोज़ेबल को हटाने जा रहे हैं. आपको rememberSaveable { mutableStateOf(0) } का इस्तेमाल करना चाहिए. अगर MutableState में इस्तेमाल किया गया टाइप, बंडल में सेव किया जा सकता है, तो यह अपने-आप सेव और रीस्टोर हो जाएगा. अगर पहले कस्टम सेवर ऑब्जेक्ट पास किया जा रहा था, तो अब आपको rememberSaveable के नए ओवरलोड का इस्तेमाल करना होगा. इसमें stateSaver पैरामीटर होता है. इसका इस्तेमाल इस तरह किया जाएगा: val holder = rememberSaveable(stateSaver = HolderSaver) { mutableStateOf(Holder(0)) } (Ib4c26, b/177338004)
  • Crossfade के तरीके के सिग्नेचर को अपडेट किया गया है, ताकि यह ऐनिमेशन सिस्टम के बाकी हिस्सों के साथ ज़्यादा मेल खाए. (Ib05ed, b/177457083)
  • rememberSavedInstanceState() का नाम बदलकर rememberSaveable() कर दिया गया है. साथ ही, इसे androidx.compose.runtime.saveable पैकेज में ले जाया गया है. (I1366e, b/177338004)
  • RestorableStateHolder का नाम बदलकर SaveableStateHolder कर दिया गया है. साथ ही, इसे androidx.compose.runtime.saveable पैकेज में ले जाया गया है. इनर मेथड RestorableStateProvider का नाम बदलकर SaveableStateProvider कर दिया गया है. जेनेरिक टाइप को हटा दिया गया है, ताकि आप सिर्फ़ Any को कुंजी के तौर पर पास कर सकें. अब एक्सपेरिमेंटल एनोटेशन की ज़रूरत नहीं है. (I0902e, b/174598702)
  • Modifier.animateContentSize एपीआई को अपडेट किया गया है, ताकि यह ऐनिमेशन सिस्टम के बाकी हिस्सों के साथ काम कर सके. (I0bf75, b/177457083)
  • AnimatedValue/Float अब सेवा में नहीं है. इसके बजाय, कृपया Animatable का इस्तेमाल करें. (I71345, b/177457083)
  • tapGestureFilter, doubleTapGestureFilter, longPressGestureFilter, और pressIndicaitonGestureFilter अब काम नहीं करते हैं. इसके बजाय, Modifier.clickable या Modifier.pointerInput के साथ detectTapGestures फ़ंक्शन का इस्तेमाल करें. (I6baf9, b/175294473)
  • InfiniteAnimationPolicy को-रूटीन कॉन्टेक्स्ट एलिमेंट जोड़ा गया है. इसका इस्तेमाल, लगातार चलने वाले ऐनिमेशन में किया जाएगा. डिफ़ॉल्ट रूप से कोई नीति इंस्टॉल नहीं की जाती. हालांकि, ComposeTestRule के साथ टेस्ट चलाने पर ऐसा होता है. (I50ec4, b/151940543)
  • डिस्ट्रक्चरिंग और copy() तरीकों को उन क्लास से हटा दिया गया है जहां इनका इस्तेमाल बहुत कम किया जाता था. (I26702, b/178659281)
  • ऐनिमेशन में चलने का समय अब नैनोसेकंड (If776a) में बदल गया है
  • compose:runtime-dispatch आर्टफ़ैक्ट अब काम नहीं करता. MonotonicFrameClock को अब compose:runtime में देखा जा सकता है. साथ ही, AndroidUiDispatcher को compose:ui में देखा जा सकता है. (Ib5c36)
  • Animation.isInfinite और VectorizedAnimationSpec.isInfinite जोड़े गए हैं. इनसे यह पता चलता है कि ऐनिमेशन हमेशा चलता रहेगा या नहीं. इसका इस्तेमाल ऐनिमेशन लागू करने के लिए किया जा सकता है, ताकि ऐसे ऐनिमेशन को खास तरीके से हैंडल किया जा सके. उदाहरण के लिए, "time remaining" का खास मैसेज दिखाया जा सकता है. इसके अलावा, टेस्ट के दौरान ऐनिमेशन को रद्द किया जा सकता है, ताकि उपयोगकर्ता को हमेशा के लिए इंतज़ार न करना पड़े. (Iebb05, b/151940543)
  • ऐनिमेशन के समय के टाइप के तौर पर, Uptime के बजाय Long का इस्तेमाल करें (Ie3aa7, b/177420019)

वर्शन 1.0.0-alpha11

28 जनवरी, 2021

androidx.compose.animation:animation:1.0.0-alpha11 और androidx.compose.animation:animation-core:1.0.0-alpha11 रिलीज़ हो गए हैं. वर्शन 1.0.0-alpha11 में ये बदलाव शामिल हैं.

एपीआई में हुए बदलाव

  • TransitionDefinition पर आधारित ट्रांज़िशन बंद कर दिया गया है (I0ac57)
  • टूल (I619fb) में ट्रांज़िशन और चाइल्ड ऐनिमेशन दिखाने के लिए, एक लेबल फ़ील्ड जोड़ा गया है
  • animateAsState को अब animateFooAsState कर दिया गया है. यहां Foo, ऐनिमेट किए जा रहे वैरिएबल का टाइप है. जैसे, फ़्लोट, डीपी, ऑफ़सेट वगैरह (Ie7e25)
  • नया InfiniteTransition, जो किसी भी संख्या में चाइल्ड ऐनिमेशन चलाता है. (I1da81)
  • यह फ़ंक्शन, Material के स्टेटफ़ुल पैरामीटर इंटरफ़ेस में बदलाव करता है, ताकि उनमें @Composable फ़ंक्शन शामिल किए जा सकें. ये फ़ंक्शन, State<T> वैल्यू दिखाते हैं. Animatable.asState() को जोड़ा गया है, ताकि Animatable को State में आसानी से बदला जा सके. यह Animatable पर animateElevation को suspend एक्सटेंशन के तौर पर भी बदलता है. (If613c)

गड़बड़ियां ठीक की गईं

  • SideEffect और DisposableEffect API (If760e) के पक्ष में, onCommit, onDispose, और onActive को बंद कर दिया गया है
  • updateTransition में Initial State का इस्तेमाल किया जा सकता है (Ifd51d)
  • इमेज और आइकॉन में, कॉन्टेंट का ब्यौरा देने वाला पैरामीटर जोड़ा गया है. इसका इस्तेमाल, सुलभता सेवाओं (I2ac4c) को जानकारी देने के लिए किया जाता है
  • invalidate और compositionReference() को अब बंद कर दिया गया है. इनके बजाय, currentRecomposeScope और rememberCompositionReference का इस्तेमाल करें. (I583a8)
  • अवधि और अपटाइम को लंबे मिलीसेकंड से बदल दिया जाएगा. साथ ही, यह चरण उन क्लास पर पॉइंटर इनपुट की निर्भरता को हटा देता है. (Ia33b2, b/175142755, b/177420019)
  • अब क्लिक किए जा सकने वाले, टॉगल किए जा सकने वाले, और चुने जा सकने वाले एलिमेंट को कंपोज़िशन के बाहर बनाया जा सकता है (I0a130, b/172938345, b/175294473)
  • ईज़िंग को फ़ंक्शनल इंटरफ़ेस (Ib14e5) में बदल दिया गया है
  • LazyColumn/LazyRow/LazyVerticalGrid के स्कोप के लिए नई items(count: Int) फ़ैक्ट्री मेथड. items(items: List) और itemsIndexed(items: List) अब एक्सटेंशन फ़ंक्शन हैं. इसलिए, इनका इस्तेमाल करते समय आपको इन्हें मैन्युअल तरीके से इंपोर्ट करना होगा. ऐरे के लिए नए एक्सटेंशन ओवरलोड: items(items: ऐरे) और itemsIndexed(ऐरे) (I803fc, b/175562574)
  • टेस्टिंग में TestCoroutineDispatcher का इस्तेमाल करें (I532b6)
  • PointerInputData को हटा दिया गया है. साथ ही, PointerInputChange में बदलाव किया गया है, ताकि इसमें PointerInputData के सभी फ़ील्ड शामिल किए जा सकें. PointerInputEvent और PointerInputEventData को इंटरनल बनाया गया है, क्योंकि इनका इस्तेमाल किसी भी सार्वजनिक एपीआई में नहीं किया जाता. (Ifff97, b/175142755)

वर्शन 1.0.0-alpha10

13 जनवरी, 2021

androidx.compose.animation:animation:1.0.0-alpha10 और androidx.compose.animation:animation-core:1.0.0-alpha10 रिलीज़ हो गए हैं. वर्शन 1.0.0-alpha10 में ये बदलाव शामिल हैं.

एपीआई में हुए बदलाव

  • वेलोसिटी में बदलाव करके, कॉम्पोनेंट के हिस्सों और गणितीय ऑपरेशन को शामिल किया गया है. (Ib0447)
  • @ExperimentalTesting का नाम बदलकर @ExperimentalTestApi कर दिया गया है, ताकि यह इसी तरह के एक्सपेरिमेंटल एपीआई एनोटेशन (Ia4502, b/171464963) के साथ काम कर सके
  • Position का नाम बदलकर DpOffset कर दिया गया है और getDistance() को हटा दिया गया है (Ib2dfd)
  • Any.identityHashCode() पब्लिक एपीआई (I025d7) हटाया गया

गड़बड़ियां ठीक की गईं

  • कोरूटीन पर आधारित नया एपीआई Animatable, जो यह पक्का करता है कि इसके ऐनिमेशन एक-दूसरे से अलग हों. मल्टी-डाइमेंशनल डेके ऐनिमेशन के लिए, नया DecayAnimationSpec (I820f2, b/168014930)
  • animate() को अब animateAsState() से बदल दिया गया है. यह T के बजाय State<T> दिखाता है. इससे बेहतर परफ़ॉर्मेंस मिलती है, क्योंकि अमान्य होने के दायरे को उस जगह तक सीमित किया जा सकता है जहां राज्य की वैल्यू पढ़ी जाती है. (Ib179e)

वर्शन 1.0.0-alpha09

16 दिसंबर, 2020

androidx.compose.animation:animation:1.0.0-alpha09 और androidx.compose.animation:animation-core:1.0.0-alpha09 रिलीज़ हो गए हैं. वर्शन 1.0.0-alpha09 में ये बदलाव शामिल हैं.

एपीआई में हुए बदलाव

  • Dp.VectorConverter, Position.VectorConverter वगैरह को animation-core में ले जाया गया है. साथ ही, पुराने VectorConveters को बंद कर दिया गया है (If0c4b)
  • ट्रांज़िशन एपीआई का एक नया सेट लॉन्च किया गया है. इसे इस्तेमाल करना पहले से ज़्यादा आसान है. साथ ही, इसमें डाइनैमिक तरीके से जोड़े गए ऐनिमेशन और डाइनैमिक तरीके से कैलकुलेट किए गए ऐनिमेशन टारगेट की सुविधा भी है. इन एपीआई को एक्सपेरिमेंट के तौर पर मार्क किया गया है, ताकि इन्हें TransitionDefinition पर आधारित एपीआई से आसानी से अलग किया जा सके. (Ia7fe3)

गड़बड़ियां ठीक की गईं

  • ऑफ़सेट मॉडिफ़ायर में लैम्ब्डा अब फ़्लोट के बजाय IntOffset दिखाता है. (Ic9ee5, b/174137212, b/174146755)
  • LazyColumnFor, LazyRowFor, LazyColumnForIndexed, और LazyRowForIndexed को बंद कर दिया गया है. इसके बजाय, LazyColumn और LazyRow का इस्तेमाल करें (I5b48c)
  • पॉइंटर इनपुट एपीआई को निलंबित करने के लिए, HandlePointerInputScope का नाम बदलकर AwaitPointerEventScope और handlePointerInput() का नाम बदलकर awaitPointerEventScope() कर दिया गया है. (Idf0a1, b/175142755)
  • InfiniteRepeatableSpec बनाने के लिए, नया infiniteRepeatable फ़ंक्शन (I668e5)
  • ExperimentalPointerInput एनोटेशन (Ia7a24) हटाया गया

वर्शन 1.0.0-alpha08

2 दिसंबर, 2020

androidx.compose.animation:animation:1.0.0-alpha08 और androidx.compose.animation:animation-core:1.0.0-alpha08 रिलीज़ हो गए हैं. वर्शन 1.0.0-alpha08 में ये बदलाव शामिल हैं.

एपीआई में हुए बदलाव

  • कंपोज़ेबल लैम्डा पैरामीटर के नाम और पोज़िशन के लिए, लिंट चेक जोड़ा गया है. इससे Compose के दिशा-निर्देशों के मुताबिक, एक जैसा कोड लिखने में मदद मिलेगी. इसके अलावा, कुछ एपीआई को माइग्रेट किया गया है. इनमें से कुछ के ट्रेलिंग लैम्डा के लिए children का इस्तेमाल किया गया था. इन्हें content में माइग्रेट किया गया है. यह बदलाव, लिंट चेक और दिशा-निर्देशों के मुताबिक किया गया है. (Iec48e)
  • पहले बंद किए गए एपीआई हटा दिए गए हैं:
    • Modifier.onPositioned को हटा दिया गया है. Modifier.onGloballyPositioned का इस्तेमाल करें.
    • Modifier.onDraw को हटा दिया गया है. Modifier.onDrawBehind का इस्तेमाल करें.
    • Modifier.plus को हटा दिया गया है. Modifier.then का इस्तेमाल करें.
    • Color.Unset को हटा दिया गया है. Color.Unspecified का इस्तेमाल करें.
    • PxBounds क्लास को हटा दिया गया है. इसके बजाय, Rect का इस्तेमाल करें.
    • (Ie9d02, b/172562222)
  • TestAnimationClock को MonotonicFrameClock से कंट्रोल करने के लिए, कुछ समय के लिए विकल्प जोड़ा गया (I1403b, b/173402197)

गड़बड़ियां ठीक की गईं

  • Modifier.drawLayer का नाम बदलकर Modifier.graphicsLayer कर दिया गया है साथ ही, एपीआई काउंसिल के सुझाव के मुताबिक, इससे जुड़ी क्लास को भी GraphicsLayer में अपडेट कर दिया गया है. (I0bd29, b/173834241)
  • drawLayer के लिए, Modifier.scale/rotate API जोड़े गए हैं.
    • Modifier.drawOpacity का नाम बदलकर Modifier.alpha कर दिया गया है
    • Modifier.drawShadow का नाम बदलकर Modifier.shadow कर दिया गया है (I264ca, b/173208140)
  • PointerInputData के अपटाइम और पोजीशन फ़ील्ड को नॉन-नलेबल बनाया गया. (Id468a)
  • offsetPx मॉडिफ़ायर का नाम बदलकर offset कर दिया गया है. अब ये State के बजाय लैंबडा पैरामीटर ले रहे हैं. (Ic3021, b/173594846)
  • कोरूटीन में ऐनिमेशन चलाने के लिए नए एपीआई (Ied662)
  • Ambient सफ़िक्स वाले, बंद किए गए ऐंबिएंट के नाम बदले गए हैं. साथ ही, उन्हें ऐंबिएंट से शुरू होने वाली नई प्रॉपर्टी से बदल दिया गया है. इसके लिए, अन्य ऐंबिएंट और Compose API के दिशा-निर्देशों का पालन किया गया है. (I33440)
  • जांच में समय को कंट्रोल करने की सुविधा (TestAnimationClock और इसके इस्तेमाल) अब एक्सपेरिमेंटल (I6ef86, b/171378521) है
  • ui-test मॉड्यूल और उसके स्टब (I3a7cb) हटाएं
  • RestorableStateHolder.withRestorableState फ़ंक्शन का नाम बदलकर RestorableStateProvider कर दिया गया है (I66640)
  • अलाइनमेंट इंटरफ़ेस को अपडेट किया गया है और अब यह काम कर रहा है. (I46a07, b/172311734)

वर्शन 1.0.0-alpha07

11 नवंबर, 2020

androidx.compose.animation:animation:1.0.0-alpha07 और androidx.compose.animation:animation-core:1.0.0-alpha07 रिलीज़ हो गए हैं. वर्शन 1.0.0-alpha07 में ये बदलाव शामिल हैं.

गड़बड़ियां ठीक की गईं

  • AmbientTextStyle, ProvideTextStyle, और AmbientContentColor अब काम नहीं करते हैं. इसके बजाय, Material लाइब्रेरी में उपलब्ध नए वर्शन का इस्तेमाल करें. Material डिज़ाइन के सिद्धांतों का पालन न करने वाले ऐप्लिकेशन के लिए, आपको थीमिंग के लिए अपने हिसाब से डिज़ाइन सिस्टम बनाना चाहिए. इसका इस्तेमाल आपके कॉम्पोनेंट में किया जा सकता है. (I74acc, b/172067770)
  • foundation.Text को बंद कर दिया गया है और इसे material.Text से बदल दिया गया है. अगर आपको ऐसा टेक्स्ट एपीआई चाहिए जो किसी थीम से वैल्यू का इस्तेमाल न करता हो, तो androidx.compose.foundation.BasicText देखें. (If64cb)
  • MeasureResult को MeasureScope से बाहर ले जाया गया. (Ibf96d, b/171184002)
  • लेआउट से जुड़े कई सिंबल को androidx.compose.ui से androidx.compose.layout.ui में ले जाया गया है. (I0fa98, b/170475424)

वर्शन 1.0.0-alpha06

28 अक्टूबर, 2020

androidx.compose.animation:animation:1.0.0-alpha06 और androidx.compose.animation:animation-core:1.0.0-alpha06 रिलीज़ हो गए हैं. वर्शन 1.0.0-alpha06 में ये बदलाव शामिल हैं.

एपीआई में हुए बदलाव

  • ComposeTestRule में ट्रांज़िशन चालू करें; ComposeTestRule से ब्लिंक करने वाले कर्सर को चालू करने का विकल्प हटाएं. (If0de3)

वर्शन 1.0.0-alpha05

14 अक्टूबर, 2020

androidx.compose.animation:animation:1.0.0-alpha05 और androidx.compose.animation:animation-core:1.0.0-alpha05 रिलीज़ हो गए हैं. वर्शन 1.0.0-alpha05 में ये बदलाव शामिल हैं.

एपीआई में हुए बदलाव

  • नया ऐनिमेशन इंटरफ़ेस और सबक्लास: ये क्लास, ऐनिमेशन के शुरू और खत्म होने की स्थितियों को सेव करती हैं. इसलिए, ये सिर्फ़ प्लेटाइम (Ie95bd, b/163329867) के ज़रिए वैल्यू और वेलोसिटी को क्वेरी करने की अनुमति देती हैं

गड़बड़ियां ठीक की गईं

  • OnPositionedModifier का नाम बदलकर OnGloballyPositionedModifier कर दिया गया है. साथ ही, onPositioned() का नाम बदलकर onGloballyPositioned() कर दिया गया है. (I587e8, b/169083903)
  • contentColor() और currentTextStyle() एपीआई को बंद कर देता है. साथ ही, इनकी जगह AmbientContentColor और AmbientTextStyle ऐंबिएंट का इस्तेमाल करता है. किसी भी अन्य परिवेश की तरह, परिवेश की प्रॉपर्टी पर .current का इस्तेमाल करके, मौजूदा वैल्यू को ऐक्सेस किया जा सकता है. यह बदलाव इसलिए किया गया है, ताकि सभी प्लैटफ़ॉर्म पर एक जैसा अनुभव मिले. साथ ही, एक ही काम को पूरा करने के लिए कई तरीके न हों. इसके अलावा, कुछ ऐंबियंट प्रॉपर्टी के नाम बदले गए हैं, ताकि उनके मकसद के बारे में बेहतर तरीके से बताया जा सके. जैसे:

    • ContentColorAmbient -> AmbientContentColor
    • TextStyleAmbient -> AmbientTextStyle
    • IndicationAmbient -> AmbientIndication
    • EmphasisAmbient -> AmbientEmphasisLevels
    • RippleThemeAmbient -> AmbientRippleTheme (I37b6d)

वर्शन 1.0.0-alpha04

1 अक्टूबर, 2020

androidx.compose.animation:animation:1.0.0-alpha04 और androidx.compose.animation:animation-core:1.0.0-alpha04 रिलीज़ हो गए हैं. वर्शन 1.0.0-alpha04 में ये बदलाव शामिल हैं.

एपीआई में हुए बदलाव

  • @VisibleForTesting के साथ एनोटेट किए गए rootAnimationClockFactory, transitionsEnabled, blinkingCursorEnabled, और textInputServiceFactory को इंटरनल एपीआई बनाएं और उनके kdoc को छिपाएं (I554eb, b/168308412)

गड़बड़ियां ठीक की गईं

  • कई ग्राफ़िक्स एपीआई अपडेट किए गए
    • स्केल और रोटेशन के लिए अपडेट किए गए ट्रांसफ़ॉर्मेशन एपीआई, अब एक ही ऑफ़सेट पैरामीटर का इस्तेमाल करते हैं. इससे DrawScope और DrawTransform में x/y कोऑर्डिनेट के लिए अलग-अलग फ़्लोट पैरामीटर के बजाय, पिवट कोऑर्डिनेट को दिखाया जा सकता है
    • Rect.expandToInclude और Rect.join तरीके हटाए गए
    • रेडियस के दस्तावेज़ को अपडेट किया गया है. इसमें एलिप्टिकल के साथ-साथ ओवल भी शामिल किया गया है
    • दस्तावेज़ जोड़ा गया है. इससे पता चलता है कि इनलाइन रेडियस क्लास के लिए, सार्वजनिक कंस्ट्रक्टर को सीधे तौर पर कॉल नहीं किया जाना चाहिए. इसके बजाय, रेडियस ऑब्जेक्ट को उनके फ़ंक्शन कंस्ट्रक्टर के ज़रिए इंस्टैंटिएट किया जाना चाहिए
    • topRight, bottomRight, bottomCenter वगैरह के बारे में क्वेरी करने के लिए, RoundRect API हटा दिए गए हैं.
    • Rect.shift को Rect.translate के पक्ष में बंद कर दिया गया है
    • RoundRect.grow और Rect.shrink API हटा दिए गए हैं
    • RoundRect.outerRect का नाम बदलकर Rect.boundingRect किया गया
    • RoundRect.middleRect/tallMiddleRect/wideMiddleRect और Rect.isStadium तरीके हटा दिए गए हैं
    • RoundRect.longestSide का नाम बदलकर RoundRect.maxDimension कर दिया गया है
    • RoundRect.shortestSide का नाम बदलकर RoundRect.minDimension कर दिया गया है
    • RoundRect.center को फ़ंक्शन के बजाय प्रॉपर्टी के तौर पर बदला गया
    • RoundRect कंस्ट्रक्टर को अपडेट किया गया है, ताकि वह x/y रेडियस वैल्यू के लिए अलग-अलग पैरामीटर के बजाय, रेडियस प्रॉपर्टी का इस्तेमाल कर सके
    • ऐसे साइज़ एपीआई हटा दिए गए हैं जो यह मानते थे कि यह 0,0 पर मौजूद ऑरिजिन वाला रेक्टैंगल है
    • Radius में डिस्ट्रक्टिंग एपीआई जोड़ा गया
    • RoundRect एक्सटेंशन फ़ंक्शन को प्रॉपर्टी में माइग्रेट किया गया
    • (I8f5c7, b/168762961)
  • foundation.Box अब काम नहीं करता. इसके बजाय, कृपया foundation.layout.Box का इस्तेमाल करें. (Ie5950, b/167680279)
  • स्टैक का नाम बदलकर Box कर दिया गया. compose.foundation.layout में मौजूद नए Box के लिए, पहले से मौजूद Box को बंद कर दिया जाएगा. नए बॉक्स में, एक से ज़्यादा आइटम होने पर उन्हें एक के ऊपर एक रखा जाता है. यह पिछले बॉक्स से अलग है, जो कॉलम की तरह काम करता था. (I94893, b/167680279)
  • बॉक्स डेकोरेशन पैरामीटर का इस्तेमाल बंद कर दिया गया है. अगर आपको अपने बॉक्स में डेकोरेशन/पैडिंग चाहिए, तो इसके बजाय मॉडिफ़ायर का इस्तेमाल करें (Modifier.background, Modifier.border, Modifier.padding) (Ibae92, b/167680279)
  • हमने लेआउट स्कोप के कॉन्टेंट के स्टैटिक इंपोर्ट को रोका है. जैसे, RowScope में alignWithSiblings. इसके बजाय, साफ़ तौर पर स्कोप तय करने वाले विकल्प का इस्तेमाल किया जाना चाहिए: with(RowScope) { Modifier.alignWithSiblings(FirstBaseline) }. (I216be, b/166760797)

वर्शन 1.0.0-alpha03

16 सितंबर, 2020

androidx.compose.animation:animation:1.0.0-alpha03 और androidx.compose.animation:animation-core:1.0.0-alpha03 रिलीज़ हो गए हैं. वर्शन 1.0.0-alpha03 में ये बदलाव शामिल हैं.

गड़बड़ियां ठीक की गईं

  • लेआउट एपीआई में, ग्रेविटी के इस्तेमाल को अलाइन या अलाइनमेंट के तौर पर लगातार रीनेम किया गया. (I2421a, b/164077038)

वर्शन 1.0.0-alpha02

2 सितंबर, 2020

androidx.compose.animation:animation:1.0.0-alpha02 और androidx.compose.animation:animation-core:1.0.0-alpha02 रिलीज़ हो गए हैं. वर्शन 1.0.0-alpha02 में ये बदलाव शामिल हैं.

एपीआई में हुए बदलाव

  • ManualFrameClock.hasAwaiters को यह देखने के लिए जोड़ा गया है कि क्या उस घड़ी से किसी फ़्रेम का इंतज़ार किया जा रहा है; runWithManualClock को runBlocking के विकल्प के तौर पर जोड़ा गया है, ताकि ManualFrameClock की ज़रूरत वाले टेस्ट चलाए जा सकें; TestUiDispatcher.Main को जोड़ा गया है, ताकि आपके टेस्ट में मुख्य यूज़र इंटरफ़ेस (यूआई) डिस्पैचर को आसानी से ऐक्सेस किया जा सके.

    उदाहरण के लिए:

    @Test
    fun myTest() = runWithManualClock { clock ->
        // set some compose content
        withContext(TestUiDispatcher.Main) {
            clock.advanceClock(1000L)
        }
        if (clock.hasAwaiters) {
            println("The clock has awaiters")
        } else {
            println("The clock has no more awaiters")
        }
    }
    

    (I0a85b, b/161247083)

गड़बड़ियां ठीक की गईं

  • onPreCommit का इस्तेमाल अब नहीं किया जा सकता. onCommit में अब onPreCommit का व्यवहार शामिल है.

    onCommit और onActive अब उसी कोरियोग्राफ़र फ़्रेम में चलते हैं जिसमें कंपोज़िशन में किए गए बदलाव लागू होते हैं. ऐसा अगले कोरियोग्राफ़र फ़्रेम की शुरुआत में नहीं होता. (I70403)

वर्शन 1.0.0-alpha01

26 अगस्त, 2020

androidx.compose.animation:animation:1.0.0-alpha01 और androidx.compose.animation:animation-core:1.0.0-alpha01 रिलीज़ हो गए हैं. वर्शन 1.0.0-alpha01 में ये बदलाव शामिल हैं.

वर्शन 0.1.0-dev

वर्शन 0.1.0-dev17

19 अगस्त, 2020

androidx.compose.animation:animation:0.1.0-dev17 और androidx.compose.animation:animation-core:0.1.0-dev17 रिलीज़ हो गए हैं. वर्शन 0.1.0-dev17 में ये बदलाव शामिल हैं.

नई सुविधाएं

एपीआई में हुए बदलाव

  • ऑफ़सेट को इनलाइन क्लास (Iaec70) बना दिया गया है
  • IntOffset अब एक इनलाइन क्लास (Iac0bf) है
  • IntSize अब एक इनलाइन क्लास (I2bf42) है
  • AnimatedVisibilty कंपोज़ेबल, चाइल्ड कॉन्टेंट के दिखने और गायब होने की प्रोसेस को ऐनिमेट करता है.

    EnterTransition और ExitTransition को AnimatedVisibilty कंपोज़ेबल के साथ काम करने के लिए पेश किया गया है. इससे दिखने और गायब होने के तीन अलग-अलग तरह के ऐनिमेशन मिलते हैं: फ़ेड, स्लाइड, और कॉन्टेंट को बड़ा/छोटा करना. ज़्यादा बेहतर लुक और फ़ील पाने के लिए, अलग-अलग तरह के ऐनिमेशन को एक साथ इस्तेमाल किया जा सकता है. (Idda11)

  • Rect के पक्ष में PxBounds को डेप्रिकेट किया गया. PxBounds के सभी इस्तेमाल को rect से अपडेट किया गया है. साथ ही, माइग्रेशन में मदद करने के लिए, सही तौर पर डेप्रिकेट/बदलने के एनोटेशन जोड़े गए हैं. (I37038, b/162627058)

गड़बड़ियां ठीक की गईं

  • PlacementScope.placeAbsolute() का नाम बदलकर PlacementScope.place() कर दिया गया है. साथ ही, PlacementScope.place() का नाम बदलकर PlacementScope.placeRelative() कर दिया गया है. इस वजह से, PlacementScope.place() तरीके का इस्तेमाल करने पर, अब दाएं से बाएं ओर लिखे जाने वाले कॉन्टेक्स्ट में, स्थिति अपने-आप नहीं बदलेगी. अगर आपको ऐसा करना है, तो इसके बजाय PlacementScope.placeRelative() का इस्तेमाल करें. (I873ac, b/162916675)
  • state { ... } कंपोज़ेबल को अब बंद कर दिया गया है. इसके बजाय, remember { mutableStateOf(...) } को साफ़ तौर पर कॉल करने की सुविधा उपलब्ध है. इससे, स्टेट मैनेजमेंट के लिए एपीआई की कुल संख्या और कॉन्सेप्ट कम हो जाते हैं. साथ ही, यह क्लास प्रॉपर्टी डेलिगेशन के लिए by mutableStateOf() पैटर्न से मेल खाता है. (Ia5727)

वर्शन 0.1.0-dev16

5 अगस्त, 2020

androidx.compose.animation:animation:0.1.0-dev16 और androidx.compose.animation:animation-core:0.1.0-dev16 रिलीज़ हो गए हैं. वर्शन 0.1.0-dev16 में ये बदलाव शामिल हैं.

एपीआई में हुए बदलाव

  • बिल्ट-इन यूनिट को बदलने के लिए, बिल्ट-इन वेक्टर कन्वर्टर अब Foo.VectorConverter के ज़रिए ऐक्सेस किए जा सकते हैं. उदाहरण के लिए, Dp.VectorConverter, Color.VectorConverter, Float.VectorConverter वगैरह (I3e273)
  • Modifier.animateContentSize() में एंड लिसनर की सुविधा जोड़ी गई है. इससे साइज़ बदलने का ऐनिमेशन खत्म होने पर, लिसनर को सूचना मिलेगी. साथ ही, ऐनिमेशन के शुरू और खत्म होने के साइज़ की जानकारी भी मिलेगी. (I277b2)
  • animateContentSize नाम का नया मॉडिफ़ायर, जो अपने चाइल्ड मॉडिफ़ायर (Ieffdc) के लेआउट के साइज़ में होने वाले बदलाव को ऐनिमेट करता है
  • MonotonicFrameAnimationClock जोड़ा गया है. इसकी मदद से, MonotonicFrameClock को AnimationClockObservable के तौर पर इस्तेमाल किया जा सकता है. इससे, नई को-रूटीन पर आधारित क्लॉक और अब भी कॉलबैक पर आधारित पुरानी क्लॉक का इस्तेमाल करने वाले एपीआई के बीच के अंतर को कम किया जा सकता है.

    ManualAnimationClock के बराबर MonotonicFrameClock अब ManualFrameClock है. (I111c7, b/161247083)

गड़बड़ियां ठीक की गईं

  • दाएं से बाएं लिखने की सुविधा के लिए, एपीआई अपडेट कर दिए गए हैं. LayoutDirectionAmbient को जोड़ा गया है. इसका इस्तेमाल लेआउट की दिशा को पढ़ने और बदलने के लिए किया जा सकता है. Modifier.rtl और Modifier.ltr को हटा दिया गया है. (I080b3)
  • transitionDefinition के लिए, टाइप T को साफ़ तौर पर बताना ज़रूरी है. (I1aded)
  • foundation.shape.corner पैकेज को foundation.share (I46491, b/161887429) में फ़्लैट कर दिया गया है
  • Modifier.plus अब काम नहीं करता. इसके बजाय, Modifier.then का इस्तेमाल करें. 'फिर' शब्द से क्रम का पता चलता है. साथ ही, इसमें Modifier.padding().background() + anotherModifier टाइप करने की अनुमति नहीं है. इससे चेन टूट जाती है और इसे पढ़ना मुश्किल हो जाता है (Iedd58, b/161529964)
  • Modifier.drawBackground का नाम बदलकर Modifier.background कर दिया गया है (I13677)

वर्शन 0.1.0-dev15

22 जुलाई, 2020

androidx.compose.animation:animation:0.1.0-dev15 और androidx.compose.animation:animation-core:0.1.0-dev15 रिलीज़ हो गए हैं. वर्शन 0.1.0-dev15 में ये बदलाव शामिल हैं.

डिपेंडेंसी से जुड़ा अपडेट

  • Compose के 0.1.0-dev15 वर्शन का इस्तेमाल करने के लिए, आपको अपनी डिपेंडेंसी अपडेट करनी होंगी. इसके लिए, ऊपर डिपेंडेंसी तय करना सेक्शन में दिखाए गए नए कोड स्निपेट का इस्तेमाल करें.

एपीआई में हुए बदलाव

  • Transition API को बदलकर, TransitionState को बच्चों को पास करने के बजाय, TransitionState को वापस लाने के लिए इस्तेमाल किया गया है. इससे एपीआई, animate() एपीआई के साथ ज़्यादा बेहतर तरीके से काम कर पाता है. (I24e38)
  • क्रॉसफ़ेड के लिए मॉडिफ़ायर पैरामीटर जोड़ा गया (I87cfe, b/159706180)
  • स्टैटिक ऐनिमेशन स्पेसिफ़िकेशन के कॉन्सेप्ट को समझने के लिए, टॉप लेवल के एपीआई में AnimationBuilder के बजाय AnimationSpec का इस्तेमाल करें
    • ट्रांज़िशन डीएसएल को बेहतर बनाया गया है. अब ट्विन और स्प्रिंग जैसे AnimationSpec बनाने के लिए, लैम्ब्डा की ज़रूरत नहीं होगी. इसके बजाय, वे सीधे तौर पर कंस्ट्रक्टर पैरामीटर लेते हैं.
    • AnimationSpec को इस्तेमाल करने में आसानी हो, इसके लिए बिल्डर पर भरोसा करने के बजाय कंस्ट्रक्टर का इस्तेमाल किया गया है
    • KeyFrames और Tween के लिए, अवधि और देरी को Int में बदलें. इससे, टाइप कास्ट और तरीके के ओवरलोडिंग (Long और Int, दोनों के साथ काम करने के लिए) को हटाया जा सकता है. (Ica0b4)
  • IntPx की जगह Int का इस्तेमाल किया गया. IntPxPosition की जगह IntOffset का इस्तेमाल किया गया. IntPxSize को IntSize से बदल दिया गया है. (Ib7b44)
  • साइज़ की जानकारी दिखाने के लिए इस्तेमाल की जाने वाली क्लास की संख्या को कम करने के लिए, PxSize के बजाय Size क्लास का इस्तेमाल करें. इससे इनलाइन क्लास के फ़ायदे मिलते हैं. जैसे, width और height को फ़्लोट के तौर पर दिखाने के लिए, दो फ़्लोट वैल्यू को पैक करने के लिए, long का इस्तेमाल करना. (Ic0191)
  • पोजीशनिंग की जानकारी दिखाने के लिए इस्तेमाल की गई क्लास की संख्या को कम करने के लिए, PxPosition के बजाय Offset क्लास का इस्तेमाल करें. इससे इनलाइन क्लास के फ़ायदे मिलते हैं. जैसे, x और y ऑफ़सेट को फ़्लोट के तौर पर दिखाने के लिए, दो फ़्लोट वैल्यू को पैक करने के लिए long का इस्तेमाल करना. (I3ad98)
  • पिक्सल पैरामीटर के लिए सिर्फ़ Dp और प्रिमिटिव टाइप पर भरोसा करने के लिए, बड़े पैमाने पर रीफ़ैक्टरिंग के तहत अलग-अलग कंपोज़ क्लास में Px क्लास के इस्तेमाल को बदला गया (I086f4)
  • Dp, Px, Size, Position, Bounds, PxPosition, PxSize, PxBounds, IntPx, IntPxSize, IntPxPosition, IntPxBounds, और AnimationVector के लिए animate() फ़ंक्शन का इस्तेमाल करने की सुविधा जोड़ी गई (Ib7518)
  • Crossfade अब AnimationBuilder पैरामीटर को स्वीकार करता है. इससे ऐनिमेशन को कॉन्फ़िगर किया जा सकता है (I6d6e0)
  • एपीआई में, Color के सभी ऐसे इस्तेमाल को बदला गया है जिनमें null वैल्यू इस्तेमाल की जा सकती थी. अब null वैल्यू इस्तेमाल नहीं की जा सकती. साथ ही, null की जगह Color.Unset का इस्तेमाल किया गया है (Iabaa7)
  • ValueHolder क्लास हटा दी गई है. AnimatedValue और AnimatedFloat क्लास को फिर से स्ट्रक्चर किया गया है, ताकि ऐनिमेशन वैल्यू फ़ील्ड को ऐब्स्ट्रैक्ट बनाया जा सके. इससे सबक्लास, वैल्यू अपडेट को देख सकेंगे.
    • AnimatedValue, AnimatedFloat वगैरह के लिए मॉडल क्लास जोड़ी गईं.
    • वैल्यू के बीच ऐनिमेशन के लिए, हल्के-फुल्के @Composable API का नया सेट जोड़ा गया. (I79530)
  • ambients API में बड़े बदलाव. ज़्यादा जानकारी के लिए, लॉग और Ambient<T> दस्तावेज़ देखें (I4c7ee, b/143769776)
  • नया रिपीट मोड: रिवर्स. इस मोड में, पिछली इटरेशन को उलट दिया जाता है, क्योंकि ऐनिमेशन, RepeatableSpec या VectorizedRepeatableSpec में दोहराया जाता है. (Ibe0f5)
  • ManualAnimationClock में जोड़े गए एपीआई: hasObservers: Boolean और कंस्ट्रक्टर पैरामीटर dispatchOnSubscribe: Boolean (Iaa134)
  • AnimatedFloat (Icd9cc) में कम से कम/ज़्यादा से ज़्यादा सीमाएं पाने के लिए एपीआई जोड़े गए

गड़बड़ियां ठीक की गईं

  • runOnIdleCompose का नाम बदलकर runOnIdle कर दिया गया (I83607)
  • टेस्टिंग के कई एपीआई के नाम बदलकर, उन्हें ज़्यादा आसान बना दिया गया है. findXYZ एपीआई के नाम बदलकर onNodeXYZ कर दिए गए हैं. doXYZ नाम वाले सभी एपीआई का नाम बदलकर performXYZ कर दिया गया है. (I7f164)
  • स्टेटलेस ऐनिमेशन के लिए, लो लेवल के एपीआई जोड़े गए. ये एपीआई (I63bf7)
  • Recompose कंपोज़ेबल अब काम का ऐब्स्ट्रैक्शन नहीं है. MutableState असाइनमेंट की वजह से, ज़्यादातर रीकंपोज़िशन होने चाहिए. इससे ज़्यादा के लिए, हमारा सुझाव है कि आप invalidate फ़ंक्शन का इस्तेमाल करके, मौजूदा स्कोप को फिर से कंपोज़ करें. (Ifc992)
  • पिक्सल पैरामीटर के लिए, सिर्फ़ Dp और प्रिमिटिव टाइप पर भरोसा करने के लिए, बड़े पैमाने पर रीफ़ैक्टरिंग की गई. इसके तहत, अलग-अलग कंपोज़ क्लास में Px क्लास के इस्तेमाल को बदल दिया गया. पूरी Px क्लास मिटा दी गई (I3ff33)
  • पिक्सल पैरामीटर (Id3434) के लिए, सिर्फ़ Dp और प्रिमिटिव टाइप पर भरोसा करने के लिए, बड़े पैमाने पर रीफ़ैक्टरिंग के तहत, अलग-अलग कंपोज़ क्लास में Px क्लास के इस्तेमाल को बदल दिया गया है
  • क्रॉसफ़ेड अब शुरुआती वैल्यू के तौर पर शून्य के साथ काम कर सकता है (Iad6a4, b/155947711)
  • पिक्सेल पैरामीटर के लिए, सिर्फ़ Dp और प्रिमिटिव टाइप पर भरोसा करने के लिए, बड़े पैमाने पर रीफ़ैक्टरिंग के तहत, अलग-अलग कंपोज़ क्लास में Px क्लास के इस्तेमाल को बदल दिया गया है (I19d02)
  • CanvasScope को एक साथ लागू किया गया है, इसलिए अब सिर्फ़ DrawScope और ContentDrawScope उपलब्ध हैं CanvasScope का नाम बदलकर DrawScope कर दिया गया है. Density इंटरफ़ेस लागू करने और LayoutDirection उपलब्ध कराने के लिए, DrawScope को अपडेट किया गया ContentDrawScope में DrawScope सबक्लास को मिटाया गया Painter और PainterModifier को अपडेट किया गया है, ताकि वे अब खुद RTL प्रॉपर्टी को बनाए न रखें, क्योंकि DrawScope इसे मैन्युअल तरीके से उपलब्ध कराए बिना ही उपलब्ध कराता है (I1798e)
  • ज़्यादा लेवल वाले Compose API अपडेट किए गए हैं. ये Canvas को CanvasScope के बजाय Canvas को दिखाते हैं. इससे उपभोक्ताओं को अपने पेंट ऑब्जेक्ट बनाए रखने की ज़रूरत नहीं पड़ती. जिन उपभोक्ताओं को अब भी Canvas का ऐक्सेस चाहिए वे drawCanvas एक्सटेंशन के तरीके का इस्तेमाल कर सकते हैं. यह तरीका, Canvas के साथ ड्राइंग कमांड जारी करने के लिए कॉलबैक उपलब्ध कराता है. (I80afd)
  • Row और Column में, verticalGravity और horizontalGravity पैरामीटर जोड़े गए. (I7dc5a)
  • ui-text मॉड्यूल का नाम बदलकर ui-text-core (I57dec) कर दिया गया है
  • DrawModifier API को बेहतर बनाया गया है:
    • draw() ContentDrawScope के लिए रिसीवर स्कोप बनाया गया
    • draw() पर मौजूद सभी पैरामीटर हटा दिए गए हैं
    • DrawScope का इंटरफ़ेस, CanvasScope जैसा ही है
    • ContentDrawScope में drawContent() मेथड होता है (Ibaced, b/152919067)
  • runOnIdleCompose और runOnUiThread अब ComposeTestRule पर तरीकों के बजाय, ग्लोबल फ़ंक्शन हैं. (Icbe8f)
  • [Mutable]State प्रॉपर्टी डेलिगेट ऑपरेटर को एक्सटेंशन में ले जाया गया है, ताकि Kotlin 1.4 प्रॉपर्टी डेलिगेट ऑप्टिमाइज़ेशन का इस्तेमाल किया जा सके. by state { ... } या by mutableStateOf(...) का इस्तेमाल जारी रखने के लिए, कॉल करने वालों को इंपोर्ट जोड़ने होंगे. (I5312c)
  • ColoredRect को बंद कर दिया गया है. इसके बजाय, Box(Modifier.preferredSize(width, height).drawBackground(color)) का इस्तेमाल करें. (I499fa, b/152753731)
  • मॉडिफ़ायर प्लस ऑपरेटर को फ़ैक्ट्री एक्सटेंशन फ़ंक्शन (I225e4) से बदला गया
  • अब Center कंपोज़ेबल का इस्तेमाल नहीं किया जा सकता. इसे LayoutSize.Fill + LayoutAlign.Center मॉडिफ़ायर से बदला जाना चाहिए. इसके अलावा, इसे Box या Stack कंपोज़ेबल में से किसी एक से भी बदला जा सकता है. हालांकि, इसके लिए ज़रूरी है कि इन पर सही मॉडिफ़ायर लागू किए गए हों (Idf5e0)
  • LayoutFlexible का नाम बदलकर LayoutWeight कर दिया गया है. भरने के लिए, टाइट पैरामीटर का नाम बदला गया. (If4738)
  • Opacity कंपोज़ेबल फ़ंक्शन को drawOpacity मॉडिफ़ायर से बदल दिया गया है. (I5fb62)
  • AndroidComposeTestRule का इस्तेमाल करके किए जाने वाले टेस्ट में, अब कंपोज़िशन के रूट पर ऐनिमेशन क्लॉक मिलती है. इससे ऐनिमेशन को रोका जा सकता है, फिर से शुरू किया जा सकता है, और मैन्युअल तरीके से आगे बढ़ाया जा सकता है. (Id54c5)
  • LayoutPadding मॉडिफ़ायर में, दाएं से बाएं की दिशा में काम करने की सुविधा जोड़ी गई (I9e8da)
  • Density और DensityScope को एक ही इंटरफ़ेस में मर्ज कर दिया गया है. ambientDensity() के बजाय, अब DensityAmbient.current का इस्तेमाल किया जा सकता है. withDensity(density) के बजाय सिर्फ़ with(density) (I11cb1)
  • अलग-अलग इनलाइन क्लास टाइप में कॉपी करने के तरीके जोड़े गए हैं. इनमें ये शामिल हैं:
    • ऑफ़सेट
    • साइज़
    • दायरा
    • मोशन
    • TransformOrigin
    • Size.copy कंपैनियन ऑब्जेक्ट मेथड को बंद कर दिया गया है इसके बजाय, इंस्टेंस कॉपी मेथड का इस्तेमाल करें (Ife290, b/159905651)
  • androidx.compose.ViewComposer को androidx.ui.node.UiComposer में ले जाया गया है androidx.compose.Emittable को हटा दिया गया है. यह ComponentNode के साथ काम नहीं करता था. androidx.compose.ViewAdapters को हटा दिया गया है. अब इन्हें इस्तेमाल के उदाहरण के तौर पर स्वीकार नहीं किया जाता. Compose.composeInto का अब इस्तेमाल नहीं किया जा सकता. इसके बजाय, setContent या setViewContent का इस्तेमाल करें. Compose.disposeComposition को बंद कर दिया गया है. इसके बजाय, setContent से मिले Composition पर dispose तरीके का इस्तेमाल करें. androidx.compose.Compose.subcomposeInto को androidx.ui.core.subcomposeInto में ले जाया गया है ComponentNode#emitInsertAt का नाम बदलकर ComponentNode#insertAt कर दिया गया है ComponentNode#emitRemoveAt का नाम बदलकर ComponentNode#removeAt कर दिया गया है ComponentNode#emitMode का नाम बदलकर ComponentNode#move कर दिया गया है (Idef00)