navigation3

  
Navigation 3, नेविगेशन की नई लाइब्रेरी है. इसे Compose के साथ काम करने के लिए डिज़ाइन किया गया है.
नया अपडेट स्टेबल रिलीज़ रिलीज़ कैंडिडेट बीटा रिलीज़ ऐल्फ़ा रिलीज़
11 फ़रवरी, 2026 1.0.1 - - 1.1.0-alpha04

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

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

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

Groovy

dependencies {
    implementation "androidx.navigation3:navigation3-runtime:1.1.0-alpha04"
    implementation "androidx.navigation3:navigation3-ui:1.1.0-alpha04"
}

Kotlin

dependencies {
    implementation("androidx.navigation3:navigation3-runtime:1.1.0-alpha04")
    implementation("androidx.navigation3:navigation3-ui:1.1.0-alpha04")
}

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

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

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

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

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

इस आर्टफ़ैक्ट के लिए कोई रिलीज़ नोट नहीं है.

वर्शन 1.1

वर्शन 1.1.0-alpha04

11 फ़रवरी, 2026

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

नई सुविधाएं

  • Navigation3 अब टाइप-सेफ़ मेटाडेटा डीएसएल उपलब्ध कराता है. डीएसएल, नए MetadataKey इंटरफ़ेस का इस्तेमाल करता है. इससे, वे मुख्य और वैल्यू टाइप तय कर सकते हैं जिन्हें उन्हें मेटाडेटा मैप में देना है. इसमें NavDisplay ट्रांज़िशन के लिए नए NavMetadataKey भी जोड़े गए हैं, ताकि इनका इस्तेमाल नए metadata डीएसएल के साथ किया जा सके. इससे NavDisplay में ट्रांज़िशन जोड़े जा सकते हैं. (Ic10ef, Ic049c,b/476213928)

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

  • OverlayScene इंटरफ़ेस में, खाते को निलंबित करने के लिए नई onRemoved कॉलबैक सुविधा उपलब्ध है. इस कॉलबैक को तब शुरू किया जाता है, जब सीन से जुड़ी कोई कुंजी बैकस्टैक से हटा दी जाती है. हालांकि, ऐसा कंपोज़िशन से बाहर निकलने से पहले होता है. इससे onRemoved में कॉल किए गए एग्ज़िट ऐनिमेशन को पूरा होने का समय मिलता है. इसके बाद, ओवरले सीन को कंपोज़िशन से हटा दिया जाता है. (I29a72, b/440558061)

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

  • हमने उस गड़बड़ी को ठीक कर दिया है जिसमें SharedTransitionLayout को NavDisplay या rememberSceneState में पास करने और किसी भी OverlayScene का इस्तेमाल करने पर क्रैश हो जाता था. ऐसा इसलिए होता था, क्योंकि SharedTransitionLayout का इस्तेमाल सिर्फ़ उन NavEntries के साथ किया जा सकता है जिन्हें AnimatedContent के हिस्से के तौर पर रेंडर किया जाता है. साथ ही, OverlayScene को अलग-अलग विंडो में रेंडर किया जाता है. (I1bb76, b/478664101)

डिपेंडेंसी अपडेट

  • Navigation3 1.0.1 से: Navigation3 अब NavigationEvent 1.0.2 पर निर्भर करता है. इस अपडेट में, AndroidStudio के टीज़र देखते समय NavDisplay का इस्तेमाल करने की वजह से हुई IllegalStateException को ठीक किया गया है. (Id7212, b/477149762)

वर्शन 1.1.0-alpha03

28 जनवरी, 2026

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

नई सुविधाएं

  • अब EntryProvider DSL की मदद से, एंट्री की के हिसाब से मेटाडेटा को डाइनैमिक तरीके से जोड़ा जा सकता है. (I942fb, b/474416976)

वर्शन 1.1.0-alpha02

14 जनवरी, 2026

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

