আর্কিটেকচার উপাদান রিলিজ নোট আর্কাইভ

15 জানুয়ারী, 2019

ওয়ার্ক ম্যানেজার

WorkManager 1.0.0-beta02 প্রকাশিত হয়েছে। এই রিলিজে কিছু বাগ ফিক্স রয়েছে।

বাগ ফিক্স

  • একটি এজ কেস স্থির করা হয়েছে যেখানে পর্যায়ক্রমিক কাজ Android 6.0 (API স্তর 23) চালিত ডিভাইসগুলিতে অন্তর অন্তর একবারের বেশি চলতে পারে। b/121998363
  • অ্যান্ড্রয়েড 5.1 (এপিআই স্তর 22) বা তার কম চলমান ডিভাইসগুলিতে একটি ConcurrentModificationException স্থির করা হয়েছে৷ b/121345393
  • অ্যান্ড্রয়েড 5.1 (এপিআই লেভেল 22) বা তার নিচের ডিভাইসে সীমাবদ্ধতা পূরণ না হলে কাজের ভুল সম্পাদন করা হয়েছে। b/122578012
  • কিছু প্রান্তের ক্ষেত্রে দ্রুততর হতে অপ্টিমাইজ করা কাজ সমাপ্তি হ্যান্ডলিং। b/122358129
  • WorkManager ব্যবহার করে LiveData এর একাধিক দৃষ্টান্তের মধ্যে সম্ভাব্য রেসের অবস্থার সমাধান করতে একটি পরিবর্তন যোগ করা হয়েছে।
  • 1.1.1-rc01 এর পরিবর্তে Room নির্ভরতা 1.1.1 ব্যবহার করতে সরানো হয়েছে; এই সংস্করণগুলি অভিন্ন। b/122578011

ডিসেম্বর 19, 2018

ওয়ার্ক ম্যানেজার

WorkManager 1.0.0-beta01 প্রকাশিত হয়েছে। এই রিলিজে কোন API পরিবর্তন নেই; সামনের দিকে অগ্রসর হলে, WorkManager পরবর্তী সংস্করণ পর্যন্ত API স্থিতিশীল থাকবে বলে আশা করা হচ্ছে যদি না কোনো জটিল সমস্যা না হয়। এই রিলিজে কিছু বাগ ফিক্স রয়েছে।

বাগ ফিক্স

  • সফলভাবে সম্পন্ন করা পিতামাতার কাজের পূর্বে-বাতিল করা বাচ্চারা আর চলবে না। b/120811767
  • সঠিকভাবে শুরু করা লগিং ক্লাস (প্রাথমিকভাবে পরীক্ষার সময় দেখা যায়)।

18 ডিসেম্বর, 2018

নেভিগেশন 1.0.0-alpha09 প্রকাশিত হয়েছে। এই রিলিজে ব্রেকিং API পরিবর্তন রয়েছে; অনুগ্রহ করে নিচের ব্রেকিং চেঞ্জেস বিভাগটি দেখুন।

আমরা android.arch.navigation:navigation-testing artifact-এর বিকাশ চালিয়ে না যাওয়া বেছে নিয়েছি। যদিও এটি NavController এর অভ্যন্তরীণ পরীক্ষার জন্য সহায়ক বলে প্রমাণিত হয়েছে, আমরা দৃঢ়ভাবে বিকল্প পরীক্ষার কৌশলগুলির সুপারিশ করি, যেমন সঠিক navigate() কলগুলি করা হচ্ছে তা যাচাই করার জন্য NavController দৃষ্টান্তকে উপহাস করা। AndroidDevSummit 2018-এ একক ক্রিয়াকলাপের আলোচনায় এই পদ্ধতিটি বিশদভাবে আলোচনা করা হয়েছে এবং আমরা নেভিগেশনের সাথে পরীক্ষা করার জন্য বিশেষত অতিরিক্ত ডকুমেন্টেশন নিয়ে কাজ করব।

নতুন বৈশিষ্ট

  • menuCategory="secondary" এর সাথে MenuItem s যখন NavigationUI পদ্ধতিতে ব্যবহার করা হয় তখন আর ব্যাক স্ট্যাক পপ করবে না। b/120104424
  • AppBarConfiguration এখন আপনাকে একটি ফলব্যাক OnNavigateUpListener ইনস্ট্যান্স সেট করতে দেয় যা navController.navigateUp() false রিটার্ন করলে কল করা হবে। b/79993862 b/120690961

ব্রেকিং পরিবর্তন

  • একটি argType="reference" এর সাথে একটি <argument> ব্যবহার করার সময়, নেভিগেশন আর রেফারেন্সকে পার্স করে না, পরিবর্তে কাঁচা রিসোর্স আইডি প্রদান করে। b/111736515
  • onNavDestinationSelected() এখন ডিফল্টরূপে আপনার নেভিগেশন গ্রাফের শুরুর গন্তব্যে ফিরে আসে, সেগুলিকে setup পদ্ধতির সাথে সামঞ্জস্যপূর্ণ করে। ব্যাক স্ট্যাকের পপিং এড়াতে আপনার MenuItemmenuCategory="secondary" যোগ করুন। aosp/852869
  • উৎপন্ন Args ক্লাসের fromBundle() পদ্ধতিগুলি এখন একটি বাতিলযোগ্য Bundle aosp/845616 এর পরিবর্তে একটি নন-নাল Bundle গ্রহণ করে

বাগ ফিক্স

  • আর্গুমেন্টগুলি এখন ডিপ লিঙ্কগুলি থেকে সঠিকভাবে পার্স করা হয়েছে সর্বদা স্ট্রিং b/110273284 এর পরিবর্তে সঠিক argType হিসাবে
  • নেভিগেশন এখন সঠিকভাবে তার পাবলিক রিসোর্স b/121059552 রপ্তানি করে
  • Safe Args এখন Android Gradle Plugin 3.4 Canary 4 এবং উচ্চতর b/119662045 এর সাথে সামঞ্জস্যপূর্ণ

ডিসেম্বর 12, 2018

ওয়ার্ক ম্যানেজার

WorkManager 1.0.0-alpha13 প্রকাশিত হয়েছে। এই রিলিজে একটি ছোটখাট API পরিবর্তন রয়েছে যা কিছু Kotlin ব্যবহারকারীদের জন্য সহায়ক হবে।

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

  • androidx.work.Result ListenableWorker এর অভ্যন্তরীণ শ্রেণীতে স্থানান্তরিত করা হয়েছে। এটি কোটলিনের শীর্ষ-স্তরের Result শ্রেণীর সাথে রিফ্যাক্টরিং দ্বন্দ্ব প্রতিরোধ করে। এটি একটি ব্রেকিং API পরিবর্তন। b/120564418

ব্রেকিং API পরিবর্তন

  • androidx.work.Result ListenableWorker এর অভ্যন্তরীণ শ্রেণীতে স্থানান্তরিত করা হয়েছে।

ডিসেম্বর 6, 2018

পেজিং

পেজিং 2.1.0-rc01 2.1.0-beta01 থেকে কোনো পরিবর্তন ছাড়াই প্রকাশ করা হয়েছে।

নেভিগেশন 1.0.0-alpha08 প্রকাশিত হয়েছে। এই রিলিজে ব্রেকিং API পরিবর্তন রয়েছে; অনুগ্রহ করে নিচের ব্রেকিং চেঞ্জেস বিভাগটি দেখুন।

নতুন বৈশিষ্ট

  • গন্তব্য লেবেল, যখন NavigationUI পদ্ধতিতে ব্যবহার করা হয়, তখন এখন স্বয়ংক্রিয়ভাবে আপনার android:label{argName} দৃষ্টান্তগুলিকে সঠিক যুক্তি b/80267266 দিয়ে প্রতিস্থাপন করবে
  • নেভিগেশন এখন সাপোর্ট লাইব্রেরির উপর নির্ভর করে 28.0.0 b/120293333

ব্রেকিং পরিবর্তন

  • OnNavigatedListener নাম পরিবর্তন করে OnDestinationChangedListener b/118670572 করা হয়েছে
  • OnDestinationChangedListener এখন আর্গুমেন্টের Bundle পাস করে aosp/837142
  • app:clearTask এবং app:launchDocument বৈশিষ্ট্য এবং তাদের সংশ্লিষ্ট পদ্ধতিগুলি সরানো হয়েছে। আপনার ব্যাক স্ট্যাক থেকে সমস্ত গন্তব্য সরাতে আপনার গ্রাফের রুট সহ app:popUpTo ব্যবহার করুন। b/119628354
  • ActivityNavigator.Extras এখন একটি Builder প্যাটার্ন ব্যবহার করে এবং যেকোনো Intent.FLAG_ACTIVITY_ flags aosp/828140 সেট করার ক্ষমতা যোগ করে
  • NavController.onHandleDeepLink নাম পরিবর্তন করে handleDeepLink aosp/836063 করা হয়েছে
  • অনেক ক্লাস এবং পদ্ধতি সাবক্লাসিংয়ের জন্য নয়, যেমন NavOptions , NavInflater , NavDeepLinkBuilder , এবং AppBarConfiguration , final করা হয়েছে aosp/835681
  • অবহেলিত NavHostFragment.setGraph() পদ্ধতি aosp/835684 সরানো হয়েছে
  • অপ্রচলিত NavigationUI.navigateUp(DrawerLayout, NavController) পদ্ধতি সরানো হয়েছে। aosp/835684
  • ফ্র্যাগমেন্ট তৈরিকে FragmentNavigator স্থানান্তরিত করা হয়েছে, এটি একটি FragmentFactory ফ্র্যাগমেন্ট সৃষ্টিকে অর্পণ করা সহজ করে তোলে। b/119054429
  • NavGraphNavigator এর কনস্ট্রাক্টর আর একটি Context aosp/835340 নেয় না
  • NavigatorProvider এখন একটি ইন্টারফেসের পরিবর্তে একটি ক্লাস। getNavigatorProvider() দ্বারা ফিরে আসা NavigatorProvider এর কার্যকারিতা পরিবর্তন করেনি। aosp/830660
  • NavDestination.navigate() সরানো হয়েছে। পরিবর্তে Navigator navigate() কল করুন। aosp/830663
  • Navigator উল্লেখযোগ্য রিফ্যাক্টরিং, OnNavigatorNavigatedListener এর প্রয়োজনীয়তা দূর করে এবং এর পরিবর্তে navigate করে যে NavDestination এ নেভিগেট করা হয়েছিল সেটি ফেরত দেওয়া।
  • Navigator দৃষ্টান্তগুলি আর NavController এ পপ ইভেন্ট পাঠাতে পারে না। ব্যাক বোতাম টিপতে এবং navController.popBackStack() কল করতে একটি OnBackPressedCallback ব্যবহার করার কথা বিবেচনা করুন। aosp/833716

বাগ ফিক্স

  • popUpTo এখন ধারাবাহিকভাবে কাজ করে যখন গন্তব্য একটি <navigation> উপাদান b/116831650
  • নেস্টেড গ্রাফ b/118713731 b/113611083 b/113346925 b/113305559 ব্যবহার করার সময় একটি IllegalArgumentException এর ফলে অনেক বাগ সংশোধন করা
  • <activity> গন্তব্যের dataPattern বৈশিষ্ট্য এখন toString() b/120161365 কল করে নন-স্ট্রিং আর্গুমেন্ট থেকে আর্গুমেন্ট তৈরি করবে

নিরাপদ Args

  • Safe Args Enum মান সহ সিরিয়ালাইজেবল অবজেক্ট সমর্থন করে। Enum প্রকারগুলি ক্লাসের নাম ছাড়াই enum আক্ষরিক ব্যবহার করে একটি ডিফল্ট মান সেট করতে পারে (যেমন app:defaultValue="READ" ) b/111316353
  • সেফ আর্গস সমস্ত সমর্থিত প্রকারের অ্যারে সমর্থন করে b/111487504
  • সেফ আর্গস এখন রিসোর্স ডিরেক্টরির সাবফোল্ডারকে উপেক্ষা করে b/117893516
  • Safe Args যেখানে উপযুক্ত b/117145301 @Override টীকা যোগ করে

5 ডিসেম্বর, 2018

ওয়ার্ক ম্যানেজার

WorkManager 1.0.0-alpha12 প্রকাশিত হয়েছে। এই রিলিজে কিছু ব্রেকিং API পরিবর্তন রয়েছে; অনুগ্রহ করে নীচে ব্রেকিং API পরিবর্তন বিভাগটি দেখুন। এই সংস্করণটি আমাদের প্রথম বিটা হিসাবে প্রকাশিত হওয়ার সম্ভাবনা রয়েছে। alpha12 ব্যাপক ডকুমেন্টেশন আপডেটও রয়েছে।

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

  • একটি নতুন আর্টিফ্যাক্ট, work-rxjava2 , RxWorker সাথে পরিচয় করিয়ে দেয়। এটি একটি ListenableWorker যে একটি Single<Payload> আশা করে।
  • Firebase JobDispatcher-এর জন্য সমর্থন অপসারণ করা হয়েছে কারণ এর আসন্ন অবচয়। এর মানে হল যে work-firebase আর্টিফ্যাক্টটি আর আপডেট করা হবে না যেহেতু আমরা বিটাতে যাচ্ছি। আমরা ভবিষ্যতে একটি বিকল্প যোগ করার জন্য খুঁজছেন হবে.
  • Result সম্মিলিত PayloadResult এখন তিনটি সুনির্দিষ্ট বাস্তবায়ন সহ একটি "সিল করা ক্লাস", যা আপনি Result.success() (বা Result.success(Data) ), Result.failure() (বা Result.failure(Data) ), এবং Result.retry() মাধ্যমে পেতে পারেন। Result.retry()Payload পরিবর্তে আপনার ListenableFuture এর Result এখন। আউটপুট Data জন্য Worker গেটার এবং সেটার পদ্ধতি নেই। এটি একটি ব্রেকিং পরিবর্তন.
  • যোগ করা হয়েছে Constraints.Builder.setTriggerContentMaxDelay(long, TimeUnit) এবং Constraints.Builder.setTriggerContentUpdateDelay(long, TimeUnit) এবং ভেরিয়েন্টগুলিকে ধীর গতির ট্রিগারিং কন্টেন্ট ইউআরআইগুলিকে আরও ভালভাবে সমর্থন করার জন্য। b/119919774
  • WorkRequest.Builder.setBackoffCriteria(BackoffPolicy, Duration) ভেরিয়েন্ট যোগ করা হয়েছে। এই পদ্ধতির জন্য API 26 প্রয়োজন।
  • Operation.await() এবং ListenableFuture.await() Kotlin এক্সটেনশন পদ্ধতি যোগ করা হয়েছে।
  • Operation.getException() এর নাম পরিবর্তন করে Operation.getThrowable() করা হয়েছে। এটি একটি ব্রেকিং পরিবর্তন.
  • ContentUriTriggers ক্লাস এবং এটির উল্লেখ করার পদ্ধতিগুলি আর সর্বজনীন ব্যবহারের জন্য উপলব্ধ নেই৷ এটি একটি ব্রেকিং পরিবর্তন.
  • API-কে স্ট্রীমলাইন করতে WorkManager , WorkContinuation , এবং OneTimeWorkRequest এ বাকি varargs পদ্ধতিগুলি সরানো হয়েছে৷ যেকোন বিল্ড সমস্যা সমাধান করতে, আপনি Arrays.asList(...) দিয়ে আপনার বিদ্যমান varargs মোড়ানো করতে পারেন। আমরা এখনও প্রতিটি পদ্ধতির একক-যুক্তি সংস্করণ অন্তর্ভুক্ত করি। এটি একটি ব্রেকিং পরিবর্তন.
  • WorkContinuation.combine(OneTimeWorkRequest, *) ভেরিয়েন্ট সরানো হয়েছে। তারা একটি বিভ্রান্তিকর API উপস্থাপন করছিল; বিদ্যমান combine পদ্ধতিগুলি আরও বোধগম্য। এটি একটি ব্রেকিং পরিবর্তন.

