navigation3

  
Navigation 3, नेविगेशन की नई लाइब्रेरी है. इसे Compose के साथ काम करने के लिए डिज़ाइन किया गया है.
नया अपडेट स्टेबल रिलीज़ रिलीज़ कैंडिडेट बीटा रिलीज़ ऐल्फ़ा रिलीज़
27 अगस्त, 2025 - - - 1.0.0-alpha08

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

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

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

Groovy

dependencies {
    implementation "androidx.navigation3:navigation3-runtime:1.0.0-alpha08"
    implementation "androidx.navigation3:navigation3-ui:1.0.0-alpha08"
}

Kotlin

dependencies {
    implementation("androidx.navigation3:navigation3-runtime:1.0.0-alpha08")
    implementation("androidx.navigation3:navigation3-ui:1.0.0-alpha08")
}

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

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

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

नई समस्या बनाना

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

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

वर्शन 1.0

वर्शन 1.0.0-alpha08

27 अगस्त, 2025

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

नई सुविधाएं

  • Navigation3 Runtime आर्टफ़ैक्ट में नए Kotlin MultiPlatform (KMP) टारगेट जोड़े गए. Navigation3 Runtime अब इन प्लैटफ़ॉर्म पर काम करता है: JVM (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 ने एक बग पेश किया था. इसकी वजह से, लाइफ़साइकल को अलग-अलग एंट्री के बजाय सीन पर आधारित किया गया था. इससे एक से ज़्यादा स्क्रीन वाले सीन के लिए लाइफ़साइकल काम नहीं कर रहा था. इसे अगली रिलीज़ के लिए ठीक कर दिया गया है. (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 API के ज़रिए यूज़र इंटरफ़ेस (यूआई) लेयर उपलब्ध कराता है. डेवलपर, 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 गाइड देखें.