নেভিগেশন৩
| সর্বশেষ আপডেট | স্থিতিশীল রিলিজ | রিলিজ প্রার্থী | বিটা রিলিজ | আলফা রিলিজ |
|---|---|---|---|---|
| ২৫ মার্চ, ২০২৬ | ১.০.১ | ১.১.০-আরসি০১ | - | - |
নির্ভরতা ঘোষণা করা
navigation3-এর উপর নির্ভরতা যোগ করতে হলে, আপনাকে আপনার প্রজেক্টে গুগল মেভেন রিপোজিটরি যোগ করতে হবে। আরও তথ্যের জন্য গুগলের মেভেন রিপোজিটরি পড়ুন।
আপনার অ্যাপ বা মডিউলের build.gradle ফাইলে প্রয়োজনীয় আর্টিফ্যাক্টগুলোর ডিপেন্ডেন্সি যোগ করুন:
গ্রোভি
dependencies { implementation "androidx.navigation3:navigation3-runtime:1.1.0-rc01" implementation "androidx.navigation3:navigation3-ui:1.1.0-rc01" }
কোটলিন
dependencies { implementation("androidx.navigation3:navigation3-runtime:1.1.0-rc01") implementation("androidx.navigation3:navigation3-ui:1.1.0-rc01") }
নির্ভরতা সম্পর্কে আরও তথ্যের জন্য, 'বিল্ড নির্ভরতা যোগ করুন ' দেখুন।
প্রতিক্রিয়া
আপনার মতামত জেটপ্যাককে আরও উন্নত করতে সাহায্য করে। আপনি যদি নতুন কোনো সমস্যা খুঁজে পান অথবা এই লাইব্রেরিটি উন্নত করার জন্য কোনো ধারণা থাকে, তবে আমাদের জানান। নতুন কোনো সমস্যা তৈরি করার আগে অনুগ্রহ করে এই লাইব্রেরির বিদ্যমান সমস্যাগুলো দেখে নিন। আপনি তারকা বোতামে ক্লিক করে কোনো বিদ্যমান সমস্যায় আপনার ভোট যোগ করতে পারেন।
আরও তথ্যের জন্য ইস্যু ট্র্যাকার ডকুমেন্টেশন দেখুন।
এই আর্টিফ্যাক্টটির জন্য কোনো রিলিজ নোট নেই।
সংস্করণ ১.১
সংস্করণ 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 )
পরিচিত সমস্যা
- 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 আপডেট
- AndroidX-এর ডিফল্ট minSdk API 21 থেকে API 23-এ স্থানান্তরিত করা হয়েছে ( Ibdfca , b/380448311 , b/435705964 , b/435705223 )
এপিআই পরিবর্তন
-
SavedStateNavEntryDecoratorএখন স্টেট সংরক্ষণ এবং পুনরুদ্ধার করার জন্যSaveableStateProviderঅন্তর্নির্মিতSaveableStateRegistryব্যবহার করে। ( If8d9a ) -
predictivePopTransitionSpecকে এখন সোয়াইপ এজ একটি প্যারামিটার হিসেবে প্রদান করা হয়েছে, যা আপনাকে ব্যবহারকারী কোন এজ থেকে প্রেডিক্টিভ ব্যাক জেসচারটি শুরু করেছেন তার উপর ভিত্তি করে ট্রানজিশনটি কাস্টমাইজ করার সুযোগ দেয়। ( I753a8 )
বাগ সংশোধন
- এমন একটি সমস্যার সমাধান করা হয়েছে যার কারণে সর্বশেষ সিনটি মনে না থাকায় কাস্টম সিনগুলো অনির্দিষ্টকালের জন্য পুনঃগণনা হতে থাকতো। ( I7ba84 , b/418153031 )
নির্ভরতা আপডেট
- Navigation3 এখন Navigation Event
1.0.0-alpha06এর উপর নির্ভরশীল।
সংস্করণ 1.0.0-alpha06
৩০ জুলাই, ২০২৫
androidx.navigation3:navigation3-*:1.0.0-alpha06 প্রকাশিত হয়েছে। সংস্করণ 1.0.0-alpha06-এ এই কমিটগুলো রয়েছে।
নির্ভরতা আপডেট
- Navigation3 এখন Navigation Event
1.0.0-alpha05এর উপর নির্ভরশীল।
সংস্করণ 1.0.0-alpha05
২ জুলাই, ২০২৫
androidx.navigation3:navigation3-*:1.0.0-alpha05 প্রকাশিত হয়েছে। সংস্করণ 1.0.0-alpha05-এ এই কমিটগুলো রয়েছে।
আচরণগত পরিবর্তন
-
NavEntryএর অবস্থা এখনNavDisplayতে পাঠানো ডেকোরেটরগুলোর বর্তমান তালিকার উপর কঠোরভাবে নির্ভরশীল। এর মানে হলো, একাধিক ব্যাক স্ট্যাক থাকলে ব্যাক স্ট্যাকে থাকা NavEntries-গুলোর অবস্থা অক্ষুণ্ণ রাখার জন্য ডেকোরেটরগুলোকে ব্যাক স্ট্যাকগুলোর মধ্যে অদলবদল করতে হবে। অন্যথায়, এন্ট্রিগুলো অদলবদল না হয়ে পপ হয়ে গেলে যেমন অবস্থাগুলো মুছে যেত, ঠিক সেভাবেই অবস্থাগুলো মুছে যাবে। ( I7a759 , b/428033667 )
সংস্করণ 1.0.0-alpha04
১৮ জুন, ২০২৫
androidx.navigation3:navigation3-*:1.0.0-alpha04 প্রকাশিত হয়েছে। সংস্করণ 1.0.0-alpha04-এ এই কমিটগুলো রয়েছে।
এপিআই পরিবর্তন
-
NavEntry.contentএখন প্রাইভেট।NavEntryকন্টেন্ট চালু করতে, নতুনNavEntry.Content()এপিআই কল করুন, যা চালু করার জন্য এখন আর কোনোkeyপ্যারামিটারের প্রয়োজন নেই। ( Icd0fd , b/420991203 ) -
NavEntry.keyএখন একটি প্রাইভেট ফিল্ড।NavEntryএবং এর প্রাসঙ্গিক স্টেটগুলোকে নতুনcontentKeyফিল্ড দ্বারা শনাক্ত করা উচিত, যা নতুনcontentKeyFactoryল্যাম্বডা থেকে তৈরি হয় এবং ডিফল্টরূপেNavEntry.keyথেকে তৈরি একটি সংরক্ষণযোগ্য হ্যাশ হিসেবে থাকে ( I81a6c , b/422001357 , b/420991203 I2d7d4 , b/420991203 , b/422841812 )
নির্ভরশীলতার পরিবর্তন
- Navigation3 এখন নতুন
androidx.navigationevent.composeআর্টিফ্যাক্টটির উপর নির্ভরশীল।
সংস্করণ 1.0.0-alpha03
৪ জুন, ২০২৫
androidx.navigation3:navigation3-*:1.0.0-alpha03 প্রকাশিত হয়েছে। সংস্করণ 1.0.0-alpha03-এ এই কমিটগুলো রয়েছে।
বাগ সংশোধন
- যেসব
backStacksসোয়াপ আউট করে অন্য একটিbackStackইনস্ট্যান্স দিয়ে প্রতিস্থাপন করা হয়েছে,Navigation3সেগুলোর ডেকোরেটর স্টেট আর ক্লিয়ার করবে না। ( I28a42 , b/415076044 )
সংস্করণ 1.0.0-alpha02
২৩ মে, ২০২৫
androidx.navigation3:navigation3-*:1.0.0-alpha02 প্রকাশিত হয়েছে। সংস্করণ 1.0.0-alpha02-এ এই কমিটগুলো রয়েছে।
বাগ সংশোধন
-
SavedStateNavEntryDecoratorএর একটি সমস্যা সমাধান করা হয়েছে, যার কারণে একই প্রপার্টি ভ্যালুযুক্ত বিভিন্ন ডেটা ক্লাসের মধ্যে সংঘর্ষ ঘটছিল। ( b/418070648 , Iff4775 ) - সুস্পষ্ট ডিপেন্ডেন্সি ঘোষণা না করে চালানোর সময় ক্র্যাশ হওয়ার কারণ একটি অনুপস্থিত ক্লাসের সমস্যা সমাধান করা হয়েছে। ( b/419049149 , I4b4ed )
সংস্করণ 1.0.0-alpha01
২০ মে, ২০২৫
androidx.navigation3:navigation3-*:1.0.0-alpha01 প্রকাশিত হয়েছে। সংস্করণ 1.0.0-alpha01-এ এই কমিটগুলো অন্তর্ভুক্ত রয়েছে।
নতুন বৈশিষ্ট্য
Navigation3 হলো একটি নতুন নেভিগেশন লাইব্রেরি যা বিশেষভাবে Jetpack Compose-এর ইন-অ্যাপ নেভিগেশন পরিচালনার জন্য তৈরি করা হয়েছে। androidx.navigation3.runtime আর্টিফ্যাক্টটি এর মূল উপাদানগুলো সরবরাহ করে, আর androidx.navigation3.ui আর্টিফ্যাক্টটি NavDisplay API-এর মাধ্যমে UI লেয়ার প্রদান করে। ডেভেলপাররা সরাসরি NavDisplay কম্পোজেবল ফাংশনে তাদের নিজস্ব স্টেট প্রদান করতে পারেন, যা ডেভেলপারের স্টেটের পরিবর্তনের উপর ভিত্তি করে কন্টেন্ট পরিবর্তন করে।
@Serialiable object Home : NavKey
@Serialiable object Chat : NavKey
val backStack = rememberNavBackStack(Home)
NavDisplay(backStack, entryProvider = entryProvider {
entry<Home> {
Column {
Text(“Home”)
Button(onClick = { backStack.add(Chat) } ) {
Text(“Go to Chat”)
}
}
}
entry<Chat> { /* My Composable Content */ }
})
আরও তথ্যের জন্য, নেভিগেশন৩ নির্দেশিকাটি দেখুন।