नई सुविधाएं

  • SceneStrategy में अब calculatedScene(Scene) फ़ंक्शन का इस्तेमाल करके, सीन को नेस्ट किया जा सकता है. इसका मतलब है कि SceneStrategy को पसंद के मुताबिक बनाया जा सकता है, ताकि अन्य सीन में अतिरिक्त सुविधाएं दी जा सकें. (I5df7c,b/440333896)

वर्शन 1.1.0-alpha01

03 दिसंबर, 2025

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

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

  • Navigation3 अब सीन को शेयर किए गए एलिमेंट ऑब्जेक्ट के तौर पर इस्तेमाल करने की सुविधा देता है. इसका मतलब है कि सीन बदलते समय, यह पक्का किया जा सकता है कि वे आसानी से बदलें. इसे चालू करने के लिए, NavDisplay या rememberSceneState को SharedTransitionScope पास करें. (I15868)

वर्शन 1.0

वर्शन 1.0.1

11 फ़रवरी, 2026

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

डिपेंडेंसी अपडेट

  • Navigation3 अब NavigationEvent 1.0.2 पर निर्भर करता है. इस अपडेट में, AndroidStudio के टीज़र देखते समय NavDisplay का इस्तेमाल करने की वजह से हुई IllegalStateException को ठीक किया गया है. (Id7212, b/477149762)

वर्शन 1.0.0

19 नवंबर, 2025

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

पेश है Navigation3!

वर्शन 1.0.0-rc01

05 नवंबर, 2025

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

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

  • NavDisplay अब Scene लेवल पर LocalLifecycleOwner सेट करता है. इससे सीन के लेखक यह तय कर पाते हैं कि सभी ट्रांज़िशन पूरे हो गए हैं या नहीं. इसके लिए, उन्हें यह देखना होता है कि Lifecycle.State RESUMED है या नहीं. NavEntry लेवल पर LocalLifecycleOwner का व्यवहार पहले जैसा ही है: ट्रांज़िशन के दौरान भी यह STARTED पर सीमित रहता है. साथ ही, अगर उस NavEntry को बैक स्टैक से पॉप किया गया है और वह ऐनिमेशन से बाहर निकलने की प्रोसेस में है, तो यह CREATED पर सीमित रहता है. (I03113, b/454045829)

वर्शन 1.0.0-beta01

22 अक्टूबर, 2025

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

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

  • SceneStrategyScope में अब सिर्फ़ नो आर्ग्युमेंट वाला पब्लिक कंस्ट्रक्टर है. यह आपके SceneStrategy और अलग से दिखाए गए Scene की जाँच करने के लिए सही है. ज़्यादा जटिल इस्तेमाल के उदाहरणों के लिए, कृपया rememberSceneState() का इस्तेमाल करें. (I8440c, b/451679047)

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

  • SceneStrategy को then के साथ जोड़ने पर, लगातार लूप की समस्या ठीक की गई. (Iba3f0, b/450323470)
  • backStack को NavDisplay से स्वैप करने और ऐनिमेशन का इस्तेमाल करने पर, स्क्रीन के फ़्लिकर होने की समस्या को ठीक किया गया है. (Ief7b5, b/450967248)

वर्शन 1.0.0-alpha11