বাগ ফিক্স

  • প্রি-মার্শম্যালো বাস্তবায়ন এখন একটি ইতিমধ্যে-সম্পাদিত টাস্কের প্রক্রিয়া মৃত্যু থেকে পুনরুদ্ধার করার জন্য আরও নির্ভরযোগ্য।
  • LiveData যা observeForever মাধ্যমে পর্যবেক্ষণ করা হয় ওয়ার্কম্যানেজারের মাধ্যমে ট্র্যাক করা হয়। এটি একটি রুম লাইব্রেরি ফিক্সের একটি ব্যাকপোর্ট। b/74477406
  • Data.Builder.build() এখন একটি ব্যতিক্রম ছুঁড়ে দেয় যদি সিরিয়ালাইজড অবজেক্ট তার সর্বোচ্চ আকার অতিক্রম করে। এটি আগে শুধুমাত্র একটি ব্যাকগ্রাউন্ড থ্রেডে ঘটবে যেখানে আপনি এটি সঠিকভাবে পরিচালনা করতে পারবেন না।
  • আরও বিশিষ্ট স্টপ বনাম বাতিল কাজ; getWorkInfoById() ListenableWorker.onStopped() চলাকালীন CANCELLED State একটি WorkInfo ফেরত দেবে।
  • ListenableWorkernull Result ব্যর্থতা হিসাবে বিবেচনা করুন। b/120362353
  • এপিআই 24 চালিত শিল্ড ট্যাবলেটগুলির জন্য অনুমানমূলক সমাধান যা কখনও কখনও একটি IllegalArgumentException নিক্ষেপ করে৷ b/119484416

ব্রেকিং API পরিবর্তন

  • Firebase JobDispatcher-এর জন্য সমর্থন অপসারণ করা হয়েছে কারণ এর আসন্ন অবচয়। এর মানে হল যে work-firebase আর্টিফ্যাক্টটি আর আপডেট করা হবে না যেহেতু আমরা বিটাতে যাচ্ছি। আমরা ভবিষ্যতে একটি বিকল্প যোগ করার জন্য খুঁজছেন হবে.
  • Result সম্মিলিত PayloadResult এখন তিনটি সুনির্দিষ্ট বাস্তবায়ন সহ একটি "সিল করা ক্লাস", যা আপনি Result.success() (বা Result.success(Data) ), Result.failure() (বা Result.failure(Data) ), এবং Result.retry() মাধ্যমে পেতে পারেন। Result.retry()Payload পরিবর্তে আপনার ListenableFuture এর Result এখন। আউটপুট Data জন্য Worker গেটার এবং সেটার পদ্ধতি নেই।
  • Operation.await() এবং ListenableFuture.await() Kotlin এক্সটেনশন পদ্ধতি যোগ করা হয়েছে।
  • Operation.getException() এর নাম পরিবর্তন করে Operation.getThrowable() করা হয়েছে।
  • ContentUriTriggers ক্লাস এবং এটির উল্লেখ করার পদ্ধতিগুলি আর সর্বজনীন ব্যবহারের জন্য উপলব্ধ নেই৷
  • API-কে স্ট্রীমলাইন করতে WorkManager , WorkContinuation , এবং OneTimeWorkRequest এ বাকি varargs পদ্ধতিগুলি সরানো হয়েছে৷ যেকোন বিল্ড সমস্যা সমাধান করতে, আপনি Arrays.asList(...) দিয়ে আপনার বিদ্যমান varargs মোড়ানো করতে পারেন। আমরা এখনও প্রতিটি পদ্ধতির একক-যুক্তি সংস্করণ অন্তর্ভুক্ত করি।
  • WorkContinuation.combine(OneTimeWorkRequest, *) ভেরিয়েন্ট সরানো হয়েছে। তারা একটি বিভ্রান্তিকর API উপস্থাপন করছিল; বিদ্যমান combine পদ্ধতিগুলি আরও বোধগম্য।

4 ডিসেম্বর, 2018

রুম

রুম 2.1.0-alpha03 coroutines সমর্থন এবং বেশ কয়েকটি বাগ ফিক্স সহ প্রকাশ করা হয়েছে।

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

  • @Fts3 / @Fts4 এ FTS tokenizer এখন Enum-এর পরিবর্তে একটি স্ট্রিং নেয়। এটি রুম দ্বারা কাস্টম টোকেনাইজার ব্যবহার করার অনুমতি দেয়। বিল্ট-ইন টোকেনাইজারগুলিকে এখনও FtsOptions এ স্ট্রিং কনস্ট্যান্ট হিসাবে সংজ্ঞায়িত করা হয়েছে। b/119234881

নতুন বৈশিষ্ট

  • Couroutines : DAO পদ্ধতিগুলি এখন স্থগিত ফাংশন হতে পারে। রুমে সাসপেন্ড ফাংশন সমর্থন করার জন্য একটি নতুন আর্টিফ্যাক্ট প্রকাশ করা হয়েছে, room-coroutinesb/69474692
  • @Insert , @Delete বা @Update দিয়ে টীকা করা DAO পদ্ধতি এখন ListenableFuture রিটার্ন টাইপ হিসাবে সমর্থন করে। b/119418331

বাগ ফিক্স

  • একটি বাগ সংশোধন করা হয়েছে যেখানে রুম ভুলভাবে @Entity এর ignoredColumns সম্পত্তিতে কলাম সহ একটি কনস্ট্রাক্টর খুঁজে বের করার চেষ্টা করবে। b/119830714
  • একটি বাগ সংশোধন করা হয়েছে যেখানে রুম তাদের তৈরি করা বাস্তবায়নে DAO পদ্ধতির পরামিতিগুলিকে চূড়ান্ত হিসাবে চিহ্নিত করবে না। b/118015483
  • একটি বাগ সংশোধন করা হয়েছে যেখানে বিশেষ চিহ্ন সহ একটি প্রশ্নে একটি ত্রুটি রিপোর্ট করার সময় রুমের প্রসেসর ক্র্যাশ হবে৷ b/119520136
  • একটি বাগ সংশোধন করা হয়েছে যেখানে রুম একটি IN এক্সপ্রেশনের আর্গুমেন্ট হিসাবে অন্যান্য বিভিন্ন Collection বাস্তবায়নকে প্রত্যাখ্যান করবে। b/119884035
  • একটি বাগ সংশোধন করা হয়েছে যেখানে রুম থেকে ফিরে আসা LiveData আবর্জনা সংগ্রহ করবে যখন চিরতরে পর্যবেক্ষণ করা হবে যার ফলে এটি আর নতুন ডেটা নির্গত করবে না। b/74477406
  • লক বিতর্ক কমাতে RoomDatabase ক্লোজ লক আপডেট করা হয়েছে। b/117900450

নভেম্বর 8, 2018

ওয়ার্ক ম্যানেজার

WorkManager 1.0.0-alpha11 প্রকাশিত হয়েছে। এই রিলিজটিতে অনেক পরিবর্তন রয়েছে যা beta স্থিতিশীল API হয়ে যাবে। এই রিলিজে ব্রেকিং API পরিবর্তন আছে; অনুগ্রহ করে নীচে ব্রেকিং API পরিবর্তন বিভাগটি দেখুন।

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

  • work-runtime-ktx একটি নতুন CoroutineWorker পরিচয় করিয়ে দেয়।
  • WorkStatus নাম পরিবর্তন করে WorkInfo করা হয়েছে। সমস্ত সংশ্লিষ্ট getStatus পদ্ধতির ভেরিয়েন্টের নাম পরিবর্তন করে সংশ্লিষ্ট getWorkInfo ভেরিয়েন্টে রাখা হয়েছে। এটি একটি ব্রেকিং পরিবর্তন.
  • ListenableWorker.onStopped() আর গ্রহণ করে না এমন একটি বুলিয়ান আর্গুমেন্ট রয়েছে যা উপস্থাপন করে যদি WorkRequest বাতিল করা হয়। WorkManager আর এই পার্থক্য করে না। এটি একটি ব্রেকিং পরিবর্তন.
  • androidx.work.test প্যাকেজের নাম পরিবর্তন করে androidx.work.testing প্যাকেজ রাখা হয়েছে। এটি একটি ব্রেকিং পরিবর্তন.
  • Constraints নির্ধারণকারীরা আর পাবলিক API এর অংশ নয়। এটি একটি ব্রেকিং পরিবর্তন.
  • WorkerParameters.getTriggeredContentUris() এবং WorkerParameters.getTriggeredContentAuthorities() পূর্বে অ্যারে ফিরিয়ে দিয়েছে। এখন এই পদ্ধতিগুলি সংগ্রহগুলি ফেরত দেয়। এটি একটি ব্রেকিং পরিবর্তন.
  • ListenableWorker.onStartWork() এর নাম পরিবর্তন করে ListenableWorker.startWork() করা হয়েছে। এটি একটি ব্রেকিং পরিবর্তন.
  • WorkStatus এর কনস্ট্রাক্টর আর পাবলিক API-এর অংশ নয়। এটি একটি ব্রেকিং পরিবর্তন.
  • Configuration.getMaxJobSchedulerID() এবং Configuration.getMinJobSchedulerID() যথাক্রমে Configuration.getMinJobSchedulerId() এবং Configuration.getMaxJobSchedulerId() নামকরণ করা হয়েছে। এটি একটি ব্রেকিং পরিবর্তন.
  • API-এর ergonomics উন্নত করতে পাবলিক API-এ প্রচুর @NonNull টীকা যোগ করা হয়েছে।
  • একটি WorkContinuation তৈরি না করেই অনন্য OneTimeWorkRequest গুলি সারিবদ্ধ করতে WorkManager.enqueueUniqueWork() API যোগ করুন।
  • WorkManagerenqueue এবং cancel পদ্ধতির সমস্ত রূপ এখন একটি নতুন Operation প্রকার প্রদান করে। এটি একটি ব্রেকিং পরিবর্তন.
  • enqueue সমস্ত রূপ আর WorkRequest s-এর জন্য varargs গ্রহণ করে না। এটি একটি ব্রেকিং পরিবর্তন. পরিবর্তে সংগ্রহ ব্যবহার করুন. আপনি বিদ্যমান কোড পরিবর্তন করতে Arrays.asList() ব্যবহার করতে পারেন। আমরা API পৃষ্ঠ এবং পদ্ধতি গণনা কমাতে এটি করেছি।
  • প্রতি প্রক্রিয়ায় একাধিকবার WorkManager initialize করার চেষ্টা করলে এখন একটি IllegalStateException হবে। এটি একটি ব্রেকিং পরিবর্তন.

বাগ ফিক্স

  • WorkRequest.Builder s work-runtime-ktx আর্টিফ্যাক্টে এখন ListenableWorker s ব্যবহার করে। b/117666259 সংশোধন করে
  • PeriodicWork পরবর্তী রান টাইম ভবিষ্যতে নিশ্চিত করুন। b/118204399 সংশোধন করে
  • অ্যাপ স্টার্টআপে WorkManager ব্যবহার করার সময় সম্ভাব্য ডিস্ক I/O সরান। b/117796731 সংশোধন করে
  • WorkConstraintsTracker এ রেসের অবস্থা ঠিক করুন। android-workmanager/issues/56 ঠিক করে

ব্রেকিং API পরিবর্তন

  • WorkStatus নাম পরিবর্তন করে WorkInfo করা হয়েছে। সমস্ত সংশ্লিষ্ট getStatus পদ্ধতির ভেরিয়েন্টের নাম পরিবর্তন করে সংশ্লিষ্ট getWorkInfo ভেরিয়েন্টে রাখা হয়েছে।
  • ListenableWorker.onStopped() আর গ্রহণ করে না এমন একটি বুলিয়ান আর্গুমেন্ট রয়েছে যা উপস্থাপন করে যদি WorkRequest বাতিল করা হয়। WorkManager আর এই পার্থক্য করে না।
  • androidx.work.test প্যাকেজের নাম পরিবর্তন করে androidx.work.testing প্যাকেজ রাখা হয়েছে।
  • Constraints নির্ধারণকারীরা আর পাবলিক API এর অংশ নয়।
  • WorkerParameters.getTriggeredContentUris() এবং WorkerParameters.getTriggeredContentAuthorities() পূর্বে অ্যারে ফিরিয়ে দিয়েছে। এখন এই পদ্ধতিগুলি সংগ্রহগুলি ফেরত দেয়।
  • ListenableWorker.onStartWork() এর নাম পরিবর্তন করে ListenableWorker.startWork() করা হয়েছে।
  • WorkStatus এর কনস্ট্রাক্টর আর পাবলিক API-এর অংশ নয়।
  • Configuration.getMaxJobSchedulerID() এবং Configuration.getMinJobSchedulerID() যথাক্রমে Configuration.getMinJobSchedulerId() এবং Configuration.getMaxJobSchedulerId() নামকরণ করা হয়েছে।
  • WorkManagerenqueue এবং cancel পদ্ধতির সমস্ত রূপ এখন একটি নতুন Operation প্রকার প্রদান করে।
  • enqueue সমস্ত রূপ আর WorkRequest s-এর জন্য varargs গ্রহণ করে না।
  • প্রতি প্রক্রিয়ায় একাধিকবার WorkManager initialize করার চেষ্টা করলে এখন একটি IllegalStateException হবে।

নভেম্বর 1, 2018

পেজিং

পেজিং 2.1.0-beta01 2.1.0-alpha01 থেকে কোনো পরিবর্তন ছাড়াই প্রকাশ করা হয়েছে।

অক্টোবর 30, 2018

রুম

রুম 2.1.0-alpha02 বেশ কয়েকটি বাগ ফিক্স এবং একটি নতুন বৈশিষ্ট্য সহ প্রকাশ করা হয়েছে।

নতুন বৈশিষ্ট

  • @Relation এ একটি @DatabaseView উল্লেখ করার জন্য সমর্থন যোগ করা হয়েছে। b/117680932

বাগ ফিক্স

  • Rx রিটার্ন টাইপ থেকে সাবস্ক্রাইব এবং নিষ্পত্তি করার সময় রুম মূল থ্রেডে ডিস্ক I/O সঞ্চালন করবে এমন একটি বাগ সংশোধন করা হয়েছে। b/117201279
  • একটি বাগ সংশোধন করা হয়েছে যেখানে রুম একটি Kotlin সত্তা ক্লাসে একটি ক্ষেত্রের জন্য একটি উপযুক্ত টাইপ রূপান্তরকারী খুঁজে পেতে ব্যর্থ হবে৷ b/111404868
  • একটি বাগ সংশোধন করা হয়েছে যেখানে রুম একটি DAO ইন্টারফেস বাস্তবায়নের জন্য ভুল কোড তৈরি করবে যার মধ্যে একটি Kotlin ডিফল্ট পদ্ধতি রয়েছে যার কোনো যুক্তি নেই। b/117527454
  • রুমের SQLite ব্যাকরণ পার্সার আপডেট করা হয়েছে, একটি পারফরম্যান্স সমস্যা সমাধান করা যা দীর্ঘ বিল্ড টাইম সৃষ্টি করবে। b/117401230

অক্টোবর 29, 2018

নেভিগেশন 1.0.0-alpha07 বাগ ফিক্স এবং API পরিবর্তন সহ প্রকাশ করা হয়েছে।

নতুন বৈশিষ্ট

  • একটি নতুন AppBarConfiguration ক্লাস আপনাকে কোন গন্তব্যগুলিকে শীর্ষ-স্তরের গন্তব্য হিসাবে বিবেচনা করা হবে তা কাস্টমাইজ করতে দেয়৷ বিস্তারিত জানার জন্য আপডেট করা ডকুমেন্টেশন দেখুন। b/117333663
  • আপনি এখন আপনার গ্রাফ b/110300470 এর প্রারম্ভিক গন্তব্যে আর্গুমেন্ট পাস করতে পারেন
  • ডিপ লিঙ্কগুলি এখন পিরিয়ড, হাইফেন এবং প্লাস চিহ্ন সহ কাস্টম স্কিম সমর্থন করে। b/112806402

ব্রেকিং পরিবর্তন

  • navigation-testing-ktx মডিউলটি navigation-testing artifact ভাঁজ করা হয়েছে এবং আর প্রকাশ করা হবে না।
  • navigation-testing আর্টিফ্যাক্টের এখন কোটলিন স্ট্যান্ডার্ড লাইব্রেরির উপর নির্ভরশীলতা রয়েছে। কোটলিন কনভেনশনের সাথে আরও সামঞ্জস্যপূর্ণ হওয়ার জন্য API পরিবর্তন করা হয়েছে, তবে আপনি জাভাতে লেখা পরীক্ষার জন্য এটি ব্যবহার করা চালিয়ে যেতে পারেন।
  • মেটাডেটা ম্যানিফেস্ট নিবন্ধিত নেভিগেশন গ্রাফ আর সমর্থিত নয়। b/118355937
  • অ্যাকশন আর <activity> গন্তব্যে সংযুক্ত করা যাবে না। aosp/785539

