নেভিগেশন৩

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

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

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

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

গ্রোভি

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

কোটলিন

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

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

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

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

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

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

এই নিদর্শনটির জন্য কোনও রিলিজ নোট নেই।

সংস্করণ 1.1

সংস্করণ 1.1.0-alpha05

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

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

API পরিবর্তনগুলি

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

সংস্করণ 1.1.0-alpha04

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

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

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

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

API পরিবর্তনগুলি

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

বাগ ফিক্স

  • একটি ত্রুটি সংশোধন করা হয়েছে যেখানে NavDisplay অথবা rememberSceneStateSharedTransitionLayout পাস করলে এবং যেকোনো 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-এ এই কমিটগুলি রয়েছে।

API পরিবর্তনগুলি

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

সংস্করণ 1.0

সংস্করণ 1.0.1

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

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

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

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

সংস্করণ 1.0.0

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

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-এ এই কমিটগুলি রয়েছে।

API পরিবর্তনগুলি

  • 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-এ এই কমিটগুলি রয়েছে।

API পরিবর্তনগুলি

  • SceneStrategy তে calculateScene পদ্ধতিটি আর @Composable নেই। পরিবর্তে, এই কাজটিকে আপনার SceneStrategy পদ্ধতির নির্মাণে স্থানান্তর করার কথা বিবেচনা করুন (অর্থাৎ, একটি rememberMySceneStrategy() পদ্ধতিতে) যা আপনাকে সঠিক মানগুলির বাইরে যেকোনো rememberSaveable মান বা কী remember বিবৃতির জীবনকাল নির্ধারণ করতে সম্পূর্ণরূপে অনুমতি দেয়। ( If1733 , b/448709506 )
  • SceneStrategy.calculateScene এর onBack প্যারামিটারটি SceneStrategyScope এর নতুন রিসিভার স্কোপে স্থানান্তরিত করা হয়েছে যাতে এটি আরও স্পষ্ট হয় যে এটি একটি ঐচ্ছিক প্যারামিটার এবং ভবিষ্যতের Navigation3 বৈশিষ্ট্যগুলির জন্য একটি এক্সটেনশন পয়েন্ট প্রদান করে। ( I3aea3 , b/448460407 )
  • NavDisplay এবং আপনার SceneStrategy তে স্থানান্তরিত onBack ল্যাম্বডা আর count: Int প্যারামিটার প্রদান করে না যা নির্দেশ করে যে কখন একাধিক এন্ট্রি পপ করা উচিত। পরিবর্তে, () -> Unit ল্যাম্বডা এখন পরপর একাধিকবার কল করা হবে, বিরল ক্ষেত্রে যেখানে আপনার Scene একাধিক এন্ট্রি পপ করার অনুরোধ করে। ( Idedb5 , b/446989346 )
  • NavEntryWrapper ক্লাসটি সরিয়ে ফেলুন এবং এর কার্যকারিতাটি একটি চূড়ান্ত NavEntry ক্লাস দিয়ে প্রতিস্থাপন করুন, যেখানে একটি নতুন সেকেন্ডারি কনস্ট্রাক্টর থাকবে যা NavEntry নতুন কন্টেন্ট সহ গ্রহণ করবে। এটি নতুন কন্টেন্ট সহ একটি এন্ট্রি মোড়ানোর জন্য অব্যাহত সহায়তা প্রদান করবে। ( I7da2a , b/444447130 )
  • navEntryDecorator ফাংশন যা NavEntryDecorator তৈরি করে এবং ফেরত দেয় তা সরিয়ে NavEntryDecorator ক্লাস দ্বারা প্রতিস্থাপিত হয়েছে যা এখন সর্বজনীন এবং সাবক্লাসিংয়ের জন্য উন্মুক্ত। ( If81f8 , b/444447434 , b/447381176 )
  • SavedStateNavEntryDecorator নাম পরিবর্তন করে SaveableStateHolderNavEntryDecorator রাখা হয়েছে কারণ এটি SaveableStateHolder দিয়ে এন্ট্রি সাজায়। ডেকোরেটরটি একটি ফাংশন থেকে একটি ক্লাসে পুনর্নির্মিত হয়েছে কারণ এটি কার্যকরীভাবে NavEntryDecorator এর একটি কারখানা। ( Ie6013 , b/447381176 )
  • NavDisplay ব্যবহারের বিকল্প হিসেবে SceneState ব্যবহার করে কাস্টম ডিসপ্লে ব্যবহার করার জন্য LocalEntriesToRenderInCurrentScene কম্পোজিশন স্থানীয় ব্যবহার করার প্রয়োজন নেই, যা এখন অভ্যন্তরীণ। ( Ic40ef , b/414668196 )
  • পাবলিক API সারফেস থেকে SceneSetupNavEntryDecorator এবং rememberSceneSetupNavEntryDecorator() সরিয়ে ফেলা হয়েছে। এই কার্যকারিতাটি এখন ডিফল্টরূপে অন্তর্ভুক্ত করা হয়েছে, আপনাকে ম্যানুয়ালি এটি অন্তর্ভুক্ত করার প্রয়োজন নেই। ( Ieae42 , b/444479133 )
  • NavEntry , DialogScene , SinglePaneScene , এবং SceneState এখন সবগুলোই সমানভাবে প্রয়োগ করা হয়েছে। ( I96121 )
  • NavDisplay-এর জন্য দৃশ্য-নির্দিষ্ট মেটাডেটা সংযুক্ত করার জন্য দৃশ্য ইন্টারফেসে একটি নতুন মেটাডেটা ক্ষেত্র রয়েছে। এটি একটি দৃশ্যকে NavDisplay এর মেটাডেটা ওভাররাইড করতে দেয়, উদাহরণস্বরূপ ট্রানজিশনের মাধ্যমে। ( I1fd96 , b/443955625 )
  • রিডানড্যান্ট জেনেরিক টাইপ প্যারামিটারটি সরিয়ে rememberNavBackStack স্বাক্ষরকে সরল করুন। ফাংশনটি এখন vararg elements: NavKey । ( I03e45 )
  • NavDisplay এর জন্য ডিফল্ট অ্যানিমেশনগুলি এখন সাধারণ API-এর অংশ যা এগুলিকে সমস্ত প্ল্যাটফর্ম থেকে কল করার অনুমতি দেয়। ( I71af9 , b/447147159 )
  • EntryProviderBuilder নাম পরিবর্তন করে EntryProviderScope করুন যাতে সঠিকভাবে প্রতিফলিত হয় যে ক্লাসটি একটি Kotlin DSL যা NavEntries তৈরির সুযোগ প্রদান করে। ( Ia7465 )

