নেভিগেশন৩

নেভিগেশন ৩ হলো একটি নতুন নেভিগেশন লাইব্রেরি, যা কম্পোজের সাথে কাজ করার জন্য ডিজাইন করা হয়েছে।
সর্বশেষ আপডেট স্থিতিশীল রিলিজ রিলিজ প্রার্থী বিটা রিলিজ আলফা রিলিজ
১২ আগস্ট, ২০২৬ ১.১.৬ - - ১.২.০-আলফা০৭

নির্ভরতা ঘোষণা করা

navigation3-এর উপর নির্ভরতা যোগ করতে হলে, আপনাকে আপনার প্রজেক্টে গুগল মেভেন রিপোজিটরি যোগ করতে হবে। আরও তথ্যের জন্য গুগলের মেভেন রিপোজিটরি পড়ুন।

আপনার অ্যাপ বা মডিউলের build.gradle ফাইলে প্রয়োজনীয় আর্টিফ্যাক্টগুলোর ডিপেন্ডেন্সি যোগ করুন:

গ্রোভি

dependencies {
    implementation "androidx.navigation3:navigation3-runtime:1.2.0-alpha07"
    implementation "androidx.navigation3:navigation3-ui:1.2.0-alpha07"
}

কোটলিন

dependencies {
    implementation("androidx.navigation3:navigation3-runtime:1.2.0-alpha07")
    implementation("androidx.navigation3:navigation3-ui:1.2.0-alpha07")
}

নির্ভরতা সম্পর্কে আরও তথ্যের জন্য, 'বিল্ড নির্ভরতা যোগ করুন ' দেখুন।

প্রতিক্রিয়া

আপনার মতামত জেটপ্যাককে আরও উন্নত করতে সাহায্য করে। আপনি যদি নতুন কোনো সমস্যা খুঁজে পান অথবা এই লাইব্রেরিটি উন্নত করার জন্য কোনো ধারণা থাকে, তবে আমাদের জানান। নতুন কোনো সমস্যা তৈরি করার আগে অনুগ্রহ করে এই লাইব্রেরির বিদ্যমান সমস্যাগুলো দেখে নিন। আপনি তারকা বোতামে ক্লিক করে কোনো বিদ্যমান সমস্যায় আপনার ভোট যোগ করতে পারেন।

একটি নতুন সমস্যা তৈরি করুন

আরও তথ্যের জন্য ইস্যু ট্র্যাকার ডকুমেন্টেশন দেখুন।

এই আর্টিফ্যাক্টটির জন্য কোনো রিলিজ নোট নেই।

সংস্করণ ১.২.০-আলফা০৭

২৯ জুলাই, ২০২৬

androidx.navigation3:navigation3-*:1.2.0-alpha07 প্রকাশিত হয়েছে। সংস্করণ 1.2.0-alpha07-এ এই কমিটগুলো রয়েছে।

এপিআই পরিবর্তন

  • আরেকটি DeepLinkMatcher.MatchResult র‍্যাপ করার জন্য একটি অ্যাবস্ট্রাক্ট WrappedMatchResult ক্লাস যোগ করা হয়েছে। এর ফলে কাস্টমাইজড ম্যাচ রেজাল্টের উপর আরেকটি লেয়ার করা যায়। ( I7d4dc , b/470282247 )
  • নতুন BackStackMatcher ক্লাস যোগ করা হয়েছে যা দুটি প্যারামিটার গ্রহণ করে: একটি ম্যাচিং ইনস্ট্যান্স এবং একটি বিল্ডার ল্যাম্বডা যা ইনপুট ম্যাচারের ম্যাচ ফলাফল প্রদান করে এবং একটি ব্যাক স্ট্যাক ফেরত দেয়। সফলভাবে ম্যাচ হলে, BackStackMatcher একটি BackStackMatchResult ফেরত দেয় যা WrappedMatchResult এক্সটেন্ড করে এবং এতে মূল ম্যাচ ফলাফলের সাথে ল্যাম্বডা দিয়ে তৈরি ব্যাক স্ট্যাকটি থাকে। BackStackMatcher শুধুমাত্র নতুন DeepLinkMatcher.withBackStack এক্সটেনশন ফাংশন দিয়ে তৈরি করা যাবে। ( Ibf987 , b/470282247 )

  • একটি অ্যাবস্ট্রাক্ট DeepLinkSerializer ক্লাস যোগ করা হয়েছে যা KSerializer এক্সটেন্ড করে এবং value : T ভ্যালুকে String হিসেবে এনকোড ও ডিকোড করে। DeepLinkSerializer নন-প্রিমিটিভ ডিপ লিঙ্ক আর্গুমেন্টগুলোকে সিরিয়ালাইজ করতে ব্যবহার করা যায়। rememberSaveable এবং rememberNavBackStack সাথে সামঞ্জস্যপূর্ণ। ( Id3c9f , b/470282247 )

  • DeepLinkMatcher out R : DeepLinkMatcher.MatchResult<T> , যাতে ডেভেলপাররা টাইপ কাস্টিং ছাড়াই DeepLinkMatcher.match() দ্বারা রিটার্ন করা সাবক্লাসড MatchResult এর প্রোপার্টিগুলো অ্যাক্সেস করতে পারেন। ( I693d3 , b/470282247 )

  • DeepLinkMatcher.MatchResult's T ঊর্ধ্বসীমা Any? থেকে Any তে পরিবর্তিত হয়েছে। ( I6bf1a )

  • DeepLinkRequest কনস্ট্রাক্টরের ফিল্ড uri এখন থেকে ডিফল্টভাবে null হবে। সেকেন্ডারি কনস্ট্রাক্টরের uriString এর নাম পরিবর্তন করে uri রাখা হয়েছে। ( Ia0f14 , b/522194187 )

বাগ সংশোধন

  • ResultEffect এখন সর্বশেষ onResult ল্যাম্বডা ক্যাপচার করতে rememberUpdatedState ব্যবহার করে। ( I7d2a3 , b/531709234 )
  • খালি পাথ সেগমেন্টের জন্য ডিপ লিঙ্ক ম্যাচিং ঠিক করা হয়েছে। যদি আর্গুমেন্টের টাইপ স্ট্রিং হয়, তাহলে খালি পাথটিকে একটি খালি স্ট্রিং ভ্যালু হিসেবে গণ্য করা হবে। অন্যথায়, খালি পাথটিকে কোনো ভ্যালু প্রদান করা হয়নি বলে গণ্য করা হবে এবং এটি ডিফল্ট ভ্যালুতে ফিরে যাবে। যদি কোনো ডিফল্ট ভ্যালু না থাকে, তাহলে ম্যাচিং ব্যর্থ হবে। ( I56575 , b/535298128 )
  • DeepLinkRequest.uri তে খালি কোয়েরি ভ্যালুর জন্য সাপোর্ট যোগ করা হয়েছে। যদি আর্গুমেন্টটি String টাইপের হয়, তাহলে খালি ভ্যালুটিকে একটি আক্ষরিক খালি স্ট্রিং হিসেবে গণ্য করা হবে। অন্যথায়, খালি ভ্যালুটিকে কোনো ভ্যালু প্রদান করা হয়নি বলে গণ্য করা হবে এবং ম্যাচিং ডিফল্ট ভ্যালুতে ফিরে যাওয়ার চেষ্টা করবে। যদি কোনো ডিফল্ট ভ্যালু না থাকে, তাহলে ম্যাচিং ব্যর্থ হবে। ( I30343 , b/535127459 )
  • EntryProvider এখন কী টাইপের চেয়ে কী ইনস্ট্যান্সের উপর ভিত্তি করে ম্যাচিংকে অগ্রাধিকার দেয়। ( Ib5ec9 , b/533331924 )
  • SceneState এখন সর্ববৃহৎ নন-ওভারলে সিন থেকে পূর্ববর্তী সিনগুলো সঠিকভাবে গণনা করে। ( I91915 , b/513630541 )

সংস্করণ ১.২.০-আলফা০৬

১৫ জুলাই, ২০২৬

androidx.navigation3:navigation3-*:1.2.0-alpha06 প্রকাশিত হয়েছে। সংস্করণ 1.2.0-alpha06-এ এই কমিটগুলো রয়েছে।

বাগ সংশোধন

  • UriDeepLinkMatcher ইউআরআই ফ্র্যাগমেন্ট সংক্রান্ত ডকুমেন্টেশন সংশোধন করা হয়েছে, যাতে এটি স্পষ্ট হয় যে ওয়াইল্ডকার্ডযুক্ত ফ্র্যাগমেন্ট যেকোনো ইনপুটের সাথে মিলবে, কিন্তু ইনপুটটি আর্গুমেন্ট হিসেবে নিষ্কাশিত হবে না। ( I5ad9b , b/524677091 )
  • UriDeepLinkMatcher একটি রিকোয়েস্টের সাথে ম্যাচ করতে ব্যর্থ হওয়ার সমস্যাটি সমাধান করা হয়েছে, যদি ইউআরআই প্যাটার্নে কোনো স্কিম না থাকে বা এটি ডাবল স্ল্যাশ দিয়ে শুরু না হয়। উদাহরণস্বরূপ, www.example.com/home এখন http://www.example.com/home এর সাথে ম্যাচ করবে। ( Ia6b65 , b/522791926 )

সংস্করণ ১.২.০-আলফা০৫

০১ জুলাই, ২০২৬

androidx.navigation3:navigation3-*:1.2.0-alpha05 প্রকাশিত হয়েছে। সংস্করণ 1.2.0-alpha05-এ এই কমিটগুলো রয়েছে।

নতুন এপিআই

  • একটি rememberResultEventBus এপিআই যোগ করা হয়েছে যা এমন একটি ResultEventBus রিটার্ন করে, যা rememberResultEventBusNavEntryDecorator এ পাস করা যায়। এর ফলে ResultEventBusNavEntryDecorator এর বাইরে একটি ResultEventBus হোইস্ট করা যায়। ( Ia655b , b/516995400 )

ডিপলিঙ্ক অনুরোধ

  • দুটি KMP-উপযোগী কনস্ট্রাক্টর যোগ করা হয়েছে - একটি DeepLinkUri গ্রহণ করে এবং অন্যটি একটি র স্ট্রিং ইউআরআই গ্রহণ করে। ( I3c088 , b/513200887 , b/522194187 )
  • (শুধুমাত্র অ্যান্ড্রয়েডের জন্য) একটি কনস্ট্রাক্টর যোগ করা হয়েছে যা একটি Intent গ্রহণ করে। ( Ia0498 , b/513200887 , b/522194187 )
  • সমস্ত কনস্ট্রাক্টরের একটি অতিরিক্ত extras ফিল্ড আছে, যেখানে Map<String, Any> ব্যবহার করে অতিরিক্ত অনুরোধের তথ্য সংযুক্ত করা যায়। ( If81d5 , b/513200887 )
  • এক্সট্রাগুলির একটি ম্যাপ তৈরি করার জন্য একটি টাইপ-সেফ উপায় হিসেবে একটি নতুন requestExtras dsl যোগ করা হয়েছে। এই dsl-টি RequestExtrasKey এবং Any এর জোড়া সংরক্ষণ করার জন্য একটি put ফাংশন প্রদান করে। Map<String, Any>.get(key) এক্সটেনশন ফাংশনটি একটি RequestExtrasKey ব্যবহার করে ম্যাপ থেকে ডেটা পড়ার জন্য ব্যবহার করা যেতে পারে ( I5091c , b/513200887 )।
  • (শুধুমাত্র অ্যান্ড্রয়েডের জন্য) ActionExtrasKey ব্যবহার করে একটি এক্সট্রাস ম্যাপ তৈরি করার জন্য ActionExtrasKey এবং actionExtra ফাংশন যোগ করা হয়েছে। ( Id0c90 , [b/513200887])
  • MimeTypeExtrasKey ব্যবহার করে একটি এক্সট্রাস ম্যাপ তৈরি করার জন্য MimeTypeExtrasKey এবং mimeTypeExtra ফাংশন যোগ করা হয়েছে। ( I85131 , b/513200887 )