08 अक्टूबर, 2025

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

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

  • SceneStrategy पर calculateScene तरीका अब @Composable नहीं है. इसके बजाय, इस काम को अपने SceneStrategy तरीके (यानी कि rememberMySceneStrategy() तरीके में) के कंस्ट्रक्शन में ले जाएं. इससे आपको सही वैल्यू के आधार पर, किसी भी rememberSaveable वैल्यू या मुख्य remember स्टेटमेंट की लाइफ़टाइम तय करने की पूरी अनुमति मिलती है. (If1733, b/448709506)
  • SceneStrategy.calculateScene के लिए onBack पैरामीटर को SceneStrategyScope के नए रिसीवर स्कोप में ले जाया गया है. इससे यह साफ़ तौर पर पता चलता है कि यह एक वैकल्पिक पैरामीटर है. साथ ही, इससे आने वाले समय में Navigation3 की सुविधाओं के लिए एक्सटेंशन पॉइंट उपलब्ध कराया जा सकेगा. (I3aea3, b/448460407)
  • NavDisplay और आपके SceneStrategy में पास किया गया onBack लैम्डा, अब count: Int पैरामीटर नहीं देता है. इससे यह पता चलता है कि कई एंट्री कब पॉप अप होनी चाहिए. इसके बजाय, अब () -> Unit लैंबडा को एक के बाद एक कई बार कॉल किया जाएगा. ऐसा बहुत कम मामलों में होगा, जब आपके सीन के अनुरोधों में कई एंट्री दिख रही हों. (Idedb5, b/446989346)
  • NavEntryWrapper क्लास को हटाएं और इसकी फ़ंक्शनैलिटी को फ़ाइनल NavEntry क्लास से बदलें. इसमें एक नया सेकंडरी कंस्ट्रक्टर होता है, जो नए कॉन्टेंट के साथ NavEntry लेता है. इससे किसी एंट्री को नए कॉन्टेंट के साथ रैप करने की सुविधा मिलती रहेगी. (I7da2a, b/444447130)
  • navEntryDecorator फ़ंक्शन को हटा दिया गया है. यह फ़ंक्शन, NavEntryDecorator बनाता है और उसे दिखाता है. इसे NavEntryDecorator क्लास से बदल दिया गया है. अब इसे सार्वजनिक कर दिया गया है और सबक्लासिंग के लिए उपलब्ध करा दिया गया है. (If81f8, b/444447434, b/447381176)
  • SavedStateNavEntryDecorator का नाम बदलकर SaveableStateHolderNavEntryDecorator कर दिया गया है, क्योंकि यह SaveableStateHolder के साथ एंट्री को डेकोरेट करता है. डेकोरेटर को भी फ़ंक्शन से क्लास में बदल दिया गया है, क्योंकि यह फ़ंक्शन के तौर पर NavEntryDecorator के लिए फ़ैक्ट्री है. (Ie6013, b/447381176)
  • NavDisplay के बजाय SceneState का इस्तेमाल करने वाले कस्टम डिसप्ले को अब LocalEntriesToRenderInCurrentScene कंपोज़िशन लोकल का इस्तेमाल करने की ज़रूरत नहीं है. यह अब इंटरनल है. (Ic40ef, b/414668196)
  • SceneSetupNavEntryDecorator और rememberSceneSetupNavEntryDecorator() को सार्वजनिक एपीआई से हटा दिया गया है. यह सुविधा अब डिफ़ॉल्ट रूप से शामिल होती है. इसलिए, आपको इसे मैन्युअल तरीके से शामिल करने की ज़रूरत नहीं है. (Ieae42, b/444479133)
  • NavEntry, DialogScene, SinglePaneScene, और SceneState अब सभी में equals लागू होता है. (I96121)
  • सीन इंटरफ़ेस में एक नया मेटाडेटा फ़ील्ड जोड़ा गया है. इसकी मदद से, NavDisplay के लिए सीन से जुड़ा मेटाडेटा अटैच किया जा सकता है. इससे सीन, NavDisplay पर मौजूद मेटाडेटा को बदल सकता है. उदाहरण के लिए, ट्रांज़िशन के साथ. (I1fd96, b/443955625)
  • बेकार के सामान्य टाइप पैरामीटर को हटाकर, rememberNavBackStack सिग्नेचर को आसान बनाएं. अब यह फ़ंक्शन vararg elements: NavKey को स्वीकार करता है. (I03e45)
  • NavDisplay के लिए डिफ़ॉल्ट ऐनिमेशन, अब सामान्य एपीआई का हिस्सा हैं. इससे उन्हें सभी प्लैटफ़ॉर्म से कॉल किया जा सकता है. (I71af9, b/447147159)
  • EntryProviderBuilder का नाम बदलकर EntryProviderScope कर दिया गया है, ताकि यह सही तरीके से पता चल सके कि क्लास एक Kotlin DSL है, जो NavEntries बनाने का स्कोप देती है. (Ia7465)

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

  • rememberNavBackStack() अब NavKey के लिए पॉलीमॉर्फ़िक सीरियलाइज़ेशन लागू करता है. इसके लिए, एक कस्टम SavedStateConfiguration की ज़रूरत होती है. इसे सही स्थिति को वापस लाने के लिए कॉन्फ़िगर किया जाता है. KDoc को अपडेट कर दिया गया है. इससे यह पता चलता है कि सभी NavKey सबटाइप को दिए गए SerializersModule में रजिस्टर करना ज़रूरी है. (I6de37,I782f2, b/446664383)