বাগ ফিক্স

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

সংস্করণ 1.0.0-alpha10

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

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

API পরিবর্তনগুলি

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

বাগ ফিক্স

  • নেস্টেড NavDisplay একটি সিঙ্গেল চাইল্ড এন্ট্রি থাকলে প্রেডিক্টিভ ব্যাক-এর সময় ক্র্যাশ ঠিক করুন। ( I2cdc0 , b/441933162 )

সংস্করণ 1.0.0-alpha09

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

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

API পরিবর্তনগুলি

  • 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 )

API পরিবর্তনগুলি

  • স্টেট পুনরুদ্ধার করার জন্য rememberNavBackStack এর সাথে ব্যবহার করার জন্য একটি নতুন NavBackStackSerializer যোগ করা হয়েছে। rememberNavBackStack() এখন একটি SavedStateConfiguration ও নেয় যা আপনার নিজস্ব কনফিগারেশন প্রদান করতে ব্যবহার করা যেতে পারে। ( I2f4d2 , I4cd58 , b/420443609 )

বাগ ফিক্স

  • নেভিগেট করার ফলে ভুল জীবনচক্র ইভেন্টগুলি সক্রিয় হওয়ার সমস্যাটি সমাধান করা হয়েছে। ( I8bf6d , b/425901162 , b/434109022 )