ডিপলিঙ্কম্যাচার

  • DeepLinkMatcher.mimeTypeFilter এবং DeepLinkMatcher.actionFilter ফাংশন যোগ করা হয়েছে, যা DeepLinkMatcher.Filters তৈরি করে এবং mimeType বা action দ্বারা DeepLinkRequest ফিল্টার করে (শুধুমাত্র অ্যান্ড্রয়েডের জন্য)। উভয় ফিল্টারই স্ট্রিং সমতার ভিত্তিতে ম্যাচ করে এবং কেস-ইনসেনসিটিভ। ( Ie7e67 , b/513191950 )

এপিআই পরিবর্তন

ডিপলিঙ্ক অনুরোধ

  • fromAction ফ্যাক্টরি ফাংশনটি সরানো হয়েছে। কোনো অ্যাকশনের সাথে যুক্ত রিকোয়েস্ট তৈরি করতে, নতুন DeepLinkRequest.extras ফিল্ডটি ব্যবহার করুন। ( Id0c90 , b/513200887 )
  • fromMimeType ফ্যাক্টরি ফাংশনটি সরানো হয়েছে। কোনো mimeType-এর সাথে যুক্ত একটি অনুরোধ তৈরি করতে, নতুন DeepLinkRequest.extras ফিল্ডটি ব্যবহার করুন। ( I85131 , b/513200887 )
  • (শুধুমাত্র অ্যান্ড্রয়েডের জন্য) fromIntent ফ্যাক্টরি ফাংশনটি সরানো হয়েছে। এর পরিবর্তে একটি নতুন কনস্ট্রাক্টর যোগ করা হয়েছে যা একটি Intent এবং extras ম্যাপ গ্রহণ করে। ( Ia0498 , b/513200887 , b/522194187 )
  • fromUri এবং fromUriString ফ্যাক্টরি ফাংশনগুলো সরানো হয়েছে। এগুলোর পরিবর্তে নতুন কনস্ট্রাক্টর আনা হয়েছে, যেগুলো হয় একটি DeepLinkUri অথবা একটি র স্ট্রিং ইউআরআই গ্রহণ করে। ( Id5b6f , b/522194187 )
  • DeepLinkMatcher , DeepLinkMatcher.MatchResult এবং তাদের সাবক্লাসগুলো এখন একটি কোভেরিয়েন্ট T (আউট T) গ্রহণ করে, যার ফলে Matchers-এর সাথে ব্যবহৃত হায়ারারকিক্যাল কীগুলোর জন্য টাইপ কাস্টিং-এর প্রয়োজন হবে না। ( I1e453 , b/525094876 )
  • UriMatchResult কনস্ট্রাক্টরের `map` আর্গুমেন্টের প্যারামিটারটি এখন ডিফল্টরূপে একটি খালি ম্যাপ হবে। ( I3acdd )
  • DeepLinkMatcher.Filter অ্যাবস্ট্রাক্ট ক্লাসটি এখন একটি ফাংশনাল ইন্টারফেস। filter কনস্ট্রাক্টর ফিল্ডটি সরিয়ে দেওয়া হয়েছে এবং এর পরিবর্তে সাবক্লাসে এটি সরাসরি পাস করতে হবে। ( I9eb7d , b/522194187 )

বাগ সংশোধন

  • ল্যাম্বডা ভ্যালু সম্বলিত নেস্টেড মেটাডেটা আছে এমন কোনো এন্ট্রিতে পপ করার সময় পপ করা এন্ট্রিটি তাৎক্ষণিকভাবে অদৃশ্য হয়ে যাওয়ার সমস্যাটি সমাধান করা হয়েছে। ( Idb872 , b/520494430 )
  • UriDeepLinkMatcher সংশোধন করা হয়েছে যাতে ম্যাচিং করার সময় প্রয়োজনীয় আর্গুমেন্ট অনুপস্থিত থাকলে এটি MissingFieldException থ্রো করার পরিবর্তে একটি null UriMatchResult রিটার্ন করে। ( I5322f , b/524663005 )
  • যে UriDeeplinkMatcher https স্কিমের ইউআরআই থাকে, সেটিকে শুধুমাত্র সেইসব রিকোয়েস্টের সাথেই মেলানো যায় যেগুলোরও https স্কিম রয়েছে। ( Ibfe22 , b/522304329 )
  • একটি DeepLinkRequest একটি UriDeepLinkMatcher সাথে মেলানোর সময়, http স্কিমকে https এর সাথে একটি সঠিক মিল হিসেবে সঠিকভাবে শনাক্ত করার জন্য UriDeepLinkMatcher সংশোধন করা হয়েছে। ( I3a62b , b/518804264 )
  • DeepLinkMatcher.MatchResult কম্পারেটরটি এখন দুটি ফলাফল সমান হলে ডিফল্টরূপে 0 রিটার্ন করে। ( I48ddb , b/518841353 )
  • প্রয়োজনীয় আর্গুমেন্ট অনুপস্থিত থাকার কারণে ম্যাচ রিকোয়েস্ট ব্যর্থ হলে, UriDeepLinkMatcher এখন থেকে এক্সেপশন থ্রো করার পরিবর্তে একটি নাল UriMatchResult রিটার্ন করবে। ( I669a7 , b/470282247 , b/512923412 )

সংস্করণ 1.2.0-alpha04

০৩ জুন, ২০২৬

androidx.navigation3:navigation3-*:1.2.0-alpha04 প্রকাশিত হয়েছে। সংস্করণ 1.2.0-alpha04-এ এই কমিটগুলো রয়েছে।

বাগ সংশোধন

  • ওভারলে অ্যানিমেশনের একটি সমস্যা সমাধান করা হয়েছে, যেখানে ModalBottomSheet মতো নেস্টেড ওভারলেগুলো তার উপরের ওভারলেগুলো পপ করার সময় অপ্রত্যাশিতভাবে পুনরায় অ্যানিমেট হচ্ছিল। ( Ia2b9e , b/502624496 )

সংস্করণ 1.2.0-alpha03

১৯ মে, ২০২৬

androidx.navigation3:navigation3-*:1.2.0-alpha03 প্রকাশিত হয়েছে। সংস্করণ 1.2.0-alpha03-এ এই কমিটগুলো রয়েছে।

নতুন বৈশিষ্ট্য

