navigation3

  
‫Navigation 3 היא ספריית ניווט חדשה שנועדה לעבוד עם Compose.
העדכון האחרון גרסה יציבה גרסה מועמדת להפצה גרסת בטא גרסת אלפא
‫11 במרץ 2026 1.0.1 - ‎1.1.0-beta01 -

הצהרה על יחסי תלות

כדי להוסיף תלות ב-Navigation3, צריך להוסיף את מאגר Google Maven לפרויקט. מידע נוסף זמין במאמר בנושא מאגר Maven של Google.

אתם יכולים להוסיף את יחסי התלות של הארטיפקטים שאתם צריכים בקובץ build.gradle של האפליקציה או המודול:

Groovy

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

Kotlin

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

מידע נוסף זמין במאמר הוספת יחסי תלות ב-build.

משוב

המשוב שלכם עוזר לנו לשפר את Jetpack. נשמח לדעת אם גיליתם בעיות חדשות או אם יש לכם רעיונות איך לשפר את הספרייה הזו. כדאי לעיין בבעיות הידועות בספרייה הזו לפני שמדווחים על בעיה. כדי להוסיף הצבעה בדיווח על בעיה קיימת, לוחצים על כפתור הכוכב.

יצירת דיווח על בעיה חדשה

מידע נוסף זמין במאמרי העזרה בנושא Issue Tracker.

אין הערות לגבי הגרסה של הארטיפקט הזה.

גרסה 1.1

גרסה ‎1.1.0-beta01

‫11 במרץ 2026

androidx.navigation3:navigation3-*:1.1.0-beta01 מופץ. גרסה ‎1.1.0-beta01 מכילה את השמירות האלה.

גרסה ‎1.1.0-alpha05

‫25 בפברואר 2026

androidx.navigation3:navigation3-*:1.1.0-alpha05 מופץ. גרסה ‎1.1.0-alpha05 מכילה את השמירות האלה.

שינויים ב-API

  • במערכות ההפעלה NavDisplay ו-rememberSceneState, הפרמטר List<SceneStrategy> מחליף את הפרמטר הקודם SceneStrategy שצורף באמצעות התו then. השינוי הזה תואם יותר ל-List<SceneDecoratorStrategy<T>> ששני ממשקי ה-API האלה כבר מקבלים. ממשקי ה-API הקודמים הוצאו משימוש. ‫(I78b2c, ‏ b/482108465)
  • נוסף אופרטור metadata #contains כדי לבדוק אם מפת המטא-נתונים מכילה את NavMetadataKey שצוין. (Ic30db, ‏ b/485311895)
  • נוספה האפשרות NavMetadataKey DialogKey ל-DialogSceneStrategy לשימוש עם Metadata DSL. ‫(Ic7a26, ‏ b/483388817)

גרסה ‎1.1.0-alpha04

‫11 בפברואר 2026

androidx.navigation3:navigation3-*:1.1.0-alpha04 מופץ. גרסה ‎1.1.0-alpha04 מכילה את השמירות האלה.

תכונות חדשות

  • ‫Navigation3 מספק עכשיו DSL חדש של מטא-נתונים שמאובטח מפני שגיאות הקלדה. ה-DSL משתמש בממשק MetadataKey חדש שמאפשר להגדיר את סוגי המפתח והערך שרוצים לספק למפת המטא-נתונים. בנוסף, נוספו NavMetadataKey חדשים למעברים של NavDisplay, כדי שאפשר יהיה להשתמש בהם עם metadata DSL החדש כדי להוסיף מעברים ל-NavDisplay. (Ic10ef, ‏ Ic049c,‏b/476213928)

שינויים ב-API

  • בממשק של OverlayScene יש עכשיו onRemoved קריאה חוזרת להשעיה. הקריאה החוזרת הזו מופעלת אחרי שמסירים מהמערך האחורי מפתח שמשויך לסצנה, אבל לפני שהוא יוצא מהקומפוזיציה. ההגדרה הזו מאפשרת לאנימציות יציאה שנקראות בתוך onRemoved להסתיים לפני שהסצנה של שכבת העל מוסרת מהקומפוזיציה. (I29a72, b/440558061)
  • הפונקציה SceneStrategy פוצלה לפונקציה חדשה SceneDecoratorStrategy. הממשק החדש הזה הוא הממשק שבו צריך להשתמש כדי להוסיף סצנות. יש ממשקי API חדשים ל-NavDisplay ול-rememberSceneState שמאפשרים להוסיף SceneDecoratorStrategies. (If9385, b/477669607, b/477670333)

