navigation3
| नया अपडेट | स्टेबल रिलीज़ | रिलीज़ कैंडिडेट | बीटा रिलीज़ | ऐल्फ़ा रिलीज़ |
|---|---|---|---|---|
| 19 नवंबर, 2025 | 1.0.0 | - | - | - |
डिपेंडेंसी का एलान करना
navigation3 पर डिपेंडेंसी जोड़ने के लिए, आपको अपने प्रोजेक्ट में Google Maven रिपॉज़िटरी जोड़नी होगी. ज़्यादा जानकारी के लिए, Google की Maven रिपॉज़िटरी पढ़ें.
अपने ऐप्लिकेशन या मॉड्यूल के लिए, build.gradle फ़ाइल में उन आर्टफ़ैक्ट की डिपेंडेंसी जोड़ें जिनकी आपको ज़रूरत है:
Groovy
dependencies { implementation "androidx.navigation3:navigation3-runtime:1.0.0" implementation "androidx.navigation3:navigation3-ui:1.0.0" }
Kotlin
dependencies { implementation("androidx.navigation3:navigation3-runtime:1.0.0") implementation("androidx.navigation3:navigation3-ui:1.0.0") }
डिपेंडेंसी के बारे में ज़्यादा जानने के लिए, बिल्ड डिपेंडेंसी जोड़ना लेख पढ़ें.
सुझाव/राय दें या शिकायत करें
आपके सुझाव, शिकायत या राय से Jetpack को बेहतर बनाने में मदद मिलती है. अगर आपको कोई नई समस्या मिलती है या आपके पास इस लाइब्रेरी को बेहतर बनाने के लिए सुझाव हैं, तो हमें बताएं. कृपया नई समस्या सबमिट करने से पहले, इस लाइब्रेरी में शामिल मौजूदा समस्याओं को देखें. स्टार बटन पर क्लिक करके, किसी मौजूदा समस्या के लिए वोट किया जा सकता है.
ज़्यादा जानकारी के लिए, Issue Tracker का दस्तावेज़ देखें.
इस आर्टफ़ैक्ट के लिए कोई रिलीज़ नोट नहीं है.
वर्शन 1.0
वर्शन 1.0.0
19 नवंबर, 2025
androidx.navigation3:navigation3-*:1.0.0 रिलीज़ हो गया है. वर्शन 1.0.0 में ये बदलाव शामिल हैं.
पेश है Navigation3!
- Navigation3 लाइब्रेरी का इस्तेमाल अब बिना किसी समस्या के किया जा सकता है! Navigation3, AndroidX Compose में नेविगेशन का पहला तरीका है.
- ज़्यादा जानकारी के लिए, सूचना वाली हमारी ब्लॉग पोस्ट पढ़ें. साथ ही, संसाधन देखें और रेसिपी आज़माएँ.
वर्शन 1.0.0-rc01
05 नवंबर, 2025
androidx.navigation3:navigation3-*:1.0.0-rc01 रिलीज़ हो गया है. वर्शन 1.0.0-rc01 में ये बदलाव शामिल हैं.
गड़बड़ियां ठीक की गईं
NavDisplayअबSceneलेवल परLocalLifecycleOwnerसेट करता है. इससे सीन के लेखक यह तय कर पाते हैं कि सभी ट्रांज़िशन पूरे हो गए हैं या नहीं. इसके लिए, उन्हें यह देखना होता है किLifecycle.StateRESUMEDहै या नहीं.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तरीके के कंस्ट्रक्शन में ले जाएं.इसका मतलब है कि इसेSceneStrategyतरीके में ले जाएं. इससे आपको सही वैल्यू के आधार पर, किसी भीrememberSaveableवैल्यू या मुख्यrememberस्टेटमेंट की लाइफ़टाइम तय करने की पूरी अनुमति मिलती है.rememberMySceneStrategy()(If1733, b/448709506)SceneStrategy.calculateSceneके लिएonBackपैरामीटर कोSceneStrategyScopeके नए रिसीवर स्कोप में ले जाया गया है. इससे यह साफ़ तौर पर पता चलता है कि यह एक ज़रूरी नहीं है. साथ ही, इससे आने वाले समय में Navigation3 की सुविधाओं के लिए एक्सटेंशन पॉइंट उपलब्ध कराया जा सकेगा. (I3aea3, b/448460407)NavDisplayऔरSceneStrategyमें पास किया गयाonBackलैम्डा, अबcount: Intपैरामीटर नहीं देता. इस पैरामीटर से यह पता चलता था कि एक से ज़्यादा एंट्री कब पॉप अप होनी चाहिए. इसके बजाय,() -> Unitlambda को अब एक के बाद एक कई बार कॉल किया जाएगा. ऐसा तब होगा, जब आपके सीन के अनुरोधों में कई एंट्री दिखेंगी. (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) हटाएं
entryProviderDSL के लिए, जेनेरिक को मैनेज करने की सुविधा को बेहतर बनाया गया है. अगर आपने पहलेandroidx.navigation3.runtime.entryइंपोर्ट किया था, तो अब ऐसा करने की ज़रूरत नहीं है. (I299fc)- Android पर, रिफ़्लेक्शन पर आधारित
NavBackStackSerializerओवरलोड को सीमित करें. इससे Android के अलावा अन्य प्लैटफ़ॉर्म पर, रनटाइम के दौरान अपने-आप होने वाले सीरियललाइज़ेशन की गड़बड़ियों को रोका जा सकता है. इसके लिए, मल्टीप्लैटफ़ॉर्म कोड मेंSavedStateConfigurationओवरलोड का इस्तेमाल करना ज़रूरी है. (I73313, b/420443609) NavigationEventकेswipeEdgeको@IntDefबनाएं (Icee54, b/443950342)- Android पर
NavBackStackके क्रम से लगाने की सुविधा को सीमित करें. इससे Android के अलावा अन्य प्लैटफ़ॉर्म पर रनटाइम से जुड़ी गड़बड़ियों को रोका जा सकता है. अलग-अलग प्लैटफ़ॉर्म पर स्थिति को सेव करने के लिए, साफ़ तौर परrememberNavBackStackके साथ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के ज़रिए सेट किए गए किसी भी नेस्ट किए गएNavigationEventDispatcherOwnerकोNavigationEventलाइब्रेरी केLocalNavigationEventDispatcherOwnerसे अनदेखा करने की समस्या को ठीक किया गया है. (I6224a)
डिपेंडेंसी में बदलाव
- Navigation3 अब NavigationEvent Alpha08 पर निर्भर करता है.
वर्शन 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 अपडेट
- AndroidX के लिए डिफ़ॉल्ट minSdk को API 21 से API 23 पर ले जाया गया है (Ibdfca, b/380448311, b/435705964, b/435705223)
एपीआई में हुए बदलाव
SavedStateNavEntryDecoratorअब स्टेटस को सेव और वापस लाने के लिए,SaveableStateProviderमें पहले से मौजूदSaveableStateRegistryका इस्तेमाल करता है. (If8d9a)predictivePopTransitionSpecको अब स्वाइप एज को पैरामीटर के तौर पर दिया गया है. इससे, ट्रांज़िशन को अपनी पसंद के मुताबिक बनाया जा सकता है. इसके लिए, यह देखा जाता है कि उपयोगकर्ता ने अनुमानित बैक जेस्चर को किस एज से शुरू किया है. (I753a8)
गड़बड़ियां ठीक की गईं
- उस समस्या को ठीक कर दिया गया है जिसकी वजह से कस्टम सीन को बार-बार रीफ़्रेश किया जाता था. ऐसा इसलिए होता था, क्योंकि सबसे हाल ही के सीन को याद नहीं रखा जाता था. (I7ba84, b/418153031)
डिपेंडेंसी अपडेट
- Navigation3 अब नेविगेशन इवेंट
1.0.0-alpha06पर निर्भर करता है.
वर्शन 1.0.0-alpha06
30 जुलाई, 2025
androidx.navigation3:navigation3-*:1.0.0-alpha06 रिलीज़ हो गया है. वर्शन 1.0.0-alpha06 में ये बदलाव शामिल हैं.
डिपेंडेंसी अपडेट
- Navigation3 अब नेविगेशन इवेंट
1.0.0-alpha05पर निर्भर करता है.
वर्शन 1.0.0-alpha05
2 जुलाई, 2025
androidx.navigation3:navigation3-*:1.0.0-alpha05 रिलीज़ हो गया है. वर्शन 1.0.0-alpha05 में ये बदलाव शामिल हैं.
व्यवहार में बदलाव
NavEntryकी स्थिति अबNavDisplayको पास किए गए डेकोरेटर की मौजूदा सूची पर आधारित है. इसका मतलब है कि बैक स्टैक में NavEntries की स्थिति को बनाए रखने के लिए, एक से ज़्यादा बैक स्टैक होने पर, डेकोरेटर को बैक स्टैक के साथ स्वैप किया जाना चाहिए. ऐसा न करने पर, राज्यों को इस तरह से साफ़ किया जाएगा जैसे कि एंट्री को स्वैप करने के बजाय पॉप किया गया हो. (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 गाइड देखें.