বাগ ফিক্স

  • ডিপ লিঙ্কগুলি এখন সঠিকভাবে কোয়েরি প্যারামিটার পার্স করে। b/110057514
  • কার্যকলাপের গন্তব্য এখন সঠিকভাবে সমস্ত প্রবেশ এবং প্রস্থান অ্যানিমেশন প্রয়োগ করে। b/117145284
  • কাস্টম নেভিগেটর ব্যবহার করার সময় কনফিগারেশন পরিবর্তনের পরে ঘটে যাওয়া স্থির ক্র্যাশ। b/110763345

নিরাপদ Args

  • সেফ আর্গস এখন অ্যান্ড্রয়েড গ্রেডল প্লাগইন 3.2.1 এর উপর একটি নির্দিষ্ট নির্ভরতা রয়েছে। b/113167627
  • অভ্যন্তরীণ ক্লাসের জন্য এখন নির্দেশনা তৈরি করা যেতে পারে। b/117407555
  • একটি <অন্তর্ভুক্ত> গ্রাফের দিকনির্দেশ তৈরি করার সাথে একটি সমস্যা সমাধান করা হয়েছে। b/116542123

অক্টোবর 12, 2018

পেজিং

পেজিং 2.1.0-alpha01 দুটি প্রধান সংযোজন - পৃষ্ঠা ড্রপিং, এবং প্রতিটি আর্টিফ্যাক্টের জন্য KTX এক্সটেনশন লাইব্রেরি - সেইসাথে অন্যান্য বেশ কয়েকটি API পরিবর্তন এবং বাগ ফিক্সের সাথে প্রকাশ করা হয়েছে।

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

  • মেমরিতে লোড করা আইটেমের সংখ্যা সীমিত করার জন্য PagedList.Config.Builder.setMaxSize() যোগ করা হয়েছে।
  • PagedList.Config.Builder এর জন্য Kotlin বিকল্প হিসেবে androidx.paging.Config() যোগ করা হয়েছে
  • PagedList.Builder এর জন্য Kotlin বিকল্প হিসেবে androidx.paging.PagedList() যোগ করা হয়েছে
  • LivePagedListBuilder এর জন্য Kotlin বিকল্প হিসেবে DataSourceFactory.toLiveData() যোগ করা হয়েছে
  • RxPagedListBuilder এর জন্য Kotlin বিকল্প হিসেবে DataSourceFactory.toObservable() এবং toFlowable() যোগ করা হয়েছে
  • PagedList অদলবদল করা হলে শোনার জন্য AsyncPagedListDiffer.addPagedListListener() যোগ করা হয়েছে। b/111698609
  • PagedListAdapter.onCurrentListChanged() ভেরিয়েন্ট যোগ করা হয়েছে যা পুরানো এবং নতুন তালিকাকে পাস করে, পূর্ববর্তী ভেরিয়েন্টকে বাতিল করা হয়েছে।
  • PagedListAdapter/AsyncPagedListDiffer.submitList() ভেরিয়েন্ট যোগ করা হয়েছে যা একটি অতিরিক্ত কলব্যাক নেয় যা ট্রিগার করে যদি/যখন পেজডলিস্ট ডিফ করার পরে প্রদর্শিত হয়। এটি আপনাকে অন্যান্য UI আপডেটের সাথে একটি PagedList সোয়াপ সিঙ্ক্রোনাইজ করতে দেয়। b/73781068
  • PagedList.getLoadedCount() যোগ করা হয়েছে আপনাকে জানাতে যে কতগুলি আইটেম মেমরিতে আছে। মনে রাখবেন যে স্থানধারক নিষ্ক্রিয় থাকলে রিটার্ন মান সবসময় .size() এর সমান হয়।

বাগ ফিক্স

  • তালিকা পুনঃব্যবহার করা হলে পার্থক্য করার সময় রেসের শর্ত স্থির করা হয়েছে b/111591017
  • PagedList.loadAround() এখন IndexOutOfBoundsException নিক্ষেপ করে যখন ইনডেক্স অবৈধ হয়। পূর্বে এটি একটি অস্পষ্ট অন্য ব্যতিক্রম সঙ্গে ক্র্যাশ হতে পারে.
  • একটি কেস সংশোধন করা হয়েছে যেখানে অপরিবর্তিত ডেটা সহ একটি অত্যন্ত ছোট প্রারম্ভিক লোড আকারের ফলে b/113122599 আর লোড হবে না

11 অক্টোবর, 2018

ওয়ার্ক ম্যানেজার

WorkManager 1.0.0-alpha10 ডেভেলপার-নিয়ন্ত্রিত অ্যাসিঙ্ক্রোনাস কাজের জন্য সমর্থন সহ প্রকাশ করা হয়েছে। এই রিলিজে ব্রেকিং API পরিবর্তন আছে; অনুগ্রহ করে নীচে ব্রেকিং API পরিবর্তন বিভাগটি দেখুন।

আমরা আশা করি যে WorkManager তার আলফা সময়ের চূড়ান্ত পর্যায়ে প্রবেশ করছে। আমরা বিটাতে এপিআই স্থিতিশীল হওয়ার আশা করি, তাই আমাদের সমস্যা ট্র্যাকারে আপনার প্রতিক্রিয়া জানাতে কিছু সময় নিন।

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

  • পূর্বে deprecated সমস্ত পদ্ধতি এবং ক্লাস মুছে ফেলা হয়েছে, বিশেষ করে ডিফল্ট Worker কনস্ট্রাক্টর। এটি একটি ব্রেকিং API পরিবর্তন।
  • NonBlockingWorker ListenableWorker এ নামকরণ করা হয়েছে, যা এখন একটি অগোপন পাবলিক ক্লাস এবং ব্যবহারের জন্য প্রস্তুত৷
    • ListenableWorker একটি বিমূর্ত পদ্ধতিতে অ্যাক্সেস প্রদান করে, ListenableFuture<Payload> onStartWork() যা প্রধান থ্রেডে বলা হয়। অ্যাসিঙ্ক্রোনাসভাবে কাজ শুরু করা এবং প্রক্রিয়া করা আপনার উপর নির্ভর করে। শেষ হয়ে গেলে, আপনার উপযুক্তভাবে ListenableFuture আপডেট করা উচিত। ListenableFuture s-এর রেফারেন্স ইমপ্লিমেন্টেশনগুলি alpha02 এর Futures প্যাকেজে দেওয়া হয়েছে ( WorkManager বিভাগের নীচে দেখুন)।
    • Worker ListenableWorker প্রসারিত করে এবং এখনও আগের মতই কাজ করে, একটি বিমূর্ত Result doWork() পদ্ধতির সাথে।
    • Worker থেকে ListenableWorker পর্যন্ত কিছু পদ্ধতি এবং সদস্যদের পরিবর্তন করা হয়েছে।
    • আমরা শীঘ্রই ListenableWorker এর জন্য রেফারেন্স বাস্তবায়ন প্রদান করব যেগুলি Kotlin coroutines ব্যবহার করে (একবার স্থিতিশীল সংস্করণ প্রকাশিত হলে) এবং RxJava2।
  • ইন্টারফেস WorkerFactory এবং কংক্রিট বাস্তবায়ন DefaultWorkerFactory কে WorkerFactory নামে একটি বিমূর্ত শ্রেণীতে একীভূত করা হয়েছে। বাস্তবায়ন নিশ্চিত করে যে ডিফল্ট প্রতিফলন-ভিত্তিক আচরণকে ব্যবহারকারী-সৃষ্ট WorkerFactory দৃষ্টান্তগুলির জন্য একটি শেষ-খাত প্রচেষ্টা হিসাবে বলা হয়। এটি একটি ব্রেকিং পরিবর্তন.
  • WorkManager.synchronous() এবং WorkContinuation.synchronous() এবং সমস্ত সম্পর্কিত পদ্ধতিগুলি সরানো হয়েছে৷ API-এ অনেক পদ্ধতির রিটার্ন টাইপ হিসাবে ListenableFuture<Void> যোগ করা হয়েছে। এটি একটি ব্রেকিং API পরিবর্তন।
    • আপনি এখন ListenableFuture ব্যবহার করে সিঙ্ক্রোনাসভাবে পেতে এবং পর্যবেক্ষণ করতে পারেন। উদাহরণস্বরূপ, WorkManager.enqueue() void ফেরত দিতে ব্যবহৃত হয়; এটি এখন একটি ListenableFuture<Void> প্রদান করে। অপারেশন সম্পূর্ণ হলে কোড চালানোর জন্য আপনি ListenableFuture.addListener(Runnable, Executor) অথবা ListenableFuture.get() কল করতে পারেন।
    • মনে রাখবেন যে এই ListenableFuture গুলি আপনাকে বলে না যে অপারেশন সফল হয়েছে নাকি ব্যর্থ হয়েছে; শুধুমাত্র যে তারা শেষ. এই তথ্য খুঁজে বের করার জন্য আপনাকে এখনও WorkManager পদ্ধতি চেইন করতে হবে।
    • আমরা এই অবজেক্টগুলিতে cancel() কলগুলিকে উপেক্ষা করি, কারণ সেগুলি বিভ্রান্তিকর এবং যুক্তি দেওয়া কঠিন (আপনি কি অপারেশন বাতিল করছেন বা ফলস্বরূপ কাজ?) এটি Future চুক্তির মধ্যে রয়েছে।
    • সিঙ্ক্রোনাস getStatus* পদ্ধতির সাথে সমতা বজায় রাখার জন্য, আমরা ListenableFuture ভেরিয়েন্ট প্রদান করেছি, এবং নামের অংশ হিসাবে স্পষ্টভাবে "LiveData" রাখতে LiveData ফিরিয়ে দেওয়া বিদ্যমানগুলির নাম পরিবর্তন করেছি (উদাহরণস্বরূপ, getStatusesByIdLiveData(UUID) )। এটি একটি ব্রেকিং API পরিবর্তন।

বাগ ফিক্স

  • ডুপ্লিকেট androidx-annotations.pro ফাইল সংক্রান্ত alpha09 থেকে পরিচিত সমস্যা সমাধান করা হয়েছে। আপনি আপনার gradle ফাইল থেকে exclude 'META-INF/proguard/androidx-annotations.pro' পূর্ববর্তী রিলিজ নোটগুলি থেকে সমাধানটি সরিয়ে ফেলতে পারেন।
  • নতুন Worker কনস্ট্রাক্টর রাখার জন্য প্রোগার্ড কনফিগারেশন যোগ করা হয়েছে। b/116296569
  • একটি রেস অবস্থায় সম্ভাব্য NullPointerException ঠিক করুন যেখানে কাজ REPLACE d ছিল। b/116253486 এবং b/116677275
  • WorkContinuation.combine() এখন দুই বা ততোধিক কাজের পরিবর্তে এক বা একাধিক WorkContinuation গ্রহণ করে। b/117266752

ব্রেকিং API পরিবর্তন

  • পূর্বে deprecated সমস্ত পদ্ধতি এবং ক্লাস মুছে ফেলা হয়েছে, বিশেষ করে ডিফল্ট Worker কনস্ট্রাক্টর।
  • ইন্টারফেস WorkerFactory এবং কংক্রিট বাস্তবায়ন DefaultWorkerFactory কে WorkerFactory নামে একটি বিমূর্ত শ্রেণীতে একীভূত করা হয়েছে।
  • WorkManager.synchronous() এবং WorkContinuation.synchronous() সরানো হয়েছে।
  • WorkManager.getStatus*() পদ্ধতি এখন ListenableFuture s ফেরত দেয়। WorkManager.getStatus*LiveData() LiveData s ফেরত দেয়।

ফিউচার

ফিউচার 1.0.0-alpha02 প্রকাশিত হয়েছে।

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

  • ডেভেলপাররা এখন ListenableFuture এর লাইটওয়েট কংক্রিট বাস্তবায়ন হিসাবে ResolvableFuture এবং AbstractResolvableFuture ব্যবহার করতে পারেন।

অক্টোবর 8, 2018

রুম

রুম 2.1.0-alpha01 প্রকাশিত হয়েছে।

নতুন বৈশিষ্ট

  • FTS : রুম এখন একটি ম্যাপিং FTS3 বা FTS4 টেবিল সহ সত্তা সমর্থন করে। একটি ম্যাপিং পূর্ণ-পাঠ্য অনুসন্ধান টেবিলের সাথে একটি ক্লাস ঘোষণা করতে @Entity এর সাথে টীকা করা ক্লাসগুলি এখন @Fts3 বা @Fts4 এর সাথে অতিরিক্ত টীকা করা যেতে পারে। আরও কাস্টমাইজেশনের জন্য FTS বিকল্পগুলি টীকা পদ্ধতির মাধ্যমে উপলব্ধ। b/62356416
  • ভিউ : রুম এখন একটি ক্লাসকে সঞ্চিত ক্যোয়ারী হিসেবে ঘোষণা করা সমর্থন করে, যা @DatabaseView টীকা ব্যবহার করে একটি ভিউ নামেও পরিচিত। b/67033276
  • স্বয়ংক্রিয় মান : রুম এখন অটোভ্যালু টীকাযুক্ত ক্লাসগুলিকে সত্তা এবং POJO হিসাবে ঘোষণা করা সমর্থন করে৷ রুম টীকা @PrimaryKey , @ColumnInfo , @Embedded এবং @Relation এখন একটি স্বয়ংক্রিয় মান টীকা করা ক্লাসের বিমূর্ত পদ্ধতিতে ঘোষণা করা যেতে পারে। মনে রাখবেন যে এই টীকাগুলিকে সঠিকভাবে বোঝার জন্য রুমের জন্য @CopyAnnotations এর সাথেও থাকতে হবে। b/62408420
  • অতিরিক্ত Rx রিটার্ন টাইপ সমর্থন : @Insert , @Delete বা @Update দিয়ে টীকা করা DAO পদ্ধতিগুলি এখন Rx রিটার্নের প্রকারগুলিকে সমর্থন করে Completable , Single<T> এবং Maybe<T>b/63317956
  • @Relation এর সাথে অপরিবর্তনীয় প্রকার : রুম পূর্বে প্রয়োজন @Relation টীকা ক্ষেত্রগুলি সেট করা যায় কিন্তু এখন সেগুলি কনস্ট্রাক্টর প্যারামিটার হতে পারে।
  • enableMultiInstanceInvalidation : RoomDatabase.Builder এ একটি নতুন API। একই ডাটাবেস ফাইল ব্যবহার করে রুমডেটাবেসের একাধিক ইন্সট্যান্স জুড়ে অবৈধকরণ সক্ষম করার জন্য বিল্ডার। এই মাল্টি-ইনস্ট্যান্স ইনভেলিডেশন মেকানিজম একাধিক প্রসেস জুড়েও কাজ করে। b/62334005
  • fallbackToDestructiveMigrationOnDowngrade : RoomDatabase.Builder এ একটি নতুন API যা ডাউনগ্রেড হলে স্বয়ংক্রিয়ভাবে ডাটাবেস পুনরায় তৈরি করে। b/110416954
  • ignoredColumns : @Entity টীকাতে একটি নতুন API যা নাম অনুসারে উপেক্ষা করা ক্ষেত্রগুলিকে তালিকাভুক্ত করতে ব্যবহার করা যেতে পারে। একটি সত্তার উত্তরাধিকারসূত্রে প্রাপ্ত ক্ষেত্রগুলি উপেক্ষা করার জন্য দরকারী৷ b/63522075

API / আচরণ পরিবর্তন

  • RoomDatabase mCallback এবং mDatabase এখন @Deprecated এবং Room এর পরবর্তী বড় সংস্করণে সরিয়ে দেওয়া হবে। b/76109329

বাগ ফিক্স

  • দুটি সমস্যা সমাধান করা হয়েছে যেখানে রুম সঠিকভাবে একটি দূষিত ডাটাবেস থেকে পুনরুদ্ধার করবে না বা শুরু করার সময় একটি খারাপ মাইগ্রেশন। b/111504749 এবং b/111519144
  • রুম এখন সঠিকভাবে ডেটা ক্লাসে কোটলিনের প্রাথমিক কনস্ট্রাক্টর ব্যবহার করবে এবং ক্ষেত্রগুলিকে vars হিসাবে ঘোষণা করার প্রয়োজন এড়িয়ে যাবে। b/105769985