תיקוני באגים

  • תוקנה שגיאה שבה העברה של SharedTransitionLayout אל NavDisplay או אל rememberSceneState ושימוש ב-OverlayScene כלשהו גרמו לקריסה, כי השימוש ב-SharedTransitionLayout פועל רק עם NavEntries שמעובדים כחלק מ-AnimatedContent, ו-OverlayScene מעובדים בחלונות נפרדים משלהם. (I1bb76, ‏ b/478664101)

עדכון תלות

  • מגרסה Navigation3 1.0.1: Navigation3 עכשיו יש תלות בגרסה NavigationEvent 1.0.2. העדכון הזה פותר בעיה IllegalStateException שנגרמה כתוצאה משימוש ב- NavDisplay במהלך AndroidStudio תצוגות מקדימות. (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

‫3 בדצמבר 2025

androidx.navigation3:navigation3-*:1.1.0-alpha01 מופץ. גרסה ‎1.1.0-alpha01 מכילה את השמירות האלה.

שינויים ב-API

  • Navigation3 תומך עכשיו בטיפול בסצנות כאובייקט של רכיב משותף. המשמעות היא שכאשר הסצנות משתנות, אפשר לוודא שהמעבר ביניהן יהיה חלק. כדי להפעיל את ההגדרה הזו, מעבירים SharedTransitionScope אל NavDisplay או אל rememberSceneState. (I15868)

גירסה 1.0

גרסה 1.0.1

‫11 בפברואר 2026

androidx.navigation3:navigation3-*:1.0.1 מופץ. גרסה 1.0.1 מכילה את השמירות האלה.

עדכון תלות

  • Navigation3 תלוי עכשיו ב-NavigationEvent 1.0.2. העדכון הזה פותר בעיה IllegalStateException שנגרמה כתוצאה משימוש ב- NavDisplay במהלך AndroidStudio תצוגות מקדימות. (Id7212, ‏ b/477149762)

גרסה 1.0.0

‫19 בנובמבר 2025

androidx.navigation3:navigation3-*:1.0.0 מופץ. גרסה 1.0.0 מכילה את השמירות האלה.

חדש: Navigation3!

גרסה ‎1.0.0-rc01

‫5 בנובמבר 2025

androidx.navigation3:navigation3-*:1.0.0-rc01 מופץ. גרסה ‎1.0.0-rc01 מכילה את השמירות האלה.

תיקוני באגים

  • NavDisplay מגדיר עכשיו LocalLifecycleOwner ברמה Scene שמאפשרת לכותבי סצנות לקבוע אם כל המעברים הסתיימו על ידי בדיקה שהערך של Lifecycle.State הוא RESUMED. ההתנהגות של LocalLifecycleOwner ברמה NavEntry לא משתנה: היא גם נשארת מוגבלת ל-STARTED אם מתבצע מעבר, והיא מוגבלת בנוסף ל-CREATED אם NavEntry הוצא ממקבץ הפעילויות הקודמות (back stack) והוא בתהליך של אנימציה. (I03113, ‏ b/454045829)

גרסה ‎1.0.0-beta01

‫22 באוקטובר 2025

androidx.navigation3:navigation3-*:1.0.0-beta01 מופץ. גרסה ‎1.0.0-beta01 מכילה את השמירות האלה.

שינויים ב-API

  • SceneStrategyScope כולל עכשיו רק בנאי ציבורי ללא ארגומנטים, שמתאים לבדיקה של SceneStrategy ושל Scene שמוחזר בבידוד. לתרחישי שימוש מורכבים יותר, מומלץ להשתמש ב-rememberSceneState(). (I8440c, ‏ b/451679047)

תיקוני באגים

  • תוקנה לולאה אינסופית כשמשלבים SceneStrategy עם then. (Iba3f0, b/450323470)
  • תוקן מצב של הבהוב המסך כשמחליפים את backStack שמועבר אל NavDisplay ומשתמשים באנימציות. (Ief7b5, b/450967248)

גרסה ‎1.0.0-alpha11

‫8 באוקטובר 2025

androidx.navigation3:navigation3-*:1.0.0-alpha11 מופץ. גרסה ‎1.0.0-alpha11 מכילה את השמירות האלה.

שינויים ב-API

  • השיטה calculateScene ב-SceneStrategy כבר לא @Composable. במקום זאת, כדאי להעביר את העבודה הזו לבנייה של שיטת SceneStrategy (כלומר, בשיטת rememberMySceneStrategy()) שמאפשרת לכם להגדיר באופן מלא את משך החיים של ערכי rememberSaveable או של הצהרות מפתח remember על סמך הערכים הנכונים. (If1733, b/448709506)
  • הפרמטר onBack של SceneStrategy.calculateScene הועבר להיקף החדש של מקבל הנתונים SceneStrategyScope כדי להבהיר שמדובר בפרמטר אופציונלי, וכדי לספק נקודת הרחבה לתכונות עתידיות של Navigation3. (I3aea3, ‏ b/448460407)
  • פונקציית ה-lambda‏ onBack שמועברת אל NavDisplay ואל SceneStrategy לא מספקת יותר פרמטר count: Int כדי לציין מתי צריך להסיר כמה רשומות. במקום זאת, פונקציית ה-() -> Unit lambda תיקרא עכשיו כמה פעמים ברצף במקרה הנדיר שבו בקשות ה-Scene שלכם יציגו כמה רשומות. (Idedb5, ‏ b/446989346)
  • מסירים את המחלקה NavEntryWrapper ומחליפים את הפונקציונליות שלה במחלקה סופית NavEntry עם בנאי משני חדש שמקבל NavEntry עם תוכן חדש. כך נוכל להמשיך לתמוך בהוספת תוכן חדש לערך. (I7da2a, ‏ b/444447130)
  • הפונקציה navEntryDecorator שיוצרת ומחזירה NavEntryDecorator הוסרה והוחלפה במחלקה NavEntryDecorator, שעכשיו היא ציבורית ופתוחה ליצירת מחלקות משנה. (If81f8, ‏ b/444447434, ‏ b/447381176)
  • השם של SavedStateNavEntryDecorator שונה ל-SaveableStateHolderNavEntryDecorator כי הוא מוסיף SaveableStateHolder לרשומות. בנוסף, בוצע רפקטורינג של הדקורטור מפונקציה למחלקה, כי מבחינה פונקציונלית הוא מפעל של NavEntryDecorator. (Ie6013, b/447381176)
  • כבר לא צריך להשתמש ב-LocalEntriesToRenderInCurrentScene composition local כדי להציג תצוגות מותאמות אישית באמצעות SceneState כחלופה לשימוש ב-NavDisplay. עכשיו היא פנימית. (Ic40ef, b/414668196)
  • הסרנו את SceneSetupNavEntryDecorator ואת rememberSceneSetupNavEntryDecorator() מ-API שגלוי לכולם. הפונקציונליות הזו כלולה עכשיו כברירת מחדל, ולא צריך להוסיף אותה באופן ידני. (Ieae42, ‏ b/444479133)
  • NavEntry, DialogScene, SinglePaneScene וגם SceneState מיישמים עכשיו את הפונקציה equals. (I96121)
  • בממשק של הסצנה יש שדה חדש של מטא-נתונים לצירוף מטא-נתונים ספציפיים לסצנה עבור NavDisplay. כך אפשר להגדיר שסצנה מסוימת תבטל את המטא-נתונים של NavDisplay, למשל באמצעות מעברים. ‫(I1fd96, ‏ b/443955625)
  • כדי לפשט את החתימה rememberNavBackStack, מסירים את פרמטר הסוג הגנרי המיותר. הפונקציה מקבלת עכשיו את הערך vararg elements: NavKey. (I03e45)
  • אנימציות ברירת המחדל של NavDisplay הן עכשיו חלק מה-API המשותף, כך שאפשר להפעיל אותן מכל הפלטפורמות. (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 מכילה את השמירות האלה.

שינויים ב-API

  • הוספת עומס יתר חדש של NavDisplay שמקבל רשימה של NavEntry<T> שעברה קישוט על ידי rememberDecoratedNavEntries. (I4025b, b/441940314)
  • העברנו את DialogScene לחבילה חדשה. (Ia5840)
  • הסרת ה-API הציבורי DecorateNavEntry. במקום זאת, משתמשים ב-rememberDecoratedNavEntries כדי להוסיף רשימה של מעצבים ל-NavEntry. (Id8c09)
  • ממשק המשתמש Navigation3 מספק עכשיו מאפייני ברירת מחדל חדשים של transitionSpec. (Ibcabd)
  • הוספנו אובייקט SceneState חדש שיעזור לכם לנהל סצנות. הפעולה הזו מספקת גם עומס יתר חדש של NavDisplay שמקבל את SceneState ואת NavigationEventState. (Idfb46, ‏ b/444479133)
  • NavDisplay מאפשרת עכשיו להתאים אישית את המעברים על סמך המיקום Scene שאליו עוברים והמיקום שממנו יוצאים, על ידי עיון בTransition, currentState ובtargetState. (I906cc, ‏ b/443872322)
  • המינוי של NavigationEventInfo הוא עכשיו abstract class במקום interface. מעדכנים את כל ההטמעות בהתאמה אישית כך שיורשות מהמחלקה (לדוגמה, data class MyInfo : NavigationEventInfo()). (I1e59c, b/444734264)
  • ממשקי ה-API של navigationevent-compose handler עודכנו. ‫NavigationEventHandler ו-NavigationBackHandler (והווריאציות שלהם) תומכים עכשיו בעומס יתר חדש שמקבל NavigationEventStates שהועברו. העומסים הפשוטים (שמקבלים currentInfo) נשמרים ועכשיו משתמשים במודל המצב החדש הזה באופן פנימי. ‫(Ic3251, ‏ b/444734264)
  • כל ממשקי ה-API של Scene הועברו מ-navigation3-ui אל navigation3-runtime. כלומר, הם זמינים עכשיו בכל הפלטפורמות שנתמכות על ידי navigation3-runtime. ‫(I431d0, ‏ b/444449993)
  • נוספה rememberDecoratedNavEntries חדשה של עומס יתר שמקבלת רשימה של NavEntry להוסיף. אפשר להוסיף לערכי הקלט קישוטי ערכים אחרים. (I5a034, b/444230270)
  • הסרת פרמטרים של סוג wildcard של navigation3 ‏ (I02540)
  • שיפרנו את הטיפול בגנריות ב-entryProvider DSL. אם בעבר ייבאתם את androidx.navigation3.runtime.entry, אין יותר צורך בכך. (I299fc)
  • הגבלת העומס העודף של NavBackStackSerializer שמבוסס על השתקפות ל-Android. ההגדרה הזו מונעת כשלים מרומזים בסריאליזציה בזמן ריצה בפלטפורמות שאינן Android, על ידי אכיפת השימוש בעומס היתר המפורש SavedStateConfiguration בקוד מולטי-פלטפורמה. ‫(I73313, ‏ b/420443609)
  • הפיכת swipeEdge של NavigationEvent ל-@IntDef (Icee54, ‏ b/443950342)
  • הגבלת סריאליזציה של NavBackStack ל-Android. כך נמנעים כשלים בזמן ריצה בפלטפורמות שאינן Android. כדי לשמור את המצב בכמה פלטפורמות, משתמשים ב-rememberNavBackStack overload עם 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 מכילה את השמירות האלה.

שינויים ב-API

  • הפונקציה DecoratedNavEntryProvider הוחלפה בפונקציה rememberDecoratedNavEntries שיוצרת ומחזירה NavEntry עם רשימה של מעצבים שסופקו (I0fe1c, ‏ b/441328236)
  • NavBackStack הוא עכשיו גנרי לגבי הסוג NavKey. כך אפליקציות וספריות יכולות להגדיר סוגי מקשים מותאמים אישית עבור ערימות החזרה שלהן, במקום להיות מוגבלות ל-NavKey. (I4d190,Iad2f4, b/420443609)
  • NavBackStack הוא עכשיו @kotlinx.serialization.Serializable, ולכן אפשר לשמור ולשחזר את מצב הניווט אחרי סיום התהליך ושינויים בהגדרות בלי להשתמש בקוד מיותר. (I2c3cf, ‏ b/420443609)
  • RememberNavBackStack הועבר אל commonMain כדי לוודא שהוא מסופק בכל פלטפורמות היעד. (Id69e7, b/420443609)

תיקוני באגים

  • NavDisplay מעביר עכשיו כל NavEntry בנפרד אל Lifecycle.State הנכון. (I30aac, ‏ b/440145700)
  • תוקנה בעיה שבה התג NavDisplay התעלם מכל תג NavigationEventDispatcherOwner שמוגדר בתוך תג אחר באמצעות LocalNavigationEventDispatcherOwner של הספרייה NavigationEvent. (I6224a)

שינויים בתלות

גרסה ‎1.0.0-alpha08

‫27 באוגוסט 2025

androidx.navigation3:navigation3-*:1.0.0-alpha08 מופץ. גרסה ‎1.0.0-alpha08 מכילה את השמירות האלה.

תכונות חדשות

  • נוספו יעדים חדשים של Kotlin MultiPlatform‏ (KMP) לארטיפקטים של Navigation3 Runtime. ‫Navigation3 Runtime תומך עכשיו בפלטפורמות הבאות: JVM (Android ומחשב), Native (Linux,‏ iOS,‏ watchOS,‏ macOS,‏ MinGW) ו-Web (JavaScript,‏ WasmJS). (I55078, b/424410398, b/419294028, b/419046226). הערה: הפקודה הזו לא מספקת יעדי KMP עבור Navigation3 UI artifact. בפלטפורמות אחרות, תצטרכו להטמיע NavDisplay משלכם בהתאמה אישית. אם אתם רוצים שהתמיכה תתווסף, אתם יכולים להצביע על הבעיה ב-Jetbrains כאן ולעקוב אחרי ההתקדמות כדי לקבל תמיכה נוספת.
  • אובייקט NavDisplayInfo עכשיו ציבורי ואפשר להשתמש בו כדי לאחזר את רשימת הרשומות הגלויות מ-NavDisplay. (Ibc91f)

שינויים ב-API

  • נוסף NavBackStackSerializer חדש לשימוש בשילוב עם rememberNavBackStack כדי לבצע שחזור של מצב. התג rememberNavBackStack() מקבל עכשיו גם את הערך SavedStateConfiguration שאפשר להשתמש בו כדי לספק הגדרה משלכם. (I2f4d2, ‏ I4cd58, ‏ b/420443609)

תיקוני באגים

  • תוקנה בעיה שבה ניווט גרם להפעלת אירועים שגויים של מחזור החיים. (I8bf6d, ‏ b/425901162, ‏ b/434109022)

בעיות מוכרות

  • באג שנוצר על ידי I8bf6d גרם לכך שמחזורי החיים התבססו על סצנות במקום על רשומות נפרדות. כתוצאה מכך, מחזור החיים לא פעל במקרים שבהם key שסופק ל-NavEntry לא היה 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

שינויים ב-API

  • SavedStateNavEntryDecorator משתמש עכשיו ב-SaveableStateRegistry שמוטמע ב-SaveableStateProvider כדי לשמור ולשחזר מצבים. (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. המשמעות היא שאם יש כמה מקבצי פעילויות קודמות (back stack), צריך להחליף את ה-decorators לאורך מקבצי פעילויות קודמות (back stack) כדי לשמור על המצב של NavEntry במקבץ פעילויות קודמות (back stack). אחרת, המצבים ינוקו כאילו הרשומות הוצאו מהמחסנית (במקום החלפה). (I7a759, b/428033667)

גרסה ‎1.0.0-alpha04

‫18 ביוני 2025

androidx.navigation3:navigation3-*:1.0.0-alpha04 מופץ. גרסה ‎1.0.0-alpha04 מכילה את השמירות האלה.

שינויים ב-API

  • הסרטון NavEntry.content מוגדר עכשיו כפרטי. כדי להפעיל תוכן NavEntry, קוראים ל-API החדש NavEntry.Content() שלא דורש יותר פרמטר key להפעלה. (Icd0fd, ‏ b/420991203)
  • NavEntry.key הוא עכשיו שדה פרטי. ה-NavEntry והמצבים הרלוונטיים שלו צריכים להיות מזוהים על ידי השדה החדש contentKey שנוצר מה-lambda החדש 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 פיתוח נייטיב. ארטיפקט 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.