নেভিগেশন ৩ এখন DeepLinkRequest এবং DeepLinkMatcher মাধ্যমে ডিপ লিঙ্ক সমর্থন করে।

  • DeepLinkRequest একটি অনুরোধকৃত ডিপ লিঙ্ক, যাতে একটি DeepLinkUri এবং একটি ঐচ্ছিক mimeType বা action (শুধুমাত্র অ্যান্ড্রয়েডের জন্য) থাকে। এই নতুন ক্লাসের সাথে একটি uri , একটি mimeType , বা একটি action ব্যবহার করে ইনস্ট্যান্স তৈরি করার জন্য সহযোগী ফাংশনও রয়েছে। অ্যান্ড্রয়েড প্ল্যাটফর্মে একটি Intent থেকে অনুরোধ তৈরি করার জন্য একটি হেল্পারও আছে। ( 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 একটি ডিপ লিঙ্ককে প্রতিনিধিত্ব করে যা একটি DeepLinkRequest সাথে মেলানো যায়। প্রতিটি ম্যাচার ইনস্ট্যান্স সেই নেভিগেশন কী-এর সাথে যুক্ত থাকে যা এই ডিপ লিঙ্কটিকে সমর্থন করে। একটি নেভিগেশন কী একাধিক ম্যাচারের সাথে যুক্ত থাকতে পারে। যদি ম্যাচ সফল হয়, তাহলে DeepLinkMatcher.match কল করলে একটি MatchResult রিটার্ন হবে, যাতে সংশ্লিষ্ট নেভিগেশন কী-টি থাকে। DeepLinkMatcher দুটি ডিফল্ট ইমপ্লিমেন্টেশন রয়েছে: Uri-এর উপর ভিত্তি করে ডিপ লিঙ্ক মেলানোর জন্য UriDeepLinkMatcher , এবং শুধুমাত্র DeepLinkMatcher.Filter ব্যবহার করে Boolean দ্বারা মেলানো ডিপ লিঙ্ক মেলানোর জন্য StaticKeyDeepLinkMatcher । ( I3798e , b/470282247 )

  • UriDeepLinkMatcher DeepLinkMatcher এর একটি বিশেষায়িত বাস্তবায়ন, যা DeepLinkUri একটি Serializable নেভিগেশন কী-এর সাথে মিলিয়ে ডিপ লিঙ্ক পরিচালনা করে। এটি প্রিমিটিভ টাইপ বা প্রিমিটিভের সংগ্রহ, যেমন লিস্ট, অ্যারে এবং সেটের ডিপ লিঙ্ক আর্গুমেন্ট সমর্থন করে। ( 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 ?: HomeKey
    
  • DeepLinkUri যোগ করা হয়েছে যা android.net.Uri এর একটি কোটলিন-মাল্টিপ্ল্যাটফর্ম সংস্করণ ( Id4725 , b/470282247 )

এপিআই পরিবর্তন

  • Compose-এর compileSdk-এর সাথে মেলানোর জন্য compileSdk 37 এ উন্নীত করা হয়েছে।

বাগ সংশোধন

  • একাধিক ওভারলে প্রদর্শনের সময় AnimatedBottomSheetSample এর IllegalArgumentException সমস্যাটি সমাধান করা হয়েছে। নমুনা SceneStrategy এখন সর্বশেষ নন- OverlayScene সঠিকভাবে গণনা করবে এবং এটিকে সমস্ত ওভারলে সিনের নিচে প্রদর্শন করবে। ( If2281 , b/506733412 )
  • NavigationEvent ডিপেন্ডেন্সি 1.1.1-এ আপগ্রেড করা হয়েছে, যা ইন্সপেকশন মোডে থাকাকালীন no-op NavigationEventHandler-কে সরিয়ে দেয় এবং অ্যান্ড্রয়েড স্টুডিও প্রিভিউতে Predictive Back সক্ষম করে। ( I487fd )

সংস্করণ 1.2.0-alpha02

২২ এপ্রিল, ২০২৬

androidx.navigation3:navigation3-*:1.2.0-alpha02 প্রকাশিত হয়েছে। সংস্করণ 1.2.0-alpha02-এ এই কমিটগুলো রয়েছে।

এপিআই পরিবর্তন

  • বাতিল হওয়া ব্যাক জেসচার হ্যান্ডলিং সমর্থন করার জন্য onBack নাম পরিবর্তন করে onBackCompleted করুন এবং NavigationBackHandler-এ onBackCancelled যোগ করুন। ( I92741 )
  • SceneState ব্যবহার করার সময় ব্যাক জেসচার এবং প্রেডিক্টিভ ব্যাক হ্যান্ডলিং সহজ করতে NavigationBackHandler যোগ করুন। এটি ডেভেলপারদের ম্যানুয়ালি ব্যাক স্ট্যাক ডেল্টা গণনা না করেই স্ট্যান্ডার্ড ব্যাক নেভিগেশন এবং প্রেডিক্টিভ জেসচার সমর্থন করে এমন কাস্টম UI কম্পোনেন্ট আরও সহজে তৈরি করতে সাহায্য করে। ( I6a055 )
  • প্রেডিক্টিভ ব্যাক হ্যান্ডলিং-এর সাথে SceneState সংযোগ সহজ করতে rememberNavigationEventState যোগ করুন। ( Iae49c )

নতুন বৈশিষ্ট্য

  • নতুন ResultEventBusNavEntryDecorator দ্বারা প্রদত্ত LocalResultEventBus ব্যবহার করে NavEntries-এর মধ্যে ফলাফল আদান-প্রদানের জন্য একটি ResultEventBus API যোগ করা হয়েছে। প্রেরিত ফলাফল ResultEventBus#conflateAsState ব্যবহার করে একটি স্টেট হিসেবে অথবা ResultEffect ব্যবহার করে ফলাফলের একটি ফ্লো হিসেবে মূল্যায়ন করা যেতে পারে।

সংস্করণ 1.2.0-alpha01

০৮ এপ্রিল, ২০২৬

androidx.navigation3:navigation3-*:1.2.0-alpha01 প্রকাশিত হয়েছে। সংস্করণ 1.2.0-alpha01-এ এই কমিটগুলো রয়েছে।

বাগ সংশোধন

  • OverlayScene থেকে LocalNavAnimatedContentScope অ্যাক্সেস করলে এখন আর IllegalStateException ঘটবে না, কারণ OverlayScenes এখন একটি no-op LocalAnimatedContentScope প্রদান করা হয়েছে। ( I2f00c , b/486067688 )

সংস্করণ ১.১.৬

১২ আগস্ট, ২০২৬

androidx.navigation3:navigation3-*:1.1.6 প্রকাশিত হয়েছে। সংস্করণ 1.1.6-এ এই কমিটগুলো অন্তর্ভুক্ত রয়েছে।

বাগ সংশোধন

  • NavEntry.contentKey এখন ডিফল্টরূপে key.toString() এবং key::class.toString() এর একটি সংমিশ্রণ হিসেবে ব্যবহৃত হয়। এটি নিশ্চিত করে যে, একই নামের কিন্তু ভিন্ন ইন্টারফেস ইমপ্লিমেন্ট করা ডেটা অবজেক্টগুলোর আর একই contentKey থাকবে না। তবে, JS প্ল্যাটফর্মের key::class সম্পূর্ণ নামের পরিবর্তে শুধুমাত্র সাধারণ ক্লাসের নাম রিটার্ন করে, তাই একই নামের ডেটা অবজেক্টগুলোর জন্য JS প্ল্যাটফর্মের এখনও কাস্টম contentKey ইমপ্লিমেন্ট করা উচিত। ( I1fbbb , b/512534342 )
  • ব্যাক স্ট্যাক থেকে দ্রুত পপ করার কারণে একই সাথে একাধিক পপ ট্রানজিশন চলমান থাকলে, কী-পুনরায় ব্যবহারের জন্য SaveableStateHolder দ্বারা নিক্ষিপ্ত IllegalArgumentException সংশোধন করা হয়েছে। ( I4d728 , b/516312097 )

সংস্করণ ১.১.৫

২৯ জুলাই, ২০২৬

androidx.navigation3:navigation3-*:1.1.5 প্রকাশিত হয়েছে। সংস্করণ 1.1.5-এ এই কমিটগুলো অন্তর্ভুক্ত রয়েছে।

বাগ সংশোধন

  • entryProvider DSL এখন একটি কী ইনস্ট্যান্স দিয়ে তৈরি NavEntry (যেমন entry(key = userKey) { ... } একটি কী ক্লাস দিয়ে তৈরি NavEntry (যেমন entry<UserKey>{ ... } চেয়ে অগ্রাধিকার দেয়। ( Ib5ec9 , b/533331924 )

সংস্করণ ১.১.৪

০১ জুলাই, ২০২৬

androidx.navigation3:navigation3-*:1.1.4 প্রকাশিত হয়েছে। সংস্করণ 1.1.4-এ এই কমিটগুলো অন্তর্ভুক্ত রয়েছে।

বাগ সংশোধন

  • ল্যাম্বডা ভ্যালু সম্বলিত নেস্টেড মেটাডেটা আছে এমন কোনো এন্ট্রিতে পপ করার সময় পপ করা এন্ট্রিটি তাৎক্ষণিকভাবে অদৃশ্য হয়ে যাওয়ার সমস্যাটি সমাধান করা হয়েছে। ( Idb872 , b/520494430 )

সংস্করণ ১.১.৩

১৭ জুন, ২০২৬

androidx.navigation3:navigation3-*:1.1.3 প্রকাশিত হয়েছে। সংস্করণ 1.1.3-এ এই কমিটগুলো অন্তর্ভুক্ত রয়েছে।

বাগ সংশোধন

  • ওভারলে অ্যানিমেশনের একটি সমস্যা সমাধান করা হয়েছে, যেখানে ModalBottomSheet মতো নেস্টেড ওভারলেগুলো তার উপরের ওভারলেগুলো পপ করার সময় অপ্রত্যাশিতভাবে পুনরায় অ্যানিমেট হচ্ছিল। ( Ia2b9e , b/502624496 )

  • NavigationEvent ডিপেন্ডেন্সি 1.1.2-এ আপগ্রেড করা হয়েছে, যা ইন্সপেকশন মোডে থাকাকালীন no-op NavigationEventHandler কে সরিয়ে দিয়ে Android Studio প্রিভিউগুলিতে Predictive Back সক্ষম করেছে।

সংস্করণ ১.১.২

১৯ মে, ২০২৬

androidx.navigation3:navigation3-*:1.1.2 প্রকাশিত হয়েছে। সংস্করণ 1.1.2-এ এই কমিটগুলো অন্তর্ভুক্ত রয়েছে।

বাগ সংশোধন

  • NavigationEvent ডিপেন্ডেন্সি 1.1.1-এ আপগ্রেড করা হয়েছে, যা ইন্সপেকশন মোডে থাকাকালীন no-op NavigationEventHandler সরিয়ে দিয়ে Android Studio প্রিভিউগুলিতে Predictive Back সক্ষম করেছে।

সংস্করণ ১.১.১

২২ এপ্রিল, ২০২৬

androidx.navigation3:navigation3-*:1.1.1 প্রকাশিত হয়েছে। সংস্করণ 1.1.1-এ এই কমিটগুলো অন্তর্ভুক্ত রয়েছে।

বাগ সংশোধন

  • OverlayScene থেকে LocalNavAnimatedContentScope অ্যাক্সেস করলে এখন আর IllegalStateException ঘটবে না, কারণ OverlayScenes এখন একটি no-op LocalAnimatedContentScope প্রদান করা হয়েছে। ( I2f00c , b/486067688 )

সংস্করণ ১.১.০

০৮ এপ্রিল, ২০২৬

androidx.navigation3:navigation3-*:1.1.0 প্রকাশিত হয়েছে। সংস্করণ 1.1.0-এ এই কমিটগুলো অন্তর্ভুক্ত রয়েছে।

১.১.০ এখন স্থিতিশীল!

১.০.০ সংস্করণ থেকে গুরুত্বপূর্ণ পরিবর্তনসমূহ

সিনগুলির মধ্যে শেয়ার্ড এলিমেন্ট - Navigation3 এখন সিনগুলিকে শেয়ার্ড এলিমেন্ট অবজেক্ট হিসাবে বিবেচনা করা সমর্থন করে। এর মানে হল, যখন সিনগুলি পরিবর্তিত হয়, তখন তাদের একটি মসৃণ রূপান্তর নিশ্চিত করা সম্ভব। আপনি NavDisplay অথবা rememberSceneState এ একটি SharedTransitionScope পাস করে এটি সক্রিয় করতে পারেন।

SceneDecoratorStrategy - সাধারণ UI কম্পোনেন্ট দিয়ে সিন সাজানো বা বিভিন্ন সিনের মধ্যে স্টেট শেয়ার করার মতো ব্যবহারের ক্ষেত্রগুলোকে সমর্থন করার জন্য SceneDecoratorStrategy এর প্রবর্তন।

NavMetadata DSL - Navigation3 এখন একটি নতুন টাইপ-সেফ মেটাডেটা ডিএসএল প্রদান করে। এই ডিএসএল-টি একটি নতুন MetadataKey ইন্টারফেস ব্যবহার করে, যা মেটাডেটা ম্যাপে সরবরাহ করতে ইচ্ছুক কী (key) এবং ভ্যালু (value) টাইপগুলো সংজ্ঞায়িত করার সুযোগ দেয়। এছাড়াও, এটি NavDisplay ট্রানজিশনের জন্য নতুন NavMetadataKeys যোগ করেছে, যাতে নতুন মেটাডেটা ডিএসএল-এর সাথে এগুলো ব্যবহার করে NavDisplay তে ট্রানজিশন যুক্ত করা যায়।

OverlayScene অ্যানিমেশন - OverlayScene ইন্টারফেসে একটি নতুন onRemoved সাসপেন্ডিং কলব্যাক রয়েছে। এই কলব্যাকটি সিন-এর সাথে যুক্ত কোনো কী ব্যাকস্ট্যাক থেকে সরিয়ে ফেলার পরে, কিন্তু কম্পোজিশন থেকে বেরিয়ে যাওয়ার আগে কল করা হয়। এর ফলে, ওভারলে সিনটি কম্পোজিশন থেকে সরিয়ে ফেলার আগেই onRemoved মধ্যে কল করা এক্সিট অ্যানিমেশনগুলো সম্পূর্ণ হতে পারে।

অন্যান্য পরিবর্তনসমূহ - NavDisplay এবং rememberSceneState এখন আগের then ইনফিক্স দ্বারা চেইন করা একক SceneStrategy প্যারামিটারের পরিবর্তে List<SceneStrategy> গ্রহণ করে। - আপনি এখন EntryProvider DSL-এর মাধ্যমে এন্ট্রি কী বিবেচনা করে ডায়নামিকভাবে মেটাডেটা যোগ করতে পারবেন।

সংস্করণ 1.1.0-rc01

২৫ মার্চ, ২০২৬

androidx.navigation3:navigation3-*:1.1.0-rc01 প্রকাশিত হয়েছে। সংস্করণ 1.1.0-rc01-এ এই কমিটগুলো অন্তর্ভুক্ত রয়েছে।

বাগ সংশোধন

  • NavDisplay এখন নিশ্চিত করে যে ওভারলে-র নিচে প্রদর্শিত এন্ট্রিগুলির Lifecycle STARTED এ সীমাবদ্ধ থাকে। এটি নিশ্চিত করে যে ডায়ালগ ব্যবহার করার সময়ও dropUnlessResumed মতো API-গুলি কাজ করতে থাকে। ( If209f , b/483966071 )
  • NavDisplay তে একটি সমস্যা সমাধান করা হয়েছে, যেখানে একই স্ক্রিনগুলোর মধ্যে বারবার আসা-যাওয়া করলে এবং উভয়ের মধ্যকার অ্যানিমেশন বাধাগ্রস্ত হলে স্ক্রিনগুলোর z-order ভুল হয়ে যেতে পারতো। ( I4d491 , b/459419800 )

সংস্করণ 1.1.0-beta01

১১ মার্চ, ২০২৬

androidx.navigation3:navigation3-*:1.1.0-beta01 প্রকাশিত হয়েছে। সংস্করণ 1.1.0-beta01-এ এই কমিটগুলো রয়েছে।

সংস্করণ 1.1.0-alpha05

২৫শে ফেব্রুয়ারি, ২০২৬

androidx.navigation3:navigation3-*:1.1.0-alpha05 প্রকাশিত হয়েছে। সংস্করণ 1.1.0-alpha05-এ এই কমিটগুলো রয়েছে।

এপিআই পরিবর্তন

  • NavDisplay এবং rememberSceneState এখন আগের একক SceneStrategy প্যারামিটারের পরিবর্তে একটি List<SceneStrategy> গ্রহণ করে, যা then ইনফিক্স দ্বারা শৃঙ্খলিত ছিল। এটি List<SceneDecoratorStrategy<T>> এর সাথে আরও ঘনিষ্ঠভাবে সামঞ্জস্যপূর্ণ, যা এই উভয় API ইতিমধ্যেই গ্রহণ করে। পূর্ববর্তী API-গুলো অপ্রচলিত (deprecated) ঘোষণা করা হয়েছে। ( I78b2c , b/482108465 )
  • মেটাডেটা ম্যাপটিতে প্রদত্ত NavMetadataKey আছে কিনা তা পরীক্ষা করার জন্য একটি মেটাডেটা #contains অপারেটর যোগ করা হয়েছে। ( Ic30db , b/485311895 )
  • Metadata DSL-এর সাথে ব্যবহারের জন্য DialogSceneStrategy তে NavMetadataKey DialogKey যোগ করা হয়েছে। ( Ic7a26 , b/483388817 )

সংস্করণ 1.1.0-alpha04

১১ ফেব্রুয়ারী, ২০২৬

androidx.navigation3:navigation3-*:1.1.0-alpha04 প্রকাশিত হয়েছে। সংস্করণ 1.1.0-alpha04-এ এই কমিটগুলো রয়েছে।

নতুন বৈশিষ্ট্য

  • Navigation3 এখন একটি নতুন টাইপ-সেফ মেটাডেটা ডিএসএল (DSL) প্রদান করে। এই ডিএসএল-টি একটি নতুন MetadataKey ইন্টারফেস ব্যবহার করে, যা মেটাডেটা ম্যাপে সরবরাহ করতে ইচ্ছুক কী (key) এবং ভ্যালু (value) টাইপগুলো সংজ্ঞায়িত করার সুযোগ দেয়। এছাড়াও, NavDisplay ট্রানজিশনের জন্য নতুন NavMetadataKey যোগ করা হয়েছে, যাতে নতুন metadata ডিএসএল-এর সাথে এগুলো ব্যবহার করে NavDisplay তে ট্রানজিশন যোগ করা যায়। ( Ic10ef , Ic049c , b/476213928 )

এপিআই পরিবর্তন

  • OverlayScene ইন্টারফেসে একটি নতুন onRemoved সাসপেন্ডিং কলব্যাক রয়েছে। এই কলব্যাকটি সিন-এর সাথে যুক্ত কোনো কী ব্যাকস্ট্যাক থেকে সরিয়ে ফেলার পরে, কিন্তু কম্পোজিশন থেকে বেরিয়ে যাওয়ার আগে কল করা হয়। এর ফলে, ওভারলে সিনটি কম্পোজিশন থেকে সরিয়ে ফেলার আগেই onRemoved মধ্যে কল করা এক্সিট অ্যানিমেশনগুলো সম্পূর্ণ হতে পারে। ( I29a72 , b/440558061 )
  • SceneStrategy ডেকোরেশন ফাংশনটিকে একটি নতুন SceneDecoratorStrategy তে আলাদা করেছে। সিন ডেকোরেট করার জন্য এই নতুন ইন্টারফেসটি ব্যবহার করা উচিত। SceneDecoratorStrategies যোগ করার সুবিধার্থে NavDisplay এবং rememberSceneState এর জন্য নতুন API রয়েছে। ( If9385 , b/477669607 , b/477670333 )

বাগ সংশোধন

  • একটি ত্রুটি সংশোধন করা হয়েছে যেখানে NavDisplay বা rememberSceneState এ একটি SharedTransitionLayout পাস করলে এবং যেকোনো 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

২৮ জানুয়ারী, ২০২৬

androidx.navigation3:navigation3-*:1.1.0-alpha03 প্রকাশিত হয়েছে। সংস্করণ 1.1.0-alpha03-এ এই কমিটগুলো রয়েছে।

নতুন বৈশিষ্ট্য

  • এখন আপনি EntryProvider DSL-এর মাধ্যমে এন্ট্রি কী বিবেচনা করে ডায়নামিকভাবে মেটাডেটা যোগ করতে পারবেন। ( I942fb , ​​b/474416976 )

সংস্করণ 1.1.0-alpha02

১৪ জানুয়ারী, ২০২৬

androidx.navigation3:navigation3-*:1.1.0-alpha02 প্রকাশিত হয়েছে। সংস্করণ 1.1.0-alpha02-এ এই কমিটগুলো রয়েছে।

নতুন বৈশিষ্ট্য

  • SceneStrategy এখন একটি নতুন calculatedScene(Scene) ফাংশনের মাধ্যমে সিন নেস্টিং সমর্থন করে। এর মানে হলো, অন্যান্য সিনে অতিরিক্ত কার্যকারিতা প্রদানের জন্য SceneStrategy কে কাস্টমাইজ করা যেতে পারে। ( I5df7c , b/440333896 )

সংস্করণ 1.1.0-alpha01

০৩ ডিসেম্বর, ২০২৫

androidx.navigation3:navigation3-*:1.1.0-alpha01 প্রকাশিত হয়েছে। সংস্করণ 1.1.0-alpha01-এ এই কমিটগুলো রয়েছে।

এপিআই পরিবর্তন

  • Navigation3 এখন সিনগুলোকে শেয়ার্ড এলিমেন্ট অবজেক্ট হিসেবে বিবেচনা করা সমর্থন করে। এর মানে হলো, যখন সিনগুলো পরিবর্তিত হয়, তখন সেগুলোর একটি মসৃণ রূপান্তর নিশ্চিত করা সম্ভব। আপনি NavDisplay অথবা rememberSceneState এ একটি SharedTransitionScope পাস করার মাধ্যমে এটি সক্রিয় করতে পারেন। ( I15868 )

সংস্করণ ১.০

সংস্করণ ১.০.১

১১ ফেব্রুয়ারী, ২০২৬

androidx.navigation3:navigation3-*:1.0.1 প্রকাশিত হয়েছে। সংস্করণ 1.0.1-এ এই কমিটগুলো অন্তর্ভুক্ত রয়েছে।

নির্ভরতা আপডেট

  • Navigation3 এখন NavigationEvent 1.0.2-এর উপর নির্ভরশীল। এটি AndroidStudio প্রিভিউ চলাকালীন NavDisplay ব্যবহারের কারণে সৃষ্ট একটি IllegalStateException সমাধান করে। ( Id7212 , b/477149762 )

সংস্করণ ১.০.০

১৯ নভেম্বর, ২০২৫

androidx.navigation3:navigation3-*:1.0.0 প্রকাশিত হয়েছে। সংস্করণ 1.0.0-এ এই কমিটগুলো অন্তর্ভুক্ত রয়েছে।

ন্যাভিগেশন৩ উপস্থাপন করা হচ্ছে!

সংস্করণ 1.0.0-rc01

০৫ নভেম্বর, ২০২৫

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

২২ অক্টোবর, ২০২৫

androidx.navigation3:navigation3-*:1.0.0-beta01 প্রকাশিত হয়েছে। সংস্করণ 1.0.0-beta01-এ এই কমিটগুলো অন্তর্ভুক্ত রয়েছে।

এপিআই পরিবর্তন

  • SceneStrategyScope এখন শুধুমাত্র একটি আর্গুমেন্টবিহীন পাবলিক কনস্ট্রাক্টর রয়েছে, যা আপনার SceneStrategy এবং ফেরত আসা Scene আলাদাভাবে পরীক্ষা করার জন্য উপযুক্ত। আরও জটিল ব্যবহারের ক্ষেত্রে, অনুগ্রহ করে rememberSceneState() ব্যবহার করুন। ( I8440c , b/451679047 )

বাগ সংশোধন

  • SceneStrategy সাথে then চেইন করার সময় অসীম লুপের সমস্যা সমাধান করা হয়েছে। ( Iba3f0 , b/450323470 )
  • NavDisplay তে পাঠানো backStack অদলবদল করার সময় এবং অ্যানিমেশন ব্যবহার করার সময় স্ক্রিনের ঝিকিমিকি সমস্যা সমাধান করা হয়েছে। ( Ief7b5 , b/450967248 )

সংস্করণ 1.0.0-alpha11

০৮ অক্টোবর, ২০২৫

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 প্যারামিটার সরবরাহ করে না। এর পরিবর্তে, সেই বিরল ক্ষেত্রে যখন আপনার Scene একাধিক এন্ট্রি পপ করার অনুরোধ করে, তখন () -> 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 -এর মেটাডেটা ওভাররাইড করার সুযোগ দেয়, উদাহরণস্বরূপ ট্রানজিশনের মাধ্যমে। ( I1fd96 , b/443955625 )
  • অপ্রয়োজনীয় জেনেরিক টাইপ প্যারামিটারটি সরিয়ে rememberNavBackStack সিগনেচার সরল করা হয়েছে। ফাংশনটি এখন vararg elements: NavKey । ( I03e45 )
  • NavDisplay এর ডিফল্ট অ্যানিমেশনগুলো এখন সাধারণ API-এর অংশ, যার ফলে এগুলোকে সকল প্ল্যাটফর্ম থেকে কল করা যায়। ( I71af9 , b/447147159 )
  • ক্লাসটি যে একটি কোটলিন ডিএসএল এবং এটি যে NavEntries ) তৈরির জন্য একটি স্কোপ প্রদান করে, তা সঠিকভাবে প্রতিফলিত করার জন্য EntryProviderBuilder নাম পরিবর্তন করে EntryProviderScope রাখুন। ( Ia7465 )

বাগ সংশোধন

  • rememberNavBackStack() এখন NavKey-এর জন্য পলিমরফিক সিরিয়ালাইজেশন বাধ্যতামূলক করে এবং সঠিক স্টেট পুনরুদ্ধার নিশ্চিত করার জন্য একটি কাস্টম SavedStateConfiguration প্রয়োজন। সমস্ত NavKey সাবটাইপকে প্রদত্ত SerializersModule-এ রেজিস্টার করার আবশ্যকতাটি প্রতিফলিত করার জন্য KDoc আপডেট করা হয়েছে। ( I6de37 , I782f2 , b/446664383 )

সংস্করণ 1.0.0-alpha10

২৪ সেপ্টেম্বর, ২০২৫

androidx.navigation3:navigation3-*:1.0.0-alpha10 প্রকাশিত হয়েছে। সংস্করণ 1.0.0-alpha10-এ এই কমিটগুলো অন্তর্ভুক্ত রয়েছে।

এপিআই পরিবর্তন

  • নতুন NavDisplay ওভারলোড যোগ করা হয়েছে যা rememberDecoratedNavEntries দ্বারা ডেকোরেট করা NavEntry<T> এর একটি তালিকা গ্রহণ করে। ( I4025b , b/441940314 )
  • DialogScene একটি নতুন প্যাকেজে স্থানান্তর করা হয়েছে। ( Ia5840 )
  • পাবলিক API DecorateNavEntry সরিয়ে ফেলুন। এর পরিবর্তে, একটি NavEntry-কে ডেকোরেটরের তালিকা দিয়ে র‍্যাপ করতে rememberDecoratedNavEntries ব্যবহার করুন। ( Id8c09 )
  • Navigation3 UI এখন নতুন ডিফল্ট 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 হ্যান্ডলার API-গুলো আপডেট করা হয়েছে। NavigationEventHandler এবং NavigationBackHandler (এবং এর বিভিন্ন সংস্করণ) এখন একটি নতুন ওভারলোড সমর্থন করে যা একটি হোয়িস্টেড NavigationEventState গ্রহণ করে। সাধারণ ওভারলোডগুলো (যা currentInfo গ্রহণ করে) অপরিবর্তিত রাখা হয়েছে এবং এখন অভ্যন্তরীণভাবে এই নতুন স্টেট মডেলটি ব্যবহার করে। ( Ic3251 , b/444734264 )
  • সমস্ত Scene API-কে navigation3-ui থেকে navigation3-runtime-এ স্থানান্তর করা হয়েছে। এর মানে হল, এগুলি এখন navigation3-runtime দ্বারা সমর্থিত সমস্ত প্ল্যাটফর্মে উপলব্ধ। ( I431d0 , b/444449993 )
  • নতুন rememberDecoratedNavEntries ওভারলোড যোগ করা হয়েছে, যা ডেকোরেট করার জন্য NavEntry এর একটি তালিকা গ্রহণ করে। ইনপুট এন্ট্রিগুলো অন্যান্য এন্ট্রি ডেকোরেটর দিয়ে আগে থেকেই ডেকোরেট করা থাকতে পারে। ( I5a034 , b/444230270 )
  • navigation3 ওয়াইল্ডকার্ড টাইপ প্যারামিটারগুলি সরান ( I02540 )
  • entryProvider DSL-এর জন্য জেনেরিকস পরিচালনার উন্নতি করা হয়েছে। আপনি যদি আগে androidx.navigation3.runtime.entry ইম্পোর্ট করে থাকেন, তবে এখন আর তার প্রয়োজন নেই। ( I299fc )
  • রিফ্লেকশন-ভিত্তিক NavBackStackSerializer ওভারলোডটি শুধু অ্যান্ড্রয়েডের জন্য সীমাবদ্ধ করুন। এটি মাল্টিপ্ল্যাটফর্ম কোডে সুস্পষ্ট SavedStateConfiguration ওভারলোডের ব্যবহার বাধ্যতামূলক করার মাধ্যমে অ্যান্ড্রয়েড-বহির্ভূত প্ল্যাটফর্মগুলিতে অব্যক্ত রানটাইম সিরিয়ালাইজেশন ব্যর্থতা প্রতিরোধ করে। ( I73313 , b/420443609 )
  • NavigationEvent এর swipeEdge একটি @IntDef পরিণত করুন ( Icee54 , b/443950342 )
  • NavBackStack সিরিয়ালাইজেশন শুধু অ্যান্ড্রয়েডের জন্য সীমাবদ্ধ করুন। এটি অ্যান্ড্রয়েড-বহির্ভূত প্ল্যাটফর্মগুলিতে রানটাইম ব্যর্থতা প্রতিরোধ করে। একাধিক প্ল্যাটফর্মে স্টেট সংরক্ষণের জন্য, একটি সুস্পষ্ট SavedStateConfiguration সহ rememberNavBackStack ওভারলোডটি ব্যবহার করুন। ( I1e418 , b/420443609 )

বাগ সংশোধন

  • নেস্টেড NavDisplay একটিমাত্র চাইল্ড এন্ট্রি থাকলে প্রেডিক্টিভ ব্যাক চলাকালীন ক্র্যাশ হওয়ার সমস্যা সমাধান করা হয়েছে। ( I2cdc0 , b/441933162 )

সংস্করণ 1.0.0-alpha09

১০ সেপ্টেম্বর, ২০২৫

androidx.navigation3:navigation3-*:1.0.0-alpha09 প্রকাশিত হয়েছে। সংস্করণ 1.0.0-alpha09-এ এই কমিটগুলো অন্তর্ভুক্ত রয়েছে।

এপিআই পরিবর্তন

  • DecoratedNavEntryProvider rememberDecoratedNavEntries দ্বারা প্রতিস্থাপন করা হয়েছে, যা প্রদত্ত ডেকোরেটরগুলির তালিকা দিয়ে সজ্জিত NavEntries তৈরি করে এবং ফেরত দেয় ( 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 )
  • NavigationEvent লাইব্রেরির LocalNavigationEventDispatcherOwner এর মাধ্যমে সেট করা যেকোনো নেস্টেড NavigationEventDispatcherOwner NavDisplay উপেক্ষা করত, সেই সমস্যাটি সমাধান করা হয়েছে। ( I6224a )

নির্ভরশীলতার পরিবর্তন

সংস্করণ 1.0.0-alpha08

২৭ আগস্ট, ২০২৫

androidx.navigation3:navigation3-*:1.0.0-alpha08 প্রকাশিত হয়েছে। সংস্করণ 1.0.0-alpha08-এ এই কমিটগুলো অন্তর্ভুক্ত রয়েছে।

নতুন বৈশিষ্ট্য

  • Navigation3 Runtime আর্টিফ্যাক্টে নতুন Kotlin MultiPlatform (KMP) টার্গেট যোগ করা হয়েছে। Navigation3 Runtime এখন মোট নিম্নলিখিত প্ল্যাটফর্মগুলো সমর্থন করে: JVM (Android এবং Desktop), Native (Linux, iOS, watchOS, macOS, MinGW), এবং Web (JavaScript, WasmJS)। ( I55078 , b/424410398 , b/419294028 , b/419046226 )। দ্রষ্টব্য: এটি Navigation3 UI আর্টিফ্যাক্টের জন্য KMP টার্গেট প্রদান করে না। অন্যান্য প্ল্যাটফর্মে, আপনাকে আপনার নিজস্ব কাস্টম 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 এর সমান না করত, তবে লাইফসাইকেলটি ভেঙে যেত (উল্লেখ্য যে, এটি করলে আপনার key একটি Bundle সেভ করা নিশ্চিত হয়)। পরবর্তী রিলিজে এটি ঠিক করা হয়েছে। ( b/440145700 )

সংস্করণ 1.0.0-alpha07

১৩ আগস্ট, ২০২৫

androidx.navigation3:navigation3-*:1.0.0-alpha07 প্রকাশিত হয়েছে। সংস্করণ 1.0.0-alpha07-এ এই কমিটগুলো অন্তর্ভুক্ত রয়েছে।

MinSdk আপডেট

API Changes

  • SavedStateNavEntryDecorator now uses the SaveableStateRegistry built into SaveableStateProvider to save and restore states. ( If8d9a )
  • The predictivePopTransitionSpec is now provided the swipe edge as a parameter, allowing you to customize the transition based on what edge the user started the Predictive Back gesture from. ( I753a8 )

বাগ সংশোধন

  • Fixed an issue that would cause custom scenes to be infinitely recalculated because the most recent scene was not being remembered. ( I7ba84 , b/418153031 )

Dependency update

Version 1.0.0-alpha06

July 30, 2025

androidx.navigation3:navigation3-*:1.0.0-alpha06 is released. Version 1.0.0-alpha06 contains these commits .

Dependency Update

Version 1.0.0-alpha05

July 2, 2025

androidx.navigation3:navigation3-*:1.0.0-alpha05 is released. Version 1.0.0-alpha05 contains these commits .

আচরণগত পরিবর্তন

  • The NavEntry 's state is now strictly based on the current list of decorators passed to the NavDisplay . This means that decorators should be swapped along your back stacks in the case of multiple back stacks in order to preserve the state of the NavEntries on the back stack. Otherwise, the states will be cleared as if the entries were popped (instead of a swap). ( I7a759 , b/428033667 )

Version 1.0.0-alpha04

June 18, 2025

androidx.navigation3:navigation3-*:1.0.0-alpha04 is released. Version 1.0.0-alpha04 contains these commits .

API Changes

  • NavEntry.content is now private. To invoke NavEntry content, call the new NavEntry.Content() api which no longer requires a key parameter to invoke. ( Icd0fd , b/420991203 )
  • NavEntry.key is now a private field. The NavEntry and its relevant states should be identified by the new contentKey field which is generated from the new contentKeyFactory lambda and defaults to a saveable hash generated from NavEntry.key ( I81a6c , b/422001357 , b/420991203 I2d7d4 , b/420991203 , b/422841812 )

Dependency Changes

  • Navigation3 now depends on the new androidx.navigationevent.compose artifact.

Version 1.0.0-alpha03

৪ জুন, ২০২৫

androidx.navigation3:navigation3-*:1.0.0-alpha03 is released. Version 1.0.0-alpha03 contains these commits .

বাগ সংশোধন

  • Navigation3 will no longer clear decorator states for backStacks that have been swapped out and replaced with another backStack instance. ( I28a42 , b/415076044 )

Version 1.0.0-alpha02

May 23, 2025

androidx.navigation3:navigation3-*:1.0.0-alpha02 is released. Version 1.0.0-alpha02 contains these commits .

বাগ সংশোধন

  • Fixed an issue with the SavedStateNavEntryDecorator which caused collisions for different data classes with the same property values. ( b/418070648 , Iff4775 )
  • Fixed a missing class issue that would cause crashes when running without declaring explicit dependencies. ( b/419049149 , I4b4ed )

Version 1.0.0-alpha01

২০ মে, ২০২৫

androidx.navigation3:navigation3-*:1.0.0-alpha01 is released. Version 1.0.0-alpha01 contains these commits .

নতুন বৈশিষ্ট্য

Navigation3 is a new navigation library built specifically to handle Jetpack Compose in-app navigation. The androidx.navigation3.runtime artifact provides the building blocks, while the androidx.navigation3.ui artifact provides the UI layer via the NavDisplay API. Developers can provide their own state directly to the NavDisplay composable function, which changes the content based on changes in the developer state.

@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 */ }
})