অক্টোবর 1, 2018

রুম 2.0.0 2.0.0-rc01 থেকে কোন পরিবর্তন ছাড়াই প্রকাশ করা হয়েছে। পেজিং 2.0.0 একটি একক বাগফিক্সের সাথে প্রকাশ করা হয়েছে।

পেজিং

বাগ ফিক্স

  • PositionalDataSource এবং স্থানধারক b/114635383 ব্যবহার করে খুব দ্রুত স্ক্রল করার সাথে ঘটতে পারে এমন একটি ক্র্যাশ সংশোধন করা হয়েছে।

সেপ্টেম্বর 21, 2018

লাইফসাইকেল 2.0.0 ViewModel-এ 2.0.0-rc01 থেকে একটি বাগফিক্স সহ প্রকাশ করা হয়েছে।

জীবনচক্র

বাগ ফিক্স

  • একটি ভিউমডেল প্রগার্ড নিয়ম সংশোধন করা হয়েছে যা ভুলভাবে কনস্ট্রাক্টরগুলিকে সরিয়ে দেয় b/112230489

সেপ্টেম্বর 20, 2018

নেভিগেশন 1.0.0-alpha06 বাগ ফিক্স এবং API পরিবর্তন সহ প্রকাশ করা হয়েছে।

নতুন বৈশিষ্ট

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

  • ব্রেকিং চেঞ্জ: নেভিগেটর navigate() পদ্ধতিতে এখন একটি Navigator.Extras প্যারামিটার লাগে।
  • NavController এর getGraph() পদ্ধতি এখন NonNull b/112243286

বাগ ফিক্স

  • NavigationUI.setupWithNavController() পৃথক গন্তব্য b/111961977 থেকে ভিউ ব্যবহার করলে আর ভিউ ফাঁস হয় না
  • নেভিগেটর onSaveState() এখন শুধুমাত্র একবার b/112627079 বলা হয়

নিরাপদ Args

  • ন্যাভিগেশন গন্তব্য দিকনির্দেশের ক্লাসগুলি এখন তাদের পিতামাতার দিকনির্দেশ ক্লাস প্রসারিত করে যদি এটি বিদ্যমান থাকে b/79871405
  • নির্দেশাবলী এবং Args ক্লাসে এখন একটি দরকারী toString() বাস্তবায়ন b/111843389 আছে

সেপ্টেম্বর 19, 2018

ওয়ার্ক ম্যানেজার

WorkManager 1.0.0-alpha09 বাগ ফিক্স, পরিকাঠামো আপডেট, এবং API পরিবর্তন সহ প্রকাশ করা হয়েছে।

পরিচিত সমস্যা

আপনি যদি নিম্নলিখিত সমস্যার সম্মুখীন হন: "ওএস স্বাধীন পাথ 'META-INF/proguard/androidx-annotations.pro'-এর সাথে একাধিক ফাইল পাওয়া গেছে", অনুগ্রহ করে আপনার গ্রেডল ফাইলে একটি অস্থায়ী সমাধান হিসাবে রাখুন আলফা 10 এ সমস্যা:

গ্রোভি

android {
    packagingOptions {
        exclude 'META-INF/proguard/androidx-annotations.pro'
    }
}

কোটলিন

android {
    packagingOptions {
        exclude("META-INF/proguard/androidx-annotations.pro")
    }
}

বাগ ফিক্স

  • "100 কাজ" ত্রুটির জন্য প্রয়োজনীয় আরেকটি সংশোধন যোগ করা হয়েছে। b/115560696
  • রেসের অবস্থার কারণে বিদেশী কী সীমাবদ্ধতার ত্রুটির জন্য কিছু সংশোধন করা হয়েছে। b/114705286
  • অর্পিত ConstraintTrackingWorker.onStopped(boolean) অন্তর্নিহিত Worker কল করে। b/114125093
  • Firebase JobDispatcher-এর জন্য সঠিক ন্যূনতম ব্যাকঅফ বিলম্ব কার্যকর করুন। b/113304626
  • উন্নত থ্রেডিং লাইব্রেরির অভ্যন্তরীণ গ্যারান্টি দেয়।
  • অভ্যন্তরীণভাবে LiveData ডিডুপ করার সাথে সম্ভাব্য সমস্যা সঠিক করুন।

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

  • আপনি এখন WorkManager.Configuration এর অংশ হিসাবে একটি WorkerFactory উল্লেখ করে রানটাইমে আপনার নিজস্ব Worker দৃষ্টান্ত তৈরি করতে পারেন। ফলব্যাক ফ্যাক্টরি হল DefaultWorkerFactory , যা WorkManager-এর পূর্ববর্তী সংস্করণের আচরণের সাথে মেলে।
    • Worker এবং NonBlockingWorker এর জন্য ডিফল্ট কনস্ট্রাক্টরগুলি এখন অবচিত হিসাবে চিহ্নিত করা হয়েছে। অনুগ্রহ করে নতুন কনস্ট্রাক্টর ব্যবহার করুন ( Worker(Context, WorkerParameters) ) এবং কল করুন super(Context, WorkerParameters) ; WorkManager-এর ভবিষ্যত সংস্করণগুলি ডিফল্ট কনস্ট্রাক্টরকে সরিয়ে দেবে।
  • আমরা অভ্যন্তরীণভাবে নতুন ListenableFuture আর্টিফ্যাক্ট ব্যবহার শুরু করেছি (পেয়ারা নির্ভরতা থেকে মুক্ত)। আমরা আসন্ন রিলিজে এপিআই-তে Listenable Futures-এর সাথে পরিচয় করিয়ে দেব। এই পরিবর্তনটি NonBlockingWorker এর চূড়ান্ত লুকানো সমর্থন করবে।
  • TestDriver.setInitialDelayMet(UUID) এবং TestDriver.setPeriodDelayMet(UUID) এর মাধ্যমে TestDriver এ সময়মত কাজ ট্রিগার করার ক্ষমতা যোগ করুন। b/113360060

ব্রেকিং পরিবর্তন

  • ডিফল্ট Worker এবং NonBlockingWorker কনস্ট্রাক্টর অবচিত। শীঘ্রই নতুন কনস্ট্রাক্টরে মাইগ্রেট করুন। ভবিষ্যতের সংস্করণগুলি ডিফল্ট কনস্ট্রাক্টরকে সরিয়ে দেবে।

27 আগস্ট, 2018

ওয়ার্ক ম্যানেজার

WorkManager 1.0.0-alpha08 বাগ ফিক্স সহ প্রকাশ করা হয়েছে।

বাগ ফিক্স

  • ওয়ার্ক ম্যানেজার উপাদানগুলিকে সরাসরি বুট হিসাবে স্পষ্টভাবে লেবেল করা হয়েছে যাতে তারা সরাসরি বুট করার সময় ফায়ার না করে। ভবিষ্যতে, আমরা WorkManager-এর একটি সংস্করণ প্রদান করব যা সরাসরি বুট-সচেতন। b/112665532
  • একটি সমস্যা সমাধান করা হয়েছে যেখানে পুনরায় চেষ্টা করা কাজ চলছে না। b/112604021
  • স্থির পর্যায়ক্রমিক কাজ বারবার কার্যকর হচ্ছে না (উপরের সমস্যা সম্পর্কিত)। b/112859683
  • অ্যাপ্লিকেশান প্রক্রিয়া ইতিমধ্যে চলমান যখন সম্মানিত ব্যাকঅফ নীতি.
  • সীমা 10KB নির্দেশ করতে Data ব্যতিক্রম বার্তাগুলি সংশোধন করা হয়েছে৷
  • JobScheduler প্রক্রিয়াকরণ সমাপ্তির কিছু বিলম্বের জন্য Configuration.setMaxSchedulerLimit(int) এর সর্বোচ্চ মান 50-এ নামিয়ে আনা হয়েছে। b/112817355

16 আগস্ট, 2018

ওয়ার্ক ম্যানেজার

WorkManager 1.0.0-alpha07 বাগ ফিক্স এবং ছোটখাটো API পরিবর্তনের সাথে প্রকাশ করা হয়েছে।

বাগ ফিক্স

  • নেতিবাচক সীমা সহ একটি সম্ভাব্য SQL ক্যোয়ারী স্থির করা হয়েছে যা সীমাহীন সংখ্যক ফলাফল দিতে পারে।
  • যে কাজটি সম্পাদন করা শেষ হয়েছে এখন সঠিকভাবে অন্যান্য সময়সূচীতে সেই কাজের সমস্ত মুলতুবি থাকা কপি বাতিল করে। এর ফলে JobScheduler চাকরির সীমা ছাড়িয়ে গেছে। b/111569265
  • ConstraintTracker এ একটি ConcurrentModificationException স্থির করা হয়েছে। b/112272753
  • Data.getBooleanArray(String) এবং Data.getIntArray(String) এর রিটার্ন টাইপ টীকাকে @NonNull এর পরিবর্তে @Nullable এ পরিবর্তন করা হয়েছে। b/112275229

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

  • Worker এখন একটি নতুন ক্লাস প্রসারিত করে, NonBlockingWorker । এটি কোনো বর্তমান ব্যবহারকে প্রভাবিত করে না। ভবিষ্যতে, NonBlockingWorker কাস্টম থ্রেডিং সমাধানের জন্য একটি সম্পূর্ণ সমর্থিত সত্তা হয়ে উঠবে।
  • Data.getBooleanArray(String) এবং Data.getIntArray(String) এর রিটার্ন টাইপ টীকাকে @NonNull এর পরিবর্তে @Nullable এ পরিবর্তন করা হয়েছে। b/112275229
  • Kotlin এক্সটেনশন: Map.toWorkData() বাতিল করা হয়েছে এবং বিদ্যমান API-এর সাথে আরও সামঞ্জস্যপূর্ণ হতে একটি শীর্ষ-স্তরের workDataOf(vararg Pair<String, Any?>) যোগ করা হয়েছে।

আগস্ট 10, 2018

নেভিগেশন 1.0.0-alpha05 বাগ ফিক্স সহ প্রকাশ করা হয়েছে।

বাগ ফিক্স

  • ভুল ব্যাকস্ট্যাক আচরণের কারণ একটি বাগ ঠিক করুন। b/111907708
  • জেনারেটেড Args ক্লাসের equals() এ একটি বাগ ঠিক করুন। b/111450897
  • Safe Args এ একটি বিল্ড ব্যর্থতা ঠিক করুন। b/109409713
  • রিসোর্স আইডেন্টিফায়ার থেকে জাভা নাম b/111602491 এ একটি রূপান্তর ঠিক করুন
  • Safe Args প্লাগইনে শূন্যতা সম্পর্কে ত্রুটি বার্তা ঠিক করুন।
  • অনুপস্থিত শূন্যতা টীকা যোগ করুন।

আগস্ট 6, 2018

লাইফসাইকেল, রুম, এবং পেজিং রিলিজ সংস্করণ 2.0.0-rc01 এর AndroidX সংস্করণ। সমস্ত শিল্পকর্ম 2.0.0-beta01 থেকে অপরিবর্তিত।

আগস্ট 1, 2018

ওয়ার্ক ম্যানেজার

WorkManager 1.0.0-alpha06 বাগ ফিক্স সহ প্রকাশ করা হয়েছে।

বাগ ফিক্স

  • কাজের সময় নির্ধারণ করার সময় একটি ডাটাবেস লক প্রতিরোধ করুন। b/111801342
  • ডোজ মোডে থাকাকালীন সময়সূচী অনুযায়ী PeriodicWork না চলার কারণ একটি বাগ ঠিক করুন। b/111469837
  • সীমাবদ্ধতাগুলি ট্র্যাক করার সময় একটি রেসের অবস্থা ঠিক করুন যার ফলে WorkManager ক্র্যাশ হয়৷ googlecodelabs/android-workmanager/issues/56
  • WorkRequest.Builder#build() ব্যবহার করার সময় অনন্য WorkRequest তৈরি করুন। b/111408337
  • RescheduleReceiver ব্যবহার শুধুমাত্র তখনই সক্ষম করুন যখন WorkRequest এর প্রয়োজন আছে। b/111765853

জুলাই 24, 2018

ওয়ার্ক ম্যানেজার

ওয়ার্কম্যানেজার 1.0.0-alpha05 গুরুত্বপূর্ণ বাগ ফিক্স এবং লগিং পরিবর্তনগুলির সাথে প্রকাশিত হয়।

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

  • WorkManager.getInstance() এখন @Nullable এর পরিবর্তে @NonNull দিয়ে টীকাযুক্ত। পরিবর্তে, যদি ম্যানুয়াল ইনিশিয়ালাইজেশনের ক্ষেত্রে সিঙ্গলটন সঠিকভাবে আরম্ভ না করা হয় তবে পদ্ধতিটি একটি IllegalStateException নিক্ষেপ করবে। এটি একটি ব্রেকিং এপিআই পরিবর্তন।
  • একটি নতুন এপিআই, Configuration.Builder.setMinimumLoggingLevel(int) যুক্ত করা হয়েছে, যা ওয়ার্কম্যানেজার ভার্বোসিটি নিয়ন্ত্রণ করতে পারে। ডিফল্টরূপে, ওয়ার্কম্যানেজার লগ Log.INFO এবং তারপরে।
  • Data.getString() এর স্বাক্ষর পরিবর্তিত হয়েছে যাতে এটি আর কোনও ডিফল্ট মান নেয় না (এটি স্পষ্টতই null )। এটি একটি ব্রেকিং এপিআই পরিবর্তন।
  • কেবল @hide হিসাবে অভ্যন্তরীণ ব্যবহারের জন্য প্রয়োজনীয় কিছু পদ্ধতি চিহ্নিত করা হয়েছে। এর মধ্যে রয়েছে Constraints কনস্ট্রাক্টর, Data.toByteArray() , এবং Data.fromByteArray(byte[])এটি একটি ব্রেকিং এপিআই পরিবর্তন।

বাগ ফিক্স

  • ওয়ার্কম্যানেজার অটো-ব্যাকআপের পরিচিত ক্ষেত্রে আর কাজ কার্যকর করে না। এর ফলে ক্র্যাশ হতে পারে। বি/110564377
  • JobScheduler ব্যবহার করার সময় PeriodicWorkRequest এস এর স্থির ডাবল-শেডুলিং। বি/110798652
  • PeriodicWorkRequest এস ডিভাইস ডোজের পরে সঠিকভাবে কার্যকর না করে একটি সমস্যা স্থির করে। বি/111469837
  • ফায়ারবেস জবডিস্প্যাচার ব্যবহার করার সময় প্রাথমিক বিলম্বের সাথে একটি সমস্যা স্থির করে। বি/111141023
  • কিছু সম্ভাব্য জাতি শর্ত এবং সময় সংক্রান্ত সমস্যা স্থির করে।
  • BroadcastReceiver সঠিকভাবে মুক্তি দিয়েছিল যা আর প্রয়োজন ছিল না।
  • ফোর্স বন্ধ হওয়ার পরে অ্যাপ্লিকেশনগুলি পুনরায় আরম্ভ করার সময় অপ্টিমাইজড পুনঃনির্ধারণ কর্মক্ষমতা।
  • অনুমোদিত TestScheduler.setAllConstraintsMet(UUID) প্রদত্ত WorkRequest এনকুই করার আগে বা পরে কল করার জন্য। বি/111238024

ব্রেকিং পরিবর্তন

  • WorkManager.getInstance() এখন @Nullable এর পরিবর্তে @NonNull দিয়ে টীকাযুক্ত।
  • Data.getString() এর স্বাক্ষর পরিবর্তিত হয়েছে যাতে এটি আর কোনও ডিফল্ট মান নেয় না (এটি স্পষ্টতই null )।
  • কেবল @hide হিসাবে অভ্যন্তরীণ ব্যবহারের জন্য প্রয়োজনীয় কিছু পদ্ধতি চিহ্নিত করা হয়েছে। এর মধ্যে রয়েছে Constraints কনস্ট্রাক্টর, Data.toByteArray() , এবং Data.fromByteArray(byte[])