জ্ঞাত সমস্যা

  • I8bf6d দ্বারা একটি বাগ প্রবর্তিত হয়েছিল যার ফলে Lifecycles পৃথক এন্ট্রির পরিবর্তে দৃশ্যের উপর ভিত্তি করে তৈরি করা হয়েছিল, যা NavEntry কে প্রদত্ত key একটি String নয় বা আপনার NavEntry contentKey ওভাররাইড করে এটিকে key সমান সেট না করে এমন যেকোনো ক্ষেত্রে Lifecycle ভেঙে দেয় (মনে রাখবেন যে এটি করার ফলে আপনার কীটি একটি 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 )

API পরিবর্তনগুলি

  • SavedStateNavEntryDecorator এখন SaveableStateProvider এ তৈরি SaveableStateRegistry ব্যবহার করে অবস্থা সংরক্ষণ এবং পুনরুদ্ধার করে। ( If8d9a )
  • predictivePopTransitionSpec এ এখন একটি প্যারামিটার হিসেবে সোয়াইপ এজ দেওয়া হয়েছে, যা ব্যবহারকারী কোন এজ থেকে Predictiv Back জেসচার শুরু করেছেন তার উপর ভিত্তি করে ট্রানজিশন কাস্টমাইজ করতে পারবেন। ( I753a8 )

বাগ ফিক্স

  • সাম্প্রতিক দৃশ্যটি মনে না থাকার কারণে কাস্টম দৃশ্যগুলিকে অসীমভাবে পুনঃগণনা করার সমস্যাটি সমাধান করা হয়েছে। ( I7ba84 , b/418153031 )

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

সংস্করণ 1.0.0-alpha06

৩০ জুলাই, ২০২৫

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

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

সংস্করণ 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-এ এই কমিটগুলি রয়েছে।

API পরিবর্তনগুলি

  • NavEntry.content এখন ব্যক্তিগত। NavEntry কন্টেন্ট চালু করতে, নতুন NavEntry.Content() api কল করুন যার জন্য আর কোনও key প্যারামিটার চালু করার প্রয়োজন নেই। ( Icd0fd , b/420991203 )
  • NavEntry.key এখন একটি ব্যক্তিগত ক্ষেত্র। NavEntry এবং এর প্রাসঙ্গিক অবস্থাগুলি নতুন contentKey ক্ষেত্র দ্বারা চিহ্নিত করা উচিত যা নতুন contentKeyFactory lambda থেকে তৈরি হয় এবং 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-এ এই কমিটগুলি রয়েছে।

বাগ ফিক্স

  • Navigation3 আর backStacks জন্য ডেকোরেটর অবস্থা পরিষ্কার করবে না যেগুলি অদলবদল করে অন্য backStack ইনস্ট্যান্স দিয়ে প্রতিস্থাপন করা হয়েছে। ( 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 */ }
})

আরও তথ্যের জন্য, Navigation3 নির্দেশিকা দেখুন।

,

নেভিগেশন৩

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

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

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

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

গ্রোভি

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

কোটলিন

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

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

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

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

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

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

এই নিদর্শনটির জন্য কোনও রিলিজ নোট নেই।

সংস্করণ 1.1

সংস্করণ 1.1.0-alpha05

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

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

API পরিবর্তনগুলি

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

সংস্করণ 1.1.0-alpha04

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

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

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

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

API পরিবর্তনগুলি

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

বাগ ফিক্স

  • একটি ত্রুটি সংশোধন করা হয়েছে যেখানে NavDisplay অথবা rememberSceneStateSharedTransitionLayout পাস করলে এবং যেকোনো 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-এ এই কমিটগুলি রয়েছে।

API পরিবর্তনগুলি

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

সংস্করণ 1.0

সংস্করণ 1.0.1

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

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

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

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

সংস্করণ 1.0.0

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

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-এ এই কমিটগুলি রয়েছে।

API পরিবর্তনগুলি

  • 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-এ এই কমিটগুলি রয়েছে।