For more information, see the Navigation3 guide .

,

navigation3

Navigation 3 is a new navigation library designed to work with Compose.
সর্বশেষ আপডেট Stable Release Release Candidate Beta Release Alpha Release
১২ আগস্ট, ২০২৬ 1.1.6 - - 1.2.0-alpha07

Declaring dependencies

To add a dependency on navigation3, you must add the Google Maven repository to your project. Read Google's Maven repository for more information.

Add the dependencies for the artifacts you need in the build.gradle file for your app or module:

গ্রোভি

dependencies {
    implementation "androidx.navigation3:navigation3-runtime:1.2.0-alpha07"
    implementation "androidx.navigation3:navigation3-ui:1.2.0-alpha07"
}

কোটলিন

dependencies {
    implementation("androidx.navigation3:navigation3-runtime:1.2.0-alpha07")
    implementation("androidx.navigation3:navigation3-ui:1.2.0-alpha07")
}

For more information about dependencies, see Add build dependencies .

প্রতিক্রিয়া

Your feedback helps make Jetpack better. Let us know if you discover new issues or have ideas for improving this library. Please take a look at the existing issues in this library before you create a new one. You can add your vote to an existing issue by clicking the star button.

Create a new issue

See the Issue Tracker documentation for more information.

There are no release notes for this artifact.