জুলাই 19, 2018

নেভিগেশন 1.0.0-alpha04 এবং সম্পর্কিত নিরাপদ আরগস গ্রেডল প্লাগইনটিতে বেশ কয়েকটি এপিআই পরিবর্তন, আচরণ পরিবর্তন এবং বাগ ফিক্স রয়েছে।

এপিআই / আচরণ পরিবর্তন

  • নাভোস্টফ্র্যাগমেন্ট সর্বদা বর্তমানের খণ্ডটিকে প্রাথমিক নেভিগেশন খণ্ড হিসাবে সেট করবে, এটি নিশ্চিত করে যে বাইরের নাভকন্ট্রোলার বি/111345778 পপ করার আগে শিশু খণ্ড পরিচালকদের পপ করা হয়েছে তা নিশ্চিত করে

নিরাপদ আরগস

  • ব্রেকিং পরিবর্তন: app:type app:argType অন্যান্য লাইব্রেরির সাথে বিরোধগুলি এড়াতে যেমন কনস্ট্রেন্টলআউট 2.0.0-আলফা 1 বি/111110548
  • নিরাপদ আরগস থেকে ত্রুটি বার্তাগুলি এখন ক্লিকযোগ্য বি/111534438
  • এআরজিএস ক্লাসগুলি এখন নিশ্চিত করে যে NonNull বৈশিষ্ট্যগুলি আসলে নাল বি/111451769 নয়
  • অতিরিক্ত NonNull টী

বাগ ফিক্স

  • একটি খণ্ড গন্তব্য বি/111515685 এর সাথে গভীর সংযোগের পরে সিস্টেম ব্যাক বোতামের সাথে একটি সমস্যা স্থির করে

জুলাই 12, 2018

নেভিগেশন 1.0.0-alpha03 এবং সম্পর্কিত নিরাপদ আরগস গ্রেডল প্লাগইনটিতে বেশ কয়েকটি এপিআই পরিবর্তন, আচরণের পরিবর্তন এবং বাগ ফিক্স রয়েছে।

এপিআই / আচরণ পরিবর্তন

  • সরঞ্জামদণ্ডের জন্য একটি নেভিগেশনউই.সেটআপউইথনভকন্ট্রোলার পদ্ধতি বি/109868820 যুক্ত করা হয়েছে
  • একটি নেভিগেশনউই.সেটআপউইথনভকন্ট্রোলার পদ্ধতিটি ভেঙে পড়ার জন্য বি/110887183 যুক্ত করা হয়েছে
  • পপব্যাকস্ট্যাক () এখন পিছনের স্ট্যাকটি খালি থাকলে বা যখন প্রদত্ত গন্তব্য আইডি ব্যাক স্ট্যাক বি/110893637 এ না থাকে তখন মিথ্যা ফেরত দেয়
  • ফ্রেগমেন্টনাভিগেটর এখন ফ্রেগমেন্টম্যানেজার রাজ্যকে বাঁচানোর পরে নেভিগেশন অপারেশনগুলিকে উপেক্ষা করে, "অনস্যাভেইনস্ট্যানস্টেটেট পরে এই ক্রিয়াটি সম্পাদন করতে পারে না" ব্যতিক্রম বি/110987825 এড়িয়ে চলা

নিরাপদ আরগস

  • ব্রেকিং পরিবর্তন: অ্যাকশন এবং আর্গুমেন্টের নামগুলিতে অ-আলফানিউমারিক চরিত্রগুলি সম্পর্কিত নাবডাইরেকশন পদ্ধতির নামগুলিতে উট কেসিং দ্বারা প্রতিস্থাপন করা হবে
    • যেমন DemoController.index setDemoControllerIndex বি/79995048 হয়ে যাবে
    • যেমন action_show_settings actionShowSettings বি/79642240 হয়ে উঠবে
  • ব্রেকিং পরিবর্তন: যুক্তিগুলি এখন ডিফল্টরূপে নন-নাল হিসাবে বিবেচিত হয়। স্ট্রিং এবং পার্সেলেবল আর্গুমেন্টগুলিতে নাল মানগুলি অনুমতি দেওয়ার জন্য, app:nullable="true" বি/79642307
  • আপনি এখন app:type="long" ডিফল্টভ্যালু সহ "123L" বি/79563966 আকারে
  • পার্সেলেবল আর্গুমেন্টগুলি এখন সমর্থিত, app:type । সমর্থিত একমাত্র ডিফল্ট মান হ'ল "@null" বি/79563966
  • এআরজিএস ক্লাসগুলি এখন equals() এবং hashCode() বি/79642246 প্রয়োগ করে
  • নিরাপদ আরগস প্লাগইনটি এখন লাইব্রেরি প্রকল্পগুলিতে বি/80036553 প্রয়োগ করা যেতে পারে
  • নিরাপদ আরগস প্লাগইনটি এখন বি/110011752 বৈশিষ্ট্য প্রকল্পগুলিতে প্রয়োগ করা যেতে পারে

বাগ ফিক্স

  • খণ্ডের লাইফসাইকেল পদ্ধতিগুলি খ/109916080 চলাকালীন নেভিগেট করার সময় স্থির সমস্যাগুলি
  • নেস্টেড গ্রাফের মাধ্যমে নেভিগেট করার সময় স্থির সমস্যাগুলি একাধিকবার বি/110178671
  • গ্রাফ বি/109909461 গ্রাফের প্রথম গন্তব্য সহ setPopUpTo ব্যবহার করার সময় স্থির সমস্যাগুলি
  • স্থির সমস্যা যেখানে সমস্ত app:defaultValue মানগুলি স্ট্রিং বি/110710788 হিসাবে পাস করা হচ্ছে
  • অ্যান্ড্রয়েড গ্রেডল প্লাগইন 3.2 বিটা 01 সহ এএপ্ট 2 বান্ডিলযুক্ত এখন প্রতিটি android:name বৈশিষ্ট্য বি/79874119
  • ডিফল্ট ফ্রেগমেন্টনাভিগেটর বি/110900142 প্রতিস্থাপনের সময় স্থির মেমরি ফাঁস

জুলাই 2, 2018

লাইফসাইকেল, রুম এবং পেজিং রিলিজ সংস্করণ 2.0.0-beta01 এর অ্যান্ড্রয়েডএক্স সংস্করণ।

জীবনচক্র

বাগ ফিক্স

  • কেবলমাত্র বাস্তবায়ন রাখার জন্য স্থির লাইফসাইক্লোবসার্ভার প্রোগুয়ার্ড বিধি বি/71389427 নয়
  • অবিচ্ছিন্নতা এবং সঙ্কুচিত হওয়ার অনুমতি দেওয়ার জন্য স্থির ভিউমোডেল প্রোগুয়ার্ড বিধি

রুম

এপিআই / আচরণ পরিবর্তন

  • ক্যোয়ারীগুলি কোথায় চালানো হয় তার কাস্টমাইজেশনের অনুমতি দেওয়ার জন্য RoomDatabase.Builder.setQueryExecutor() যুক্ত করা হয়েছে
  • Rxjava2 Observable সমর্থন যুক্ত করা হয়েছে
  • উত্পন্ন ডিএও এবং ডাটাবেস বাস্তবায়ন এখন চূড়ান্ত

বাগ ফিক্স

  • "ক্ষেত্রের জন্য গেটার খুঁজে পাচ্ছেন না" ত্রুটি বি/73334503 এ শ্রেণি/ক্ষেত্রের নাম উল্লেখ করুন
  • কক্ষ বি/110197391 এর পুরানো সংস্করণগুলির সাথে স্থির রুমোপেনহেল্পার পিছনে সামঞ্জস্যতা

পেজিং

বাগ ফিক্স

  • কিছু প্রিপেন্ড কেস (স্থানধারক অক্ষম, পজিশনালড্যাটাসোর্স) বি/80149146 এ স্থির সামগ্রী অদৃশ্য
  • (ইতিমধ্যে 1.0.1 এ প্রকাশিত হয়েছে) স্থির ক্র্যাশগুলি যেখানে PagedListAdapter এবং AsyncPagedListDiffer সরানোর ইভেন্টগুলিকে সংকেত দিতে ব্যর্থ হবে। বি/110711937

জুন 26, 2018

পেজিং

পেজিং 1.0.1 runtime একটি একক বাগফিক্স দিয়ে প্রকাশিত হয়। স্থিতিশীলতার জন্য আমরা 1.0.1 ব্যবহার করার পরামর্শ দিই। পেজিং আরএক্সজাভা 2 1.0.1 এছাড়াও প্রকাশিত হয় এবং এটি 1.0.0-rc1 এর সমান।

বাগ ফিক্স

  • ফিক্সড ক্র্যাশগুলি যেখানে PagedListAdapter এবং AsyncPagedListDiffer সরানো ইভেন্টগুলি সংকেত দিতে ব্যর্থ হবে। বি/110711937

ওয়ার্ক ম্যানেজার

ওয়ার্কম্যানেজার 1.0.0-alpha04 প্রকাশিত হয়েছে।

বাগ ফিক্স

  • AlarmManager ভিত্তিক বাস্তবায়ন ব্যবহার করার সময় PeriodicWorkRequest এস এখন সঠিকভাবে পুনরায় নির্ধারণ করা হয়।

  • কোনও ফোর্স স্টপ বা রিবুটের পরে সমস্ত শ্রমিককে পুনরায় নির্ধারণ করার সময় একটি সম্ভাব্য এএনআর স্থির করে। বি/110507716

  • বিভিন্ন ওয়ার্কম্যানেজার এপিআইগুলিতে নালিবিলিটি টীকা যুক্ত করা হয়েছে। বি/110344065

  • শ্রমিক সম্পাদনের সময় ঘটে যাওয়া লগ অনাবৃত ব্যতিক্রম। বি/109900862

  • আপনি যদি ওয়ার্কম্যানেজারের কোনও পুরানো সংস্করণে ফিরে যাওয়ার সিদ্ধান্ত নেন তবে ধ্বংসাত্মক ডাটাবেস মাইগ্রেশনগুলির অনুমতি দেওয়া হয়েছে। বি/74633270

  • সদৃশ অন্তর্নিহিত ট্যাগ তৈরি করা হলে একটি মাইগ্রেশন ক্র্যাশ স্থির করে। এটি একটি খুব বিরল সমস্যা যা কেবলমাত্র আপনি যদি একই অন্তর্নিহিত ট্যাগ ফর্ম্যাটটি ব্যবহার করেন তবেই ঘটেছিল।

জুন 19, 2018

রুম

ঘর 1.1.1 প্রকাশিত হয়। এই রিলিজটি 1.1.1-rc1 রুমের মতো।

ওয়ার্ক ম্যানেজার

ওয়ার্কম্যানেজার 1.0.0-alpha03 প্রকাশিত হয়েছে।

বাগ ফিক্স

  • AlarmManager ভিত্তিক বাস্তবায়নে একটি জাতি শর্ত স্থির করে। বি/80346526

  • কোনও ডিভাইস পুনরায় বুট করার পরে JobScheduler ব্যবহার করার সময় স্থির সদৃশ কাজগুলি।

  • সামগ্রী ইউআরআই ট্রিগার সহ কাজগুলি এখন রিবুটগুলি জুড়ে রয়েছে। বি/80234744

  • ডকুমেন্টেশন আপডেট। বি/109827628 , বি/109758949 , বি/80230748

  • কোনও WorkRequest পুনরায় প্রবেশ করার সময় একটি ক্র্যাশ স্থির করে। বি/109572353

  • work-runtime-ktx নির্ভরতা ব্যবহার করার সময় স্থির কোটলিন সংকলক সতর্কতা।

  • ওয়ার্কম্যানেজার এখন Room সংস্করণ 1.1.1-rc1 ব্যবহার করে।

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

  • getStatusesSync() যুক্ত করা হয়েছে, WorkContinuation.getStatuses() এর সিঙ্ক্রোনাস সংস্করণ।

  • Worker ব্যবহারকারী-উদ্যোগী বাতিলকরণ এবং অস্থায়ী ওএস-অনুরোধ স্টপিংয়ের মধ্যে পার্থক্য করার ক্ষমতা রয়েছে। Worker.isStopped() যদি কোনও ধরণের স্টপের জন্য অনুরোধ করা হয় তবে true প্রত্যাবর্তন করে। Worker.isCancelled() কাজটি স্পষ্টভাবে বাতিল হয়ে গেলে true প্রত্যাবর্তন করে। বি/79632247

  • এপিআই 28 এ জবপ্যারামিটার#গেটনেটওয়ার্ক () Worker.getNetwork() জন্য সমর্থন যুক্ত করুন This

  • AlarmManager Configuration.Builder.setMaxSchedulerLimit(int maxSchedulerLimit) JobScheduler এটি WorkManager আপনার সমস্ত উপলভ্য JobScheduler স্লট নিতে বাধা দিতে সহায়তা করে।

  • JobScheduler Configuration.setJobSchedulerJobIdRange(int minJobSchedulerId, int maxJobSchedulerId) WorkManager বি/79996760

  • Worker.getRunAttemptCount() প্রদত্ত Worker জন্য বর্তমান রান গণনা প্রদান করে। বি/79716516

  • WorkManager.enqueueUniquePeriodicWork(String uniqueWorkName, ExistingPeriodicWorkPolicy existingPeriodicWorkPolicy, PeriodicWorkRequest periodicWork) আপনাকে একটি অনন্য PeriodicWorkRequest এনকিউতে অনুমতি দেয়। বি/79600647

  • WorkManager.cancelAllWork() সমস্ত Worker বাতিল করে দেয়। WorkManager উপর নির্ভরশীল গ্রন্থাগারগুলি যখন এই পদ্ধতিটি WorkManager.getLastCancelAllTimeMillis() ব্যবহার করে অভ্যন্তরীণ অবস্থার অতিরিক্ত ক্লিনআপের জন্য শেষ বলা হয়েছিল তখন জিজ্ঞাসা করতে পারে।

  • অভ্যন্তরীণ ডাটাবেস থেকে সম্পূর্ণ কাজগুলি অপসারণ করতে WorkManager.pruneWork() যুক্ত করা হয়েছে। বি/79950952 , বি/109710758

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

  • সমস্ত WorkRequest এস এর জন্য একটি অন্তর্নিহিত ট্যাগ যুক্ত করা হয়েছে, যা Worker জন্য সম্পূর্ণ যোগ্য শ্রেণীর নাম। এটি tag এস ছাড়াই বা id উপলব্ধ না থাকলে WorkRequest এস অপসারণ করার ক্ষমতা দেয়। বি/109572351

ব্রেকিং পরিবর্তন

  • Worker.WorkerResult নামকরণ করা হয়েছে। ওয়ার্কারসাল্ট Worker.Result

  • Worker.onStopped এখন একটি অতিরিক্ত isCancelled প্যারামিটার রয়েছে যা Worker স্পষ্টভাবে বাতিল হয়ে গেলে true সেট করা থাকে।

জুন 7, 2018

নেভিগেশন 1.0.0-alpha02 প্রকাশিত হয়েছে।

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

  • FragmentNavigator এখন setReorderingAllowed(true) ব্যবহার করে। বি/109826220

  • নেভিগেশন এখন urldecodes যুক্তিগুলি গভীর লিঙ্কগুলি ইউআরএল থেকে পার্স করা হয়েছে। বি/79982454

বাগ ফিক্স

  • খণ্ডিত জীবনচক্র পদ্ধতি থেকে নেভিগেট কল করার সময় একটি IllegalStateException স্থির করে। বি/79632233

  • অ্যানিমেশনগুলি ব্যবহার করার সময় ফ্লিকারিং ঠিক করতে নেভিগেশন এখন সমর্থন লাইব্রেরি 27.1.1 এর উপর নির্ভর করে। বি/80160903

  • একটি শিশু খণ্ড হিসাবে ডিফল্টনাভস্ট = "সত্য" ব্যবহার করার সময় একটি IllegalArgumentException স্থির করে। বি/79656847

  • Navdeepeplinkbuilder ব্যবহার করার সময় একটি StackOverflowError স্থির করুন। বি/109653065

  • কোনও নেস্টেড গ্রাফে ফিরে নেভিগেট করার সময় একটি IllegalArgumentException স্থির করে। বি/80453447

  • launchSingleTop ব্যবহার করার সময় ওভারল্যাপিং টুকরাগুলির সাথে একটি সমস্যা স্থির করে। বি/79407969

  • নেভিগেশন এখন নেস্টেড গ্রাফগুলির জন্য সঠিক সিন্থেটিক ব্যাক স্ট্যাক তৈরি করে। বি/79734195

  • MenuItem হিসাবে নেস্টেড গ্রাফ ব্যবহার করার সময় নেভিগেশনউই এখন সঠিক আইটেমটি হাইলাইট করবে। বি/109675998

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

  • কর্মের জন্য clearTask বৈশিষ্ট্য এবং NavOptions সম্পর্কিত এপিআই হ্রাস করা হয়েছে। বি/80338878

  • কর্মের জন্য launchDocument বৈশিষ্ট্য এবং NavOptions সম্পর্কিত এপিআই হ্রাস করা হয়েছে। বি/109806636