API পরিবর্তনগুলি

  • SceneStrategy তে calculateScene পদ্ধতিটি আর @Composable নেই। পরিবর্তে, এই কাজটিকে আপনার SceneStrategy পদ্ধতির নির্মাণে স্থানান্তর করার কথা বিবেচনা করুন (অর্থাৎ, একটি rememberMySceneStrategy() পদ্ধতিতে) যা আপনাকে সঠিক মানগুলির বাইরে যেকোনো rememberSaveable মান বা কী remember বিবৃতির জীবনকাল নির্ধারণ করতে সম্পূর্ণরূপে অনুমতি দেয়। ( If1733 , b/448709506 )
  • SceneStrategy.calculateScene এর onBack প্যারামিটারটি SceneStrategyScope এর নতুন রিসিভার স্কোপে স্থানান্তরিত করা হয়েছে যাতে এটি আরও স্পষ্ট হয় যে এটি একটি ঐচ্ছিক প্যারামিটার এবং ভবিষ্যতের Navigation3 বৈশিষ্ট্যগুলির জন্য একটি এক্সটেনশন পয়েন্ট প্রদান করে। ( I3aea3 , b/448460407 )
  • NavDisplay এবং আপনার SceneStrategy তে স্থানান্তরিত onBack ল্যাম্বডা আর count: Int প্যারামিটার প্রদান করে না যা নির্দেশ করে যে কখন একাধিক এন্ট্রি পপ করা উচিত। পরিবর্তে, () -> Unit ল্যাম্বডা এখন পরপর একাধিকবার কল করা হবে, বিরল ক্ষেত্রে যেখানে আপনার Scene একাধিক এন্ট্রি পপ করার অনুরোধ করে। ( Idedb5 , b/446989346 )
  • NavEntryWrapper ক্লাসটি সরিয়ে ফেলুন এবং এর কার্যকারিতাটি একটি চূড়ান্ত NavEntry ক্লাস দিয়ে প্রতিস্থাপন করুন, যেখানে একটি নতুন সেকেন্ডারি কনস্ট্রাক্টর থাকবে যা NavEntry নতুন কন্টেন্ট সহ গ্রহণ করবে। এটি নতুন কন্টেন্ট সহ একটি এন্ট্রি মোড়ানোর জন্য অব্যাহত সহায়তা প্রদান করবে। ( I7da2a , b/444447130 )
  • navEntryDecorator ফাংশন যা NavEntryDecorator তৈরি করে এবং ফেরত দেয় তা সরিয়ে NavEntryDecorator ক্লাস দ্বারা প্রতিস্থাপিত হয়েছে যা এখন সর্বজনীন এবং সাবক্লাসিংয়ের জন্য উন্মুক্ত। ( If81f8 , b/444447434 , b/447381176 )
  • SavedStateNavEntryDecorator নাম পরিবর্তন করে SaveableStateHolderNavEntryDecorator রাখা হয়েছে কারণ এটি SaveableStateHolder দিয়ে এন্ট্রি সাজায়। ডেকোরেটরটি একটি ফাংশন থেকে একটি ক্লাসে পুনর্নির্মিত হয়েছে কারণ এটি কার্যকরীভাবে NavEntryDecorator এর একটি কারখানা। ( Ie6013 , b/447381176 )
  • NavDisplay ব্যবহারের বিকল্প হিসেবে SceneState ব্যবহার করে কাস্টম ডিসপ্লে ব্যবহার করার জন্য LocalEntriesToRenderInCurrentScene কম্পোজিশন স্থানীয় ব্যবহার করার প্রয়োজন নেই, যা এখন অভ্যন্তরীণ। ( Ic40ef , b/414668196 )
  • পাবলিক API সারফেস থেকে SceneSetupNavEntryDecorator এবং rememberSceneSetupNavEntryDecorator() সরিয়ে ফেলা হয়েছে। এই কার্যকারিতাটি এখন ডিফল্টরূপে অন্তর্ভুক্ত করা হয়েছে, আপনাকে ম্যানুয়ালি এটি অন্তর্ভুক্ত করার প্রয়োজন নেই। ( Ieae42 , b/444479133 )
  • NavEntry , DialogScene , SinglePaneScene , এবং SceneState এখন সবগুলোই সমানভাবে প্রয়োগ করা হয়েছে। ( I96121 )
  • NavDisplay-এর জন্য দৃশ্য-নির্দিষ্ট মেটাডেটা সংযুক্ত করার জন্য দৃশ্য ইন্টারফেসে একটি নতুন মেটাডেটা ক্ষেত্র রয়েছে। এটি একটি দৃশ্যকে NavDisplay এর মেটাডেটা ওভাররাইড করতে দেয়, উদাহরণস্বরূপ ট্রানজিশনের মাধ্যমে। ( I1fd96 , b/443955625 )
  • রিডানড্যান্ট জেনেরিক টাইপ প্যারামিটারটি সরিয়ে rememberNavBackStack স্বাক্ষরকে সরল করুন। ফাংশনটি এখন vararg elements: NavKey । ( I03e45 )
  • NavDisplay এর জন্য ডিফল্ট অ্যানিমেশনগুলি এখন সাধারণ API-এর অংশ যা এগুলিকে সমস্ত প্ল্যাটফর্ম থেকে কল করার অনুমতি দেয়। ( I71af9 , b/447147159 )
  • EntryProviderBuilder নাম পরিবর্তন করে EntryProviderScope করুন যাতে সঠিকভাবে প্রতিফলিত হয় যে ক্লাসটি একটি Kotlin DSL যা NavEntries তৈরির সুযোগ প্রদান করে। ( Ia7465 )