वर्शन 1.0.0-alpha10

24 सितंबर, 2025

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

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

  • NavDisplay का नया ओवरलोड जोड़ें. यह NavEntry<T> की ऐसी सूची लेता है जिसे rememberDecoratedNavEntries ने डेकोरेट किया है. (I4025b, b/441940314)
  • DialogScene को किसी नए पैकेज में ट्रांसफ़र किया गया है. (Ia5840)
  • सार्वजनिक एपीआई DecorateNavEntry को हटाएं. इसके बजाय, डेकोरेटर की सूची के साथ NavEntry को रैप करने के लिए, rememberDecoratedNavEntries का इस्तेमाल करें. (Id8c09)
  • Navigation3 यूज़र इंटरफ़ेस (यूआई) अब नई डिफ़ॉल्ट transitionSpec प्रॉपर्टी उपलब्ध कराता है. (Ibcabd)
  • सीन मैनेज करने के लिए, नया SceneState ऑब्जेक्ट जोड़ा गया है. यह एक नया NavDisplay ओवरलोड भी उपलब्ध कराता है, जो SceneState और NavigationEventState लेता है. (Idfb46, b/444479133)
  • NavDisplay की मदद से, अब Transition के currentState और targetState को देखकर, Scene के हिसाब से ट्रांज़िशन को पसंद के मुताबिक बनाया जा सकता है. (I906cc, b/443872322)
  • NavigationEventInfo अब interface के बजाय abstract class है. सभी कस्टम इंटिग्रेशन को क्लास (जैसे, data class MyInfo : NavigationEventInfo()) से इनहेरिट करने के लिए अपडेट करें. (I1e59c, b/444734264)
  • navigationevent-compose हैंडलर एपीआई अपडेट किए गए हैं. NavigationEventHandler और NavigationBackHandler (और वैरिएंट) अब एक नए ओवरलोड का इस्तेमाल करते हैं. यह ओवरलोड, होस्ट किए गए NavigationEventStates को स्वीकार करता है. सामान्य ओवरलोड (currentInfo लेने वाले) को सुरक्षित रखा जाता है. साथ ही, अब वे इस नए स्टेट मॉडल का इस्तेमाल करते हैं. (Ic3251, b/444734264)
  • सभी सीन एपीआई को navigation3-ui से navigation3-runtime में ले जाया गया है. इसका मतलब है कि अब ये सुविधाएं, navigation3-runtime के साथ काम करने वाले सभी प्लैटफ़ॉर्म पर उपलब्ध हैं. (I431d0, b/444449993)
  • rememberDecoratedNavEntries का नया ओवरलोड जोड़ा गया है. यह सजावट के लिए NavEntry की सूची लेता है. इनपुट एंट्री को पहले से ही अन्य एंट्री डेकोरेटर के साथ सजाया जा सकता है. (I5a034, b/444230270)
  • navigation3 वाइल्डकार्ड टाइप पैरामीटर (I02540) हटाएं
  • entryProvider DSL के लिए, जेनेरिक को मैनेज करने की सुविधा को बेहतर बनाया गया है. अगर आपने पहले androidx.navigation3.runtime.entry इंपोर्ट किया था, तो अब ऐसा करने की ज़रूरत नहीं है. (I299fc)
  • Android पर, रिफ़्लेक्शन पर आधारित NavBackStackSerializer ओवरलोड को सीमित करें. इससे Android के अलावा अन्य प्लैटफ़ॉर्म पर, इंप्लिसिट रनटाइम सीरियलाइज़ेशन से जुड़ी गड़बड़ियों को रोका जा सकता है. इसके लिए, मल्टीप्लैटफ़ॉर्म कोड में एक्सप्लिसिट SavedStateConfiguration ओवरलोड का इस्तेमाल करना ज़रूरी है. (I73313, b/420443609)
  • NavigationEvent के swipeEdge को @IntDef बनाएं (Icee54, b/443950342)
  • Android पर NavBackStack के क्रम से लगाने की सुविधा को सीमित करें. इससे Android के अलावा अन्य प्लैटफ़ॉर्म पर रनटाइम से जुड़ी गड़बड़ियों को रोका जा सकता है. एक से ज़्यादा प्लैटफ़ॉर्म पर स्टेट सेव करने के लिए, rememberNavBackStack को साफ़ तौर पर SavedStateConfiguration के साथ ओवरलोड करें. (I1e418, b/420443609)

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

  • नेस्ट किए गए NavDisplay में एक ही चाइल्ड एंट्री होने पर, पीछे जाने पर झलक दिखाने वाले हाथ के जेस्चर के दौरान क्रैश होने की समस्या ठीक की गई. (I2cdc0, b/441933162)