Version 1.2.0-alpha07

২৯ জুলাই, ২০২৬

androidx.navigation3:navigation3-*:1.2.0-alpha07 is released. Version 1.2.0-alpha07 contains these commits .

API Changes

  • Added an abstract WrappedMatchResult class to wrap another DeepLinkMatcher.MatchResult . This allows customized match results layered on top of another one. ( I7d4dc , b/470282247 )
  • Added new BackStackMatcher class which takes two parameters: a matcher instance, and a builder lambda that provides the input matcher's match result and returns a back stack. Upon a successful match, BackStackMatcher returns a BackStackMatchResult which extends WrappedMatchResult containing the original match result along with the back stack built with the lambda. The BackStackMatcher can only be created with the new DeepLinkMatcher.withBackStack extension function. ( Ibf987 , b/470282247 )

  • Added an abstract DeepLinkSerializer class that extends KSerializer to encode and decode value : T as a String . DeepLinkSerializer can be used to serialize non-primitive deep link arguments. Compatible with rememberSaveable and rememberNavBackStack . ( Id3c9f , b/470282247 )

  • DeepLinkMatcher has added a second type parameter out R : DeepLinkMatcher.MatchResult<T> so that developers can access the properties of the subclassed MatchResult returned by DeepLinkMatcher.match() without type casting. ( I693d3 , b/470282247 )

  • DeepLinkMatcher.MatchResult's T upper bound has changed from Any? to Any . ( I6bf1a )

  • DeepLinkRequest constructor field uri now defaults to null. The secondary constructor's uriString has been renamed to uri . ( Ia0f14 , b/522194187 )

