নেভিগেশন৩
| সর্বশেষ আপডেট | স্থিতিশীল রিলিজ | রিলিজ প্রার্থী | বিটা রিলিজ | আলফা রিলিজ |
|---|---|---|---|---|
| ০৯ সেপ্টেম্বর, ২০২৬ | ১.১.৭ | ১.২.০-আরসি০১ | - | - |
নির্ভরতা ঘোষণা করা
navigation3-এর উপর নির্ভরতা যোগ করতে হলে, আপনাকে আপনার প্রজেক্টে গুগল মেভেন রিপোজিটরি যোগ করতে হবে। আরও তথ্যের জন্য গুগলের মেভেন রিপোজিটরি পড়ুন।
আপনার অ্যাপ বা মডিউলের build.gradle ফাইলে প্রয়োজনীয় আর্টিফ্যাক্টগুলোর ডিপেন্ডেন্সি যোগ করুন:
গ্রোভি
dependencies { implementation "androidx.navigation3:navigation3-runtime:1.2.0-beta01" implementation "androidx.navigation3:navigation3-ui:1.2.0-beta01" }
কোটলিন
dependencies { implementation("androidx.navigation3:navigation3-runtime:1.2.0-beta01") implementation("androidx.navigation3:navigation3-ui:1.2.0-beta01") }
নির্ভরতা সম্পর্কে আরও তথ্যের জন্য, 'বিল্ড নির্ভরতা যোগ করুন ' দেখুন।
প্রতিক্রিয়া
আপনার মতামত জেটপ্যাককে আরও উন্নত করতে সাহায্য করে। আপনি যদি নতুন কোনো সমস্যা খুঁজে পান অথবা এই লাইব্রেরিটি উন্নত করার জন্য কোনো ধারণা থাকে, তবে আমাদের জানান। নতুন কোনো সমস্যা তৈরি করার আগে অনুগ্রহ করে এই লাইব্রেরির বিদ্যমান সমস্যাগুলো দেখে নিন। আপনি তারকা বোতামে ক্লিক করে কোনো বিদ্যমান সমস্যায় আপনার ভোট যোগ করতে পারেন।
আরও তথ্যের জন্য ইস্যু ট্র্যাকার ডকুমেন্টেশন দেখুন।
এই আর্টিফ্যাক্টটির জন্য কোনো রিলিজ নোট নেই।
ন্যাভিগেশন৩ সংস্করণ ১.২
সংস্করণ 1.2.0-rc01
০৯ সেপ্টেম্বর, ২০২৬
androidx.navigation3:navigation3-*:1.2.0-rc01 প্রকাশিত হয়েছে। সংস্করণ 1.2.0-rc01-এ এই কমিটগুলো অন্তর্ভুক্ত রয়েছে।
বাগ সংশোধন
- ডিপ লিঙ্ক ইউআরআই প্যাটার্নে সদৃশ প্লেসহোল্ডার নাম নিষিদ্ধ করুন। ( I8985c , b/522343165 )
সংস্করণ 1.2.0-beta01
২৬ আগস্ট, ২০২৬
androidx.navigation3:navigation3-*:1.2.0-beta01 প্রকাশিত হয়েছে। সংস্করণ 1.2.0-beta01-এ এই কমিটগুলো রয়েছে।
এপিআই পরিবর্তন
-
DeepLinkRequest.extrasMap<String, Any>থেকে রিফ্যাক্টর করেRequestExtrasনামে একটি নতুন টাইপ-সেফ ম্যাপ-সদৃশ ক্লাসে পরিণত করা হয়েছে, যাRequestExtrasKey<T>থেকেTএর জোড়া সংরক্ষণ করে।requestExtrasDSL ব্যবহার করেRequestExtrasইনস্ট্যানশিয়েট করা যায়। ( Ic929d , b/543883369 )
বাগ সংশোধন
- একটি সমস্যার সমাধান করা হয়েছে যেখানে সামনে যাওয়ার সময় সক্রিয় হওয়া প্রেডিক্টিভ ব্যাক জেসচার, সোয়াইপের অগ্রগতির প্রতিক্রিয়ায় অ্যানিমেট হতো না। এখন থেকে প্রেডিক্টিভ ব্যাক সঠিকভাবে অ্যানিমেট হবে এবং সম্পন্ন হবে। ( Icdcb0 , b/456218398 )
-
Sceneইমপ্লিমেন্টেশনগুলো হয় ডেটা ক্লাস, অথবা equals এবং hashcode ইমপ্লিমেন্ট করে, এটি নিশ্চিত করার জন্য একটি লিন্ট চেক যোগ করা হয়েছে, যাতে প্রয়োজন অনুযায়ী একইSceneব্যবহৃত হয়। ( Ibdf0d , b/542316099 ) -
NavEntry.contentKeyএখন ডিফল্টরূপেkey.toString()এবংkey::class.toString()এর একটি সংমিশ্রণ হিসেবে ব্যবহৃত হয়। এটি নিশ্চিত করে যে, একই নামের কিন্তু ভিন্ন ইন্টারফেস ইমপ্লিমেন্ট করা ডেটা অবজেক্টগুলোর আর একইcontentKeyথাকবে না। তবে, JS প্ল্যাটফর্মেরkey::classসম্পূর্ণ নামের পরিবর্তে শুধুমাত্র সাধারণ ক্লাসের নাম রিটার্ন করে, তাই একই নামের ডেটা অবজেক্টগুলোর জন্য JS প্ল্যাটফর্মের এখনও কাস্টমcontentKeyইমপ্লিমেন্ট করা উচিত। ( I1fbbb , b/512534342 ) - একাধিক পপ ট্রানজিশন চলমান থাকা অবস্থায় দ্রুত ব্যাক নেভিগেশনের জন্য ব্যবহৃত ডুপ্লিকেট কী-এর কারণে
SaveableStateProviderদ্বারা নিক্ষিপ্তIllegalArgumentExceptionসংশোধন করা হয়েছে। ( I4d728 , b/516312097 )
সংস্করণ ১.২.০-আলফা০৭
২৯ জুলাই, ২০২৬
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 )DeepLinkMatcherout R : DeepLinkMatcher.MatchResult<T>, যাতে ডেভেলপাররা টাইপ কাস্টিং ছাড়াইDeepLinkMatcher.match()দ্বারা রিটার্ন করা সাবক্লাসডMatchResultএর প্রোপার্টিগুলো অ্যাক্সেস করতে পারেন। ( I693d3 , b/470282247 )DeepLinkMatcher.MatchResult'sT ঊর্ধ্বসীমা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 ) - এক্সট্রাগুলির একটি ম্যাপ তৈরি করার জন্য একটি টাইপ-সেফ উপায় হিসেবে একটি নতুন
requestExtrasdsl যোগ করা হয়েছে। এই 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থ্রো করার পরিবর্তে একটি nullUriMatchResultরিটার্ন করে। ( I5322f , b/524663005 ) - যে
UriDeeplinkMatcherhttps স্কিমের ইউআরআই থাকে, সেটিকে শুধুমাত্র সেইসব রিকোয়েস্টের সাথেই মেলানো যায় যেগুলোরও 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 )UriDeepLinkMatcherDeepLinkMatcherএর একটি বিশেষায়িত বাস্তবায়ন, যা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 ?: HomeKeyDeepLinkUriযোগ করা হয়েছে যা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-এর মধ্যে ফলাফল আদান-প্রদানের জন্য একটিResultEventBusAPI যোগ করা হয়েছে। প্রেরিত ফলাফলResultEventBus#conflateAsStateব্যবহার করে একটি স্টেট হিসেবে অথবাResultEffectব্যবহার করে ফলাফলের একটি ফ্লো হিসেবে মূল্যায়ন করা যেতে পারে।
সংস্করণ 1.2.0-alpha01
০৮ এপ্রিল, ২০২৬
androidx.navigation3:navigation3-*:1.2.0-alpha01 প্রকাশিত হয়েছে। সংস্করণ 1.2.0-alpha01-এ এই কমিটগুলো রয়েছে।
বাগ সংশোধন
-
OverlaySceneথেকেLocalNavAnimatedContentScopeঅ্যাক্সেস করলে এখন আরIllegalStateExceptionঘটবে না, কারণOverlayScenesএখন একটি no-opLocalAnimatedContentScopeপ্রদান করা হয়েছে। ( I2f00c , b/486067688 )
নেভিগেশন৩ সংস্করণ ১.১
সংস্করণ ১.১.৭
২৬ আগস্ট, ২০২৬
androidx.navigation3:navigation3-*:1.1.7 প্রকাশিত হয়েছে। সংস্করণ 1.1.7-এ এই কমিটগুলো অন্তর্ভুক্ত রয়েছে।
বাগ সংশোধন
- একটি সমস্যার সমাধান করা হয়েছে যেখানে সামনে যাওয়ার সময় সক্রিয় হওয়া প্রেডিক্টিভ ব্যাক জেসচার, সোয়াইপের অগ্রগতির প্রতিক্রিয়ায় অ্যানিমেট হতো না। এখন থেকে প্রেডিক্টিভ ব্যাক সঠিকভাবে অ্যানিমেট হবে এবং সম্পন্ন হবে। ( Icdcb0 , b/456218398 )
সংস্করণ ১.১.৬
১২ আগস্ট, ২০২৬
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-এ এই কমিটগুলো অন্তর্ভুক্ত রয়েছে।
বাগ সংশোধন
-
entryProviderDSL এখন একটি কী ইনস্ট্যান্স দিয়ে তৈরি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-opNavigationEventHandlerকে সরিয়ে দিয়ে Android Studio প্রিভিউগুলিতে Predictive Back সক্ষম করেছে।
সংস্করণ ১.১.২
১৯ মে, ২০২৬
androidx.navigation3:navigation3-*:1.1.2 প্রকাশিত হয়েছে। সংস্করণ 1.1.2-এ এই কমিটগুলো অন্তর্ভুক্ত রয়েছে।
বাগ সংশোধন
-
NavigationEventডিপেন্ডেন্সি 1.1.1-এ আপগ্রেড করা হয়েছে, যা ইন্সপেকশন মোডে থাকাকালীন no-opNavigationEventHandlerসরিয়ে দিয়ে Android Studio প্রিভিউগুলিতে Predictive Back সক্ষম করেছে।
সংস্করণ ১.১.১
২২ এপ্রিল, ২০২৬
androidx.navigation3:navigation3-*:1.1.1 প্রকাশিত হয়েছে। সংস্করণ 1.1.1-এ এই কমিটগুলো অন্তর্ভুক্ত রয়েছে।
বাগ সংশোধন
-
OverlaySceneথেকেLocalNavAnimatedContentScopeঅ্যাক্সেস করলে এখন আরIllegalStateExceptionঘটবে না, কারণOverlayScenesএখন একটি no-opLocalAnimatedContentScopeপ্রদান করা হয়েছে। ( 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এখন নিশ্চিত করে যে ওভারলে-র নিচে প্রদর্শিত এন্ট্রিগুলিরLifecycleSTARTEDএ সীমাবদ্ধ থাকে। এটি নিশ্চিত করে যে ডায়ালগ ব্যবহার করার সময়ও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তেNavMetadataKeyDialogKeyযোগ করা হয়েছে। ( 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 )
নির্ভরতা আপডেট
-
Navigation31.0.1 থেকে:Navigation3এখনNavigationEvent1.0.2-এর উপর নির্ভরশীল। এটিAndroidStudioপ্রিভিউ চলাকালীনNavDisplayব্যবহারের কারণে সৃষ্ট একটিIllegalStateExceptionসমাধান করে। ( Id7212 , b/477149762 )
সংস্করণ 1.1.0-alpha03
২৮ জানুয়ারী, ২০২৬
androidx.navigation3:navigation3-*:1.1.0-alpha03 প্রকাশিত হয়েছে। সংস্করণ 1.1.0-alpha03-এ এই কমিটগুলো রয়েছে।
নতুন বৈশিষ্ট্য
- এখন আপনি
EntryProviderDSL-এর মাধ্যমে এন্ট্রি কী বিবেচনা করে ডায়নামিকভাবে মেটাডেটা যোগ করতে পারবেন। ( 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এখনNavigationEvent1.0.2-এর উপর নির্ভরশীল। এটিAndroidStudioপ্রিভিউ চলাকালীনNavDisplayব্যবহারের কারণে সৃষ্ট একটিIllegalStateExceptionসমাধান করে। ( Id7212 , b/477149762 )
সংস্করণ ১.০.০
১৯ নভেম্বর, ২০২৫
androidx.navigation3:navigation3-*:1.0.0 প্রকাশিত হয়েছে। সংস্করণ 1.0.0-এ এই কমিটগুলো অন্তর্ভুক্ত রয়েছে।
ন্যাভিগেশন৩ উপস্থাপন করা হচ্ছে!
- Navigation3 লাইব্রেরিটি এখন স্থিতিশীল! Navigation3 হলো নেভিগেশনের জন্য AndroidX Compose-ভিত্তিক একটি পদ্ধতি।
- আরও তথ্যের জন্য, আমাদের ঘোষণা ব্লগ পোস্টটি দেখুন, রিসোর্সগুলো পরিদর্শন করুন এবং রেসিপিগুলো চেষ্টা করে দেখুন।
সংস্করণ 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 )
-
entryProviderDSL-এর জন্য জেনেরিকস পরিচালনার উন্নতি করা হয়েছে। আপনি যদি আগে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-এ এই কমিটগুলো অন্তর্ভুক্ত রয়েছে।
এপিআই পরিবর্তন
-
DecoratedNavEntryProviderrememberDecoratedNavEntriesদ্বারা প্রতিস্থাপন করা হয়েছে, যা প্রদত্ত ডেকোরেটরগুলির তালিকা দিয়ে সজ্জিত NavEntries তৈরি করে এবং ফেরত দেয় ( I0fe1c , b/441328236 )। -
NavBackStackএখনNavKeyটাইপের উপর জেনেরিক। এর ফলে অ্যাপ এবং লাইব্রেরিগুলোNavKeyমধ্যে সীমাবদ্ধ না থেকে তাদের ব্যাক স্ট্যাকের জন্য কাস্টম কী টাইপ সংজ্ঞায়িত করতে পারবে। ( I4d190 , Iad2f4 , b/420443609 ) -
NavBackStackএখন@kotlinx.serialization.Serializable, যার ফলে কোনো অতিরিক্ত বয়লারপ্লেট ছাড়াই প্রসেস বন্ধ হয়ে যাওয়া বা কনফিগারেশন পরিবর্তনের পরেও ন্যাভিগেশন স্টেট সংরক্ষণ ও পুনরুদ্ধার করা সম্ভব। ( I2c3cf , b/420443609 ) -
RememberNavBackStackcommonMainএ স্থানান্তর করা হয়েছে, যাতে এটি সকল প্ল্যাটফর্ম টার্গেটে সরবরাহ করা নিশ্চিত করা যায়। ( Id69e7 , b/420443609 )
বাগ সংশোধন
-
NavDisplayএখন প্রতিটিNavEntryসঠিকভাবে তার যথাযথLifecycle.Stateএ স্থানান্তর করে। ( I30aac , b/440145700 ) -
NavigationEventলাইব্রেরিরLocalNavigationEventDispatcherOwnerএর মাধ্যমে সেট করা যেকোনো নেস্টেডNavigationEventDispatcherOwnerNavDisplayউপেক্ষা করত, সেই সমস্যাটি সমাধান করা হয়েছে। ( I6224a )
নির্ভরশীলতার পরিবর্তন
- Navigation3 এখন NavigationEvent Alpha08-এর উপর নির্ভরশীল।
সংস্করণ 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 )
পরিচিত সমস্যা
- 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
keyprovided to theNavEntryis not aStringor yourNavEntryhas not overridden thecontentKeyand set it equal to thekey(note that doing this enforces that your key can be saved into aBundle). This has been fixed for the next release. ( b/440145700 )
সংস্করণ 1.0.0-alpha07
১৩ আগস্ট, ২০২৫
androidx.navigation3:navigation3-*:1.0.0-alpha07 is released. Version 1.0.0-alpha07 contains these commits .
MinSdk Update
- The default minSdk for the AndroidX has been moved from API 21 to API 23 ( Ibdfca , b/380448311 , b/435705964 , b/435705223 )
এপিআই পরিবর্তন
-
SavedStateNavEntryDecoratornow uses theSaveableStateRegistrybuilt intoSaveableStateProviderto save and restore states. ( If8d9a ) - The
predictivePopTransitionSpecis 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
- Navigation3 now depends on Navigation Event
1.0.0-alpha06.
সংস্করণ 1.0.0-alpha06
৩০ জুলাই, ২০২৫
androidx.navigation3:navigation3-*:1.0.0-alpha06 is released. Version 1.0.0-alpha06 contains these commits .
Dependency Update
- Navigation3 now depends on Navigation Event
1.0.0-alpha05.
সংস্করণ 1.0.0-alpha05
২ জুলাই, ২০২৫
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 theNavDisplay. 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 )
সংস্করণ 1.0.0-alpha04
১৮ জুন, ২০২৫
androidx.navigation3:navigation3-*:1.0.0-alpha04 is released. Version 1.0.0-alpha04 contains these commits .
এপিআই পরিবর্তন
-
NavEntry.contentis now private. To invokeNavEntrycontent, call the newNavEntry.Content()api which no longer requires akeyparameter to invoke. ( Icd0fd , b/420991203 ) -
NavEntry.keyis now a private field. TheNavEntryand its relevant states should be identified by the newcontentKeyfield which is generated from the newcontentKeyFactorylambda and defaults to a saveable hash generated fromNavEntry.key( I81a6c , b/422001357 , b/420991203 I2d7d4 , b/420991203 , b/422841812 )
Dependency Changes
- Navigation3 now depends on the new
androidx.navigationevent.composeartifact.
সংস্করণ 1.0.0-alpha03
৪ জুন, ২০২৫
androidx.navigation3:navigation3-*:1.0.0-alpha03 is released. Version 1.0.0-alpha03 contains these commits .
বাগ সংশোধন
-
Navigation3will no longer clear decorator states forbackStacksthat have been swapped out and replaced with anotherbackStackinstance. ( I28a42 , b/415076044 )
সংস্করণ 1.0.0-alpha02
২৩ মে, ২০২৫
androidx.navigation3:navigation3-*:1.0.0-alpha02 is released. Version 1.0.0-alpha02 contains these commits .
বাগ সংশোধন
- Fixed an issue with the
SavedStateNavEntryDecoratorwhich 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 )
সংস্করণ 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 .