वर्शन 1.0.0-alpha09

10 सितंबर, 2025

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

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

  • DecoratedNavEntryProvider को rememberDecoratedNavEntries से बदल दिया गया है. यह दिए गए डेकोरेटर (I0fe1c, b/441328236) की सूची से सजाए गए NavEntries बनाता है और उन्हें दिखाता है
  • NavBackStack अब NavKey टाइप के लिए सामान्य हो गया है. इससे ऐप्लिकेशन और लाइब्रेरी, अपने बैक स्टैक के लिए कस्टम कुंजी टाइप तय कर सकती हैं. इसके लिए, उन्हें NavKey तक सीमित नहीं रहना पड़ता. (I4d190,Iad2f4, b/420443609)
  • NavBackStack अब @kotlinx.serialization.Serializable हो गया है. इससे प्रोसेस बंद होने और कॉन्फ़िगरेशन में बदलाव होने पर, नेविगेशन की स्थिति को सेव और वापस लाया जा सकता है. इसके लिए, अतिरिक्त बॉयलरप्लेट की ज़रूरत नहीं होती. (I2c3cf, b/420443609)
  • RememberNavBackStack को commonMain पर ले जाया गया है, ताकि यह सभी प्लैटफ़ॉर्म टारगेट पर उपलब्ध हो. (Id69e7, b/420443609)

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

  • NavDisplay अब हर व्यक्ति को सही Lifecycle.State में ले जाता है.NavEntry (I30aac, b/440145700)
  • उस समस्या को ठीक किया गया है जिसमें NavDisplay, NavigationEvent लाइब्रेरी के LocalNavigationEventDispatcherOwner के ज़रिए सेट किए गए किसी भी नेस्ट किए गए NavigationEventDispatcherOwner को अनदेखा कर देता था. (I6224a)

डिपेंडेंसी में बदलाव

वर्शन 1.0.0-alpha08

27 अगस्त, 2025

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