বাগ সংশোধন

  • ResultEffect now uses rememberUpdatedState to capture the latest onResult lambda. ( I7d2a3 , b/531709234 )
  • Fixed deep link matching for empty path segments. If the argument type is String, the empty path will be treated as an empty string value. Otherwise, the empty path is treated as no value provided and will fall back to defautl value. If there is no defautl value, matching will fail. ( I56575 , b/535298128 )
  • Added support for empty query values in DeepLinkRequest.uri . If the argument is of String type, the empty value will be treated as a literal empty string. Otherwise, the empty value is treated as no value provided and matching will attempt to fallback to default value. If there is no default value, matching will fail. ( I30343 , b/535127459 )
  • EntryProvider now prioritizes matching based on key instances over key types. ( Ib5ec9 , b/533331924 )
  • SceneState now correctly calculates previous scenes starting from the top-most non-overlay scene. ( I91915 , b/513630541 )

Version 1.2.0-alpha06

১৫ জুলাই, ২০২৬

androidx.navigation3:navigation3-*:1.2.0-alpha06 is released. Version 1.2.0-alpha06 contains these commits .

বাগ সংশোধন

  • Fixed UriDeepLinkMatcher documentation on uri fragments to clarify that fragments with wildcards will match any input but the input does not get extracted as arguments. ( I5ad9b , b/524677091 )
  • Fixed UriDeepLinkMatcher failing to match with a request if the uri pattern does not contain a scheme or does not start with double slash. For example, www.example.com/home will now match with http://www.example.com/home . ( Ia6b65 , b/522791926 )

Version 1.2.0-alpha05

July 01, 2026

androidx.navigation3:navigation3-*:1.2.0-alpha05 is released. Version 1.2.0-alpha05 contains these commits .

New API

  • Added a rememberResultEventBus api which returns a ResultEventBus that can be passed to rememberResultEventBusNavEntryDecorator . This allows hoisting a ResultEventBus outside the ResultEventBusNavEntryDecorator . ( Ia655b , b/516995400 )