24 মে, 2018

ওয়ার্কম্যানেজার 1.0.0-alpha02 প্রকাশিত হয়েছে।

ওয়ার্ক ম্যানেজার

বাগ ফিক্স

  • রাষ্ট্রের উপর একটি NullPointerException স্থির করুন State.isFinished()বি/79550068

  • এমন একটি সমস্যা স্থির করে যা Worker Application.onCreate() এ পুনরায় নির্ধারণ করা হয়েছিল। বি/79660657

  • এমন একটি সমস্যা স্থির করেছেন যেখানে আপনি ওএস দ্বারা অনুমোদিত চেয়ে বেশি কাজের সময় নির্ধারণ করতে পারেন। বি/79497378

  • ব্যাকগ্রাউন্ড থ্রেডে Worker সাথে যুক্ত জাগ্রত লকগুলির ক্লিনআপ সরানো হয়েছে।

  • AlarmManager বাস্তবায়ন এখন সমস্ত বিচারাধীন কাজ শেষ হলে সঠিকভাবে পরিষ্কার হয়।

  • স্থির ক্লিনআপ এসকিউএল কোয়েরি যা অ-ইংরেজি লোকালকে প্রভাবিত করে। বি/80065360

  • Data float এস এর জন্য সমর্থন যুক্ত করা হয়েছে। বি/79443878

  • Data.Builder.putAll() এখন Builder উদাহরণ দেয়। বি/79699162

  • ডকুমেন্টেশনে আরও জাভাদোক এবং ফিক্সগুলি। বি/79691663

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

  • Worker বন্ধ হয়ে যাওয়ার প্রতিক্রিয়া জানাতে পারে। Worker.isStopped() কোনও Worker বন্ধ হয়ে গেছে কিনা তা যাচাই করতে ব্যবহার করা যেতে পারে। Worker.onStopped() লাইটওয়েট ক্লিনআপ অপারেশনগুলি সম্পাদন করতে ব্যবহার করা যেতে পারে।

  • Worker.getTags() এপিআই Worker সাথে যুক্ত ট্যাগগুলির একটি Set প্রদান করে।

  • এপিআইগুলির জন্য javax.time.Duration ওভারলোড যুক্ত হয়েছে যা সময়কাল এবং TimeUnit এস এর সংমিশ্রণ নেয়। এটি @RequiresApi(26) দ্বারা রক্ষিত।

  • WorkManager এক্সটেনশনগুলি androidx.work.ktx প্যাকেজ থেকে androidx.work প্যাকেজে চলে গেছে। পুরানো এক্সটেনশনগুলি হ্রাস করা হয় এবং ভবিষ্যতের সংস্করণে সরানো হবে।

  • Configuration.withExecutor() অবমূল্যায়ন করা হয়। পরিবর্তে Configuration.setExecutor() ব্যবহার করুন।

16 মে, 2018

পেজিং আরএক্সজাভা 2 1.0.0-rc1 এবং রুম 1.1.1-rc1 প্রকাশিত হয়েছে। আপনি যদি মাইগ্রেশন ব্যবহার করেন তবে আমরা 1.1.0 এর পরিবর্তে 1.1.1-rc1 রুম ব্যবহার করার পরামর্শ দিচ্ছি।

রুম

এমন একটি বাগ ঠিক করা হয়েছে যেখানে ঘর পোস্ট মাইগ্রেশন আরম্ভটি সঠিকভাবে পরিচালনা করবে না খ/79362399

পেজিং

পেজিং rxjava2 প্রাথমিক আলফা থেকে কোনও পরিবর্তন ছাড়াই প্রার্থীকে মুক্তি দিতে চলেছে।

8 মে, 2018

পেজিং 1.0, নেভিগেশন এবং ওয়ার্কম্যানেজার আলফাস, রুম 1.1, অ্যান্ড্রয়েডএক্স

পেজিং 1.0.0 এবং ঘর 1.1.0 দুটি নতুন আর্কিটেকচার উপাদান - নেভিগেশন এবং ওয়ার্কম্যানেজার জন্য আলফাস সহ প্রকাশিত হয়।

সর্বশেষ প্রকাশের প্রার্থীদের পর থেকে পেজিং এবং রুমের কোনও পরিবর্তন নেই।

নতুন গ্রন্থাগার: নেভিগেশন

নেভিগেশন অ্যাপ্লিকেশন নেভিগেশন তৈরির জন্য একটি কাঠামো সরবরাহ করে। এই প্রাথমিক প্রকাশ হল 1.0.0-alpha01

নতুন লাইব্রেরি: ওয়ার্ক ম্যানেজার

ওয়ার্কম্যানেজার গ্যারান্টিযুক্ত, সীমাবদ্ধ-সচেতন পটভূমি কাজের সময়সূচী এবং সম্পাদনকে সহজতর করে। এই প্রাথমিক প্রকাশ হল 1.0.0-alpha01

অ্যান্ড্রয়েডএক্স

আর্কিটেকচারের উপাদানগুলি অন্যান্য অ্যান্ড্রয়েডএক্স লাইব্রেরিতে আপডেট হওয়া প্যাকেজের নাম, আর্টিক্ট নাম এবং নির্ভরতা সহ অ্যান্ড্রয়েডএক্সের অংশে পরিণত হতে চলেছে। এগুলি অন্যান্য অ্যান্ড্রয়েডএক্স লাইব্রেরির সাথে একত্রে ব্যবহারের জন্য সংস্করণ 2.0.0-alpha1 এর অধীনে প্রকাশিত হয়েছে।

কোটলিন এক্সটেনশন

ভিউমোডেল, রিঅ্যাকটিভস্ট্রিমস এবং এসকিউএলাইট (পূর্বে 'ঘরের ডাটাবেস' উপাদান) সকলেরই অ্যান্ড্রয়েডএক্স আলফা রিলিজের অংশ হিসাবে কোটলিন এক্সটেনশন লাইব্রেরি যুক্ত হয়েছে। এছাড়াও, নেভিগেশন এবং ওয়ার্কম্যানেজার -কেটিএক্স মডিউল অন্তর্ভুক্ত। এই এক্সটেনশন মডিউলগুলির প্রতিটি উপাদান যুক্ত করার ক্ষেত্রে পাওয়া যায়।

2 মে, 2018

  • ঘর 1.1.0 মুক্তি প্রার্থী
  • রুম 1.1.0-rc1 প্রকাশিত হয়েছে।

বাগ ফিক্স

  • ঘরটি এখন কোটলিনের সাথে সামঞ্জস্যপূর্ণ 1.2.40বি/78328708

এপ্রিল 19, 2018

পেজিং রিলিজ প্রার্থী

পেজিং 1.0.0-rc1 এবং রুম 1.1.0-beta3 প্রকাশিত হয়েছে।

পেজিং

পেজিং 1.0.0 রিলিজের জন্য আমাদের আর কোনও পরিচিত সমস্যা বা নতুন বৈশিষ্ট্য নির্ধারিত নেই । দয়া করে আপনার প্রকল্পগুলি 1.0.0-rc1 ব্যবহার করতে আপগ্রেড করুন এবং এটি পরীক্ষা করতে আমাদের সহায়তা করতে সহায়তা করুন যাতে আমরা একটি রক সলিড 1.0.0 প্রেরণ করতে পারি।

এই প্রকাশে কোনও পরিবর্তন নেই, এটি 1.0.0-beta1 এর সমান।

রুম

বাগ ফিক্স

  • সংকলন ত্রুটিটি ঠিক করুন যখন কোনও কোটলিন পোজো জাভা বি/78199923 এ সংজ্ঞায়িত একটি সম্পর্ক সত্তাকে উল্লেখ করে

5 এপ্রিল, 2018

রুম 1.1.0-beta2 , পেজিং 1.0.0-beta1 , এবং পেজিং আরএক্সজাভা 1.0.0-alpha1 প্রকাশিত হয়েছে।

প্রার্থীকে মুক্তি দেওয়ার অগ্রগতির আগে পেজিং অল্প সময়ের জন্য বিটাতে থাকবে। আমরা Paging 1.0 এর জন্য আরও এপিআই পরিবর্তনের পরিকল্পনা করছি না এবং যে কোনও এপিআই পরিবর্তনের জন্য বারটি খুব বেশি।

পেজিং এর জন্য আলফা আরএক্সজাভা 2 সমর্থন একটি পৃথক al চ্ছিক মডিউল ( android.arch.paging:rxjava2:1.0.0-alpha1 ) হিসাবে প্রকাশিত হয় এবং এটি স্থিতিশীল না হওয়া পর্যন্ত অস্থায়ীভাবে সংস্করণ করা হবে।

এই নতুন লাইব্রেরিটি LivePagedListBuilder জন্য একটি আরএক্সজেভিএ 2 বিকল্প সরবরাহ করে, যা Executor পরিবর্তে Scheduler এস গ্রহণ করে Observable এস এবং Flowable এস তৈরি করতে সক্ষম:

কোটলিন

val pagedItems = RxPagedListBuilder(myDataSource, /* page size */ 50)
        .setFetchScheduler(myNetworkScheduler)
        .buildObservable()

জাভা

Observable<PagedList<Item>> pagedItems =
        RxPagedListBuilder(myDataSource, /* page size */ 50)
                .setFetchScheduler(myNetworkScheduler)
                .buildObservable();

পেজিং

নতুন বৈশিষ্ট

  • RxPagedListBuilder নতুন android.arch.paging:rxjava2 আর্টিফ্যাক্ট।

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

  • বিল্ডারদের মধ্যে নির্বাহকদের ভূমিকা স্পষ্ট করতে এপিআই পরিবর্তন করে:

    • setBackgroundThreadExecutor() setFetchExecutor() এর নামকরণ করা হয়েছে ( PagedList.Builder এবং LivePagedListBuilder )

    • setMainThreadExecutor() নামকরণ করে setNotifyExecutor() ( PagedList.Builder ) এ নামকরণ করুন।

  • ফিক্সড PagedList.mCallbacks সদস্য ব্যক্তিগত হতে।

বাগ ফিক্স

  • LivePagedListBuilder আর্চ উপাদানগুলি আইও থ্রেড পুলের পরিবর্তে নির্দিষ্ট এক্সিকিউটারের উপর প্রাথমিক PagedList লোড ট্রিগার করে।

  • অভ্যন্তরীণ DataSource র‌্যাপারগুলিতে স্থির অকার্যকর আচরণ ( DataSource.map প্রয়োগ করতে ব্যবহৃত হয়, পাশাপাশি স্থানধারক-অক্ষম PositionalDataSource লোডিং) বি/77237534

রুম

বাগ ফিক্স

  • ঘরের আরএক্স Single এবং Maybe বাস্তবায়নে একটি সমালোচনামূলক বাগ স্থির করে যেখানে এটি সময়ের আগে ক্যোয়ারীটি পুনর্ব্যবহার করবে, যদি আপনি ফিরে আসা Single বা Maybe ইনস্ট্যানসেসে 1 টিরও বেশি পর্যবেক্ষক যুক্ত করেন তবে সমস্যা সৃষ্টি করে। বি/76031240

  • রুমডাটাবেস.ক্লিয়ারালটেবলগুলি যদি কোনও লেনদেনের ভিতরে ডাকা হয় তবে এটি ডাটাবেসটি VACUUM করবে না। বি/77235565

21 মার্চ, 2018

রুম 1.1.0-beta1 , পেজিং 1.0.0-alpha7 এবং লাইফসাইকেলগুলি 1.1.1 প্রকাশিত হয়েছে।

রুম

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

বাগ ফিক্স

  • রুমডাটাবেস.ক্লিয়ারালটেবলগুলি এখন ওয়াল চেকপয়েন্ট সেট করে এবং ডাটাবেসটি VACUUM সেট করে অপারেটিং সিস্টেমে স্থান ফিরিয়ে দেওয়ার চেষ্টা করে।

  • @RawQuery এখন observedEntities সম্পত্তির জন্য যে কোনও পোজো গ্রহণ করে যতক্ষণ না পোজো তার Embedded ক্ষেত্রগুলি বা Relation মাধ্যমে এক বা একাধিক সত্তার উল্লেখ করে। বি/74041772

  • পেজিং: ঘরের ডেটাসোর্স বাস্তবায়ন এখন সঠিকভাবে মাল্টি-টেবিল নির্ভরতাগুলি পরিচালনা করে (যেমন সম্পর্ক এবং যোগদান করে)। পূর্বে এগুলি নতুন ফলাফলগুলি ট্রিগার করতে ব্যর্থ হবে, বা সংকলন করতে ব্যর্থ হতে পারে। বি/74128314

জীবন চক্র

কেবলমাত্র একটি ছোট পরিবর্তন: android.arch.core.util.Function arch:runtime থেকে arch:common । এটি রানটাইম নির্ভরতা ছাড়াই এটি ব্যবহার করার অনুমতি দেয়, যেমন paging:common

lifecycle:common lifecycle:runtime , সুতরাং এই পরিবর্তনটি lifecycle:runtime সরাসরি, কেবলমাত্র মডিউলগুলি যা সরাসরি lifecycle:common , যেমন পেজিং হয়।

পেজিং

পেজিং 1.0.0-alpha7 লাইফসাইকেলগুলির পাশাপাশি প্রকাশিত হয়েছে 1.1.1 । যেমন পেজিং আলফা 7 উপরে উল্লিখিত Function শ্রেণীর সরানোর উপর নির্ভর করে, আপনাকে আপনার lifecycle:runtime নির্ভরতা android.arch.lifecycle:runtime:1.1.1

পেজিং alpha7 পেজিং হিট বিটা হিট করার আগে চূড়ান্ত প্রকাশের পরিকল্পনা করা হয়েছে।

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

  • DataSource.LoadParams অবজেক্টগুলিতে এখন একটি পাবলিক কনস্ট্রাক্টর এবং DataSource.LoadCallback রয়েছে Load লোডক্যালব্যাক অবজেক্টগুলি এখন বিমূর্ত। এটি একটি DataSource মোড়ানো বা সরাসরি একটি মক কলব্যাক সহ একটি DataSource পরীক্ষা করতে সক্ষম করে। বি/72600421
  • ডেটাসোর্স এবং ডেটাসোর্স.ফ্যাক্টরির জন্য ম্যাপার্স
    • map(Function<IN,OUT>) আপনাকে কোনও DataSource দ্বারা লোড হওয়া ফলাফলগুলি রূপান্তর, মোড়ানো বা সাজানোর অনুমতি দেয়।
    • mapByPage(<List<IN>,List<OUT>>) ব্যাচ প্রসেসিংয়ের জন্য একই সক্ষম করে (যেমন এসকিউএল থেকে লোড হওয়া আইটেমগুলি অতিরিক্তভাবে একটি পৃথক ডাটাবেস জিজ্ঞাসা করা প্রয়োজন, যা ব্যাচ হিসাবে করা যেতে পারে))
  • PagedList#getDataSource() একটি সুবিধার্থে পদ্ধতি হিসাবে যুক্ত করা হয়েছে B/72611341
  • সমস্ত অবমূল্যায়িত ক্লাসগুলি এপিআই থেকে অপসারণ করা হয়েছে, recyclerview.extensions LivePagedListProvider
  • DataSource.Factory মানচিত্রের কার্যকারিতা সক্ষম করতে একটি ইন্টারফেস থেকে একটি বিমূর্ত শ্রেণিতে পরিবর্তন করা হয়।