नई सुविधाएं

  • Navigation3 Runtime आर्टफ़ैक्ट में नए Kotlin MultiPlatform (केएमपी) टारगेट जोड़े गए. Navigation3 Runtime अब इन प्लैटफ़ॉर्म पर काम करता है: जेवीएम (Android और डेस्कटॉप), Native (Linux, iOS, watchOS, macOS, MinGW), और Web (JavaScript, WasmJS). (I55078, b/424410398, b/419294028, b/419046226). ध्यान दें: इससे Navigation3 UI आर्टफ़ैक्ट के लिए केएमपी टारगेट नहीं मिलते. अन्य प्लैटफ़ॉर्म पर, आपको अपना कस्टम NavDisplay लागू करना होगा. अगर आपको इस सुविधा को इस्तेमाल करने में कोई समस्या आ रही है, तो कृपया Jetbrains की समस्या यहां देखें और ज़्यादा सहायता पाने के लिए, वहां इसकी प्रोग्रेस ट्रैक करें.
  • NavDisplayInfo ऑब्जेक्ट अब सार्वजनिक है. इसका इस्तेमाल, NavDisplay से दिखने वाली एंट्री की सूची को वापस पाने के लिए किया जा सकता है. (Ibc91f)

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

  • स्टेट रीस्टोर करने के लिए, rememberNavBackStack के साथ इस्तेमाल किया जाने वाला नया NavBackStackSerializer जोड़ा गया. rememberNavBackStack() अब SavedStateConfiguration भी लेता है. इसका इस्तेमाल, अपने कॉन्फ़िगरेशन के लिए किया जा सकता है. (I2f4d2, I4cd58, b/420443609)

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

  • उस समस्या को ठीक कर दिया गया है जिसकी वजह से नेविगेट करने पर, लाइफ़साइकल के गलत इवेंट ट्रिगर हो जाते थे. (I8bf6d, b/425901162, b/434109022)

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

  • I8bf6d ने एक बग पेश किया था. इसकी वजह से, लाइफ़साइकल को अलग-अलग एंट्री के बजाय सीन पर आधारित किया गया था. इससे उन सभी मामलों में लाइफ़साइकल काम नहीं कर रहा था जहां NavEntry को दिया गया key, String नहीं है या आपके NavEntry ने contentKey को ओवरराइड नहीं किया है और इसे key के बराबर सेट नहीं किया है. ध्यान दें कि ऐसा करने से, आपकी कुंजी को Bundle में सेव किया जा सकता है. इसे अगली रिलीज़ के लिए ठीक कर दिया गया है. (b/440145700)

वर्शन 1.0.0-alpha07

13 अगस्त, 2025

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

MinSdk अपडेट

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

  • SavedStateNavEntryDecorator अब SaveableStateProvider में पहले से मौजूद SaveableStateRegistry का इस्तेमाल करके, स्थितियों को सेव और वापस लाता है. (If8d9a)
  • predictivePopTransitionSpec को अब स्वाइप एज को पैरामीटर के तौर पर दिया गया है. इससे, ट्रांज़िशन को अपनी पसंद के मुताबिक बनाया जा सकता है. इसके लिए, यह देखा जाता है कि उपयोगकर्ता ने अनुमानित बैक जेस्चर किस एज से शुरू किया था. (I753a8)

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

  • उस समस्या को ठीक कर दिया गया है जिसकी वजह से कस्टम सीन को बार-बार रीफ़्रेश किया जाता था. ऐसा इसलिए होता था, क्योंकि सबसे हाल ही के सीन को याद नहीं रखा जाता था. (I7ba84, b/418153031)

डिपेंडेंसी अपडेट

वर्शन 1.0.0-alpha06

30 जुलाई, 2025

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

डिपेंडेंसी अपडेट

वर्शन 1.0.0-alpha05