DeepLinkRequest

  • Added two KMP-compatible constructors - one that takes a DeepLinkUri and one that takes a raw string uri. ( I3c088 , b/513200887 , b/522194187 )
  • (Android only) Added a constructor that takes an Intent . ( Ia0498 , b/513200887 , b/522194187 )
  • All constructors have an additional extras field for a Map<String, Any> to attach additional request information. ( If81d5 , b/513200887 )
  • A new requestExtras dsl is added as a type safe way to build a map of extras. The dsl provides a put function to store pairs of RequestExtrasKey to Any . The Map<String, Any>.get(key) extension function can be used to read from the map with a RequestExtrasKey ( I5091c , b/513200887 )
  • (Android only) Added an ActionExtrasKey and actionExtra function to create an extras map with ActionExtrasKey . ( Id0c90 , [b/513200887]
  • Added a MimeTypeExtrasKey and mimeTypeExtra function to create an extras map with MimeTypeExtrasKey . ( I85131 , b/513200887 )

DeepLinkMatcher

  • Added DeepLinkMatcher.mimeTypeFilter and DeepLinkMatcher.actionFilter functions to create DeepLinkMatcher.Filters that filter DeepLinkRequest by mimeType or action (Android only). Both filters match by string equality and is case-insensitive. ( Ie7e67 , b/513191950 )

API Changes

DeepLinkRequest

  • Remove fromAction factory function. To create a request associated with an Action, use the new DeepLinkRequest.extras field.( Id0c90 , b/513200887 )
  • Removed fromMimeType factory function. To create a request associated with a mimeType, use the new DeepLinkRequest.extras field. ( I85131 , b/513200887 )
  • (Android-only) Removed fromIntent factory function. Replaced by a new constructor that takes an Intent and extras map. ( Ia0498 , b/513200887 , b/522194187 )
  • Removed factory functions fromUri and fromUriString . Replaced by new constructors that either take a DeepLinkUri or a raw string uri. ( Id5b6f , b/522194187 )
  • DeepLinkMatcher , DeepLinkMatcher.MatchResult and their subclasses now take a covariant T (out T) so that hierarchical keys will not need type casting with used with Matchers. ( I1e453 , b/525094876 )
  • The UriMatchResult constructor param for arguments map now defaults to an empty map. ( I3acdd )
  • DeepLinkMatcher.Filter abstract class is now a functional interface. The filter constructor field is removed and instead should be passed directly in the subclass. ( I9eb7d , b/522194187 )

বাগ সংশোধন

  • Fixed popped entry disappearing immediately when popping to an entry that has a nested metadata containing lambda values. ( Idb872 , b/520494430 )
  • Fixed UriDeepLinkMatcher so that it will return a null UriMatchResult instead of throwing MissingFieldException when required arguments are missing during matching. ( I5322f , b/524663005 )
  • A UriDeeplinkMatcher containing uri with https scheme can only be matched with requests that also have https scheme. ( Ibfe22 , b/522304329 )
  • Fix UriDeepLinkMatcher to correctly identify http scheme as a positive match with https when matching a DeepLinkRequest to a UriDeepLinkMatcher . ( I3a62b , b/518804264 )
  • DeepLinkMatcher.MatchResult comparator now returns 0 by default when two results are equal. ( I48ddb , b/518841353 )
  • UriDeepLinkMatcher will now return a null UriMatchResult instead of throwing an exception when match request fails due to missing required arguments. ( I669a7 , b/470282247 , b/512923412 )

Version 1.2.0-alpha04

০৩ জুন, ২০২৬

androidx.navigation3:navigation3-*:1.2.0-alpha04 is released. Version 1.2.0-alpha04 contains these commits .

বাগ সংশোধন

  • Fixed overlay animation issue where nested overlays such as ModalBottomSheet are re-aniamting unexpectedly when the overlays above it are popped. ( Ia2b9e , b/502624496 )

Version 1.2.0-alpha03

১৯ মে, ২০২৬

androidx.navigation3:navigation3-*:1.2.0-alpha03 is released. Version 1.2.0-alpha03 contains these commits .

নতুন বৈশিষ্ট্য

Navigation 3 now supports deep links with DeepLinkRequest and DeepLinkMatcher :

  • DeepLinkRequest a requested deep link containing a DeepLinkUri and an optional mimeType or action(Android only). Along with the new class are companion functions to create an instance with either a uri , a mimeType , or an action . The android platform also has a helper to build a request from an Intent. ( 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 represents a deep link that can be matched with a DeepLinkRequest . Each matcher instance is associated with the navigation key that supports this deep link. A navigation key can be associated with multiple matchers. Calling DeepLinkMatcher.match will return a MatchResult that contains the associated navigation key if match succeeds. There are two default DeepLinkMatcher implementations: UriDeepLinkMatcher for matching deep links based on Uri, and StaticKeyDeepLinkMatcher for matching deep links with only DeepLinkMatcher.Filter that match by a Boolean . ( I3798e , b/470282247 )

  • UriDeepLinkMatcher an opinionated implementation of DeepLinkMatcher that handles deep link by matching DeepLinkUri to a Serializable navigation key. It supports deep link arguments of Primitive types or Collection of primitives such as Lists, Arrays, and Sets. ( 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 ?: HomeKey
    
  • Added DeepLinkUri which is a kotlin-multiplatform version of android.net.Uri ( Id4725 , b/470282247 )

Api Changes

  • Bumped to compileSdk 37 to match Compose's compileSdk

বাগ সংশোধন

  • Fixed AnimatedBottomSheetSample 's IllegalArgumentException when displaying multiple overlays. The sample SceneStrategy will now correctly calculate the last non- OverlayScene and display it under all the overlay scenes. ( If2281 , b/506733412 )
  • Bumped NavigationEvent dependency to 1.1.1 which removes the no-op NavigationEventHandler when in inspection mode to enable Predictive Back in Android Studio Previews. ( I487fd )

Version 1.2.0-alpha02

২২ এপ্রিল, ২০২৬

androidx.navigation3:navigation3-*:1.2.0-alpha02 is released. Version 1.2.0-alpha02 contains these commits .

API Changes

  • Rename onBack to onBackCompleted and add onBackCancelled to NavigationBackHandler to support handling cancelled back gestures. ( I92741 )
  • Add NavigationBackHandler to simplify handling back gestures and predictive back when using SceneState . This allows developers to more easily create custom UI components that support standard back navigation and predictive gestures without manually calculating back stack deltas. ( I6a055 )
  • Add rememberNavigationEventState to simplify connecting SceneState with predictive back handling. ( Iae49c )

নতুন বৈশিষ্ট্য

  • Added a ResultEventBus API to allow for passing results between NavEntries with the LocalResultEventBus provided by the new ResultEventBusNavEntryDecorator . Passed in results can be assessed as a state with ResultEventBus#conflateAsState or as a flow of results with ResultEffect .

Version 1.2.0-alpha01

April 08, 2026

androidx.navigation3:navigation3-*:1.2.0-alpha01 is released. Version 1.2.0-alpha01 contains these commits .

বাগ সংশোধন

  • Accessing LocalNavAnimatedContentScope from an OverlayScene will no longer cause an IllegalStateException as OverlayScenes are now provided with a no-op LocalAnimatedContentScope . ( I2f00c , b/486067688 )

Version 1.1.6

১২ আগস্ট, ২০২৬

androidx.navigation3:navigation3-*:1.1.6 is released. Version 1.1.6 contains these commits .

বাগ সংশোধন

  • NavEntry.contentKey now defaults to a composite of key.toString() and key::class.toString() . This ensures that data objects that share the same name but implement different interfaces will no longer have the same contentKey . However, JS platform's key::class only returns simple class name instead of fully qualified name, so JS platform should still implement custom contentKey for data objects with duplicate names. ( I1fbbb , b/512534342 )
  • Fixed IllegalArgumentException thrown by SaveableStateHolder for key reuse when multiple pop transitions are in-flight simulatenously due to rapid popping from the back stack. ( I4d728 , b/516312097 )

Version 1.1.5

২৯ জুলাই, ২০২৬

androidx.navigation3:navigation3-*:1.1.5 is released. Version 1.1.5 contains these commits .

বাগ সংশোধন

  • The entryProvider DSL now prioritizes NavEntry built with a key instance, for example entry(key = userKey) { ... } over NavEntry built with a key class such as entry<UserKey>{ ... } .( Ib5ec9 , b/533331924 )

Version 1.1.4

July 01, 2026

androidx.navigation3:navigation3-*:1.1.4 is released. Version 1.1.4 contains these commits .

বাগ সংশোধন

  • Fixed popped entry disappearing immediately when popping to an entry that has a nested metadata containing lambda values. ( Idb872 , b/520494430 )

Version 1.1.3

১৭ জুন, ২০২৬

androidx.navigation3:navigation3-*:1.1.3 is released. Version 1.1.3 contains these commits .

বাগ সংশোধন

  • Fixed overlay animation issue where nested overlays such as ModalBottomSheet are re-aniamting unexpectedly when the overlays above it are popped. ( Ia2b9e , b/502624496 )

  • Bumped NavigationEvent dependency to 1.1.2 which removed the no-op NavigationEventHandler when in inspection mode to enable Predictive Back in Android Studio Previews.

Version 1.1.2

১৯ মে, ২০২৬

androidx.navigation3:navigation3-*:1.1.2 is released. Version 1.1.2 contains these commits .

বাগ সংশোধন

  • Bumped NavigationEvent dependency to 1.1.1 which removed the no-op NavigationEventHandler when in inspection mode to enable Predictive Back in Android Studio Previews.

Version 1.1.1

২২ এপ্রিল, ২০২৬

androidx.navigation3:navigation3-*:1.1.1 is released. Version 1.1.1 contains these commits .

বাগ সংশোধন

  • Accessing LocalNavAnimatedContentScope from an OverlayScene will no longer cause an IllegalStateException as OverlayScenes are now provided with a no-op LocalAnimatedContentScope . ( I2f00c , b/486067688 )

Version 1.1.0

April 08, 2026

androidx.navigation3:navigation3-*:1.1.0 is released. Version 1.1.0 contains these commits .

1.1.0 is now stable!

Important changes since 1.0.0

Shared Elements between Scenes - Navigation3 now supports treating scenes as shared element object. This means that when the scenes change, it is possible to ensure they have a smooth transition. You can enable this by passing a SharedTransitionScope to either the NavDisplay or to rememberSceneState .

SceneDecoratorStrategy - Introduction of SceneDecoratorStrategy to support uses cases such as decorating scenes with common UI components or sharing state across scenes.

NavMetadata DSL - Navigation3 now provides a new type-safe metadata DSL. The DSL uses a new MetadataKey interface that allows for defining the key and value types that they wish to provide to the metadata map. This also added new NavMetadataKeys for NavDisplay transitions so that they can be used with the new metadata DSL to add transitions to NavDisplay .

OverlayScene Animations - The OverlayScene interface has a new onRemoved suspending callback. This callback is invoked after a key associated with the scene is removed from the backstack, but before it leaves composition. This allows exit animations called within onRemoved to complete before the overlay scene is removed from composition.

Other Changes - NavDisplay and rememberSceneState now take a List<SceneStrategy> instead of the previous single SceneStrategy parameter that was chained by the then infix. - You can now dynamically add metadata with consideration for the entry key via the EntryProvider DSL.

Version 1.1.0-rc01

March 25, 2026

androidx.navigation3:navigation3-*:1.1.0-rc01 is released. Version 1.1.0-rc01 contains these commits .

বাগ সংশোধন

  • NavDisplay now ensures that entries that are displayed underneath overlays have their Lifecycle capped at STARTED . This ensures APIs like dropUnlessResumed continue to work when using dialogs. ( If209f , b/483966071 )
  • Fixed an issue in NavDisplay where navigating back and forth between the same screens and interrupting the animations between the two could cause the z-order of the screens to be incorrect. ( I4d491 , b/459419800 )

Version 1.1.0-beta01

১১ মার্চ, ২০২৬

androidx.navigation3:navigation3-*:1.1.0-beta01 is released. Version 1.1.0-beta01 contains these commits .

Version 1.1.0-alpha05

February 25, 2026

androidx.navigation3:navigation3-*:1.1.0-alpha05 is released. Version 1.1.0-alpha05 contains these commits .

API Changes

  • NavDisplay and rememberSceneState now take a List<SceneStrategy> instead of the previous single SceneStrategy parameter that was chained by the then infix. This more closely aligns with the List<SceneDecoratorStrategy<T>> that both of these APIs already take. The previous APIs have been deprecated. ( I78b2c , b/482108465 )
  • Added a metadata #contains operator to check if the metadata map contains the given NavMetadataKey . ( Ic30db , b/485311895 )
  • Added NavMetadataKey DialogKey for DialogSceneStrategy to use with Metadata DSL. ( Ic7a26 , b/483388817 )

Version 1.1.0-alpha04

১১ ফেব্রুয়ারী, ২০২৬

androidx.navigation3:navigation3-*:1.1.0-alpha04 is released. Version 1.1.0-alpha04 contains these commits .

নতুন বৈশিষ্ট্য

  • Navigation3 now provides a new type-safe metadata DSL. The DSL uses a new MetadataKey interface that allows for defining the key and value types that they wish to provide to the metadata map. This also added new NavMetadataKey s for NavDisplay transitions so that they can be used with the new metadata DSL to add transitions to NavDisplay . ( Ic10ef , Ic049c , b/476213928 )

API Changes

  • The OverlayScene interface has a new onRemoved suspending callback. This callback is invoked after a key associated with the scene is removed from the backstack, but before it leaves composition. This allows exit animations called within onRemoved to complete before the overlay scene is removed from composition. ( I29a72 , b/440558061 )
  • SceneStrategy has separated the decoration function into a new SceneDecoratorStrategy . This new interface is what is should be used to decorate scenes. There are new APIs for NavDisplay and rememberSceneState to allow the addition of SceneDecoratorStrategies . ( If9385 , b/477669607 , b/477670333 )

বাগ সংশোধন

  • Fixed an error where passing a SharedTransitionLayout into either the NavDisplay or rememberSceneState and using any OverlayScene would cause a crash because using SharedTransitionLayout only works with NavEntries that are rendered as part of the AnimatedContent and OverlayScene are rendered in their own windows separately. ( I1bb76 , b/478664101 )

Dependency Update

  • From Navigation3 1.0.1: Navigation3 now depends on NavigationEvent 1.0.2. This fixes an IllegalStateException caused by using NavDisplay during AndroidStudio Previews. ( Id7212 , b/477149762 )

Version 1.1.0-alpha03

January 28, 2026

androidx.navigation3:navigation3-*:1.1.0-alpha03 is released. Version 1.1.0-alpha03 contains these commits .

নতুন বৈশিষ্ট্য

  • You can now dynamically add metadata with consideration for the entry key via the EntryProvider DSL. ( I942fb , b/474416976 )

Version 1.1.0-alpha02

১৪ জানুয়ারী, ২০২৬

androidx.navigation3:navigation3-*:1.1.0-alpha02 is released. Version 1.1.0-alpha02 contains these commits .

নতুন বৈশিষ্ট্য

  • SceneStrategy now supports nesting scenes via a new calculatedScene(Scene) function. This means that SceneStrategy 's can be customized to provide additional functionality to other scenes. ( I5df7c , b/440333896 )

Version 1.1.0-alpha01

December 03, 2025

androidx.navigation3:navigation3-*:1.1.0-alpha01 is released. Version 1.1.0-alpha01 contains these commits .

API Changes

  • Navigation3 now supports treating scenes as shared element object. This means that when the scenes change, it is possible to ensure they have a smooth transition. You can enable this by passing a SharedTransitionScope to either the NavDisplay or to rememberSceneState . ( I15868 )

Version 1.0

Version 1.0.1

১১ ফেব্রুয়ারী, ২০২৬

androidx.navigation3:navigation3-*:1.0.1 is released. Version 1.0.1 contains these commits .

Dependency Update

  • Navigation3 now depends on NavigationEvent 1.0.2. This fixes an IllegalStateException caused by using NavDisplay during AndroidStudio Previews. ( Id7212 , b/477149762 )

Version 1.0.0

১৯ নভেম্বর, ২০২৫

androidx.navigation3:navigation3-*:1.0.0 is released. Version 1.0.0 contains these commits .

Introducing Navigation3!

Version 1.0.0-rc01

November 05, 2025

androidx.navigation3:navigation3-*:1.0.0-rc01 is released. Version 1.0.0-rc01 contains these commits .

বাগ সংশোধন

  • NavDisplay now sets a LocalLifecycleOwner at the Scene level that allows scene authors to determine whether all transitions have finished by checking that the Lifecycle.State is RESUMED . The behavior of the LocalLifecycleOwner at the NavEntry level is unchanged: it also remains capped at STARTED if a transition is in progress and is additionally capped at CREATED if that NavEntry has been popped from the back stack and is in the process of animating out. ( I03113 , b/454045829 )

Version 1.0.0-beta01

October 22, 2025

androidx.navigation3:navigation3-*:1.0.0-beta01 is released. Version 1.0.0-beta01 contains these commits .

API Changes

  • SceneStrategyScope now only has a no argument public constructor, suitable for testing your SceneStrategy and the returned Scene in isolation. For more complex use cases, please use rememberSceneState() . ( I8440c , b/451679047 )

বাগ সংশোধন

  • Fixed infinite loop when chaining SceneStrategy with then . ( Iba3f0 , b/450323470 )
  • Fixed screen flicker when swapping the backStack passed to NavDisplay and using animations. ( Ief7b5 , b/450967248 )

Version 1.0.0-alpha11

October 08, 2025

androidx.navigation3:navigation3-*:1.0.0-alpha11 is released. Version 1.0.0-alpha11 contains these commits .

API Changes

  • The calculateScene method on SceneStrategy is no longer @Composable . Instead, consider moving this work to the construction of your SceneStrategy method (ie, in a rememberMySceneStrategy() method) that fully allows you to define the lifetime of any rememberSaveable values or key remember statements off of the correct values. ( If1733 , b/448709506 )
  • The onBack parameter for SceneStrategy.calculateScene has been moved into the new receiver scope of SceneStrategyScope to make it more clear that this is an optional parameter and provide an extension point for future Navigation3 features. ( I3aea3 , b/448460407 )
  • The onBack lambda passed into NavDisplay and to your SceneStrategy no longer provides a count: Int parameter to indicate when multiple entries should be popped. Instead, the () -> Unit lambda will now be called multiple times in a row in the rare case where your Scene requests popping multiple entries. ( Idedb5 , b/446989346 )
  • Remove the NavEntryWrapper class and replace its functionality with a final NavEntry class with a new secondary constructor that takes a NavEntry with new content. This will allow continued support for wrapping an entry with new content. ( I7da2a , b/444447130 )
  • The navEntryDecorator function which creates and returns a NavEntryDecorator has been removed and replaced by the NavEntryDecorator class which is now made public and open for subclassing. ( If81f8 , b/444447434 , b/447381176 )
  • SavedStateNavEntryDecorator has been renamed to SaveableStateHolderNavEntryDecorator since it decorates entries with a SaveableStateHolder . The decorator has also been refactored from a function to a class since it is functionally a factory for NavEntryDecorator . ( Ie6013 , b/447381176 )
  • Custom displays using SceneState as an alternative to using NavDisplay no longer are required to use the LocalEntriesToRenderInCurrentScene composition local, which is now internal. ( Ic40ef , b/414668196 )
  • Removed SceneSetupNavEntryDecorator and rememberSceneSetupNavEntryDecorator() from the public API surface. This functionality now is included by default without requiring you to manually include it. ( Ieae42 , b/444479133 )
  • NavEntry , DialogScene , SinglePaneScene , and SceneState now all implement equals. ( I96121 )
  • Scene interface has a new metadata field to attach scene-specific metadata for NavDisplay. This allows a Scene to override the metadata on the NavDisplay , for instance with transitions. ( I1fd96 , b/443955625 )
  • Simplify rememberNavBackStack signature by removing the redundant generic type parameter. The function now accepts vararg elements: NavKey . ( I03e45 )
  • The default animations for NavDisplay are now part of the common API which allows them to be called from all platforms. ( I71af9 , b/447147159 )
  • Rename EntryProviderBuilder to EntryProviderScope to accurately reflect that the class is a Kotlin DSL providing a scope to build NavEntries . ( Ia7465 )

বাগ সংশোধন

  • rememberNavBackStack() now enforces polymorphic serialization for NavKey and requires a custom SavedStateConfiguration that is configured to ensure correct state restoration. KDoc have been updated to reflect the requirement that all NavKey subtypes must be registered in the provided SerializersModule. ( I6de37 , I782f2 , b/446664383 )

Version 1.0.0-alpha10

September 24, 2025

androidx.navigation3:navigation3-*:1.0.0-alpha10 is released. Version 1.0.0-alpha10 contains these commits .

API Changes

  • Add new NavDisplay overload that takes a list of NavEntry<T> that has been decorated by rememberDecoratedNavEntries . ( I4025b , b/441940314 )
  • Moved DialogScene to a new package. ( Ia5840 )
  • Remove public API DecorateNavEntry . Instead use rememberDecoratedNavEntries to wrap a NavEntry with a list of decorators. ( Id8c09 )
  • Navigation3 UI now provides new default transitionSpec properties. ( Ibcabd )
  • Added a new SceneState object to help manage scenes. This also provides a new NavDisplay overload that takes the SceneState and the NavigationEventState . ( Idfb46 , b/444479133 )
  • NavDisplay now allows you to customize the transitions based on what Scene you are going to and from by looking at the Transition 's currentState and targetState . ( I906cc , b/443872322 )
  • NavigationEventInfo is now an abstract class instead of an interface . Update all custom implementations to inherit from the class (e..g, data class MyInfo : NavigationEventInfo() ). ( I1e59c , b/444734264 )
  • The navigationevent-compose handler APIs are updated. NavigationEventHandler and NavigationBackHandler (and variants) now support a new overload that accepts a hoisted NavigationEventState s. The simple overloads (taking currentInfo ) are preserved and now use this new state model internally. ( Ic3251 , b/444734264 )
  • All of the Scene APIs have been moved out of navigation3-ui to navigation3-runtime. This means they are now available on all platforms supported by navigation3-runtime. ( I431d0 , b/444449993 )
  • Added new rememberDecoratedNavEntries overload that takes a list of NavEntry to decorate. The input entries can be already decorated with other entry decorators. ( I5a034 , b/444230270 )
  • Remove navigation3 wildcard type parameters ( I02540 )
  • Improved the handling of generics for the entryProvider DSL. If you were previously importing androidx.navigation3.runtime.entry , this is no longer required. ( I299fc )
  • Restrict the reflection-based NavBackStackSerializer overload to Android. This prevents implicit runtime serialization failures on non-Android platforms by enforcing the use of the explicit SavedStateConfiguration overload in multiplatform code. ( I73313 , b/420443609 )
  • Make NavigationEvent 's swipeEdge an @IntDef ( Icee54 , b/443950342 )
  • Restrict NavBackStack serialization to Android. This prevents runtime failures on non-Android platforms. For multiplatform state saving, use the rememberNavBackStack overload with an explicit SavedStateConfiguration . ( I1e418 , b/420443609 )

বাগ সংশোধন

  • Fix crash during predictive back when nested NavDisplay has a single child entry. ( I2cdc0 , b/441933162 )

Version 1.0.0-alpha09

September 10, 2025

androidx.navigation3:navigation3-*:1.0.0-alpha09 is released. Version 1.0.0-alpha09 contains these commits .

API Changes

  • The DecoratedNavEntryProvider has been replaced with rememberDecoratedNavEntries that creates and return NavEntries decorated with the list of provided decorators ( I0fe1c , b/441328236 )
  • NavBackStack is now generic over the NavKey type. This allows apps and libraries to define custom key types for their back stacks, rather than being restricted to NavKey . ( I4d190 , Iad2f4 , b/420443609 )
  • NavBackStack is now @kotlinx.serialization.Serializable , making it possible to save and restore navigation state across process death and configuration changes without extra boilerplate. ( I2c3cf , b/420443609 )
  • RememberNavBackStack has been moved to commonMain to ensure it is provided on all platform targets. ( Id69e7 , b/420443609 )

বাগ সংশোধন

  • NavDisplay now correctly moves each individual NavEntry to the correct Lifecycle.State . ( I30aac , b/440145700 )
  • Fixed an issue where NavDisplay would ignore any nested NavigationEventDispatcherOwner set via the NavigationEvent library's LocalNavigationEventDispatcherOwner . ( I6224a )

Dependency Changes

Version 1.0.0-alpha08

August 27, 2025

androidx.navigation3:navigation3-*:1.0.0-alpha08 is released. Version 1.0.0-alpha08 contains these commits .

নতুন বৈশিষ্ট্য

  • Added new Kotlin MultiPlatform (KMP) targets to Navigation3 Runtime artifacts. Navigation3 Runtime now supports the following platforms in total: JVM (Android and Desktop), Native (Linux, iOS, watchOS, macOS, MinGW), and Web (JavaScript, WasmJS). ( I55078 , b/424410398 , b/419294028 , b/419046226 ). Note: This does not provide KMP targets for Navigation3 UI artifact. On other platforms, you will need to implement your own custom NavDisplay . If you would like to see it supported, please vote on the Jetbrains issue here and track the progress for additional support there.
  • The NavDisplayInfo object is now public and can be used to retrieve the list of visible entries from the NavDisplay . ( Ibc91f )

API Changes

  • Added a new NavBackStackSerializer to be used in conjunction with rememberNavBackStack to perform state restoration. rememberNavBackStack() now also takes a SavedStateConfiguration that can be used to provide your own configuration. ( I2f4d2 , I4cd58 , b/420443609 )

বাগ সংশোধন

Known Issues

  • There was a bug introduced by I8bf6d that caused Lifecycles to be based on scenes instead of individual entries, which broke Lifecycle for any cases where the key provided to the NavEntry is not a String or your NavEntry has not overridden the contentKey and set it equal to the key (note that doing this enforces that your key can be saved into a Bundle ). This has been fixed for the next release. ( b/440145700 )

Version 1.0.0-alpha07

August 13, 2025

androidx.navigation3:navigation3-*:1.0.0-alpha07 is released. Version 1.0.0-alpha07 contains these commits .

MinSdk Update

API Changes

  • SavedStateNavEntryDecorator now uses the SaveableStateRegistry built into SaveableStateProvider to save and restore states. ( If8d9a )
  • The predictivePopTransitionSpec is now provided the swipe edge as a parameter, allowing you to customize the transition based on what edge the user started the Predictive Back gesture from. ( I753a8 )

বাগ সংশোধন

  • Fixed an issue that would cause custom scenes to be infinitely recalculated because the most recent scene was not being remembered. ( I7ba84 , b/418153031 )

Dependency update

Version 1.0.0-alpha06

July 30, 2025

androidx.navigation3:navigation3-*:1.0.0-alpha06 is released. Version 1.0.0-alpha06 contains these commits .

Dependency Update

Version 1.0.0-alpha05

July 2, 2025

androidx.navigation3:navigation3-*:1.0.0-alpha05 is released. Version 1.0.0-alpha05 contains these commits .

আচরণগত পরিবর্তন

  • The NavEntry 's state is now strictly based on the current list of decorators passed to the NavDisplay . This means that decorators should be swapped along your back stacks in the case of multiple back stacks in order to preserve the state of the NavEntries on the back stack. Otherwise, the states will be cleared as if the entries were popped (instead of a swap). ( I7a759 , b/428033667 )

Version 1.0.0-alpha04

June 18, 2025

androidx.navigation3:navigation3-*:1.0.0-alpha04 is released. Version 1.0.0-alpha04 contains these commits .

API Changes

  • NavEntry.content is now private. To invoke NavEntry content, call the new NavEntry.Content() api which no longer requires a key parameter to invoke. ( Icd0fd , b/420991203 )
  • NavEntry.key is now a private field. The NavEntry and its relevant states should be identified by the new contentKey field which is generated from the new contentKeyFactory lambda and defaults to a saveable hash generated from NavEntry.key ( I81a6c , b/422001357 , b/420991203 I2d7d4 , b/420991203 , b/422841812 )

Dependency Changes

  • Navigation3 now depends on the new androidx.navigationevent.compose artifact.

Version 1.0.0-alpha03

৪ জুন, ২০২৫

androidx.navigation3:navigation3-*:1.0.0-alpha03 is released. Version 1.0.0-alpha03 contains these commits .

বাগ সংশোধন

  • Navigation3 will no longer clear decorator states for backStacks that have been swapped out and replaced with another backStack instance. ( I28a42 , b/415076044 )

Version 1.0.0-alpha02

May 23, 2025

androidx.navigation3:navigation3-*:1.0.0-alpha02 is released. Version 1.0.0-alpha02 contains these commits .

বাগ সংশোধন

  • Fixed an issue with the SavedStateNavEntryDecorator which caused collisions for different data classes with the same property values. ( b/418070648 , Iff4775 )
  • Fixed a missing class issue that would cause crashes when running without declaring explicit dependencies. ( b/419049149 , I4b4ed )

Version 1.0.0-alpha01

২০ মে, ২০২৫

androidx.navigation3:navigation3-*:1.0.0-alpha01 is released. Version 1.0.0-alpha01 contains these commits .

নতুন বৈশিষ্ট্য

Navigation3 is a new navigation library built specifically to handle Jetpack Compose in-app navigation. The androidx.navigation3.runtime artifact provides the building blocks, while the androidx.navigation3.ui artifact provides the UI layer via the NavDisplay API. Developers can provide their own state directly to the NavDisplay composable function, which changes the content based on changes in the developer state.

@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 */ }
})

For more information, see the Navigation3 guide .