বাগ ফিক্স

  • চূড়ান্ত হতে নির্মাতাদের পরিবর্তন করেছে। বি/70848565
  • রুম DataSource বাস্তবায়ন এখন মাল্টি-টেবিল কোয়েরিগুলি পরিচালনা করার জন্য স্থির করা হয়েছে-এই ফিক্সটি কক্ষ 1.1.0-বিটা 1 এর মধ্যে রয়েছে, উপরে দেখুন।
  • এমন একটি বাগ স্থির করা হয়েছে যেখানে BoundaryCallback.onItemAtEndLoaded প্লেসহোল্ডারদের সক্ষম করা থাকলে এবং মোট আকার পৃষ্ঠার আকারের সঠিক একাধিক হয় তবে PositionalDataSource জন্য আহ্বান করা হবে না।

2 মার্চ, 2018

রুম 1.1.0-alpha3 প্রকাশিত হয়েছে। এটি কক্ষ 1.1.0 এর জন্য সর্বশেষ পরিকল্পিত আলফা রিলিজ।

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

  • অবৈধকরণ ট্র্যাকারের addObserver এবং removeObserver পদ্ধতিগুলি এখন সিঙ্ক্রোনাস এবং একটি নন-ইউআই থ্রেডে কল করা দরকার। এটি টেবিলগুলি পর্যবেক্ষণ করার সময় কিছু জাতি শর্তকে বাধা দেয়।

  • রুমডাটাবেস ক্লাসে একটি নতুন clearAllTables() পদ্ধতি রয়েছে যা সমস্ত টেবিলের বিষয়বস্তুগুলিকে ছাঁটাই করবে। বি/63807999

  • SupportSQLiteQuery এখন একটি getArgCount() পদ্ধতি রয়েছে যা ক্যোয়ারী পরামিতিগুলির সংখ্যা দেয়। বি/67038952

বাগ ফিক্স

  • @RawQuery এখন পেজিং প্রশ্নের জন্য সঠিকভাবে সমর্থিত। বি/72600425

  • 2 বা ততোধিক Dao ইন্টারফেসগুলি একই প্যাকেজে অভ্যন্তরীণ শ্রেণি এবং একই নাম থাকে যখন নাম দ্বন্দ্বগুলি এড়াতে এখন সঠিকভাবে নামকরণ করা হয়েছে Dao ক্লাস তৈরি করা। বি/73536380

  • Pojo -তে জেনেরিক ক্ষেত্রের ধরণগুলি যথাযথভাবে বর্ধিত শ্রেণীর সদস্য হিসাবে পার্স করা হয়। বি/73534868

  • নির্ভরতা শিল্পকর্মগুলি থেকে উত্তরাধিকার সূত্রে প্রাপ্ত Dao ইন্টারফেসগুলিতে ক্যোয়ারী প্যারামিটারগুলি এখন সঠিকভাবে পার্স করা হয়েছে। বি/68118746

  • @Relation এস এর জন্য উত্পন্ন প্রশ্নগুলি এখন মাঠের নামগুলি সঠিকভাবে এড়িয়ে চলুন। বি/70925483

ফেব্রুয়ারী 27, 2018

পেজিং 1.0.0-alpha6 সাপোর্ট লাইব্রেরি রিলিজ 27.1.0 এর পাশাপাশি প্রকাশিত হয়েছে। কিছু শ্রেণীর কার্যকারিতা আরও পরিষ্কার করার জন্য কয়েকটি নামকরণের পাশাপাশি ListAdapter এবং কয়েকটি সম্পর্কিত ক্লাস সরাসরি পেজিং লাইব্রেরি থেকে পুনর্ব্যবহারযোগ্য দিকে স্থানান্তরিত করা হয়েছে। পেজিংয়ের এই আলফা রিলিজ সম্ভবত এপিআই ব্রেকিং পরিবর্তনগুলির মধ্যে সর্বশেষতম।

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

  • ক্লাসগুলি পুনর্ব্যবহারযোগ্য-ভি 7 এ সরানো হয়েছে:
    • ListAdapter
  • ক্লাসগুলির নামকরণ করা হয়েছে, এবং পুনর্ব্যবহারযোগ্য-ভি 7 এ সরানো হয়েছে:
    • ListAdapterHelper -> AsyncListDiffer
    • ListAdapterConfig -> AsyncDifferConfig
    • DiffCallback -> DiffUtil.ItemCallback
  • পেজিং-রান্টটাইমের ভিতরে ক্লাসগুলি নামকরণ করা হয়েছে:
    • PagedListAdapterHelper -> AsyncPagedListDiffer

যে ক্লাসগুলি সরানো হয়েছিল সেগুলি পেজিং লাইব্রেরি থেকে পৃথক, পুনর্ব্যবহারের পাশাপাশি কার্যকর ছিল। এর অর্থ এগুলি পেজিং আলফা রিলিজের উপর নির্ভর না করেই ব্যবহার করা যেতে পারে, তবে এর অর্থ হ'ল পেজিং ব্যবহার করা অ্যাপ্লিকেশনগুলি অবশ্যই আলফা 6 এ আপগ্রেড করতে হবে এবং একই সাথে লাইব্রেরি 27.1.0 সমর্থন করবে।

** পেজিং আলফা 6 এর জন্য মাইগ্রেশন গাইড: **

  • android.arch.paging:runtime:1.0.0-alpha6 এবং com.android.support:recyclerview-v7:27.1.0
    • এগুলি অবশ্যই একই সাথে করা উচিত, যেমন লিস্টাডাপ্টারটি পেজিং থেকে পুনর্ব্যবহারযোগ্য দিকে সরানো হয়েছিল
  • AsyncListDifferListAdapterHelper যে কোনও রেফারেন্স আপডেট করুন
    • getItem(index) / getItemCount() সরানো হয়েছে, getCurrentList().getItem(index) এবং getCurrentList().size() , যা আরও স্পষ্ট।
  • AsyncDifferConfigListAdapterConfig কোনও রেফারেন্স আপডেট করুন
  • DiffCallback কোনও রেফারেন্স DiffUtil.IttemCallback আপডেট করুন eittemcallback
  • AsyncPagedListDifferPagedListAdapterHelper যে কোনও রেফারেন্স আপডেট করুন
  • সাবমিটলিস্টে setList() এর রেফারেন্স আপডেট করুন submitList()
    • তালিকা ডিফিংয়ের অ্যাসিঙ্ক প্রকৃতি স্পষ্ট করার জন্য নামকরণ করা হয়েছে

বাগ ফিক্স

  • স্থানধারীরা অক্ষম থাকলে প্রাথমিক লোডে ভুল প্রাথমিক অবস্থান স্থির করা। বি/73513780

ফেব্রুয়ারী 15, 2018

রুম 1.1.0-alpha2 প্রকাশিত হয়েছে।