বাগ ফিক্স

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

সংস্করণ 1.0.0-alpha10

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

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

API পরিবর্তনগুলি

  • নতুন NavDisplay ওভারলোড যোগ করুন যা rememberDecoratedNavEntries দ্বারা সজ্জিত NavEntry<T> এর তালিকা গ্রহণ করে। ( I4025b , b/441940314 )
  • DialogScene একটি নতুন প্যাকেজে স্থানান্তরিত হয়েছে। ( Ia5840 )
  • পাবলিক API DecorateNavEntry সরান। পরিবর্তে rememberDecoratedNavEntries ব্যবহার করে NavEntry-কে ডেকোরেটরের তালিকা দিয়ে মোড়ানো। ( 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 s গ্রহণ করে। সরল ওভারলোডগুলি ( currentInfo গ্রহণ) সংরক্ষিত আছে এবং এখন অভ্যন্তরীণভাবে এই নতুন স্টেট মডেলটি ব্যবহার করে। ( Ic3251 , b/444734264 )
  • সমস্ত সিন এপিআই নেভিগেশন৩-ইউআই থেকে নেভিগেশন৩-রানটাইমে স্থানান্তরিত করা হয়েছে। এর অর্থ হল এগুলি এখন নেভিগেশন৩-রানটাইম দ্বারা সমর্থিত সমস্ত প্ল্যাটফর্মে উপলব্ধ। ( I431d0 , b/444449993 )
  • নতুন rememberDecoratedNavEntries যোগ করা হয়েছে যা NavEntry এর একটি তালিকা সাজাতে সাহায্য করে। ইনপুট এন্ট্রিগুলি ইতিমধ্যেই অন্যান্য এন্ট্রি ডেকোরেটর দিয়ে সাজানো যেতে পারে। ( I5a034 , b/444230270 )
  • নেভিগেশন৩ ওয়াইল্ডকার্ড টাইপ প্যারামিটার ( I02540 ) সরান
  • entryProvider DSL-এর জন্য জেনেরিক হ্যান্ডলিং উন্নত করা হয়েছে। যদি আপনি আগে androidx.navigation3.runtime.entry আমদানি করে থাকেন, তাহলে এখন আর এটির প্রয়োজন নেই। ( 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 )

Bug Fixes

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

Version 1.0.0-alpha09

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

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 )

Bug Fixes

  • 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

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

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 )

Bug Fixes

জ্ঞাত সমস্যা

  • 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 )

Bug Fixes

  • 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

৩০ জুলাই, ২০২৫

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

Dependency Update

Version 1.0.0-alpha05

২ জুলাই, ২০২৫

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

Behavior Changes

  • 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 .

Bug Fixes

  • 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

২৩ মে, ২০২৫

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

Bug Fixes

  • 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 .