2 जुलाई, 2025

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

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

  • NavEntry की स्थिति अब NavDisplay को पास किए गए डेकोरेटर की मौजूदा सूची पर आधारित है. इसका मतलब है कि एक से ज़्यादा बैक स्टैक होने पर, डेकोरेटर को आपके बैक स्टैक के साथ स्वैप किया जाना चाहिए, ताकि बैक स्टैक पर NavEntry की स्थिति बनी रहे. इसके अलावा, राज्यों को इस तरह से साफ़ किया जाएगा जैसे कि एंट्री को स्वैप करने के बजाय पॉप किया गया हो. (I7a759, b/428033667)

वर्शन 1.0.0-alpha04

18 जून, 2025

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

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

  • NavEntry.content अब निजी है. NavEntry कॉन्टेंट को चालू करने के लिए, नए NavEntry.Content() एपीआई को कॉल करें. इसके लिए, अब key पैरामीटर की ज़रूरत नहीं होती. (Icd0fd, b/420991203)
  • NavEntry.key अब एक निजी फ़ील्ड है. NavEntry और इससे जुड़ी स्थितियों की पहचान, नए contentKey फ़ील्ड से की जानी चाहिए. यह फ़ील्ड, नए contentKeyFactory लैम्डा से जनरेट होता है. साथ ही, यह NavEntry.key (I81a6c, b/422001357, b/420991203 I2d7d4, b/420991203, b/422841812) से जनरेट किए गए सेव किए जा सकने वाले हैश पर डिफ़ॉल्ट रूप से सेट होता है

डिपेंडेंसी में बदलाव

  • Navigation3 अब नए androidx.navigationevent.compose आर्टफ़ैक्ट पर निर्भर करता है.

वर्शन 1.0.0-alpha03

4 जून, 2025

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

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

  • Navigation3 अब उन backStacks के लिए डेकोरेटर की स्थितियां नहीं मिटाएगा जिन्हें स्वैप करके, किसी दूसरे backStack इंस्टेंस से बदल दिया गया है. (I28a42, b/415076044)

वर्शन 1.0.0-alpha02

23 मई, 2025

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

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

  • SavedStateNavEntryDecorator से जुड़ी समस्या को ठीक किया गया है. इस वजह से, एक ही प्रॉपर्टी वैल्यू वाली अलग-अलग डेटा क्लास के बीच टकराव हो रहा था. (b/418070648, Iff4775)
  • क्लास के मौजूद न होने की समस्या को ठीक किया गया है. इस वजह से, साफ़ तौर पर डिपेंडेंसी तय किए बिना ऐप्लिकेशन चलाने पर क्रैश हो जाता था. (b/419049149, I4b4ed)

वर्शन 1.0.0-alpha01

20 मई, 2025

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

नई सुविधाएं

Navigation3 एक नई नेविगेशन लाइब्रेरी है. इसे खास तौर पर, Jetpack Compose ऐप्लिकेशन में नेविगेशन को मैनेज करने के लिए बनाया गया है. androidx.navigation3.runtime आर्टफ़ैक्ट, बिल्डिंग ब्लॉक उपलब्ध कराता है. वहीं, androidx.navigation3.ui आर्टफ़ैक्ट, NavDisplay एपीआई के ज़रिए यूज़र इंटरफ़ेस (यूआई) लेयर उपलब्ध कराता है. डेवलपर, NavDisplay कंपोज़ेबल फ़ंक्शन को सीधे तौर पर अपनी स्थिति की जानकारी दे सकते हैं. इससे डेवलपर की स्थिति में हुए बदलावों के आधार पर, कॉन्टेंट में बदलाव होता है.

@Serialiable object Home : NavKey
@Serialiable object Chat : NavKey

val backStack = rememberNavBackStack(Home)

NavDisplay(backStack, entryProvider = entryProvider {
  entry<Home> {
    Column {
      Text(Home)
      Button(onClick = { backStack.add(Chat) } ) {
        Text(Go to Chat)
      } 
    }
  }
  entry<Chat> { /* My Composable Content */ }
})

ज़्यादा जानकारी के लिए, Navigation3 गाइड देखें.