নতুন বৈশিষ্ট

  • রুম এখন লিখুন এগিয়ে লগিং মোডে ডাটাবেস খোলার সমর্থন করে। এই মোডে, আপনার লেখাগুলি আর আপনার পঠিত অনুসন্ধানগুলি ব্লক করবে না। যদিও এটি আরও মেমরি ব্যবহার করে (একাধিক সংযোগের কারণে), এই মোডটি সাধারণত দ্রুত হয়। ডিফল্টরূপে, ঘরটি API 16 বা তার বেশি হলে ওয়াল ব্যবহার করবে এবং এটি কোনও কম মেমরি ডিভাইস নয় । আপনি RoomDatabase.Builder setJournalMode() পদ্ধতি ব্যবহার করে এই আচরণটি নিয়ন্ত্রণ করতে পারেন। বি/67757002

  • পেয়ারা সমর্থন : রুম এখন DAO প্রশ্নের মধ্যে পেয়ারা Optional<T> বা ListenableFuture<T> রিটার্নিংকে সমর্থন করে। ListenableFuture<T> ব্যবহার করতে, আপনাকে ঘর থেকে guava আর্টিফ্যাক্ট আমদানি করতে হবে ( android.arch.persistence.room:guava:1.1.0-alpha2

  • রুম এখন java.util.Optional<T> DAO কোয়েরি থেকে ফিরে সমর্থন।

  • ডিফল্ট বাস্তবায়ন সহ ইন্টারফেস পদ্ধতিগুলি এখন DAO ক্লাসে @Transaction পদ্ধতিতে সমর্থিত। এটি Java 8 এবং Kotlin উভয়ের জন্যই কাজ করে। বি/72416735

বাগ ফিক্স

  • @Relation সহ কনস্ট্রাক্টরগুলি যদি অন্য কোনও কনস্ট্রাক্টর ব্যবহার করা যায় তবে সংকলন ত্রুটির কারণ হবে না। বি/72884434

  • ' @Query পদ্ধতিতে ' এর সাথে পালানো টেবিলের নামগুলি এখন অবৈধ ট্র্যাকারের জন্য সঠিকভাবে পালানো হয়েছে। বি/72366965

  • রুম এখন টীকা প্রক্রিয়াকরণের সময় শ্রেণি কাঠামো পড়তে কোটলিন @Metadata টীকাগুলি ব্যবহার করে। এর অর্থ, এমনকি যদি কোনও POJO নির্ভরতা থেকে উত্তরাধিকার সূত্রে প্রাপ্ত হয় তবে এর নির্মাণকারী প্যারামিটারের নামগুলি সঠিকভাবে পড়া যায়। বি/67181813

  • ডাউনগ্রেড মাইগ্রেশন পাথ সন্ধান করার একটি সমস্যা স্থির করা হয়েছে। বি/72153525

  • বিদ্যমান ডাটাবেস থেকে ঘরে স্থানান্তরিত করার সময় নন ডিফল্ট কলামের ধরণগুলি এখন সঠিকভাবে পরিচালনা করা হয়। বি/71953987

  • ঘর এখন সঠিকভাবে হ্যান্ডলস অবিরাম boolean? কোটলিন ক্লাসে ক্ষেত্রগুলি। বি/72786402

জানুয়ারী 22, 2018

লাইফসাইকেলগুলি 1.1.0 , ঘর 1.1.0-alpha1 এবং পেজিং 1.0.0-alpha5 প্রকাশিত হয়েছে।

লাইফসাইকেল 1.1.0

প্যাকেজিং পরিবর্তন

নতুন, অনেক ছোট নির্ভরতা এখন উপলব্ধ:

  • android.arch.lifecycle:livedata:1.1.0
  • android.arch.lifecycle:viewmodel:1.1.0

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

  • অবমূল্যায়িত LifecycleActivity এবং LifecycleFragment এখন মুছে ফেলা হয়েছে - দয়া করে FragmentActivity , AppCompatActivity বা সমর্থন Fragment ব্যবহার করুন।
  • @NonNull টীকাগুলি ViewModelProviders এবং ViewModelStores যুক্ত করা হয়েছে
  • ViewModelProviders কনস্ট্রাক্টরকে অবমূল্যায়ন করা হয়েছে - দয়া করে সরাসরি এর স্থির পদ্ধতিগুলি ব্যবহার করুন
  • ViewModelProviders.DefaultFactory হ্রাস করা হয়েছে - দয়া করে ViewModelProvider.AndroidViewModelFactory ব্যবহার করুন
  • স্ট্যাটিক ViewModelProvider.AndroidViewModelFactory.getInstance(Application) পদ্ধতিটি ViewModel এবং AndroidViewModel দৃষ্টান্ত তৈরির জন্য উপযুক্ত একটি স্থির Factory পুনরুদ্ধার করতে যুক্ত করা হয়েছে।

ঘর 1.1.0-আলফা 1

নতুন বৈশিষ্ট

  • RawQuery : এই নতুন এপিআই @Dao পদ্ধতিগুলিকে ক্যোয়ারী প্যারামিটার বি/62103290 , বি/71458963 হিসাবে এসকিউএল গ্রহণের অনুমতি দেয়
  • fallBackToDestructiveMigrationsFrom : RoomDatabase.Builder এই নতুন এপিআই।
  • রুম এখন কেবল নতুন পেজিং এপিআই (আলফা -4+) সমর্থন করে, অবমূল্যায়িত LivePagedListProvider পক্ষে সমর্থন ফেলে। নতুন কক্ষ আলফা ব্যবহার করতে, আপনাকে পেজিং alpha-4 বা উচ্চতর ব্যবহার করতে হবে এবং LivePagedListProvider থেকে LivePagedListBuilder স্যুইচ করতে হবে যদি আপনি ইতিমধ্যে না থাকেন।

বাগ ফিক্স

  • কোটলিন ক্যাপের ধরণের জন্য উন্নত সমর্থন। বি/69164099
  • ক্ষেত্রগুলির ক্রম আর স্কিমাকে অকার্যকর করে না। বি/64290754

পেজিং 1.0.0-আলফা5

বাগ ফিক্স

  • স্থানধারীরা বি/70573345 অক্ষম থাকলে পৃষ্ঠা লোডিং ঠিক করুন
  • অবৈধরগমেন্ট এক্সসেপশন বাগ বি/70360195 (এবং অনুমানমূলক রুম-সাইড ফিক্স) ট্র্যাক করার জন্য অতিরিক্ত লগিং
  • জাভাদোক নমুনা কোড ফিক্স বি/70411933 , বি/71467637

11 ডিসেম্বর, 2017

পেজিং alpha4-1 প্রকাশিত হয়। এটি পেজিং আলফা 4 এর জন্য একটি ছোট বাগফিক্স রিলিজ।

বাগ ফিক্স

  • অবৈধ ডেটা উত্সগুলির জন্য কলব্যাক প্যারামিটারগুলি পরীক্ষা করবেন না। বি/70353706 , বি/70360195

ডিসেম্বর 7, 2017

পেজিং alpha4 প্রকাশিত হয়, উল্লেখযোগ্য পরিবর্তন এবং সংযোজন সহ, বেশিরভাগ টার্গেটিং নেটওয়ার্ক এবং নেটওয়ার্ক + ডাটাবেস ইউজেসেসগুলি।

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

  • নেটওয়ার্ক থেকে সরাসরি পেজিং সহজ করার জন্য DataSource এখন একটি অ্যাসিঙ্ক এপিআই:

    • প্রাথমিক আকার এবং ডেটা জন্য একক প্রবেশ পয়েন্ট
    • কলব্যাক ধরে রেখে এবং পরে প্রেরণ করে নেটওয়ার্ক পুনরায় চেষ্টা করে সমর্থন করে
    • থ্রেডসেফ কলব্যাকগুলি ইউআই থ্রেডে একক নেটওয়ার্ক ব্যাকড PagedList তৈরির জন্য অ্যাসিঙ্ক লোডিংয়ের অনুমতি দেয়।
    • প্রাথমিক লোড প্যারামিটারগুলির চারপাশে পরিষ্কার ত্রুটি আচরণ
  • TiledDataSource তার অবস্থান-ভিত্তিক সূচককে প্রতিফলিত করার জন্য PositionalDataSource নামকরণ করা হয়েছে এবং স্থানধারীরা অক্ষম থাকাকালীন এটি টাইল না করে।

  • নেটওয়ার্ক পৃষ্ঠা লোডগুলিতে এম্বেড থাকা পরবর্তী/পূর্ববর্তী টোকেনগুলিকে সমর্থন করার জন্য PageKeyedDataSource যুক্ত করা হয়েছে। পার্থক্য পরিষ্কার করার জন্য KeyedDataSource ItemKeyedDataSource নামকরণ করা হয়েছে।

  • LivePagedListBuilder এবং DataSource.Factory LivePagedListProvider প্রতিস্থাপন করুন। বিল্ডার আরও কাস্টমাইজেশন এবং সহজ ডিফল্ট সহ একই ক্ষমতা সরবরাহ করে। কারখানাটি DataSource প্রজন্মের কোডকে LiveData থেকে স্বাধীন থাকতে দেয়।

  • PagedList.BoundaryCallback ডাটাবেস + নেটওয়ার্ক ইউজেকেসের জন্য যুক্ত হয়েছে।

  • PagedList.Builder কনস্ট্রাক্টর DataSource + PagedList.Config নেয়, এখন LivePagedListBuilder সাথে আরও মিল, এবং জাভা ভাষায় ডায়মন্ড অপারেটরকে বা কোটলিনে অনুমিত প্রকারের অনুমতি দেয়।

  • PagedList.getConfig() যুক্ত হয়েছে, এবং PagedList.Config এখন সর্বজনীন সদস্য সম্পত্তি রয়েছে।

  • KeyedDataSource.loadBefore() আর ফলাফলগুলি বিপরীত হওয়ার প্রত্যাশা করে না।

  • PagedListAdapter.onCurrentListChanged() আপডেটগুলি শুনতে পেজডলিস্টটি প্রদর্শিত হচ্ছে এমনগুলির জন্য শোনার জন্য যুক্ত হয়েছে।

বাগ ফিক্স

  • পেজডলিস্টাডাপ্টারে (সহায়ক) বি/67883658 এ স্থির সূচক

1.0.0 - নভেম্বর 6, 2017

সমস্ত বড় উপাদান (পেজিং বাদে) এখন 1.0.0 । এটি rc1 এর মতো একই রিলিজ যা reactivestreams লাইব্রেরিতে একটি পরিবর্তন ব্যতীত।

বাগ ফিক্স

রিলিজ প্রার্থী - অক্টোবর 18, 2017

সমস্ত বড় শিল্পকর্ম (পেজিং বাদে) এখন 1.0.0-rc1

1.0.0 রিলিজের জন্য আমাদের আর কোনও পরিচিত সমস্যা বা নতুন বৈশিষ্ট্য নির্ধারিত নেই । দয়া করে আপনার প্রকল্পগুলি 1.0.0-rc1 ব্যবহার করতে আপগ্রেড করুন এবং এটি পরীক্ষা করতে আমাদের সহায়তা করতে সহায়তা করুন যাতে আমরা একটি শিলা শক্ত 1.0.0 প্রেরণ করতে পারি।

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

  • এই রিলিজের সাথে, Lifecycle.Event#ON_STOP এখন প্রেরণ করা হয় যখন onSaveInstanceState বলা হয় (পূর্ববর্তী, এটি কেবল ON_STOP প্রেরণ ছাড়াই CREATED হিসাবে চিহ্নিত করা হয়েছিল)। আপনি লাইফসাইক্লেস ডকুমেন্টেশনে এটি সম্পর্কে আরও পড়তে পারেন।

বাগ ফিক্স

  • রুম:

    • ঘরটি এখন সর্বশেষতম জেরিয়াল আর্টিফ্যাক্টের উপর নির্ভর করে যা সংকলনের সময় OutOfMemory সমস্যাগুলি সমাধান করে। খ/62473121
    • Query পদ্ধতিগুলি এখন @Transaction দিয়ে টীকা দেওয়া যেতে পারে। বিশদের জন্য @Transaction ট্রান্সজেকশনে রেফারেন্স ডক্স দেখুন। বি/65112315
    • কক্ষে StringUtil ক্লাসটি পাবলিক এপিআই থেকে সরানো হয় (এটি কখনই পাবলিক এপিআই হিসাবে উদ্দেশ্য ছিল না)।
  • জীবন চক্র:

    • LiveData যথাযথভাবে কাজ করে যখন ক্রিয়াকলাপটি আংশিকভাবে এপিআই <24. বি/65665621 এ আচ্ছাদিত থাকে

    • পিতামাতার ক্লাসে OnLifecycleEvent পদ্ধতিগুলি এখন সঠিকভাবে কল করা হয় বা সংকলনের সময় একটি সতর্কতা মুদ্রিত হয় যদি এটি সম্ভব না হয়। বি/63474615

    • লাইফসাইকেলটি এখন তার জীবনচক্রের মালিকের কাছে একটি WeakReference ধরে রেখেছে যদি লাইফসাইলে মালিককে ফাঁস করা এড়াতে এড়াতে পারে যদি লাইফসাইকেলটি স্বাভাবিকের চেয়ে বেশি সময় ধরে রাখা হয় (এটি কেবল একটি সতর্কতা, আপনার এখনও Lifecycle ফাঁস না করার বিষয়ে সতর্ক হওয়া উচিত)।

অক্টোবর 9, 2017

পেজিং alpha-3 প্রকাশিত হয়; যা এটি লাইফসাইকেল এবং রুমের beta 2 প্রকাশের সাথে সামঞ্জস্যপূর্ণ করে তোলে।

বাগ ফিক্স

  • উন্নত পেজিং ডকুমেন্টেশন।

5 অক্টোবর, 2017

সমস্ত বড় শিল্পকর্ম (পেজিং বাদে) এখন beta 2 । এই প্রকাশে পেজিংয়ের কোনও নতুন সংস্করণ নেই।

বাগ ফিক্স

  • জীবন চক্র:

    • LiveDataReactiveStreams এখন সোর্স প্রকাশকের কাছ থেকে যথাযথভাবে সাবস্ক্রাইব যখন LiveData সক্রিয় থাকে না। বি/62609183
    • পিতা -মাতার ক্লাসগুলি অন্য মডিউল থেকে আসে যখন লাইফসাইকেল ইভেন্টগুলি পিতামাতার ক্লাসে সঠিকভাবে প্রচার করা হয়। বি/63474615
    • লাইভডাটা সাবস্ক্রেশন তৈরির সময় সাবস্ক্রাইব করার সময় পর্যবেক্ষকদের যথাযথভাবে পরিচালনা করে। বি/66337741
    • জাভা 8 টি ভাষা শিল্পকর্মের জন্য FullLifecycleObserver এখন নির্ভরতা গাছটিতে উপলব্ধ। বি/66525578

    • প্রোগুয়ার্ডের জন্য, দয়া করে আপনার প্রোগুয়ার্ড ফাইলে নিম্নলিখিত লাইনগুলি যুক্ত করুন। (1.0.0 জাহাজ যখন এটি প্রয়োজন হবে না)

      • -keep class * implements android.arch.lifecycle.GeneratedAdapter {<init>(...);}
  • রুম:

    • রুম এখন সংকলনের সময় একটি ত্রুটি প্রিন্ট করে যখন @Query পদ্ধতিতে ফিরে আসা পোজো একটি @NonNull ক্ষেত্র থাকে যা ক্যোয়ারির প্রতিক্রিয়াতে কোনও কলামের সাথে মেলে না। যদি ক্ষেত্রটি @Nullable হয় তবে ঘরটি কেবল একটি সতর্কতা মুদ্রণ করে। বি/67115337
    • রুম এখন নতুন ওএস সংস্করণগুলিতে সূচকগুলি বৈধ করে। বি/63132683
    • ঘরটি ডিফল্টরূপে নো-আরগ কনস্ট্রাক্টরকে বাছাই করে যদি কোনও পোজোতে একাধিক ম্যাচিং কনস্ট্রাক্টর থাকে। বি/67353427
    • একক কলাম প্রাথমিক কীগুলি যদি এটি একটি Integer বা Long হয় তবে তা Nullable হতে পারে। বি/67086876
    • অবৈধকরণ ট্র্যাকার সঠিকভাবে পরীক্ষা মোডে পুনরায় প্রবেশ পরিচালনা করে। বি/65471397
    • রুম এখন সংকলন সময়ে কলাম এবং টেবিলের নামগুলিতে অবৈধ অক্ষরগুলির জন্য চেক করে (অবৈধ অক্ষর: ` , " )। বি/64749111

সেপ্টেম্বর 21, 2017

এই প্রকাশের সাথে, সমস্ত আর্কিটেকচার উপাদান মডিউলগুলি কমপক্ষে beta 1 এ পৌঁছায় (নতুন পেজিং লাইব্রেরি যা alpha 2 হয়) ব্যতীত)।

আমরা আর কোনও এপিআই পরিবর্তনের পরিকল্পনা করছি না। অপরিকল্পিত পরিবর্তনগুলি ঘটতে পারে তবে 1.0.0 স্থিতিশীল হওয়ার আগে কোনও এপিআই পরিবর্তন করার বারটি খুব বেশি এবং হওয়ার সম্ভাবনা কম।

  • লাইফসাইক্লিঅ্যাক্টিভিটি এবং লাইফসাইকেলফ্র্যাগমেন্টটি 1.0.0 স্থিতিশীল হওয়ার আগে সরানো হবে। সমর্থন লাইব্রেরি 26.1.0 বা তার পরে ব্যবহার করার সময় তাদের প্রয়োজন হয় না।

আলফা পর্বের বিপরীতে, বিটা ফেজটি খুব স্বল্প সময়কাল হওয়ার কথা রয়েছে।

সংস্করণ পরিবর্তন

  • লাইফসাইকেল এক্সটেনশন এবং রুম এখন beta 1
  • পেজিং এখন alpha 2
  • লাইফসাইকেলগুলিতে কোনও পরিবর্তন (রানটাইম, সাধারণ) এবং আর্চ কোর (সাধারণ)। এই দুটি নিদর্শনগুলি 13 সেপ্টেম্বর থেকে 1.0.0 সংস্করণ।

নতুন শিল্পকর্ম

  • লাইফসাইকেলের এখন common-java8 নামে একটি নতুন নিদর্শন রয়েছে। এই নিদর্শনটিতে ডিফল্টলিফেসাইক্লোবসার্ভার নামে একটি নতুন ইন্টারফেস রয়েছে; যার সমস্ত জীবনচক্র পদ্ধতির জন্য ডিফল্ট বাস্তবায়ন রয়েছে। আপনি যদি জাভা 8 ভাষা ব্যবহার করছেন তবে আপনার এই শিল্পকর্মটি টীকাগুলির চেয়ে পছন্দ করা উচিত।

    • beta1 এ একটি বাগের কারণে, আপনাকে android.arch.lifecycle:common:1.0.1 মডিউলটিতে নতুন common-java8 আর্টিফ্যাক্ট ব্যবহার করার জন্য একটি সুস্পষ্ট নির্ভরতা যুক্ত করতে হবে। এই সমস্যাটি beta2 এ স্থির করা হবে।

প্যাকেজিং পরিবর্তন

  • android.arch.persistence.room.db android.arch.persistence.db এ সরানো হয়েছে
  • android.arch.persistence.room.db-impl সরানো হয়েছে এবং নামকরণ করা হয়েছে android.arch.persistence.db-framework

এই উভয় নিদর্শনগুলি ইতিমধ্যে রুমের উপর নির্ভরশীলতা তাই আপনি যদি সেগুলি সরাসরি ব্যবহার না করেন তবে আপনার বিল্ড ফাইলগুলিতে আপনাকে কিছু পরিবর্তন করার দরকার নেই।

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

  • রুম:

    • @কলমিনফো টীকা এখন কলামে একটি কোলেশন সেট করা সমর্থন করে। বি/62007004
    • transient ক্ষেত্রগুলি এখন ডিফল্টরূপে উপেক্ষা করা হয় যদি না সেগুলি @ColumnInfo , @Embedded বা @Relation দিয়ে টীকা দেওয়া হয়। বি/62600692
    • প্রাথমিক কীগুলি স্বয়ংক্রিয়ভাবে উত্পন্ন না হলে @NonNull দিয়ে টীকা দিতে হবে। বি/64292391
      • This change may require a schema migration. অসুবিধার জন্য দুঃখিত।
    • Added a new convenience annotation ( @Transaction ) which overrides a DAO method and runs it inside a transaction.
  • Support SQLite Database:

  • পেজিং:

    • Improved Paging documentation with more examples and thread annotations.

বাগ ফিক্স

  • রুম:
    • Kotlin multi-line strings in @Query methods are handled properly. b/65809374
  • পেজিং:
    • Paging artifact does not depend on junit anymore. b/65690261

1.0.0 Alpha 9-1 - September 13, 2017

This is a major release where core lifecycle artifacts (runtime, common) and arch core (common) reach to stable version 1.0.0 .

Along with this change, Support Library 26.1.0 now depends on these libraries. Both AppCompatActivity and Support Fragment now implement the LifecycleOwner interface.

This release also depends on Support Library 26.1.0 to take advantage of the new integration.

New Library: Paging

This release also includes a new library called Paging , which allows easily loading large data sets into a RecyclerView in chunks when necessary. Paging is released as alpha1 and will have its own release cycle.

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

বাগ ফিক্স

  • Generated classes are now annotated with @Generated if the app has the annotation in the classpath. b/35754819

  • Fixed MediatorLiveData's observer comparison bug. b/64413274

  • SQLite WITH queries are now supported with [LiveData]. [ref-LiveData] b/62510164

  • Fixed a bug where InvalidationTracker would not send the right list if more than 1 table is observed. b/65099281

  • Fixed a bug where Room would generate different files on Windows. b/64470691

  • LifecycleObservers in root package are now supported. b/62310817

1.0.0 Alpha 9 - August 16, 2017

বাগ ফিক্স

1.0.0 আলফা 8 - আগস্ট 1, 2017

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

  • NOT NULL constraint is added for columns of primitive types or columns annotated with NonNull . This changes the structure of your tables, so if you're already using Architecture Components alpha 7 or earlier, you need to implement a migration if you want to keep the data, or use the fallbackToDestructiveMigration() method in the builder. b/62007004

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

1.0.0 Alpha 7 - July 26, 2017

বাগ ফিক্স

1.0.0 আলফা 6 - 25 জুলাই, 2017

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

  • The order of LifecycleObserver calls was changed. Previously observers were always called in the order of their addition: if observer1 is added before observer2 , it will receive ON_CREATE and all other events before observer2 . This is no longer true for destruction events, for them observers are called in the reverse order of addition. So current behavior is: if observer1 is added before observer2 , then ON_CREATE is sent first to observer1 , then to observer2 (same happens for ON_START and ON_RESUME ), but ON_PAUSE event is sent first to observer2 and only then to observer1 (same for ON_STOP and ON_DESTROY ).

  • Room throws an exception if migration is missing. Previously Room would just clear the database, but now it crashes. Developers can opt-in to the clearing behavior by calling the builder API. b/63872392

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

  • Added fallbackToDestructiveMigration() method to RoomDatabase.Builder to clear the database if migration is missing. b/63872392

  • Architecture components now depend on support library 26.0.0

বাগ ফিক্স

1.0.0 Alpha 5 - July 18, 2017

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

You need to depend on android.arch.persistence.room:rxjava2 artifact to add RxJava support to Room.

বাগ ফিক্স

  • Fixed @Delete queries without any parameters. b/63608092

  • Fixed Room type checks for getters and setters. b/63733651

1.0.0 Alpha 4 - July 11, 2017

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

  • Added a new convenience method ( runInTransaction() ) to RoomDatabase .

  • @Insert , @Delete and @Update methods can now have parameters from different entity types. b/62682405

বাগ ফিক্স

  • Fixed byte[] handling in @Dao methods. b/62460045

  • Migration check in Room now uses case-insensitive comparison. b/62875382

  • Fixed the proguard configuration for the Lifecycles artifact. b/62113696

1.0.0 আলফা 3 - জুন 15, 2017

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

  • @OnLifecycleEvent supports only 1 event parameter now. This is a change in preparation for Java 8 support so that we can migrate to interfaces with default methods in the future. In relation to this change, only the @OnLifecycleEvent(ON_ANY) annotated methods can receive a second parameter of type Event (first parameter is the LifecycleOwner ). See Lifecycle docs for details.

  • LifecycleActivity and LifecycleFragment classes are moved into the android.arch.lifecycle:extensions artifact.

  • MigrationTestHelper receives the Instrumentation instance instead of the Context to be able to read the schema from the test assets and create the database in the application context.

  • @Insert , @Delete and @Update annotations in @DAO methods can now have Iterable as the parameter type. b/62259820

বাগ ফিক্স

  • Overridden methods with lifecycle events are not called multiple times anymore.

  • Multiple IN parameters are now handled properly. b/62608681

  • Abstract DAO classes can now have a constructor that receives the @Database instance. b/38488747

  • DAO 's can now have a super class/interface with type parameters. b/62103620

1.0.0 Alpha 2 - June 2, 2017

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

বাগ ফিক্স

  • Proguard files for lifecycles. ( b/62113696 )
  • Loss of data with Type Converters. ( b/62100716 )
  • Allow returning Long[] from @Insert queries.

1.0.0 Alpha 1 - May 17, 2017

MinSDK: 14

সাধারণ পরামর্শ

  • While we did a lot of testing prior to launch, Architecture Components are currently in alpha. If you're building a production app, be aware that the API will change before the 1.0 release and might not be fully robust. If you're not comfortable debugging problems in libraries you use, we recommend trying Architecture Components in side projects first.

  • We're not recommending that everyone migrate today. We'll have a migration guide ready for the 1.0 release of architecture components.

পরিচিত সীমাবদ্ধতা এবং সমস্যা