navigation3
| Son Güncelleme | Kararlı Sürüm | Sürüm Adayı | Beta sürümü | Alfa Sürümü |
|---|---|---|---|---|
| 23 Eylül 2026 | 1.2.0 | - | - | 1.3.0-alpha01 |
Bağımlılıkları bildirme
navigation3'e bağımlılık eklemek için Google Maven deposunu projenize eklemeniz gerekir. Daha fazla bilgi için Google'ın Maven deposunu inceleyin.
Uygulamanız veya modülünüz için build.gradle dosyasına ihtiyacınız olan yapılarla ilgili bağımlılıkları ekleyin:
Groovy
dependencies { implementation "androidx.navigation3:navigation3-runtime:1.3.0-alpha01" implementation "androidx.navigation3:navigation3-ui:1.3.0-alpha01" }
Kotlin
dependencies { implementation("androidx.navigation3:navigation3-runtime:1.3.0-alpha01") implementation("androidx.navigation3:navigation3-ui:1.3.0-alpha01") }
Bağımlılıklar hakkında daha fazla bilgi için Derleme bağımlılıkları ekleme başlıklı makaleyi inceleyin.
Geri bildirim
Geri bildiriminiz Jetpack'in iyileştirilmesine yardımcı olur. Yeni sorunlar keşfederseniz veya bu kitaplığı iyileştirmeye yönelik fikirleriniz varsa lütfen bize bildirin. Yeni bir sorun oluşturmadan önce lütfen bu kitaplıktaki mevcut sorunlara göz atın. Yıldız düğmesini tıklayarak mevcut bir soruna oyunuzu ekleyebilirsiniz.
Daha fazla bilgi için Sorun İzleyici belgelerini inceleyin.
Sürüm 1.3
Sürüm 1.3.0-alpha01
23 Eylül 2026
androidx.navigation3:navigation3-*:1.3.0-alpha01 iptal edilir. 1.3.0-alpha01 sürümü bu commit'leri içerir.
** Hata Düzeltmeleri **
NavDisplay'daDeferredAnimatedContent'ye geçiş yapılarak ve geçiş devri sorunları çözülerek tahmin edilen geri gitme animasyonunun devriyle ilgili sorun düzeltildi. I145eaedd b/430807423
Bu yapı için sürüm notu yok.
Navigation3 1.2 sürümü
Sürüm 1.2.0
23 Eylül 2026
androidx.navigation3:navigation3-*:1.2.0 iptal edilir. 1.2.0 sürümü bu commit'leri içerir.
1.2.0 sürümü artık kararlı!
1.1.0 sürümünden beri yapılan önemli değişiklikler
Result API
- Bu yeni API,
LocalResultEventBusveResultEventBusNavEntryDecoratortarafından sağlananResultEventBuskullanılarakNavEntriesarasında sonuçların iletilmesine olanak tanır. rememberResultEventBus,ResultEventBusöğesiniResultEventBusNavEntryDecoratordışında yükseltmeyi verememberResultEventBusNavEntryDecoratoröğesine iletmeyi desteklemek için eklendi.- İletilen sonuçlara
ResultEventBus#conflateAsStateile durum olarak erişilebilir veyaResultEffectile sonuç akışı olarak toplanabilir.
Deep Link API
Navigation3 artık DeepLinkRequest, DeepLinkUri ve DeepLinkMatcher üzerinden androidx.navigation3.runtime.deeplink'da Kotlin Multiplatform (KMP) derin bağlantılarını destekliyor.
DeepLinkRequestveRequestExtras:DeepLinkUri, URI dizesi veya AndroidIntent'den oluşturulan bir derin bağlantı isteğini temsil eder.requestExtrasDSL veRequestExtrasKey<T>ile oluşturulan tür güvenliRequestExtraskapsayıcısı kullanılarak ek istek meta verileri eklenebilir.DeepLinkMatcher:DeepLinkRequestile eşleştirilebilen bir derin bağlantıyı temsil eder. Her eşleştirici örneği, bu derin bağlantıyı destekleyen gezinme anahtarıyla ilişkilendirilir. Bir gezinme anahtarı birden fazla eşleştiriciyle ilişkilendirilebilir.DeepLinkMatcher.matchişlevi, eşleşme başarılı olursa ilişkili gezinme anahtarını içeren birMatchResultdöndürür. İki varsayılanDeepLinkMatcheruygulaması vardır:Uritemelinde derin bağlantıları eşleştirmek içinUriDeepLinkMatcherve yalnızca Boole ile eşleşenDeepLinkMatcher.Filterile derin bağlantıları eşleştirmek içinStaticKeyDeepLinkMatcher.BackStackMatcher: Başarılı bir derin bağlantı eşleşmesi üzerine sentetik bir geri yığın oluşturmak içinDeepLinkMatcher.BackStackMatcher,DeepLinkMatcher.withBackStackuzantı işleviyle oluşturulabilir.
Tahmini Geri İşleme
SceneStateile tahmin edilen geri gitme işleme (onBackCompletedveonBackCancelled) arasındaki bağlantıyı basitleştirmek içinNavigationBackHandlerverememberNavigationEventStateeklendi. Bu sayede, özel kullanıcı arayüzü bileşenleri, eski yığın deltalarını manuel olarak hesaplamadan standart geri gezinmeyi ve tahmin edilen geri gitme hareketlerini destekleyebilir.- İleri animasyonlar sırasında yarıda tetiklenen tahmin edilen geri gitme hareketleri için destek de dahil olmak üzere tahmin edilen geri gitme geçişleri iyileştirildi.
Diğer Değişiklikler
NavEntry.contentKeyartık varsayılan olarakkey.toString()vekey::class.toString()bileşimi olarak ayarlanıyor. Bu sayede, farklı arayüzlerde aynı basit adı paylaşandata objectanahtarları arasında anahtar çakışmaları önleniyor.EntryProviderartık eşleştirmede anahtar türleri yerine anahtar örneklerine göre öncelik veriyor.Sceneuygulamalarınındata classveyaequalsvehashCode'ü uyguladığından emin olmak için bir lint kontrolü eklendi.
Sürüm 1.2.0-rc01
9 Eylül 2026
androidx.navigation3:navigation3-*:1.2.0-rc01 iptal edilir. 1.2.0-rc01 sürümü bu commit'leri içerir.
Hata Düzeltmeleri
- Derin bağlantı URI kalıplarında yinelenen yer tutucu adlarına izin verilmez. (I8985c, b/522343165)
Sürüm 1.2.0-beta01
26 Ağustos 2026
androidx.navigation3:navigation3-*:1.2.0-beta01 iptal edilir. 1.2.0-beta01 sürümü bu commit'leri içerir.
API Değişiklikleri
DeepLinkRequest.extras,Map<String, Any>değerindenRequestExtrasKey<T>ileTçiftlerini depolayan yeni bir tür güvenli harita benzeri sınıf olanRequestExtrasolarak yeniden düzenlendi.RequestExtras,requestExtrasDSL ile başlatılabilir. (Ic929d, b/543883369)
Hata Düzeltmeleri
- İleri geçiş sırasında tetiklenen tahmini geri hareketlerinin kaydırma ilerlemesine yanıt olarak animasyon oluşturmamasına neden olan sorun düzeltildi. Tahmin edilen geri gitme artık düzgün şekilde animasyonlu olarak tamamlanacak. (Icdcb0, b/456218398)
Sceneuygulamalarının veri sınıfları olmasını veya uygun olduğunda aynıScene'nın kullanılmasını sağlamak için equals ve hashcode'u uygulamasını sağlayan bir lint kontrolü eklendi. (Ibdf0d, b/542316099)NavEntry.contentKeyartık varsayılan olarakkey.toString()vekey::class.toString()birleşimidir. Bu, aynı adı paylaşan ancak farklı arayüzler uygulayan veri nesnelerinin artık aynıcontentKey'ye sahip olmamasını sağlar. Ancak JS platformununkey::classişlevi, tam nitelikli ad yerine yalnızca basit sınıf adını döndürür. Bu nedenle, JS platformu, adları yinelenen veri nesneleri için özelcontentKeyişlevini uygulamaya devam etmelidir. (I1fbbb, b/512534342)- Birden fazla pop geçişi devam ederken hızlı geri gezinme sırasında kullanılan yinelenen anahtarlar için
SaveableStateProvidertarafından oluşturulanIllegalArgumentExceptionhatası düzeltildi. (I4d728, b/516312097)
Sürüm 1.2.0-alpha07
29 Temmuz 2026
androidx.navigation3:navigation3-*:1.2.0-alpha07 iptal edilir. 1.2.0-alpha07 sürümü bu commit'leri içerir.
API Değişiklikleri
- Başka bir
DeepLinkMatcher.MatchResultsarmak için soyut birWrappedMatchResultsınıfı eklendi. Bu sayede, özelleştirilmiş maç sonuçları başka bir maç sonucunun üzerine yerleştirilebilir. (I7d4dc, b/470282247) İki parametre alan yeni
BackStackMatchersınıfı eklendi: eşleştirici örneği ve giriş eşleştiricinin eşleşme sonucunu sağlayan ve geri yığın döndüren bir oluşturucu lambda. Başarılı bir eşleşme durumundaBackStackMatcher, lambda ile oluşturulan geri yığınla birlikte orijinal eşleşme sonucunu içerenWrappedMatchResultöğesini genişleten birBackStackMatchResultdöndürür.BackStackMatcheryalnızca yeniDeepLinkMatcher.withBackStackuzantı işleviyle oluşturulabilir. (Ibf987, b/470282247)value : TöğesiniStringolarak kodlamak ve kodunu çözmek içinKSerializeröğesini genişleten bir soyutDeepLinkSerializersınıfı eklendi.DeepLinkSerializer, ilkel olmayan derin bağlantı bağımsız değişkenlerini serileştirmek için kullanılabilir.rememberSaveableverememberNavBackStackile uyumludur. (Id3c9f, b/470282247)DeepLinkMatcher, geliştiricilerinDeepLinkMatcher.match()tarafından döndürülen alt sınıflıMatchResultöğesinin özelliklerine tür dönüştürme olmadan erişebilmesi içinout R : DeepLinkMatcher.MatchResult<T>ikinci bir tür parametresi ekledi. (I693d3, b/470282247)DeepLinkMatcher.MatchResult'sT üst sınırıAny?'denAny'ye değişti. (I6bf1a)DeepLinkRequestoluşturucu alanıuriartık varsayılan olarak null değerini alıyor. İkincil oluşturucununuriStringadıuriolarak değiştirildi. (Ia0f14, b/522194187)
Hata Düzeltmeleri
ResultEffectartık en sononResultlambda'yı yakalamak içinrememberUpdatedStatekullanıyor. (I7d2a3, b/531709234)- Boş yol segmentleri için derin bağlantı eşleştirme düzeltildi. Bağımsız değişken türü Dize ise boş yol, boş dize değeri olarak değerlendirilir. Aksi takdirde, boş yol değer sağlanmamış gibi değerlendirilir ve varsayılan değere geri döner. Varsayılan değer yoksa eşleştirme başarısız olur. (I56575, b/535298128)
DeepLinkRequest.uriiçinde boş sorgu değerleri için destek eklendi. Bağımsız değişken Dize türündeyse boş değer, değişmez boş dize olarak kabul edilir. Aksi takdirde, boş değer, değer sağlanmamış gibi değerlendirilir ve eşleştirme, varsayılan değere geri dönmeye çalışır. Varsayılan değer yoksa eşleştirme başarısız olur. (I30343, b/535127459)EntryProviderartık eşleştirmede anahtar türleri yerine anahtar örneklerine göre öncelik veriyor. (Ib5ec9, b/533331924)SceneStateartık en üstteki yer paylaşımı içermeyen sahneden başlayarak önceki sahneleri doğru şekilde hesaplıyor. (I91915, b/513630541)
Sürüm 1.2.0-alpha06
15 Temmuz 2026
androidx.navigation3:navigation3-*:1.2.0-alpha06 iptal edilir. 1.2.0-alpha06 sürümü bu commit'leri içerir.
Hata Düzeltmeleri
- Joker karakterli parçaların herhangi bir girişle eşleşeceği ancak girişin bağımsız değişken olarak çıkarılmayacağı netleştirilerek URI parçalarıyla ilgili
UriDeepLinkMatcherdokümanı düzeltildi. (I5ad9b, b/524677091) - URI kalıbı şema içermiyorsa veya çift eğik çizgiyle başlamıyorsa
UriDeepLinkMatcheröğesinin istekle eşleşmemesi sorunu düzeltildi. Örneğin,www.example.com/homeartıkhttp://www.example.com/homeile eşleşecek. (Ia6b65, b/522791926)
Sürüm 1.2.0-alpha05
1 Temmuz 2026
androidx.navigation3:navigation3-*:1.2.0-alpha05 iptal edilir. 1.2.0-alpha05 sürümü bu commit'leri içerir.
Yeni API
rememberResultEventBusAPI'si eklendi. Bu API,rememberResultEventBusNavEntryDecorator'ye iletilebilen birResultEventBusdöndürür. Bu,ResultEventBusöğesininResultEventBusNavEntryDecoratordışında yükseltilmesine olanak tanır. (Ia655b, b/516995400)
DeepLinkRequest
- KMP ile uyumlu iki oluşturucu eklendi. Bunlardan biri DeepLinkUri, diğeri ise ham dize uri alır. (I3c088, b/513200887, b/522194187)
- (Yalnızca Android)
Intentalan bir oluşturucu eklendi. (Ia0498, b/513200887, b/522194187) - Tüm oluşturucularda, ek istek bilgilerini eklemek için
Map<String, Any>alanına yönelik ek birextrasalanı bulunur. (If81d5, b/513200887) - Ekstraların haritasını oluşturmak için tür açısından güvenli bir yöntem olarak yeni bir
requestExtrasdsl eklendi. DSL,RequestExtrasKeyileAnyçiftlerini depolamak içinputişlevini sağlar.Map<String, Any>.get(key)uzantı işlevi,RequestExtrasKey(I5091c, b/513200887) ile haritadan okumak için kullanılabilir. - (Yalnızca Android)
ActionExtrasKeyile ekstralar haritası oluşturmak içinActionExtrasKeyveactionExtraişlevleri eklendi. (Id0c90, [b/513200887] MimeTypeExtrasKeyile ekstralar haritası oluşturmak içinMimeTypeExtrasKeyvemimeTypeExtraişlevi eklendi. (I85131, b/513200887)
DeepLinkMatcher
DeepLinkMatcher.mimeTypeFilterveDeepLinkMatcher.actionFilterişlevleri eklenerekDeepLinkRequestöğelerinimimeTypeveyaaction'ye göre filtreleyenDeepLinkMatcher.Filtersoluşturuldu (yalnızca Android). Her iki filtre de dize eşitliğine göre eşleşir ve büyük/küçük harfe duyarlı değildir. (Ie7e67, b/513191950)
API Değişiklikleri
DeepLinkRequest
fromActionfabrika işlevini kaldırın. Bir işlemle ilişkili istek oluşturmak için yeniDeepLinkRequest.extrasalanını kullanın.(Id0c90, b/513200887)fromMimeTypefabrika işlevi kaldırıldı. Bir mimeType ile ilişkili istek oluşturmak için yeniDeepLinkRequest.extrasalanını kullanın. (I85131, b/513200887)- (Yalnızca Android)
fromIntentfabrika işlevi kaldırıldı. Bir Intent ve ekstralar haritası alan yeni bir oluşturucuyla değiştirildi. (Ia0498, b/513200887, b/522194187) fromUrivefromUriStringfabrika işlevleri kaldırıldı.DeepLinkUriveya ham dize URI'si alan yeni oluşturucularla değiştirildi. (Id5b6f, b/522194187)DeepLinkMatcher,DeepLinkMatcher.MatchResultve alt sınıfları artık kovaryant T (out T) alıyor. Böylece, hiyerarşik anahtarlar Matcher'larla kullanıldığında tür dönüşümü yapılması gerekmeyecek. (I1e453, b/525094876)- Arguments map için
UriMatchResultoluşturucu parametresi artık varsayılan olarak boş bir harita olur. (I3acdd) DeepLinkMatcher.Filtersoyut sınıfı artık işlevsel bir arayüz.filteroluşturucu alanı kaldırıldı ve bunun yerine doğrudan alt sınıfa iletilmesi gerekiyor. (I9eb7d, b/522194187)
Hata Düzeltmeleri
- Lambda değerleri içeren iç içe yerleştirilmiş meta verileri olan bir girişe geçiş yapıldığında açılan girişin hemen kaybolması sorunu düzeltildi. (Idb872, b/520494430)
- Eşleştirme sırasında gerekli bağımsız değişkenler eksik olduğunda
MissingFieldExceptionoluşturmak yerine boşUriMatchResultdöndürecek şekildeUriDeepLinkMatcherdüzeltildi. (I5322f, b/524663005) - HTTPS şeması içeren bir
UriDeeplinkMatcheryalnızca HTTPS şeması içeren isteklerle eşleştirilebilir. (Ibfe22, b/522304329) - Bir
DeepLinkRequestöğesiniUriDeepLinkMatcherile eşleştirirkenhttpşemasınıhttpsile olumlu bir eşleşme olarak doğru şekilde tanımlamak içinUriDeepLinkMatcheröğesini düzeltin. (I3a62b, b/518804264) DeepLinkMatcher.MatchResultkarşılaştırıcısı, iki sonuç eşit olduğunda varsayılan olarak 0 değerini döndürüyor. (I48ddb, b/518841353)UriDeepLinkMatcher, artık gerekli bağımsız değişkenler eksik olduğundan eşleşme isteği başarısız olduğunda istisna oluşturmak yerine boşUriMatchResultdöndürecek. (I669a7, b/470282247, b/512923412)
Sürüm 1.2.0-alpha04
3 Haziran 2026
androidx.navigation3:navigation3-*:1.2.0-alpha04 iptal edilir. 1.2.0-alpha04 sürümü bu commit'leri içerir.
Hata Düzeltmeleri
ModalBottomSheetgibi iç içe yer paylaşımlarının, üzerindeki yer paylaşımları kaldırıldığında beklenmedik şekilde yeniden animasyon oluşturmasına neden olan yer paylaşımı animasyonu sorunu düzeltildi. (Ia2b9e, b/502624496)
Sürüm 1.2.0-alpha03
19 Mayıs 2026
androidx.navigation3:navigation3-*:1.2.0-alpha03 iptal edilir. 1.2.0-alpha03 sürümü bu commit'leri içerir.
Yeni Özellikler
Navigation 3 artık DeepLinkRequest ve DeepLinkMatcher ile derin bağlantıları destekliyor:
DeepLinkRequest,DeepLinkUrive isteğe bağlı bir mimeType veya işlem(yalnızca Android) içeren bir derin bağlantı isteği. Yeni sınıfla birlikte,uri,mimeTypeveyaactionile örnek oluşturmak için yardımcı işlevler de bulunur. Android platformunda, bir Intent'ten istek oluşturmaya yardımcı olan bir araç da bulunur. (Iaaac9, b/470282247)val uriOnlyRequest = DeepLinkRequest.fromUriString("https://sampledeeplink.com/home") val uriAndMimeRequest = DeepLinkRequest.fromUriString( "https://sampledeeplink.com/user/profile?id=123", "image/png" )DeepLinkMatcher,DeepLinkRequestile eşleştirilebilen bir derin bağlantıyı temsil eder. Her eşleştirici örneği, bu derin bağlantıyı destekleyen gezinme anahtarıyla ilişkilendirilir. Bir gezinme anahtarı birden fazla eşleştiriciyle ilişkilendirilebilir.DeepLinkMatcher.matchişlevi, eşleşme başarılı olursa ilişkili gezinme anahtarını içeren birMatchResultdöndürür. İki varsayılanDeepLinkMatcheruygulama vardır:UriDeepLinkMatcher, URI'ye göre derin bağlantıları eşleştirmek için,StaticKeyDeepLinkMatcherise yalnızcaDeepLinkMatcher.Filterile eşleşen derin bağlantılarıBooleanile eşleştirmek için kullanılır. (I3798e, b/470282247)UriDeepLinkMatcher,DeepLinkMatcher'ninDeepLinkUriile Serializable bir gezinme anahtarını eşleştirerek derin bağlantıyı işleyen, kendi içinde tutarlı bir uygulamasıdır. Primitive türlerinin veya Listeler, Diziler ve Kümeler gibi Primitive Koleksiyonlarının derin bağlantı bağımsız değişkenlerini destekler. (I1520b, b/470282247)@Serializable data class UserKey(val id: Int): NavKey // declare a deep link supported by UserKey val userMatcher = UriDeepLinkMatcher( uriPattern = "www.sampledeeplink.com/user?userId={id}", serializer = serializer<UserKey>() ) // handle a requested deep link with fallback key val key = userMatcher.match(deepLinkRequest)?.key ?: HomeKeyandroid.net.Uri'ın Kotlin Multiplatform sürümü olanDeepLinkUrieklendi (Id4725, b/470282247)
API Değişiklikleri
- Compose'un compileSdk'siyle eşleşmesi için
compileSdk 37sürümüne yükseltildi.
Hata Düzeltmeleri
- Birden fazla yer paylaşımı görüntülenirken
AnimatedBottomSheetSample'nınIllegalArgumentExceptionsorunu düzeltildi. ÖrnekSceneStrategyartık sonOverlaySceneolmayan öğeyi doğru şekilde hesaplayacak ve tüm yer paylaşımı sahnelerinin altında gösterecek. (If2281, b/506733412) - Android Studio Önizlemeleri'nde Tahmin Edilen Geri Gitme özelliğini etkinleştirmek için inceleme modundayken no-op NavigationEventHandler'ı kaldıran
NavigationEventbağımlılığı 1.1.1 sürümüne yükseltildi. (I487fd)
Sürüm 1.2.0-alpha02
22 Nisan 2026
androidx.navigation3:navigation3-*:1.2.0-alpha02 iptal edilir. 1.2.0-alpha02 sürümü bu commit'leri içerir.
API Değişiklikleri
onBacköğesinionBackCompletedolarak yeniden adlandırın ve iptal edilen geri hareketlerin işlenmesini desteklemek için NavigationBackHandler'aonBackCancelledekleyin. (I92741)SceneStatekullanırken geri gitme hareketlerini ve tahmin edilen geri gitme özelliğini kolaylaştırmak içinNavigationBackHandlerekleyin. Bu sayede geliştiriciler, eski yığın deltalarını manuel olarak hesaplamadan standart geri gezinme ve tahmin edilen hareketleri destekleyen özel kullanıcı arayüzü bileşenlerini daha kolay oluşturabilir. (I6a055)- Tahmin edilen geri gitme işleme özelliğiyle
SceneStatebağlantısını basitleştirmek içinrememberNavigationEventStateekleyin. (Iae49c)
Yeni Özellikler
- Yeni
ResultEventBusNavEntryDecoratortarafından sağlananLocalResultEventBusile NavEntry'ler arasında sonuçların iletilmesine olanak tanıyan birResultEventBusAPI'si eklendi. Sonuçlarda iletilenler,ResultEventBus#conflateAsStateile durum veyaResultEffectile sonuç akışı olarak değerlendirilebilir.
Sürüm 1.2.0-alpha01
8 Nisan 2026
androidx.navigation3:navigation3-*:1.2.0-alpha01 iptal edilir. 1.2.0-alpha01 sürümü bu commit'leri içerir.
Hata Düzeltmeleri
LocalNavAnimatedContentScopeuygulamasınaOverlaySceneüzerinden erişmek artıkIllegalStateExceptionhatasına neden olmayacak. ÇünküOverlayScenesartık no-opLocalAnimatedContentScopeile sağlanıyor. (I2f00c, b/486067688)
Navigation3 Sürüm 1.1
Sürüm 1.1.7
26 Ağustos 2026
androidx.navigation3:navigation3-*:1.1.7 iptal edilir. 1.1.7 sürümü bu commit'leri içerir.
Hata Düzeltmeleri
- İleri geçiş sırasında tetiklenen tahmini geri hareketlerinin kaydırma ilerlemesine yanıt olarak animasyon oluşturmamasına neden olan sorun düzeltildi. Tahmin edilen geri gitme artık düzgün şekilde animasyonlu olarak tamamlanacak. (Icdcb0, b/456218398)
Sürüm 1.1.6
12 Ağustos 2026
androidx.navigation3:navigation3-*:1.1.6 iptal edilir. 1.1.6 sürümü bu commit'leri içerir.
Hata Düzeltmeleri
NavEntry.contentKeyartık varsayılan olarakkey.toString()vekey::class.toString()birleşimidir. Bu sayede, aynı adı paylaşan ancak farklı arayüzleri uygulayan veri nesneleri artık aynıcontentKey'ye sahip olmayacak. Ancak JS platformununkey::classişlevi, tam nitelikli ad yerine yalnızca basit sınıf adını döndürür. Bu nedenle, JS platformu, adları yinelenen veri nesneleri için özelcontentKeyişlevini uygulamaya devam etmelidir. (I1fbbb, b/512534342)- Geri yığından hızlıca açılan birden fazla pop geçişi aynı anda devam ederken anahtarın yeniden kullanılması için
SaveableStateHoldertarafından oluşturulanIllegalArgumentExceptiondüzeltildi. (I4d728, b/516312097)
Sürüm 1.1.5
29 Temmuz 2026
androidx.navigation3:navigation3-*:1.1.5 iptal edilir. 1.1.5 sürümü bu commit'leri içerir.
Hata Düzeltmeleri
entryProviderDSL artık anahtar örneğiyle oluşturulanNavEntryöğelerine (ör.entry(key = userKey) { ... }) anahtar sınıfıyla oluşturulanNavEntryöğelerine (ör.entry<UserKey>{ ... }) göre öncelik veriyor.(Ib5ec9, b/533331924)
Sürüm 1.1.4
1 Temmuz 2026
androidx.navigation3:navigation3-*:1.1.4 iptal edilir. 1.1.4 sürümü bu commit'leri içerir.
Hata Düzeltmeleri
- Lambda değerleri içeren iç içe yerleştirilmiş meta verileri olan bir girişe geçiş yapıldığında açılan girişin hemen kaybolması sorunu düzeltildi. (Idb872, b/520494430)
Sürüm 1.1.3
17 Haziran 2026
androidx.navigation3:navigation3-*:1.1.3 iptal edilir. 1.1.3 sürümü bu commit'leri içerir.
Hata Düzeltmeleri
ModalBottomSheetgibi iç içe yer paylaşımlarının, üzerindeki yer paylaşımları kaldırıldığında beklenmedik şekilde yeniden animasyon oluşturmasına neden olan yer paylaşımı animasyonu sorunu düzeltildi. (Ia2b9e, b/502624496)Android Studio Previews'da Tahmini Geri özelliğini etkinleştirmek için inceleme modundayken
NavigationEventHandlerbağımlılığı 1.1.2 sürümüne yükseltildi. Bu sürümde, işlem yapmayanNavigationEventkaldırıldı.
Sürüm 1.1.2
19 Mayıs 2026
androidx.navigation3:navigation3-*:1.1.2 iptal edilir. 1.1.2 sürümü bu commit'leri içerir.
Hata Düzeltmeleri
- Android Studio Önizlemeleri'nde Tahmini Geri özelliğini etkinleştirmek için inceleme modundayken no-op
NavigationEventHandleröğesini kaldıranNavigationEventbağımlılığı 1.1.1 sürümüne yükseltildi.
Sürüm 1.1.1
22 Nisan 2026
androidx.navigation3:navigation3-*:1.1.1 iptal edilir. 1.1.1 sürümü bu commit'leri içerir.
Hata Düzeltmeleri
LocalNavAnimatedContentScopeuygulamasınaOverlaySceneüzerinden erişmek artıkIllegalStateExceptionhatasına neden olmayacak. ÇünküOverlayScenesartık no-opLocalAnimatedContentScopeile sağlanıyor. (I2f00c, b/486067688)
Sürüm 1.1.0
8 Nisan 2026
androidx.navigation3:navigation3-*:1.1.0 iptal edilir. 1.1.0 sürümü bu commit'leri içerir.
1.1.0 sürümü artık kararlı!
1.0.0 sürümünden beri yapılan önemli değişiklikler
Sahneler Arasındaki Paylaşılan Öğeler
- Navigation3 artık sahneleri paylaşılan öğe nesnesi olarak ele almayı destekliyor. Bu sayede, sahneler değiştiğinde sorunsuz bir geçiş sağlanabilir. Bu özelliği, SharedTransitionScope değerini NavDisplay veya rememberSceneState parametresine ileterek etkinleştirebilirsiniz.
SceneDecoratorStrategy
- Sahneleri ortak kullanıcı arayüzü bileşenleriyle süsleme veya sahneler arasında durum paylaşma gibi kullanım alanlarını desteklemek için SceneDecoratorStrategy tanıtıldı.
NavMetadata DSL
- Navigation3 artık yeni bir tür güvenli meta veri DSL'si sunuyor. DSL, meta veri haritasına sağlamak istedikleri anahtar ve değer türlerini tanımlamaya olanak tanıyan yeni bir MetadataKey arayüzü kullanır. Bu sayede, NavDisplay geçişleri için yeni NavMetadataKeys eklendi. Böylece, NavDisplay geçişleri eklemek için yeni meta veri DSL'siyle kullanılabilirler.
OverlayScene Animasyonları
- OverlayScene arayüzünde yeni bir onRemoved askıya alma geri çağırması var. Bu geri çağırma, sahneyle ilişkili bir anahtar arka yığından kaldırıldıktan sonra ancak kompozisyondan ayrılmadan önce çağrılır. Bu, onRemoved içinde çağrılan çıkış animasyonlarının, yer paylaşımı sahnesi kompozisyondan kaldırılmadan önce tamamlanmasına olanak tanır.
Diğer Değişiklikler
- NavDisplay ve rememberSceneState artık then sonekiyle zincirlenen önceki tek SceneStrategy parametresi yerine List<SceneStrategy> parametresini alıyor.
Artık EntryProvider DSL aracılığıyla giriş kodu dikkate alınarak meta verileri dinamik olarak ekleyebilirsiniz.
Sürüm 1.1.0-rc01
25 Mart 2026
androidx.navigation3:navigation3-*:1.1.0-rc01 iptal edilir. 1.1.0-rc01 sürümü bu commit'leri içerir.
Hata Düzeltmeleri
NavDisplayartık yer paylaşımlarının altında gösterilen girişlerinLifecycledeğerininSTARTEDile sınırlandırılmasını sağlıyor. Bu sayede, iletişim kutuları kullanılırkendropUnlessResumedgibi API'lerin çalışmaya devam etmesi sağlanır. (If209f, b/483966071)NavDisplay'da aynı ekranlar arasında ileri geri gezinmenin ve iki ekran arasındaki animasyonları kesintiye uğratmanın, ekranların z-sırasının yanlış olmasına neden olabileceği sorun düzeltildi. (I4d491, b/459419800)
Sürüm 1.1.0-beta01
11 Mart 2026
androidx.navigation3:navigation3-*:1.1.0-beta01 iptal edilir. 1.1.0-beta01 sürümü bu commit'leri içerir.
Sürüm 1.1.0-alpha05
25 Şubat 2026
androidx.navigation3:navigation3-*:1.1.0-alpha05 iptal edilir. 1.1.0-alpha05 sürümü bu commit'leri içerir.
API Değişiklikleri
NavDisplayverememberSceneStateartıkthensonekiyle zincirlenen önceki tekSceneStrategyparametresi yerineList<SceneStrategy>parametresini alıyor. Bu, her iki API'nin de kullandığıList<SceneDecoratorStrategy<T>>ile daha uyumludur. Önceki API'ler kullanımdan kaldırıldı. (I78b2c, b/482108465)- Meta veri haritasının belirli bir
NavMetadataKeyiçerip içermediğini kontrol etmek için meta verilerde #contains operatörü eklendi. (Ic30db, b/485311895) - Meta veri DSL'si ile kullanılacak
DialogSceneStrategyiçinNavMetadataKeyDialogKeyeklendi. (Ic7a26, b/483388817)
Sürüm 1.1.0-alpha04
11 Şubat 2026
androidx.navigation3:navigation3-*:1.1.0-alpha04 iptal edilir. 1.1.0-alpha04 sürümü bu commit'leri içerir.
Yeni Özellikler
- Navigation3 artık yeni bir tür güvenli meta veri DSL'si sunuyor. DSL, meta veri haritasına sağlamak istedikleri anahtar ve değer türlerini tanımlamaya olanak tanıyan yeni bir
MetadataKeyarayüzü kullanır. Bu sayede,NavMetadataKeyiçin yeniNavDisplaygeçişleri de eklendi. Böylece,NavDisplay'ye geçiş eklemek için yenimetadataDSL ile kullanılabilirler. (Ic10ef, Ic049c,b/476213928)
API Değişiklikleri
OverlayScenearayüzünde yeni bironRemovedaskıya alma geri araması var. Bu geri çağırma, sahneyle ilişkili bir anahtar arka yığından kaldırıldıktan sonra ancak kompozisyondan ayrılmadan önce çağrılır. Bu,onRemovediçinde çağrılan çıkış animasyonlarının, yer paylaşımı sahnesi kompozisyondan kaldırılmadan önce tamamlanmasına olanak tanır. (I29a72, b/440558061)SceneStrategy, dekorasyon işlevini yeni birSceneDecoratorStrategyolarak ayırdı. Bu yeni arayüz, sahneleri süslemek için kullanılmalıdır.NavDisplayverememberSceneStateiçinSceneDecoratorStrategieseklenmesine olanak tanıyan yeni API'ler var. (If9385, b/477669607, b/477670333)
Hata Düzeltmeleri
SharedTransitionLayoutöğesininNavDisplayveyarememberSceneStateiçine aktarılması ve herhangi birOverlaySceneöğesinin kullanılması durumunda kilitlenmeye neden olan hata düzeltildi. Bunun nedeni,SharedTransitionLayoutöğesinin yalnızcaAnimatedContentöğesinin bir parçası olarak oluşturulanNavEntriesöğeleriyle çalışması veOverlaySceneöğelerinin kendi pencerelerinde ayrı ayrı oluşturulmasıdır. (I1bb76, b/478664101)
Bağımlılık Güncellemesi
Navigation31.0.1 sürümünden itibaren:Navigation3artıkNavigationEvent1.0.2 sürümüne bağlıdır. Bu düzeltme,AndroidStudioönizlemeleri sırasındaNavDisplaykullanılması nedeniyle oluşanIllegalStateExceptionsorununu giderir. (Id7212, b/477149762)
Sürüm 1.1.0-alpha03
28 Ocak 2026
androidx.navigation3:navigation3-*:1.1.0-alpha03 iptal edilir. 1.1.0-alpha03 sürümü bu commit'leri içerir.
Yeni Özellikler
- Artık
EntryProviderDSL aracılığıyla giriş kodu dikkate alınarak meta verileri dinamik olarak ekleyebilirsiniz. (I942fb, b/474416976)
Sürüm 1.1.0-alpha02
14 Ocak 2026
androidx.navigation3:navigation3-*:1.1.0-alpha02 iptal edilir. 1.1.0-alpha02 sürümü bu commit'leri içerir.
Yeni Özellikler
SceneStrategyartık yenicalculatedScene(Scene)işleviyle sahneleri iç içe yerleştirmeyi destekliyor. Bu nedenle,SceneStrategy'lar diğer sahnelerde ek işlevler sunacak şekilde özelleştirilebilir. (I5df7c,b/440333896)
Sürüm 1.1.0-alpha01
3 Aralık 2025
androidx.navigation3:navigation3-*:1.1.0-alpha01 iptal edilir. 1.1.0-alpha01 sürümü bu commit'leri içerir.
API Değişiklikleri
Navigation3artık sahnelerin paylaşılan öğe nesnesi olarak ele alınmasını destekliyor. Bu sayede, sahneler değiştiğinde sorunsuz bir geçiş sağlanabilir. Bu özelliği,NavDisplayveyarememberSceneState'yeSharedTransitionScopeileterek etkinleştirebilirsiniz. (I15868)
Sürüm 1.0
Sürüm 1.0.1
11 Şubat 2026
androidx.navigation3:navigation3-*:1.0.1 iptal edilir. 1.0.1 sürümü bu commit'leri içerir.
Bağımlılık Güncellemesi
Navigation3artıkNavigationEvent1.0.2'ye bağlıdır. Bu düzeltme,AndroidStudioönizlemeleri sırasındaNavDisplaykullanılması nedeniyle oluşanIllegalStateExceptionsorununu giderir. (Id7212, b/477149762)
Sürüm 1.0.0
19 Kasım 2025
androidx.navigation3:navigation3-*:1.0.0 iptal edilir. 1.0.0 sürümü bu commit'leri içerir.
Navigation3 ile tanışın!
- Navigation3 kitaplığı artık kararlı sürümde. Navigation3, AndroidX Compose'un navigasyon için ilk yaklaşımıdır.
- Daha fazla bilgi için duyuru blog yayınımızı inceleyin, kaynakları ziyaret edin ve tarifleri deneyin.
Sürüm 1.0.0-rc01
5 Kasım 2025
androidx.navigation3:navigation3-*:1.0.0-rc01 iptal edilir. 1.0.0-rc01 sürümü bu commit'leri içerir.
Hata Düzeltmeleri
NavDisplayartıkScenedüzeyinde birLocalLifecycleOwnerayarlıyor. Bu sayede sahne yazarları,Lifecycle.StatedeğerininRESUMEDolup olmadığını kontrol ederek tüm geçişlerin tamamlanıp tamamlanmadığını belirleyebiliyor.NavEntrydüzeyindekiLocalLifecycleOwnerdavranışı değişmeden kalır: Geçiş devam ediyorsaSTARTEDile sınırlanmaya devam eder ve söz konusuNavEntryeski yığından çıkarılıp animasyonla kaldırılıyorsa ek olarakCREATEDile sınırlanır. (I03113, b/454045829)
Sürüm 1.0.0-beta01
22 Ekim 2025
androidx.navigation3:navigation3-*:1.0.0-beta01 iptal edilir. 1.0.0-beta01 sürümü bu commit'leri içerir.
API Değişiklikleri
SceneStrategyScopeartık yalnızca bağımsız olarakSceneStrategyve döndürülenSceneöğenizi test etmeye uygun, bağımsız değişken içermeyen bir herkese açık oluşturucuya sahip. Daha karmaşık kullanım alanları için lütfenrememberSceneState()kullanın. (I8440c, b/451679047)
Hata Düzeltmeleri
SceneStrategyilethen'yi zincirleme bağlarken yaşanan sonsuz döngü sorunu düzeltildi. (Iba3f0, b/450323470)backStacköğesiNavDisplayöğesiyle değiştirilirken ve animasyonlar kullanılırken oluşan ekran titremesi düzeltildi. (Ief7b5, b/450967248)
Sürüm 1.0.0-alpha11
8 Ekim 2025
androidx.navigation3:navigation3-*:1.0.0-alpha11 iptal edilir. 1.0.0-alpha11 sürümü bu commit'leri içerir.
API Değişiklikleri
SceneStrategyüzerindekicalculateSceneyöntemi artık@Composabledeğil. Bunun yerine, bu çalışmayıSceneStrategyyönteminizi oluşturma aşamasına (yanirememberMySceneStrategy()yöntemine) taşıyabilirsiniz. Bu yöntem, herhangi birrememberSaveabledeğerinin veya temelrememberifadelerinin ömrünü doğru değerlere göre tam olarak tanımlamanıza olanak tanır. (If1733, b/448709506)SceneStrategy.calculateSceneiçinonBackparametresi, bunun isteğe bağlı bir parametre olduğunu daha net bir şekilde belirtmek ve gelecekteki Navigation3 özellikleri için bir uzantı noktası sağlamak amacıylaSceneStrategyScope'nin yeni alıcı kapsamına taşındı. (I3aea3, b/448460407)onBacklambda'sıNavDisplayveSceneStrategy'ye iletildiğinde artık birden fazla girişin ne zaman açılması gerektiğini belirten bircount: Intparametresi sağlamıyor. Bunun yerine, nadir durumlarda sahne istekleriniz birden fazla giriş oluşturduğunda() -> Unitlambda art arda birden çok kez çağrılacak. (Idedb5, b/446989346)NavEntryWrappersınıfını kaldırın ve işlevini, yeni içerik içeren birNavEntryalan birincil olmayan yeni bir oluşturucuya sahip nihai birNavEntrysınıfıyla değiştirin. Bu sayede, girişi yeni içerikle sarmalama özelliği desteklenmeye devam edecektir. (I7da2a, b/444447130)navEntryDecoratorişlevi kaldırıldı ve yerine artık herkese açık olan ve alt sınıflara ayrılabilenNavEntryDecoratorNavEntryDecoratorsınıfı eklendi. (If81f8, b/444447434, b/447381176)SavedStateNavEntryDecorator, girişleriSaveableStateHolderile süslediği içinSaveableStateHolderNavEntryDecoratorolarak yeniden adlandırıldı. Dekoratör, işlevsel olarakNavEntryDecoratoriçin bir fabrika olduğundan işlevden sınıfa da yeniden düzenlendi. (Ie6013, b/447381176)NavDisplayyerineSceneStatekullanan özel gösterimlerin artık dahili olanLocalEntriesToRenderInCurrentScenekompozisyon yerelini kullanması gerekmiyor. (Ic40ef, b/414668196)SceneSetupNavEntryDecoratorverememberSceneSetupNavEntryDecorator(), genel API yüzeyinden kaldırıldı. Bu işlev artık manuel olarak eklemenizi gerektirmeden varsayılan olarak dahil edilmektedir. (Ieae42, b/444479133)NavEntry,DialogScene,SinglePaneSceneveSceneStateartık eşittir işlevini kullanıyor. (I96121)- Sahne arayüzünde, NavDisplay için sahneye özel meta veriler eklemeye yarayan yeni bir meta veri alanı bulunur. Bu sayede bir Sahne,
NavDisplayüzerindeki meta verileri (ör. geçişlerle) geçersiz kılabilir. (I1fd96, b/443955625) - Gereksiz genel tür parametresini kaldırarak
rememberNavBackStackimzasını basitleştirin. İşlev artıkvararg elements: NavKeydeğerini kabul ediyor. (I03e45) NavDisplayiçin varsayılan animasyonlar artık tüm platformlardan çağrılabilmelerini sağlayan ortak API'nin bir parçasıdır. (I71af9, b/447147159)- Sınıfın,
NavEntriesoluşturmak için kapsam sağlayan bir Kotlin DSL'si olduğunu doğru şekilde yansıtmak amacıylaEntryProviderBuildersınıfınıEntryProviderScopeolarak yeniden adlandırın. (Ia7465)
Hata Düzeltmeleri
rememberNavBackStack()artık NavKey için polimorfik serileştirmeyi zorunlu kılıyor ve doğru durum geri yüklemesini sağlamak üzere yapılandırılmış özel birSavedStateConfigurationgerektiriyor. KDoc, tüm NavKey alt türlerinin sağlanan SerializersModule'e kaydedilmesi gerektiği şartını yansıtacak şekilde güncellendi. (I6de37,I782f2, b/446664383)
Sürüm 1.0.0-alpha10
24 Eylül 2025
androidx.navigation3:navigation3-*:1.0.0-alpha10 iptal edilir. 1.0.0-alpha10 sürümü bu commit'leri içerir.
API Değişiklikleri
rememberDecoratedNavEntriesile süslenmişNavEntry<T>listesini alan yeni birNavDisplayaşırı yüklemesi ekleyin. (I4025b, b/441940314)DialogScene, yeni bir pakete taşındı. (Ia5840)- Genel API'yi kaldırın
DecorateNavEntry. Bunun yerine, NavEntry'yi bir dizi dekoratörle sarmalamak içinrememberDecoratedNavEntrieskullanın. (Id8c09) - Navigation3 kullanıcı arayüzü artık yeni varsayılan
transitionSpecözellikleri sunuyor. (Ibcabd) - Sahneleri yönetmeye yardımcı olacak yeni bir
SceneStatenesnesi eklendi. Bu,SceneStateveNavigationEventStatedeğerlerini alan yeni birNavDisplayaşırı yüklemesi de sağlar. (Idfb46, b/444479133) NavDisplayartıkTransition'nincurrentStatevetargetStateözelliklerine bakarak, geçişleri veScene'a göre özelleştirmenize olanak tanıyor. (I906cc, b/443872322)NavigationEventInfoartıkinterfaceyerineabstract class. Tüm özel uygulamaları sınıftan (ör.data class MyInfo : NavigationEventInfo()) devralacak şekilde güncelleyin. (I1e59c, b/444734264)navigationevent-composeişleyici API'leri güncellendi.NavigationEventHandlerveNavigationBackHandler(ve varyantları) artık yükseltilmişNavigationEventStates'yi kabul eden yeni bir aşırı yüklemeyi destekliyor. Basit aşırı yüklemeler (currentInfoalan) korunur ve artık bu yeni durum modelini dahili olarak kullanır. (Ic3251, b/444734264)- Tüm Scene API'leri navigation3-ui'den navigation3-runtime'a taşındı. Bu nedenle, artık navigation3-runtime tarafından desteklenen tüm platformlarda kullanılabilirler. (I431d0, b/444449993)
- Dekore edilecek
NavEntrylistesini alan yeni birrememberDecoratedNavEntriesaşırı yüklemesi eklendi. Girişler, diğer giriş dekoratörleriyle süslenmiş olabilir. (I5a034, b/444230270) - Navigation3 joker karakter türü parametrelerini kaldırma (I02540)
entryProviderDSL'si için genel öğelerin işlenmesi iyileştirildi. Daha önceandroidx.navigation3.runtime.entryiçe aktarıyorsanız artık bu işlem gerekli değildir. (I299fc)- Yansımaya dayalı
NavBackStackSerializeraşırı yüklenmesini Android ile sınırlayın. Bu, çok platformlu kodda açıkSavedStateConfigurationaşırı yüklemesinin kullanılmasını zorunlu kılarak Android dışı platformlarda örtülü çalışma zamanı serileştirme hatalarını önler. (I73313, b/420443609) - Make
NavigationEvent'sswipeEdgean@IntDef(Icee54, b/443950342) NavBackStackserileştirmesini Android ile kısıtlayın. Bu, Android olmayan platformlarda çalışma zamanı hatalarını önler. Çok platformlu durum kaydetme içinrememberNavBackStackile açık birSavedStateConfigurationkullanın. (I1e418, b/420443609)
Hata Düzeltmeleri
- İç içe yerleştirilmiş
NavDisplaytek bir alt girişe sahip olduğunda, tahmin edilen geri gitme sırasında kilitlenme sorunu düzeltildi. (I2cdc0, b/441933162)
Sürüm 1.0.0-alpha09
10 Eylül 2025
androidx.navigation3:navigation3-*:1.0.0-alpha09 iptal edilir. 1.0.0-alpha09 sürümü bu commit'leri içerir.
API Değişiklikleri
DecoratedNavEntryProvider, sağlanan dekoratörlerin listesiyle (I0fe1c, b/441328236) süslenmiş NavEntry'ler oluşturan ve döndürenrememberDecoratedNavEntriesile değiştirildi.NavBackStackartıkNavKeytürü üzerinde geneldir. Bu sayede uygulamalar ve kitaplıklar,NavKeyile sınırlı kalmak yerine geri yığınları için özel anahtar türleri tanımlayabilir. (I4d190,Iad2f4, b/420443609)NavBackStackartık@kotlinx.serialization.Serializableolduğundan, işlem sonlandırma ve yapılandırma değişiklikleri sırasında gezinme durumunu ek standart kod olmadan kaydetmek ve geri yüklemek mümkün. (I2c3cf, b/420443609)RememberNavBackStack, tüm platform hedeflerinde sağlanması içincommonMainkonumuna taşındı. (Id69e7, b/420443609)
Hata Düzeltmeleri
NavDisplayartık her birNavEntryöğesini doğruLifecycle.Stateöğesine doğru şekilde taşıyor. (I30aac, b/440145700)NavDisplayöğesinin,NavigationEventkitaplığınınLocalNavigationEventDispatcherOwneraracılığıyla ayarlanan tüm yerleştirilmişNavigationEventDispatcherOwneröğelerini yoksaymasına neden olan sorun düzeltildi. (I6224a)
Bağımlılık Değişiklikleri
- Navigation3 artık NavigationEvent Alpha08'e bağlıdır.
Sürüm 1.0.0-alpha08
27 Ağustos 2025
androidx.navigation3:navigation3-*:1.0.0-alpha08 iptal edilir. 1.0.0-alpha08 sürümü bu commit'leri içerir.
Yeni Özellikler
Navigation3 Runtimeyapay ürünlerine yeni Kotlin MultiPlatform (KMP) hedefleri eklendi.Navigation3 Runtimeartık toplamda şu platformları destekliyor: JVM (Android ve Masaüstü), Native (Linux, iOS, watchOS, macOS, MinGW) ve Web (JavaScript, WasmJS). (I55078, b/424410398, b/419294028, b/419046226). Not: Bu,Navigation3 UIyapısı için KMP hedefleri sağlamaz. Diğer platformlarda kendi özelNavDisplayuygulamanızı yapmanız gerekir. Desteklenmesini istiyorsanız lütfen buradan Jetbrains sorununa oy verin ve ek destek için ilerleme durumunu takip edin.NavDisplayInfonesnesi artık herkese açık veNavDisplayöğesinden görünür girişlerin listesini almak için kullanılabilir. (Ibc91f)
API Değişiklikleri
- Durum geri yükleme işlemini gerçekleştirmek için
rememberNavBackStackile birlikte kullanılacak yeni birNavBackStackSerializereklendi.rememberNavBackStack()artık kendi yapılandırmanızı sağlamak için kullanılabilecek birSavedStateConfigurationde alıyor. (I2f4d2, I4cd58, b/420443609)
Hata Düzeltmeleri
- Gezinmenin yanlış yaşam döngüsü etkinliklerinin tetiklenmesine neden olduğu sorun düzeltildi. (I8bf6d, b/425901162, b/434109022)
Bilinen Sorunlar
- I8bf6d tarafından sunulan ve yaşam döngülerinin tek tek girişler yerine sahnelere göre belirlenmesine neden olan bir hata vardı. Bu hata,
NavEntryöğesine sağlanankeyöğesininStringolmadığı veyaNavEntryöğenizincontentKeyöğesini geçersiz kılıpkeyöğesine eşitlemediği durumlarda yaşam döngüsünün bozulmasına neden oluyordu (Bunu yapmanın, anahtarınızınBundleöğesine kaydedilmesini zorunlu kıldığını unutmayın). Bu hata, bir sonraki sürümde düzeltildi. (b/440145700)
Sürüm 1.0.0-alpha07
13 Ağustos 2025
androidx.navigation3:navigation3-*:1.0.0-alpha07 iptal edilir. 1.0.0-alpha07 sürümü bu commit'leri içerir.
MinSdk Güncellemesi
- AndroidX için varsayılan minSdk, API 21'den API 23'e taşındı (Ibdfca, b/380448311, b/435705964, b/435705223).
API Değişiklikleri
SavedStateNavEntryDecoratorartık durumları kaydetmek ve geri yüklemek içinSaveableStateProvider'ye yerleştirilmişSaveableStateRegistryözelliğini kullanıyor. (If8d9a)predictivePopTransitionSpecartık kaydırma kenarını parametre olarak sağlıyor. Bu sayede, kullanıcının Tahmin Edilen Geri Gitme hareketini hangi kenardan başlattığına bağlı olarak geçişi özelleştirebilirsiniz. (I753a8)
Hata Düzeltmeleri
- En son sahne hatırlanmadığı için özel sahnelerin sonsuza kadar yeniden hesaplanmasına neden olan sorun düzeltildi. (I7ba84, b/418153031)
Bağımlılık güncellemesi
- Navigation3 artık Navigation Event
1.0.0-alpha06'e bağlıdır.
Sürüm 1.0.0-alpha06
30 Temmuz 2025
androidx.navigation3:navigation3-*:1.0.0-alpha06 iptal edilir. 1.0.0-alpha06 sürümü bu commit'leri içerir.
Bağımlılık Güncellemesi
- Navigation3 artık Navigation Event
1.0.0-alpha05'e bağlıdır.
Sürüm 1.0.0-alpha05
2 Temmuz 2025
androidx.navigation3:navigation3-*:1.0.0-alpha05 iptal edilir. 1.0.0-alpha05 sürümü bu commit'leri içerir.
Davranış Değişiklikleri
NavEntry'nın durumu artık kesinlikleNavDisplay'ye iletilen mevcut dekoratörler listesine dayanmaktadır. Bu nedenle, eski yığında NavEntry'lerin durumunu korumak için birden fazla eski yığın olması durumunda eski yığınlarınızda dekoratörler değiştirilmelidir. Aksi takdirde, girişler değiştirilmiş gibi değil, çıkarılmış gibi temizlenir. (I7a759, b/428033667)
Sürüm 1.0.0-alpha04
18 Haziran 2025
androidx.navigation3:navigation3-*:1.0.0-alpha04 iptal edilir. 1.0.0-alpha04 sürümü bu commit'leri içerir.
API Değişiklikleri
NavEntry.contentartık gizli.NavEntryiçeriğini çağırmak için yeniNavEntry.Content()API'sini çağırın. Bu API'yi çağırmak için artıkkeyparametresi gerekmez. (Icd0fd, b/420991203)NavEntry.keyartık özel bir alan.NavEntryve ilgili durumları, yenicontentKeyFactorylambda'dan oluşturulan ve varsayılan olarakNavEntry.key'ten oluşturulan kaydedilebilir bir karma olan yenicontentKeyalanı ile tanımlanmalıdır (I81a6c, b/422001357, b/420991203 I2d7d4, b/420991203, b/422841812)
Bağımlılık Değişiklikleri
- Navigation3 artık yeni
androidx.navigationevent.composeyapay ürününe bağlıdır.
Sürüm 1.0.0-alpha03
4 Haziran 2025
androidx.navigation3:navigation3-*:1.0.0-alpha03 iptal edilir. 1.0.0-alpha03 sürümü bu commit'leri içerir.
Hata Düzeltmeleri
Navigation3, artık değiştirilip başka birbackStackörneğiyle değiştirilenbackStacksiçin dekoratör durumlarını temizlemeyecek. (I28a42, b/415076044)
Sürüm 1.0.0-alpha02
23 Mayıs 2025
androidx.navigation3:navigation3-*:1.0.0-alpha02 iptal edilir. 1.0.0-alpha02 sürümü bu commit'leri içerir.
Hata Düzeltmeleri
SavedStateNavEntryDecoratorile ilgili, aynı özellik değerlerine sahip farklı veri sınıflarında çakışmalara neden olan sorun düzeltildi. (b/418070648, Iff4775)- Açık bağımlılıklar bildirilmeden çalıştırıldığında kilitlenmelere neden olan eksik sınıf sorunu düzeltildi. (b/419049149, I4b4ed)
Sürüm 1.0.0-alpha01
20 Mayıs 2025
androidx.navigation3:navigation3-*:1.0.0-alpha01 iptal edilir. 1.0.0-alpha01 sürümü bu commit'leri içerir.
Yeni Özellikler
Navigation3, Jetpack Compose uygulama içi gezinme işlemlerini yönetmek için özel olarak oluşturulmuş yeni bir gezinme kitaplığıdır. androidx.navigation3.runtime yapısı, yapı taşlarını sağlarken androidx.navigation3.ui yapısı, NavDisplay API'si aracılığıyla kullanıcı arayüzü katmanını sağlar. Geliştiriciler, kendi durumlarını doğrudan NavDisplay composable işlevine sağlayabilir. Bu işlev, içeriği geliştirici durumundaki değişikliklere göre değiştirir.
@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 */ }
})
Daha fazla bilgi için Navigation3 kılavuzuna bakın.