ওয়ার্ক ম্যানেজার
সর্বশেষ আপডেট | স্থিতিশীল রিলিজ | প্রার্থী মুক্তি | বিটা রিলিজ | আলফা রিলিজ |
---|---|---|---|---|
সেপ্টেম্বর 18, 2024 | 2.9.1 | - | - | 2.10.0-আলফা04 |
নির্ভরতা ঘোষণা করা
WorkManager-এর উপর নির্ভরতা যোগ করতে, আপনাকে অবশ্যই আপনার প্রকল্পে Google Maven সংগ্রহস্থল যোগ করতে হবে:
আপনার অ্যাপ বা মডিউলের জন্য build.gradle
ফাইলে আপনার প্রয়োজনীয় আর্টিফ্যাক্টগুলির জন্য নির্ভরতা যোগ করুন:
গ্রোভি
dependencies { def work_version = "2.9.1" // (Java only) implementation "androidx.work:work-runtime:$work_version" // Kotlin + coroutines implementation "androidx.work:work-runtime-ktx:$work_version" // optional - RxJava2 support implementation "androidx.work:work-rxjava2:$work_version" // optional - GCMNetworkManager support implementation "androidx.work:work-gcm:$work_version" // optional - Test helpers androidTestImplementation "androidx.work:work-testing:$work_version" // optional - Multiprocess support implementation "androidx.work:work-multiprocess:$work_version" }
কোটলিন
dependencies { val work_version = "2.9.1" // (Java only) implementation("androidx.work:work-runtime:$work_version") // Kotlin + coroutines implementation("androidx.work:work-runtime-ktx:$work_version") // optional - RxJava2 support implementation("androidx.work:work-rxjava2:$work_version") // optional - GCMNetworkManager support implementation("androidx.work:work-gcm:$work_version") // optional - Test helpers androidTestImplementation("androidx.work:work-testing:$work_version") // optional - Multiprocess support implementation("androidx.work:work-multiprocess:$work_version") }
Kotlin এক্সটেনশন ব্যবহার করার তথ্যের জন্য, ktx ডকুমেন্টেশন দেখুন।
নির্ভরতা সম্পর্কে আরও তথ্যের জন্য, বিল্ড নির্ভরতা যুক্ত করুন দেখুন।
প্রতিক্রিয়া
আপনার প্রতিক্রিয়া জেটপ্যাককে আরও ভাল করতে সাহায্য করে। আপনি যদি নতুন সমস্যা আবিষ্কার করেন বা এই লাইব্রেরির উন্নতির জন্য ধারনা পান তাহলে আমাদের জানান। আপনি একটি নতুন তৈরি করার আগে অনুগ্রহ করে এই লাইব্রেরিতে বিদ্যমান সমস্যাগুলি দেখুন৷ আপনি তারকা বোতামে ক্লিক করে একটি বিদ্যমান সমস্যায় আপনার ভোট যোগ করতে পারেন।
আরও তথ্যের জন্য ইস্যু ট্র্যাকার ডকুমেন্টেশন দেখুন।
সংস্করণ 2.10
সংস্করণ 2.10.0-alpha04
সেপ্টেম্বর 18, 2024
androidx.work:work-*:2.10.0-alpha04
প্রকাশিত হয়েছে। 2.10.0-alpha04 সংস্করণে এই কমিট রয়েছে।
এপিআই পরিবর্তন
- স্টপ কারণ যোগ করুন
STOP_REASON_FOREGROUND_SERVICE_TIMEOUT
যখন একজন ফোরগ্রাউন্ড কর্মী ফোরগ্রাউন্ড পরিষেবার ধরণের উপর ভিত্তি করে এক্সিকিউশন টাইমআউটের কারণে বন্ধ হয়ে যায়। ( Ibd0af )
সংস্করণ 2.10.0-alpha03
4 সেপ্টেম্বর, 2024
androidx.work:work-*:2.10.0-alpha03
প্রকাশিত হয়েছে। সংস্করণ 2.10.0-alpha03-এ এই কমিট রয়েছে।
নতুন বৈশিষ্ট্য
-
WorkManager
থেকে Jobs-এ ট্রেস ট্যাগ যোগ করা হয়েছে যা 'adb shell dumpsys jobscheduler'-কে বোঝার জন্য অনেক সহজ করে তোলে কারণ এতে কার্যকরী কর্মীর নাম থাকবে।WorkManager
এর মূল ক্ষেত্রগুলির চারপাশে ট্রেস বিভাগগুলিও যোগ করা হয়েছে।
এপিআই পরিবর্তন
- WorkManager 2.10.0 এখন SDK 35 এর সাথে কম্পাইল করা হয়েছে।
- 'শর্ট সার্ভিস' এবং 'ডেটা সিঙ্ক' টাইপ ফোরগ্রাউন্ড কর্মীদের ঠিক করুন টাইমিং আউট এবং
WorkManager
যখনstopSelf()
কল না করে তখন ANR ঘটায়। এই ফিক্সটি শুধুমাত্র API 34 এবং 35 সহ ডিভাইসগুলিতে প্রযোজ্য যেখানে ফোরগ্রাউন্ড পরিষেবার ধরন চালু করা হয়েছিল। ( ca06b2 , b/364508145 ) - নতুন
WorkerParameters
APIs যেগুলি একটিWorkerFactory
ব্যবহার করার সময়Worker
আবদ্ধ হয় এমন দূরবর্তী প্রক্রিয়াটি পরিবর্তন করা সম্ভব করে৷ ( Ibdc8a , Ie8a90 , I7373f )
বাগ ফিক্স
-
WorkManager
দীর্ঘদিন ধরে চলমান কর্মীকে (যেমন একজন ফোরগ্রাউন্ড কর্মী) পুনরায় চালু করার চেষ্টা করার ফলে সৃষ্ট একটি ক্র্যাশ ঠিক করুন যখন কাজের অগ্রভাগে Android 14 পূর্বশর্ত অনুমতিগুলি প্রত্যাহার করা হয়েছিল। ( b/333957914 ) - নতুন প্ল্যাটফর্ম API-এ অ্যাক্সেসের ম্যানুয়াল রূপরেখা সরানো হয়েছে যেহেতু AGP 7.3 বা তার পরে (যেমন R8 সংস্করণ 3.3) এবং AGP 8.1 বা তার পরবর্তী (যেমন D8 সংস্করণ 8.1) ব্যবহার করার সময় R8 ব্যবহার করার সময় এটি স্বয়ংক্রিয়ভাবে API মডেলিংয়ের মাধ্যমে ঘটে। যে সকল ক্লায়েন্ট AGP ব্যবহার করছেন না তাদের D8 সংস্করণ 8.1 বা তার পরবর্তী সংস্করণে আপডেট করার পরামর্শ দেওয়া হচ্ছে। আরো বিস্তারিত জানার জন্য এই নিবন্ধটি দেখুন. ( IA60e0 , b/345472586 )
সংস্করণ 2.10.0-alpha02
এপ্রিল 17, 2024
androidx.work:work-*:2.10.0-alpha02
প্রকাশিত হয়েছে। সংস্করণ 2.10.0-alpha02-এ এই কমিট রয়েছে।
এপিআই পরিবর্তন
-
WorkManager
এ কনফিগারযোগ্য@RestrictTo
Tracer
মাধ্যমে ট্রেস স্প্যান নির্গত করার ক্ষমতা যোগ করা হয়েছে। ( I17d7f , b/260214125 ) -
Configuration.workerCoroutineContext
প্রেরক নিয়ন্ত্রণের জন্য যোগ করা হয়েছিল যেখানেCoroutineWorker
কার্যকর করা হয়। এটিWorkManager
এDispatchers.Default
এর ব্যবহার সম্পূর্ণরূপে এড়াতে সাহায্য করে। ( Icd1b7 ) - শ্রমিকদের জন্য কাস্টম ব্যতিক্রম হ্যান্ডলার যোগ করুন ( Ib1b74 , b/261190695 )
-
OneTimeWorkRequest.Builder
এবংPeriodicWorkRequest.Builder
এখনClass
এর পরিবর্তেKClass
দিয়ে তৈরি করা যেতে পারে :val request = OneTimeWorkRequest.Builder(Worker::class).setConstraints(...).build()
( Ib55f6 ) -
WorkManager
ক্লাস কোটলিনে স্থানান্তরিত হয়েছে। এখন যে পদ্ধতিগুলিLiveData
,ListenableFuture
বাFlow
ফেরত দেয় সেগুলি সঠিক শূন্যতার তথ্য প্রদান করে। এটির জন্য ক্লায়েন্টদের সোর্স কোডে পরিবর্তনের প্রয়োজন হতে পারে, যদি সেই কোডে বাতিলযোগ্যতা অনুমানগুলি ভুল ছিল। ( if6757 )
সংস্করণ 2.10.0-alpha01
24 জানুয়ারী, 2024
androidx.work:work-*:2.10.0-alpha01
প্রকাশিত হয়েছে। সংস্করণ 2.10.0-alpha01-এ এই কমিট রয়েছে।
নতুন বৈশিষ্ট্য
- বিকাশকারীরা
Constraints.setRequiredNetworkRequest
পদ্ধতির মাধ্যমে একজন কর্মীর জন্য একটি সীমাবদ্ধতা হিসাবেNetworkRequest
নির্দিষ্ট করতে পারেন। এই কর্মীকে কোন নেটওয়ার্ক চালানো উচিত তার উপর এটি আরও দানাদার নিয়ন্ত্রণ সক্ষম করে৷
এপিআই পরিবর্তন
- সীমাবদ্ধতা হিসাবে
NetworkRequest
নির্দিষ্ট করার ক্ষমতা যোগ করা হচ্ছে। ( Id98a1 , b/280634452 )
সংস্করণ 2.9
সংস্করণ 2.9.1
7 আগস্ট, 2024
androidx.work:work-*:2.9.1
প্রকাশিত হয়েছে। সংস্করণ 2.9.1-এ এই কমিটগুলি রয়েছে।
বাগ ফিক্স
-
WorkManager
দীর্ঘদিন ধরে চলমান কর্মীকে (যেমন একজন ফোরগ্রাউন্ড কর্মী) পুনরায় চালু করার চেষ্টা করার ফলে সৃষ্ট একটি ক্র্যাশ ঠিক করুন যখন কাজের অগ্রভাগে Android 14 পূর্বশর্ত অনুমতিগুলি প্রত্যাহার করা হয়েছিল। ( b/333957914 )
সংস্করণ 2.9.0
নভেম্বর 29, 2023
androidx.work:work-*:2.9.0
প্রকাশিত হয়েছে। সংস্করণ 2.9.0 এই কমিট ধারণ করে.
2.8.0 থেকে গুরুত্বপূর্ণ পরিবর্তন
-
Flow
-s মাধ্যমে পর্যবেক্ষণযোগ্যতা.LiveData
এর পরিবর্তে, কর্মীদের অগ্রগতি এখনWorkManager.getWorkInfosFlow
এবং অনুরূপ পদ্ধতির মাধ্যমে ফ্লো-এর মাধ্যমে পর্যবেক্ষণ করা যেতে পারে। - এখন
WorkManager
একটি ইঙ্গিত প্রদান করে কেন একজন কর্মীকে আগে থামানো হয়েছিল। এটিgetStopReason()
পদ্ধতির মাধ্যমে অথবাgetStopReason()
মাধ্যমেWorkInfo
থেকে একজন কর্মী থেকে জিজ্ঞাসা করা যেতে পারে। -
setNextScheduleTimeOverride
মাধ্যমে পর্যায়ক্রমিক কর্মীদের সুনির্দিষ্ট সময়সূচী। এটি পরবর্তী পর্যায়ক্রমিক কাজের সময়সূচীর গতিশীল গণনার অনুমতি দেয়, যা অ্যাডাপ্টিভ রিফ্রেশ টাইম, কাস্টম পুনঃপ্রচেষ্টা আচরণ, অথবা ব্যবহারকারীর প্রবাহ ছাড়াই প্রতিদিন সকালে ঘুম থেকে ওঠার আগে একটি নিউজফিড কর্মীকে চালানোর মতো উন্নত বৈশিষ্ট্যগুলি বাস্তবায়ন করতে ব্যবহার করা যেতে পারে।ExistingPeriodicWorkPolicy.UPDATE
এই কৌশলগুলির সাথে ব্যবহার করা উচিত যাতে পরেরটির সময়সূচী করার সময় বর্তমানে চলমান একজন কর্মীকে বাতিল করা এড়াতে হবে৷ - থ্রেডিং ম্যাচিং প্রোডাকশন সহ WorkManager-এর পরীক্ষা।
ExecutorsMode.PRESERVE_EXECUTORS
initializeTestWorkManager
ব্যবহার করা যেতে পারেConfiguration
সেট করা নির্বাহক সংরক্ষণ করতে এবং আসল মূল থ্রেড ব্যবহার করতে। - Coroutines APIs যেমন
CoroutineWorker
অতিরিক্ত আর্টিফ্যাক্ট ওয়ার্ক-রানটাইম-ktx থেকে মূল আর্টিফ্যাক্ট ওয়ার্ক-রানটাইমে সরানো হয়েছে। work-runtime-ktx এখন খালি।
এপিআই পরিবর্তন
-
stopReason
WorkInfo
তে যোগ করা হয়েছে। কর্মী চালানোর পরে এটিstopReason
উপলব্ধ করে। এটি একটি ব্যবহারযোগ্য উপায়ে রিপোর্টিংstopReason
রিজনে সহায়ক হতে পারে, কারণ একবার একজন কর্মীকে থামানো হলে, একটি অ্যাপ নিজেই খুব দ্রুত মারা যেতে পারে। ( I21386 ) -
Clock
কনফিগারেশনের মাধ্যমে সেট করার অনুমতি দিন এবং ওয়ার্কার টেস্টের এক্সিকিউশন সিকোয়েন্সিং চালাতে ব্যবহার করুন। ( Ic586e ) -
getStopReason()
পদ্ধতিListenableWorker
এ যোগ করা হয়েছে যা কর্মীকে কেন থামানো হয়েছিল তা একটি ইঙ্গিত দেয়। ( I07060 ) - ফাঁস হওয়া সংস্থান সম্পর্কে Closeguard-এর সতর্কতা এড়াতে
WorkManagerTestInitHelper#closeWorkDatabase()
যোগ করা হয়েছে। ( IA8d49 ) -
WorkInfo
এর কনস্ট্রাক্টর এখন সর্বজনীন, যা পরীক্ষায় উপযোগী হতে পারে। ( IA00b6 , b/209145335 ) -
work-runtime-ktx
এখন খালি,CoroutineWorker
এবং অন্যান্য Kotlin নির্দিষ্ট ইউটিলিটিগুলি এখন মূল কাজের-রানটাইম আর্টিফ্যাক্টে উপলব্ধ। ( I71a9a ) -
setNextScheduleTimeOverride
পদ্ধতি যোগ করা হয়েছে, যা পর্যায়ক্রমিক কাজের সময়সূচী ( I3b4da ) সঠিক সেটিং করতে দেয় - নির্ধারিত রান টাইম তথ্য পেতে
getNextScheduleTimeMillis
যোগ করা হয়েছেWorkInfo
তে যোগ করা হয়েছে। ( I797e4 ) -
WorkInfo
প্রাথমিক বিলম্ব এবং পর্যায়ক্রমিক তথ্য যোগ করা হয়। ( I52f2f ) - যোগ করা পদ্ধতি কর্মীদের পর্যবেক্ষণ করে ফ্লোসের মাধ্যমে মেথড
getWorkInfosByTagFlow
,getWorkInfoByIdFlow
,getWorkInfosForUniqueWorkFlow
,getWorkInfosFlow
( If122a ) - অনুপস্থিত
@RequiresApi(...)
টীকা যোগ করা হয়েছেConstraints
এর কনস্ট্রাক্টর এবং বৈশিষ্ট্যে। তারা এখনConstraints.Builder
এ সেটারের সংশ্লিষ্ট টীকাগুলির সাথে সারিবদ্ধ হয়েছে যাWorkManager
এর প্রথম সংস্করণ থেকে বিদ্যমান ছিল। ( I6d7d2 ) -
WorkManager
এখন কন্টেন্ট ইউআরআই কর্মীদের জন্য একটি আলাদা সীমা রয়েছে যাতে তারাJobScheduler
এ গ্যারান্টিযুক্ত স্লট দিতে পারে যাতে উচ্চ লোডের অধীনে সামগ্রীর আপডেটগুলি হারিয়ে না যায়৷ সীমাটিConfiguration.Builder.setContentUriTriggerWorkersLimit
এর মাধ্যমে কনফিগার করা যেতে পারে। ( IC128f ) -
WorkInfo
সীমাবদ্ধতা যোগ করা হয়েছে। ( I162c0 )
সংস্করণ 2.9.0-rc01
18 অক্টোবর, 2023
androidx.work:work-*:2.9.0-rc01
প্রকাশিত হয়েছে। সংস্করণ 2.9.0-rc01-এ এই কমিট রয়েছে।
- শেষ বিটা রিলিজ থেকে কোন পরিবর্তন
সংস্করণ 2.9.0-beta01
6 সেপ্টেম্বর, 2023
androidx.work:work-*:2.9.0-beta01
প্রকাশিত হয়েছে। সংস্করণ 2.9.0-beta01-এ এই কমিট রয়েছে।
এপিআই পরিবর্তন
-
WorkInfo.stopReason
এবংListenableWorker.stopReason
( I0cc00 ) দ্বারা প্রত্যাবর্তিত স্টপ কারণের জন্য ধ্রুবক যোগ করা হয়েছে
সংস্করণ 2.9.0-alpha02
জুলাই 26, 2023
androidx.work:work-*:2.9.0-alpha02
প্রকাশিত হয়েছে। সংস্করণ 2.9.0-alpha02 এই কমিট ধারণ করে।
নতুন বৈশিষ্ট্য
- এখন
WorkManager
একটি ইঙ্গিত প্রদান করে কেন একজন কর্মীকে আগে থামানো হয়েছিল। এটিgetStopReason()
পদ্ধতির মাধ্যমে অথবাgetStopReason()
মাধ্যমেWorkInfo
থেকে একজন কর্মী থেকে জিজ্ঞাসা করা যেতে পারে।
এপিআই পরিবর্তন
-
stopReason
WorkInfo
তে যোগ করা হয়েছে। কর্মী দৌড়ানোর পরে এটিstopReason
উপলব্ধ করে। এটি ব্যবহারযোগ্য উপায়ে রিপোর্টিংstopReason
রিজনে সহায়ক হতে পারে, কারণ একবার একজন কর্মীকে থামানো হলে, একটি অ্যাপ নিজেই খুব দ্রুত মারা যেতে পারে। ( I21386 ) - ক্লককে কনফিগারেশনের মাধ্যমে সেট করার অনুমতি দিন এবং ওয়ার্কার টেস্টের এক্সিকিউশন সিকোয়েন্সিং চালাতে ব্যবহার করুন। ( Ic586e )
-
getStopReason()
পদ্ধতিListenableWorker
এ যোগ করা হয়েছে যা কর্মীকে কেন থামানো হয়েছিল তা একটি ইঙ্গিত দেয়। ( I07060 ) - ফাঁস হওয়া সংস্থান সম্পর্কে Closeguard-এর সতর্কতা এড়াতে
WorkManagerTestInitHelper#closeWorkDatabase()
যোগ করা হয়েছে। ( IA8d49 )
বাগ ফিক্স
-
TestDriver
ব্যবহার করেoverrideNextScheduleTime
বাইপাস করার ক্ষমতা যুক্ত করা হয়েছে এবং পরীক্ষাযোগ্যতার সাথে সমস্যাগুলি সমাধান করা হয়েছে। ( IC2905 )
সংস্করণ 2.9.0-alpha01
7 জুন, 2023
androidx.work:work-*:2.9.0-alpha01
প্রকাশিত হয়েছে। সংস্করণ 2.9.0-alpha01-এ এই কমিট রয়েছে।
নতুন বৈশিষ্ট্য
-
Flow
-s মাধ্যমে পর্যবেক্ষণযোগ্যতা.LiveData
এর পরিবর্তে, কর্মীদের অগ্রগতি এখনWorkManager.getWorkInfosFlow
এবং অনুরূপ পদ্ধতির মাধ্যমে ফ্লো-এর মাধ্যমে পর্যবেক্ষণ করা যেতে পারে। -
setNextScheduleTimeOverride
মাধ্যমে পর্যায়ক্রমিক কর্মীদের সুনির্দিষ্ট সময়সূচী। এটি পরবর্তী পর্যায়ক্রমিক কাজের সময়সূচীর গতিশীল গণনার অনুমতি দেয়, যা অ্যাডাপ্টিভ রিফ্রেশ টাইম, কাস্টম পুনঃপ্রচেষ্টা আচরণ, অথবা ব্যবহারকারীর প্রবাহ ছাড়াই প্রতিদিন সকালে ঘুম থেকে ওঠার আগে একটি নিউজফিড কর্মীকে চালানোর মতো উন্নত বৈশিষ্ট্যগুলি বাস্তবায়ন করতে ব্যবহার করা যেতে পারে।ExistingPeriodicWorkPolicy.UPDATE
এই কৌশলগুলির সাথে ব্যবহার করা উচিত যাতে পরেরটির সময়সূচী করার সময় বর্তমানে চলমান একজন কর্মীকে বাতিল করা এড়াতে হবে৷ - থ্রেডিং ম্যাচিং প্রোডাকশন সহ
WorkManager
এর পরীক্ষা।ExecutorsMode.PRESERVE_EXECUTORS
Configuration
সেট করা নির্বাহক সংরক্ষণ করতে এবং আসল প্রধান থ্রেড ব্যবহার করতে ব্যবহার করা যেতে পারে। - Coroutines APIs যেমন
CoroutineWorker
অতিরিক্ত আর্টিফ্যাক্টwork-runtime-ktx
থেকে মূল আর্টিফ্যাক্টwork-runtime
সরানো হয়েছে।work-runtime-ktx
এখন খালি।
এপিআই পরিবর্তন
-
WorkInfo
এর কনস্ট্রাক্টর এখন সর্বজনীন, এটি পরীক্ষায় কার্যকর হতে পারে। ( IA00b6 , b/209145335 ) -
work-runtime-ktx
এখন খালি,CoroutineWorker
এবং অন্যান্য kotlin নির্দিষ্ট ইউটিলিটিগুলি এখন মূলwork-runtime
আর্টিফ্যাক্টে উপলব্ধ। ( I71a9a ) -
setNextScheduleTimeOverride
পদ্ধতি যোগ করা হয়েছে, যা পর্যায়ক্রমিক কাজের সময়সূচী ( I3b4da ) সঠিক সেটিং করতে দেয় -
getEarliestRunTimeMillis
নাম পরিবর্তন করেgetNextScheduleTimeMillis
করা হয়েছে। ( I2bd7a ) - পরবর্তী নির্ধারিত রান টাইম তথ্য
WorkInfo
এ যোগ করা হয়। ( I797e4 ) -
WorkInfo
প্রাথমিক বিলম্ব এবং পর্যায়ক্রমিক তথ্য যোগ করা হয়। ( I52f2f ) - যোগ করা পদ্ধতি কর্মীদের পর্যবেক্ষণ করে ফ্লোসের মাধ্যমে মেথড
getWorkInfosByTagFlow
,getWorkInfoByIdFlow
,getWorkInfosForUniqueWorkFlow
,getWorkInfosFlow
( If122a ) - অনুপস্থিত
@RequiresApi(...)
টীকা যোগ করা হয়েছে Constraints এর কনস্ট্রাক্টর এবং বৈশিষ্ট্যে। তারা এখনConstraints.Builder
এ সেটারের সংশ্লিষ্ট টীকাগুলির সাথে সারিবদ্ধ হয়েছে যাWorkManager
এর প্রথম সংস্করণ থেকে বিদ্যমান ছিল। ( I6d7d2 ) -
WorkManager
এখন কন্টেন্ট ইউআরআই কর্মীদের জন্য একটি আলাদা সীমা রয়েছে যাতে তারাJobScheduler
এ গ্যারান্টিযুক্ত স্লট দিতে পারে যাতে উচ্চ লোডের অধীনে সামগ্রীর আপডেটগুলি হারিয়ে না যায়৷Configuration.Builder.setContentUriTriggerWorkersLimit
এর মাধ্যমে সীমা কনফিগার করা যেতে পারে। ( IC128f ) -
WorkInfo
সীমাবদ্ধতা যোগ করা হয়েছে। ( I162c0 )
সংস্করণ 2.8
সংস্করণ 2.8.1
22 মার্চ, 2023
androidx.work:work-*:2.8.1
প্রকাশিত হয়েছে। সংস্করণ 2.8.1 এই কমিট ধারণ করে.
বাগ ফিক্স
-
RescheduleReceiver
এ স্থির ANR যা আগে দুটি একযোগে সম্প্রচার সঠিকভাবে পরিচালনা করেনি। ( b/236906724 )
সংস্করণ 2.8.0
ফেব্রুয়ারী 8, 2023
androidx.work:work-*:2.8.0
প্রকাশিত হয়েছে। সংস্করণ 2.8.0 এই কমিট ধারণ করে.
2.7.0 থেকে গুরুত্বপূর্ণ পরিবর্তন
নতুন বৈশিষ্ট্য
- একটি অ-অনুপ্রবেশকারী উপায়ে
WorkRequests
আপডেট করার ক্ষমতা যোগ করা হয়েছে, মূল সারিবদ্ধ সময় সংরক্ষণ, চেইনিং ইত্যাদি। এই বৈশিষ্ট্য সম্পর্কে বিস্তারিত ব্লগপোস্ট দেখুন, সেইসাথেWorkManager.updateWork
এবংExistingPeriodicWorkPolicy.UPDATE
এর জন্য আরও বিশদ বিবরণের জন্য javadocs দেখুন।
এপিআই পরিবর্তন
-
WorkManager.updateWork
এর মূল সারিবদ্ধ সময় এবং চেইনিং সংরক্ষণ করে আপডেট করার জন্য যুক্ত করা হয়েছে।( I9a248 , b/219446409 ) -
ExistingPeriodicWorkPolicy.UPDATE
যোগ করা হয়েছে৷ এই নীতি নাম অনুসারে একটি পর্যায়ক্রমিক কাজ আপডেট করার অনুমতি দেয়। এটি বিদ্যমানREPLACE
এর অনুরূপ, কিন্তু এটি কম অনুপ্রবেশকারী: এটি বর্তমানে চলমান থাকলে এটি কোনও কর্মীকে বাতিল করে না এবং এটি সারিবদ্ধ সময় সংরক্ষণ করে - প্রাথমিক বিলম্ব এবং সময়কাল আপডেটের সময়ের পরিবর্তে মূল সারিবদ্ধ সময় থেকে গণনা করা হয়। REPLACE নামকREPLACE
এবংUPDATE
মধ্যে একটি বিভ্রান্তি কমাতেREPLACE
অবমূল্যায়ন করা হয়েছিল। আপনি যদি এখনওREPLACE
এর আগের শব্দার্থ রাখতে চান, তাহলে নতুন যোগ করাCANCEL_AND_REENQUEUE
, যাREPLACE
এর অনুরূপ, ব্যবহার করা যেতে পারে৷ ( I985ed , b/219446409 ) - setSchedulingExceptionHandler- এর মাধ্যমে
Consumer<Throwable>
প্রদান করার সময়সূচী ব্যতিক্রমগুলিকে আটকানোর ক্ষমতা যুক্ত করা হয়েছে ) - WorkManager আরম্ভ করার চেষ্টা করার সময় সমস্যা ছিল কিনা তা নির্ধারণ করতে setInitializationExceptionHandler- এর মাধ্যমে
Consumer<Throwable>
প্রদান করার ক্ষমতা যোগ করা হয়েছে। -
OneTimeWorkRequest
এবংPeriodicWorkRequest
এর জন্য ইনলাইন সাহায্যকারীদেরandroidx.work:work-runtime-ktx
থেকেandroidx.work:work-runtime
( I0010f , b/209145335 ) এ সরানো হয়েছে -
WorkQuery.fromIds
,WorkQuery.fromStates
,WorkQuery.fromUniqueWorkNames
,WorkQuery.fromTags
সরাসরিWorkQuery
তৈরি করতে যোগ করা হয়েছে। ( b/199919736 ) ( If48f2 , b/199919736 ) -
Worker
এgetForegroundInfo
যোগ করা হয়েছে। ( IC1ead ) - RxJava 2 এবং RxJava 3 উভয়ের জন্যই
RxWorker
এখনsetForeground
রিটার্নিংCompletable
রয়েছে যাsetForegroundInfoAsync
পরিবর্তে ব্যবহার করা যেতে পারে যাListenableFuture
প্রদান করে - RxJava 2 এবং RxJava 3 উভয়ের জন্য
RxWorker
getForegroundInfo
রিটার্নিংSingle
রয়েছে যাgetForegroundInfoAsync
এর পরিবর্তে ব্যবহার করা যেতে পারে যাListenableFuture
প্রদান করে। ( b/203851459 ) - সীমাবদ্ধতাগুলি এখন
Constraints.Builder
ব্যবহার না করে সরাসরি নির্মাণ করা যেতে পারে, যা Kotlin ব্যবহারকারীদের জন্য সুবিধাজনক। ( আইডিসি৩৯০ , বি/১৩৭৫৬৮৬৫৩ ) -
WorkManager
আরম্ভ করা হয়েছে কিনা তা পরীক্ষা করার ক্ষমতা যোগ করা হয়েছে। এছাড়াও,WorkManager
যে কনফিগারেশনের সাথে আরম্ভ করা হয়েছিল সেটি পেতে লাইব্রেরি ডেভেলপারদের জন্য একটি নতুনgetConfiguration()
API যোগ করা হয়েছে। ( I6eff3 , b/212300336 )
বাগ ফিক্স
- লোভী শিডিউলারের সাথে একটি সমস্যা সমাধান করা হয়েছে যা লোডের অধীনে থাকা অবস্থায় কর্মীদের অবিলম্বে দৌড়াতে বাধা দেবে। ( I9686b , b/248111307 )
- API-তে
@RequiresPermission
যোগ করা হয়েছে যার জন্য SDK 33 এবং তার উপরেPOST_NOTIFICATIONS
অনুমতি দিতে হবে। ( IE542e , b/238790278 ) -
suspendCancellableCoroutine
ব্যবহার করার সময়CoroutineScope
এ বাতিলকরণগুলিListenableFuture
এ প্রচার করুন।
সংস্করণ 2.8.0-rc01
7 ডিসেম্বর, 2022
androidx.work:work-*:2.8.0-rc01
প্রকাশিত হয়েছে। সংস্করণ 2.8.0-rc01-এ এই কমিট রয়েছে।
নতুন বৈশিষ্ট্য
- এই রিলিজে কোন নতুন বৈশিষ্ট্য নেই। এটি মূলত একটি সংস্করণ বাম্প
সংস্করণ 2.8.0-beta02
9 নভেম্বর, 2022
androidx.work:work-*:2.8.0-beta02
প্রকাশিত হয়েছে। সংস্করণ 2.8.0-beta02-এ এই কমিট রয়েছে।
বাগ ফিক্স
-
WorkInfo
তে ফিক্সডequals
পদ্ধতি, যা আগে নতুন প্রজন্মের তথ্যকে বিবেচনায় নেয়নি। ( 4977cc )
সংস্করণ 2.8.0-beta01
5 অক্টোবর, 2022
androidx.work:work-*:2.8.0-beta01
প্রকাশিত হয়েছে। সংস্করণ 2.8.0-beta01-এ এই কমিট রয়েছে।
বাগ ফিক্স
- লোভী শিডিউলারের সাথে একটি সমস্যা সমাধান করা হয়েছে যা লোডের অধীনে থাকা অবস্থায় কর্মীদের অবিলম্বে দৌড়াতে বাধা দেবে। ( I9686b , b/248111307 )
সংস্করণ 2.8.0-alpha04
7 সেপ্টেম্বর, 2022
androidx.work:work-*:2.8.0-alpha04
প্রকাশিত হয়েছে। সংস্করণ 2.8.0-alpha04 এই কমিট ধারণ করে।
এপিআই পরিবর্তন
-
WorkerInfo.getGeneration()
এবংWorkerParameters.getGeneration()
যোগ করা হয়েছে যা একজন শ্রমিকের প্রজন্ম ফিরিয়ে দেয়। একজন কর্মীর একাধিক প্রজন্ম আছে, যদি এটিWorkManager.updateWork
বাWorkManager.enqueueUniquePeriodicWork
এর মাধ্যমেExistingPeriodicWorkPolicy.UPDATE
ব্যবহার করে আপডেট করা হয়। মনে রাখবেন যে কর্মী বর্তমানে চলমান থাকলে, এই পদ্ধতির দ্বারা বর্তমান চলমান কর্মী থেকে একটি নতুন প্রজন্ম ফিরিয়ে আনা সম্ভব যদি কর্মীকে কার্যকর করার সময় একটি আপডেট ঘটে থাকে। ( I665c5 , b/219446409 ) ( I128a9 , b/219446409 ) -
InitializationExceptionHandler
যোগ করা হয়েছে, একটি ব্যতিক্রম হ্যান্ডলার যাWorkManager
আরম্ভ করার চেষ্টা করার সময় সমস্যা ছিল কিনা তা নির্ধারণ করতে ব্যবহার করা যেতে পারে। ( I061de )
সংস্করণ 2.8.0-alpha03
10 আগস্ট, 2022
androidx.work:work-*:2.8.0-alpha03
প্রকাশিত হয়েছে। সংস্করণ 2.8.0-alpha03 এই কমিট ধারণ করে।
নতুন বৈশিষ্ট্য
- একটি অ-অনুপ্রবেশকারী উপায়ে
WorkRequests
আপডেট করার ক্ষমতা যোগ করা হয়েছে, মূল সারিবদ্ধ সময় সংরক্ষণ করা, চেইন করা ইত্যাদি। আরও বিস্তারিত জানার জন্যWorkManager.updateWork
এবংExistingPeriodicWorkPolicy.UPDATE
দেখুন।
এপিআই পরিবর্তন
-
WorkManager.updateWork
এর মূল সারিবদ্ধ সময় এবং চেইনিং সংরক্ষণ করে আপডেট করার জন্য যুক্ত করা হয়েছে।( I9a248 , b/219446409 ) -
ExistingPeriodicWorkPolicy.UPDATE
যোগ করা হয়েছে৷ এই নীতি নাম দ্বারা একটি পর্যায়ক্রমিক কাজ আপডেট করার অনুমতি দেয়। এটি বিদ্যমানREPLACE
এর অনুরূপ, কিন্তু এটি কম অনুপ্রবেশকারী: এটি বর্তমানে চলমান থাকলে এটি কোনও কর্মীকে বাতিল করে না এবং এটি সারিবদ্ধ সময় সংরক্ষণ করে - প্রাথমিক বিলম্ব এবং সময়কাল আপডেটের সময়ের পরিবর্তে মূল সারিবদ্ধ সময় থেকে গণনা করা হয়। REPLACE নামকREPLACE
এবংUPDATE
মধ্যে একটি বিভ্রান্তি কমাতেREPLACE
অবমূল্যায়ন করা হয়েছে। আপনি যদি এখনওREPLACE
এর আগের শব্দার্থ রাখতে চান, তাহলে নতুন যোগ করাCANCEL_AND_REENQUEUE
, যাREPLACE
এর অনুরূপ, ব্যবহার করা যেতে পারে৷ ( I985ed , b/219446409 ) - একটি
SchedulingExceptionHandler
সংজ্ঞায়িত করে সময়সূচী ব্যতিক্রমগুলিকে বাধা দেওয়ার ক্ষমতা যোগ করুন। ( I033eb ) -
OneTimeWorkRequest
এবংPeriodicWorkRequest
এর জন্য ইনলাইন সাহায্যকারীদেরandroidx.work:work-runtime-ktx
থেকেandroidx.work:work-runtime
( I0010f , b/209145335 ) এ সরানো হয়েছে
বাগ ফিক্স
- API-তে
@RequiresPermission
যোগ করা হয়েছে যার জন্য SDK 33 এবং তার উপরে POST_NOTIFICATIONS অনুমতি দিতে হবে। ( IE542e , b/238790278 )
সংস্করণ 2.8.0-alpha02
6 এপ্রিল, 2022
androidx.work:work-*:2.8.0-alpha02
প্রকাশিত হয়েছে। সংস্করণ 2.8.0-alpha02 এই কমিট ধারণ করে।
এপিআই পরিবর্তন
- সীমাবদ্ধতাগুলি এখন বিল্ডার ব্যবহার করার পরিবর্তে সরাসরি নির্মাণ করা যেতে পারে, যা কোটলিন ব্যবহারকারীদের জন্য সুবিধাজনক। ( আইডিসি৩৯০ , বি/১৩৭৫৬৮৬৫৩ )
-
WorkManager
আরম্ভ করা হয়েছে কিনা তা পরীক্ষা করার ক্ষমতা যোগ করা হয়েছে। এছাড়াও,WorkManager
যে কনফিগারেশনের সাথে আরম্ভ করা হয়েছিল সেটি পেতে লাইব্রেরি ডেভেলপারদের জন্য একটি নতুনgetConfiguration()
API যোগ করা হয়েছে। ( I6eff3 , b/212300336 )
সংস্করণ 2.8.0-alpha01
জানুয়ারী 12, 2022
androidx.work:work-*:2.8.0-alpha01
প্রকাশিত হয়েছে। সংস্করণ 2.8.0-alpha01 এই কমিট ধারণ করে।
এপিআই পরিবর্তন
- সাহায্যকারী পদ্ধতি
WorkQuery.fromStates
,WorkQuery.fromUniqueWorkNames
,WorkQuery.fromTags
সরাসরি WorkQuery তৈরি করতে যোগ করা হয়েছে৷ ( If48f2 , b/199919736 ) - ভবিষ্যতের SDK-এর জন্য পরীক্ষামূলক BuildCompat পদ্ধতি যোগ করে ( Iafd82 , b/207528937 )
-
Worker
এgetForegroundInfo
যোগ করুন। ( IC1ead ) - সাহায্যকারী পদ্ধতি
WorkQuery.fromIds
থেকে সরাসরি WorkQuery তৈরি করতে যোগ করা হয়েছে। ( Ie5bdf , b/199919736 ) - RxWorker-এ এখন
setForeground
রিটার্নিংCompletable
আছে যাsetForegroundInfoAsync
পরিবর্তে ব্যবহার করা যেতে পারে যাListenableFuture
প্রদান করে। ( I85156 ) - RxJava 2-এর জন্য RxWorker-এর কাছে এখন
getForegroundInfo
রিটার্নিংSingle
রয়েছে যাgetForegroundInfoAsync
এর পরিবর্তে ব্যবহার করা যেতে পারে যাListenableFuture
প্রদান করে। ( I21c91 , b/203851459 ) - RxJava 3-এর জন্য RxWorker-এর কাছে এখন
getForegroundInfo
রিটার্নিংSingle
রয়েছে যাgetForegroundInfoAsync
এর পরিবর্তে ব্যবহার করা যেতে পারে যাListenableFuture
প্রদান করে। ( I1ca8a ) - RxWorker-এ এখন
setForeground
রিটার্নিংCompletable
আছে যাsetForegroundInfoAsync
পরিবর্তে ব্যবহার করা যেতে পারে যাListenableFuture
প্রদান করে। ( I992a3 , b/203851459 )
বাগ ফিক্স
-
suspendCancellableCoroutine
ব্যবহার করার সময়CoroutineScope
এ বাতিলকরণগুলিListenableFuture
এ প্রচার করুন। ( I77e63 )
সংস্করণ 2.7
সংস্করণ 2.7.1
17 নভেম্বর, 2021
androidx.work:work-*:2.7.1
প্রকাশিত হয়েছে। সংস্করণ 2.7.1 এই কমিট ধারণ করে.
বাগ ফিক্স
-
suspendCancellableCoroutine
ব্যবহার করার সময়CoroutineScope
এ বাতিলকরণগুলিListenableFuture
এ প্রচার করা হয়। ( I77e63 ) - বিলম্বিত কাজের অনুরোধগুলিকে ত্বরান্বিত হিসাবে চিহ্নিত করা হলে একটি ব্যতিক্রম অবিলম্বে নিক্ষেপ করা হয়। bef1762
সংস্করণ 2.7.0
13 অক্টোবর, 2021
androidx.work:work-*:2.7.0
প্রকাশিত হয়েছে। সংস্করণ 2.7.0 এই কমিট ধারণ করে.
2.6.0 থেকে গুরুত্বপূর্ণ পরিবর্তন
WorkManager Android 12-এ ফোরগ্রাউন্ড পরিষেবা বিধিনিষেধের সাথে সাহায্য করার জন্য একটি নতুন
WorkRequest.Builder.setExpedited(...)
API প্রবর্তন করেছে৷setExpedited(...)
ব্যবহার করার সময়, WorkManager Android 12 থেকে শুরু করে JobScheduler-এ ত্বরান্বিত চাকরির জন্য অর্পণ করে, যখন একটি ফোরগ্রাউন্ড পরিষেবাতে অর্পণ করে Android এর পূর্ববর্তী সংস্করণগুলিতে পিছনের সামঞ্জস্য প্রদান করে।
সংস্করণ 2.7.0-rc01
29 সেপ্টেম্বর, 2021
androidx.work:work-*:2.7.0-rc01
প্রকাশিত হয়েছে। সংস্করণ 2.7.0-rc01-এ এই কমিট রয়েছে।
এই সংস্করণটি androidx.work:work-*:2.7.0-beta01
এর অনুরূপ।
সংস্করণ 2.7.0-beta01
1 সেপ্টেম্বর, 2021
androidx.work:work-*:2.7.0-beta01
প্রকাশিত হয়েছে। সংস্করণ 2.7.0-beta01-এ এই কমিট রয়েছে।
নতুন বৈশিষ্ট্য
- WorkManager আরম্ভ করার সময় মাল্টি-প্রসেস SQLite বিরোধ কমিয়ে দিন।
এপিআই পরিবর্তন
- Android 12 (S) এর জন্য অন্তর্নিহিত প্ল্যাটফর্ম API গুলিকে স্থিতিশীল বলে
@ExperimentalExpeditedWork
APIগুলি সরান৷ ( aosp/1792806 )
বাগ ফিক্স
- ত্বরান্বিত কর্মীদের জন্য একটি ভাল ত্রুটি বার্তা প্রদান করুন যারা
getForegroundInfoAsync()
বাস্তবায়ন করে না। ( aosp/1809376 )
সংস্করণ 2.7.0-alpha05
জুলাই 21, 2021
androidx.work:work-*:2.7.0-alpha05
প্রকাশিত হয়েছে। সংস্করণ 2.7.0-alpha05 এই কমিট ধারণ করে।
এই রিলিজে WorkManager 2.6.0-beta02
রিলিজের বাগ ফিক্সও রয়েছে।
সংস্করণ 2.7.0-alpha04
2 জুন, 2021
androidx.work:work-*:2.7.0-alpha04
প্রকাশিত হয়েছে।
এই রিলিজে 2.6.0-beta01 রিলিজের পরিবর্তনও রয়েছে।
এপিআই পরিবর্তন
-
ListenableWorker.setForegroundAsync()
আর অবহেলিত নয়। - আমরা যখন সম্ভব হলে
WorkRequest.Builder.setExpedited(...)
API ব্যবহার করার পরামর্শ দিই। যখন অ্যাপটি ফোরগ্রাউন্ড পরিষেবা বিধিনিষেধের সাপেক্ষে নয় এমন পরিস্থিতিতে আরও ভাল সমর্থন করার জন্য, বিকাশকারীরাListenableWorker.setForegroundAsync()
API ব্যবহার করতে পারেন। - যদি
ListenableWorker.setForegroundAsync()
কল করা হয়, যখন অ্যাপটি ফোরগ্রাউন্ড পরিষেবা বিধিনিষেধের সাপেক্ষে, এটি ForegroundServiceStartNotAllowedException নিক্ষেপ করবে।
বাগ ফিক্স
- যখন ত্বরান্বিত কাজগুলি পুনর্নির্ধারণ করা হয়, তখন সেগুলি আর ত্বরান্বিত হয় না। তারা নিয়মিত চাকরিতে পরিণত হয়।
সংস্করণ 2.7.0-alpha03
21 এপ্রিল, 2021
androidx.work:work-*:2.7.0-alpha03
প্রকাশিত হয়েছে। সংস্করণ 2.7.0-alpha03 এই কমিট ধারণ করে।
নতুন বৈশিষ্ট্য
WorkManager
2.6.0-alpha02
থেকে : কর্মীদের জন্য সমর্থন যোগ করে যেগুলি যেকোনো প্রক্রিয়ায় চলতে পারে। ( আইএএফ২০০ )WorkManager
2.6.0-alpha02
থেকে : একটিRemoteCoroutineWorker
যোগ করা হয়েছে যাRemoteListenableWorker
এর একটি বাস্তবায়ন যা একটি দূরবর্তী প্রক্রিয়ার সাথে আবদ্ধ হতে পারে। ( I30578 )
এপিআই পরিবর্তন
- WorkManager
2.6.0-alpha02
থেকে :TEMPORARILY_UNMETERED
নেটওয়ার্ক সীমাবদ্ধতার জন্য সমর্থন যোগ করা হয়েছে। ( I08d5e ) - WorkManager
2.6.0-alpha02
থেকে :setProgressAsync()
এর জন্য মাল্টি-প্রসেস কর্মী সমর্থন। ( Ib6d08 ) - WorkManager
2.6.0-alpha02
থেকে :WorkManagerInitializer
সর্বজনীন করুন যাতে অন্যান্যandroidx.startup.Initializer
গুলি এগুলিকে নির্ভরতা হিসাবে ব্যবহার করতে পারে৷ ( I5ab11 )
সংস্করণ 2.7.0-alpha02
10 মার্চ, 2021
androidx.work:work-*:2.7.0-alpha02
প্রকাশিত হয়েছে। সংস্করণ 2.7.0-alpha02 এই কমিট ধারণ করে।
বাগ ফিক্স
- Android 12 টার্গেট করার সময় একটি ক্র্যাশ ঠিক করতে
PendingIntent
পরিবর্তনযোগ্যতাকে স্পষ্ট করুন। ( b/180884673 )
সংস্করণ 2.7.0-alpha01
18 ফেব্রুয়ারি, 2021
androidx.work:work-*:2.7.0-alpha01
প্রকাশিত হয়েছে। সংস্করণ 2.7.0-alpha01-এ এই কমিট রয়েছে।
নতুন বৈশিষ্ট্য
Android 12-এ অগ্রভাগের পরিষেবার বিধিনিষেধগুলি বিবেচনায় নেওয়ার জন্য WorkManager একটি নতুন
WorkRequest.Builder.setExpedited(...)
API প্রবর্তন করেছে৷ব্যাকগ্রাউন্ডে থাকাকালীন অ্যাপ্লিকেশনগুলি আর ফোরগ্রাউন্ড পরিষেবা চালু করতে পারে না। অতএব, দীর্ঘস্থায়ী কাজকে আরও ভালভাবে সমর্থন করার জন্য যা পূর্বে একটি ফোরগ্রাউন্ড পরিষেবার জীবনচক্রের সাথে আবদ্ধ ছিল, অ্যাপ্লিকেশনগুলি
WorkRequest
গুলিকে ত্বরান্বিত হিসাবে চিহ্নিত করতে পারে৷এই API হল
setForegroundAsync(...)
/setForeground(...)
API-এর প্রতিস্থাপন যা এখন অবচ্যুত ।setExpedited(...)
ব্যবহার করার সময়, WorkManager Android 12 থেকে শুরু করেJobScheduler
এ ত্বরান্বিত চাকরির জন্য অর্পণ করে, যখন Android এর পূর্ববর্তী সংস্করণগুলিতে অগ্রভাগের পরিষেবাগুলি অর্পণ করে পিছনের দিকে সামঞ্জস্য প্রদান করে,
এপিআই পরিবর্তন
- দ্রুত
WorkRequest
জন্য সমর্থন যোগ করুন।
সংস্করণ 2.6.0
সংস্করণ 2.6.0
1 সেপ্টেম্বর, 2021
androidx.work:work-*:2.6.0
প্রকাশিত হয়েছে। সংস্করণ 2.6.0 এই কমিট ধারণ করে.
2.5.0 থেকে গুরুত্বপূর্ণ পরিবর্তন
WorkManager এখন WorkManager আরম্ভ করতে
androidx.startup
ব্যবহার করে। আপনি যদিtools:node="remove"
ব্যবহার করেনContentProvider
পূর্বে WorkManager শুরু করার জন্য ব্যবহার করা হচ্ছে, তাহলে আপনাকে এর পরিবর্তে নিম্নলিখিতটি করতে হবে।<provider android:name="androidx.startup.InitializationProvider" android:authorities=\"${applicationId}.androidx-startup" android:exported="false" tools:node=\"merge"> <!-- If you are using androidx.startup to initialize other components --> <meta-data android:name="androidx.work.WorkManagerInitializer" android:value="androidx.startup" tools:node="remove" /> </provider>
<!-- If you want to disable android.startup completely. --> <provider android:name="androidx.startup.InitializationProvider" android:authorities="${applicationId}.androidx-startup" tools:node="remove" />
যে কোনো প্রক্রিয়ায় চলতে পারে এমন কর্মীদের জন্য সমর্থন যোগ করা হয়েছে। ( আইএএফ২০০ )
একটি
RemoteCoroutineWorker
যোগ করা হয়েছে যা RemoteListenableWorker এর একটি বাস্তবায়ন যা একটি দূরবর্তী প্রক্রিয়ার সাথে আবদ্ধ হতে পারে। ( I30578 )
সংস্করণ 2.6.0-rc01
4 আগস্ট, 2021
androidx.work:work-*:2.6.0-rc01
প্রকাশিত হয়েছে। সংস্করণ 2.6.0-rc01-এ এই কমিট রয়েছে।
এই সংস্করণটি androidx.work:work-*:2.6.0-beta02
এর অনুরূপ।
সংস্করণ 2.6.0-beta02
জুলাই 21, 2021
androidx.work:work-*:2.6.0-beta02
প্রকাশিত হয়েছে। সংস্করণ 2.6.0-beta02-এ এই কমিট রয়েছে।
বাগ ফিক্স
-
RemoteWorkManager
এখন সঠিকভাবেRemoteWorkManagerService
থেকে আনবাইন্ড করে যাRemoteWorkManagerService
সঠিকভাবে পরিষ্কার করতে দেয়। aosp/1730694 -
RemoteListenableWorker
এখনRemoteWorkerService
থেকে সঠিকভাবে আনবাইন্ড করে যাRemoteWorkerService
সঠিকভাবে পরিষ্কার করতে দেয়। aosp/1743817 -
ForceStopRunnable
এখন শুধুমাত্র প্রাথমিক অ্যাপ প্রক্রিয়ায় চলে। এটি একটি অপ্টিমাইজেশান, এবং একাধিক প্রক্রিয়া ব্যবহার করে এমন অ্যাপগুলির জন্য সংস্থান বিবাদ এড়িয়ে যায়। aosp/1749180 , aosp/1761729
সংস্করণ 2.6.0-beta01
2 জুন, 2021
androidx.work:work-*:2.6.0-beta01
প্রকাশিত হয়েছে। সংস্করণ 2.6.0-beta01-এ এই কমিট রয়েছে।
এই রিলিজে কিছু ছোটখাটো ডকুমেন্টেশন উন্নতি রয়েছে। রিলিজটি মূলত 2.6.0-alpha02 এর সাথে সমান।
সংস্করণ 2.6.0-alpha02
21 এপ্রিল, 2021
androidx.work:work-*:2.6.0-alpha02
প্রকাশিত হয়েছে। সংস্করণ 2.6.0-alpha02 এই কমিট ধারণ করে।
নতুন বৈশিষ্ট্য
কর্মীদের জন্য সমর্থন যোগ করে যা যেকোনো প্রক্রিয়ায় চলতে পারে। ( আইএএফ২০০ )
একটি
RemoteCoroutineWorker
যোগ করা হয়েছে যাRemoteListenableWorker
এর একটি বাস্তবায়ন যা একটি দূরবর্তী প্রক্রিয়ার সাথে আবদ্ধ হতে পারে। ( I30578 )
এপিআই পরিবর্তন
-
TEMPORARILY_UNMETERED
নেটওয়ার্ক সীমাবদ্ধতার জন্য সমর্থন যোগ করা হয়েছে। ( I08d5e ) -
setProgressAsync()
এর জন্য মাল্টি-প্রসেস কর্মী সমর্থন। ( Ib6d08 ) -
WorkManagerInitializer
সর্বজনীন করুন যাতে অন্যান্যandroidx.startup.Initializer
গুলি এগুলিকে নির্ভরতা হিসাবে ব্যবহার করতে পারে৷ ( I5ab11 )
সংস্করণ 2.6.0-alpha01
24 মার্চ, 2021
androidx.work:work-*:2.6.0-alpha01
প্রকাশিত হয়েছে। 2.6.0-alpha01 সংস্করণে এই কমিট রয়েছে।
নতুন বৈশিষ্ট্য
WorkManager
এখন WorkManager আরম্ভ করতেandroidx.startup
ব্যবহার করে। পূর্বে, এটিandroidx.work.impl.WorkManagerInitializer
দ্বারা করা হয়েছিল। ( aosp/1608813 )আপনি যদি
tools:node="remove"
ব্যবহার করেনContentProvider
অতীতে প্রসেস লাইফসাইকেল শুরু করার জন্য ব্যবহার করা হচ্ছে, তাহলে আপনাকে এর পরিবর্তে নিম্নলিখিতটি করতে হবে।<provider android:name="androidx.startup.InitializationProvider" android:authorities=\"${applicationId}.androidx-startup" android:exported="false" tools:node=\"merge"> <!-- If you are using androidx.startup to initialize other components --> <meta-data android:name="androidx.work.impl.WorkManagerInitializer" android:value="androidx.startup" tools:node="remove" /> </provider>
(বা)
<!-- If you want to disable android.startup completely. --> <provider android:name="androidx.startup.InitializationProvider" android:authorities="${applicationId}.androidx-startup" tools:node="remove"> </provider>
এপিআই পরিবর্তন
- একটি
Result.getOutputData()
API যোগ করুন যা ListenableWorker এরoutputData
প্রদান করে। ( IE51e3 )
বাগ ফিক্স
- একটি OEM বাগের জন্য একটি সমাধান যোগ করুন যার ফলে
AlarmManager
API ব্যবহার করার সময় একটিSecurityException
নিক্ষেপ করা হয়। ( aosp/1587518 )
সংস্করণ 2.5.0
সংস্করণ 2.5.0
জানুয়ারী 27, 2021
androidx.work:work-*:2.5.0
প্রকাশিত হয়েছে। সংস্করণ 2.5.0 এই কমিট ধারণ করে.
2.4.0 থেকে প্রধান পরিবর্তন
- একাধিক প্রক্রিয়া ব্যবহার করে এমন অ্যাপগুলির জন্য একটি নতুন
:work:work-multiprocess
artifact৷ এটি একটি একক প্রক্রিয়ায় কাজের অনুরোধের সময়সূচীকে একীভূত করার মাধ্যমে কর্মক্ষমতা লাভের পরিচয় দেয়।-
work-multiprocess
ব্যবহার করতে, এর উপর নির্ভরতা নির্ধারণ করুন:implementation "androidx.work:work-multiprocess:2.5.0"
- Configuration.Builder.setDefaultProcessName(String) ব্যবহার করে একটি প্রাথমিক প্রক্রিয়া নির্ধারণ করুন।
-
work-multiprocess
ব্যবহার করার সময় আপনি আপনারWorkRequest
গুলি পরিচালনা করতে RemoteWorkManager ব্যবহার করতে চান। RemoteWorkManager সর্বদা মনোনীত প্রক্রিয়ায় পৌঁছায়। ইন-প্রসেস সিডিউলারও নির্ধারিত প্রক্রিয়ায় চলে।
-
- কখনও কখনও,
ActivityManager
একটি কাজ শুরু করার জন্যJobService
ইন্সট্যান্স ইনস্ট্যান্ট করতে পারে না। এটি একটি প্ল্যাটফর্ম বাগের কারণে অন্তর্নিহিত কাজটি নীরবে বাদ দেয়।WorkManager
এখন নিশ্চিত করে যে প্রতিটিWorkRequest
জন্য ব্যাকিং জব আছে যখন চাকরির সমন্বয় করে একটিApplication
শুরু করা হচ্ছে। এটি ব্যাপকভাবে কাজ সম্পাদন নির্ভরযোগ্যতা উন্নত. ( b/172475041 , aosp/1489577 ) -
WorkManager
একটিWorkRequest
সম্পূর্ণ হওয়ার পরWorkRequest
গুলি ট্র্যাক করা বাফার সময়কাল কমিয়ে ডাটাবেসের বৃদ্ধি সীমিত করে। সময়কাল ছিল7
দিন আগে. এটি কমিয়ে1
দিন করা হয়েছে + KeepResultsForAtLeast সময়কাল। ( aosp/1419708 ) -
TestListenableWorkerBuilder
এখন পরীক্ষাকে সহজ করার জন্যListenableWorker
প্রসারিত রিফাইড ক্লাস সমর্থন করে। ( aosp/1443299 , b/169787349 ) - Android Studio Arctic Fox ব্যবহার করার সময় WorkManager পরিদর্শক এখন উপলব্ধ।
সংস্করণ 2.5.0-rc01
13 জানুয়ারী, 2021
androidx.work:work-*:2.5.0-rc01
প্রকাশিত হয়েছে। সংস্করণ 2.5.0-rc01-এ এই কমিট রয়েছে।
বাগ ফিক্স
-
WorkQuery
ভিত্তিক API ব্যবহার করার সময় সত্তা আপডেট করার পরেgetWorkInfosLiveData
সঠিকভাবে অবৈধ না হওয়া একটি বাগ সংশোধন করা হয়েছে। ( aosp/1540566 , b/173769028 ) - একটি বাগ সংশোধন করা হয়েছে যেখানে কিছু বিরল ক্ষেত্রে ডাটাবেস লেনদেন সফল হিসাবে চিহ্নিত করা হচ্ছে না। এটি কিছু Motorola ডিভাইসে সমস্যার সৃষ্টি করে। ( aosp/1535368 , b/175944460 )
- একটি মৃত প্রক্রিয়া থেকে আবদ্ধ করার চেষ্টা করার সময়
NoSuchElementException
উপেক্ষা করার জন্য একটি বাগ সংশোধন করা হয়েছে৷ ( aosp/1530589 ) - শুধুমাত্র একটি
ListenableWorker
বন্ধ করতেConstraintTrackingWorker
উন্নত করুন যদি এটি ইতিমধ্যে বন্ধ করা না হয়। ( aosp/1496844 , b/172946965 ) - Java 8 টার্গেট করতে androidx.work লাইব্রেরি আপডেট করুন ( Ibd2f2 )
সংস্করণ 2.5.0-beta02
2 ডিসেম্বর, 2020
androidx.work:work-*:2.5.0-beta02
প্রকাশিত হয়েছে। সংস্করণ 2.5.0-beta02 এই কমিট ধারণ করে।
বাগ ফিক্স
-
androidx.work:work-multiprocess
এ একটি বাগ সংশোধন করা হয়েছে যেখানে নির্ধারিত প্রক্রিয়ার সাথে আবদ্ধ করার চেষ্টা করার সময় WorkManager অসাবধানতাবশত কলিং থ্রেডটি ব্লক করেছে। ( aosp/1475538 ) - একটি বাগ সংশোধন করা হয়েছে যেখানে
PeriodicWorkRequest
গুলি সঠিকভাবে মিলিত হচ্ছে না। ( b/172475041 , aosp/1489577 ) -
setForeground*
API ব্যবহার করার সময় ফোরগ্রাউন্ড পরিষেবা বন্ধ করার সময় একটি প্ল্যাটফর্ম বাগের জন্য একটি সমাধান যোগ করা হয়েছে। ( b/170924044 , aosp/1489901 )
সংস্করণ 2.5.0-beta01
অক্টোবর 28, 2020
androidx.work:work-*:2.5.0-beta01
প্রকাশিত হয়েছে। সংস্করণ 2.5.0-beta01-এ এই কমিট রয়েছে।
নতুন বৈশিষ্ট্য
-
WorkManager
স্বয়ংক্রিয়ভাবেWorkRequest
এর সংখ্যা থ্রোটল করে যা ইন-প্রসেস শিডিউলার দ্বারা বাছাই করা যেতে পারে। অনুরোধগুলি এখনও FIFO আদেশে কার্যকর করা হয়। ( aosp/1455228 ) - যখন অ্যাপ্লিকেশনের ডেটাস্টোর খারাপ অবস্থায় থাকে তখন
WorkManager
পুনরুদ্ধার করার চেষ্টা করে। ( aosp/1463103 )
বাগ ফিক্স
- যখন
ListenableWorker
গুলিকে বাধা দেওয়া হয়, তখনই তাদেরENQUEUED
চিহ্নিত করুন যাতে তারা পরবর্তীতে পুনরায় নির্ধারিত হতে পারে। ( aosp/1455618 , b/170273988 )
সংস্করণ 2.5.0-alpha03
অক্টোবর 14, 2020
androidx.work:work-*:2.5.0-alpha03
প্রকাশিত হয়েছে। 2.5.0-alpha03 সংস্করণে এই কমিট রয়েছে।
এপিআই পরিবর্তন
-
TestListenableWorkerBuilder
এবংTestWorkerBuilder
কাঁচা প্রকার ব্যবহার করে না। ( I883ad , b/169787349 )
বাগ ফিক্স
- ডিফল্ট অ্যাপ প্রক্রিয়ার নাম নির্ধারণ করতে
ApplicationInfo
ব্যবহার করুন। ( b/168716641 , aosp/1429950 ) -
RemoteWorkManager
এবংRemoteWorkContinuation
জন্য দৃশ্যমানতার নিয়ম ঠিক করুন। এই APIগুলিকে আর@Restricted
হিসাবে চিহ্নিত করা হয় না। ( aosp/1432091 ) -
:work:work-multiprocess
এর জন্য proguard নিয়মগুলি ঠিক করুন। ( aosp/1432091 ) - ফোরগ্রাউন্ড পরিষেবাতে আবদ্ধ দীর্ঘ সময়ের জন্য কাজের জন্য বিজ্ঞপ্তি জীবনচক্র উন্নত করুন। ( b/168502234 , aosp/1431331 )
সংস্করণ 2.5.0-alpha02
16 সেপ্টেম্বর, 2020
androidx.work:work-*:2.5.0-alpha02
প্রকাশিত হয়েছে। সংস্করণ 2.5.0-alpha02 এই কমিট ধারণ করে।
নতুন বৈশিষ্ট্য
-
WorkInfo
s-এর জন্যid
ব্যবহার করতে WorkQuery-এ একটি API যোগ করুন। ( aosp/1412372 , b/157335295 ) - WorkManager এমন অ্যাপগুলিকে আরও ভালভাবে সমর্থন করে যেগুলি একটি নতুন আর্টিফ্যাক্ট (
androidx.work:work-multiprocess:*
) সহ একাধিক প্রক্রিয়া ব্যবহার করে৷ এই নতুন আর্টিফ্যাক্টটি কয়েকটি সমস্যা সমাধান করতে সাহায্য করে যা বড় অ্যাপগুলির সম্মুখীন হয়:- ওয়ার্ক ম্যানেজারকে সাধারণত প্রতিটি অ্যাপ প্রক্রিয়াতে আরম্ভ করা দরকার। এটি দুর্দান্ত নয় কারণ সেখানে SQLite বিরোধ বৃদ্ধি পেয়েছে যা ফলস্বরূপ অন্যান্য সমস্যার সৃষ্টি করে। WorkManager-এ এখন নতুন API রয়েছে যা
Configuration#setDefaultProcessName(processName)
ব্যবহার করে একটি প্রাথমিক অ্যাপ প্রক্রিয়া নির্ধারণ করতে ব্যবহার করা যেতে পারে।processName
হল একটি সম্পূর্ণ যোগ্য প্রক্রিয়ার নাম যা দেখতেpackageName:processName
(যেমনcom.example:remote
) এর মত। - নতুন API-এর একটি সেট:
RemoteWorkManager
এবংRemoteWorkContinuation
কাজ করার অনুরোধগুলিenqueue
,cancel
এবংquery
। মাল্টিপল-প্রসেস জুড়ে SQLite বিবাদ এড়াতে এই APIগুলিLiveData
ভেরিয়েন্টগুলিকে অন্তর্ভুক্ত করে না । এআইডিএল ব্যবহার করেenqueue
,cancel
এবংquery
সমস্ত কল একটিprimary
অ্যাপ প্রক্রিয়ায় ফরোয়ার্ড করা হয় এবং একটি সাবলীলListenableFuture
ফিরিয়ে দেয়। ( aosp/1392657 , aosp/1411210 , aosp/1412215 , aosp/1417713 )
- ওয়ার্ক ম্যানেজারকে সাধারণত প্রতিটি অ্যাপ প্রক্রিয়াতে আরম্ভ করা দরকার। এটি দুর্দান্ত নয় কারণ সেখানে SQLite বিরোধ বৃদ্ধি পেয়েছে যা ফলস্বরূপ অন্যান্য সমস্যার সৃষ্টি করে। WorkManager-এ এখন নতুন API রয়েছে যা
এপিআই পরিবর্তন
- WorkManager এখন সম্পন্ন করা
WorkRequest
গুলিকে ছাঁটাই করে যার কোনো অসম্পূর্ণ নির্ভরতা নেই আরো আক্রমনাত্মকভাবে। বাফার সময়কাল7
দিন থেকে1
দিনে পরিবর্তিত হয়েছে৷ ( aosp/1419708 )
বাগ ফিক্স
- WorkManager এখন কাজগুলিকে সক্রিয়ভাবে পুনর্মিলন করে যাতে
WorkRequest
s এবংJobScheduler
কাজগুলি যখনWorkManager
আরম্ভ করা হয় তখন সিঙ্কে থাকে৷ ( aosp/1412794 , b/166292069 )
সংস্করণ 2.5.0-alpha01
আগস্ট 19, 2020
androidx.work:work-*:2.5.0-alpha01
প্রকাশিত হয়েছে। সংস্করণ 2.5.0-alpha01-এ এই কমিট রয়েছে।
নতুন বৈশিষ্ট্য
- অভ্যন্তরীণ API-তে পরিবর্তন যা আমাদেরকে
WorkManager
সাথে আরও ভাল টুলিং প্রদান করতে দেয়। অতিরিক্ত আপডেটের জন্য সাথে থাকুন।
বাগ ফিক্স
- কিছু ডিভাইসে নেটওয়ার্ক স্টেট ট্র্যাক করার সময়
SecurityException
এস হ্যান্ডেল করুন। ( এওএসপি/1396969 )
বাহ্যিক অবদান
- জ্যাক সুইয়ার্স ( গিটহাব/43 ) দ্বারা
ArrayCreatingInputMerger
জন্য ডকুমেন্টেশন ঠিক করুন।
সংস্করণ 2.4.0
সংস্করণ 2.4.0
22 জুলাই, 2020
androidx.work:work-*:2.4.0
*: 2.4.0 প্রকাশিত হয়েছে। সংস্করণ 2.4.0 এ এই কমিটস রয়েছে।
২.৩.০ সাল থেকে বড় পরিবর্তন
-
WorkManager
এস ইন-প্রসেস শিডিয়ুলার এখন আরও সক্ষম। পূর্বে, ইন-প্রসেসScheduler
কেবলমাত্র কার্যকর করার কাজ বিবেচনা করবে যা দেরি হয়নি এবং কার সীমাবদ্ধতা পূরণ হয়েছিল। এখন, ইন-প্রসেস শিডিয়ুলারWorkRequest
এস ট্র্যাক করে যা ভবিষ্যতে পর্যায়ক্রমিক ওয়ার্কক্রিকোয়েস্টস সহ কার্যকর করা যেতে পারে। ইন-প্রসেসScheduler
সময়সূচী সীমা পর্যবেক্ষণ করে না (তবে এখনও ওয়ার্কম্যানেজার দ্বারা ব্যবহৃতExecutor
আকারের মধ্যে সীমাবদ্ধ)। এর অর্থ হ'ল অ্যাপ্লিকেশনটি যখন অগ্রভাগে থাকে তখন অ্যাপ্লিকেশনটি এখন আরও অনেক বেশি ওয়ার্করেকুয়েস্টগুলি কার্যকর করতে পারে। অগ্রভাগে বিলম্বিত কাজের সম্পাদন পরিচালনা করতে,WorkManager
একটি নতুন কনফিগারযোগ্যRunnableScheduler
পরিচয় করিয়ে দেয়। ( এওএসপি/1185778 ) - ওয়ার্কম্যানেজার এখন rxjava 3 সমর্থন করে 3. আরএক্সজাভা 3 ব্যবহার করতে আপনার নিম্নলিখিত নির্ভরতা অন্তর্ভুক্ত করা উচিত:
implementation "androidx.work:work-rxjava3:2.4.0"
। ( এওএসপি/1277904 ) -
WorkQuery
ব্যবহার করেWorkInfo
এস এর জন্য জিজ্ঞাসা করার ক্ষমতা যুক্ত করেছে। এটি কার্যকর যখন বিকাশকারীরা একাধিক বৈশিষ্ট্যের সংমিশ্রণেWorkInfo
জিজ্ঞাসা করতে চান। আরও তথ্যের জন্যWorkQuery.Builder.fromStates(...)
,WorkQuery.Builder. fromTags(...)
বাWorkQuery.Builder.fromUniqueWorkNames(...)
থেকে। ( এওএসপি/1253230 , বি/143847546 ) WorkManager
কাছ থেকে ডায়াগনস্টিক তথ্যের জন্য অনুরোধ করার ক্ষমতা যুক্ত করুন:adb shell am broadcast -a "androidx.work.diagnostics.REQUEST_DIAGNOSTICS" -p "<your_app_package_name>"
এটি সহ প্রচুর দরকারী তথ্য সরবরাহ করে:
- গত 24 ঘন্টার মধ্যে সম্পন্ন করা ওয়ার্ক রিকোয়েস্টস।
- ওয়ার্ক রিকোয়েস্টস যা বর্তমানে চলছে।
- তফসিলযুক্ত ওয়ার্ক রিকোয়েস্টস। ( এওএসপি/1235501 )
ExistingWorkPolicy.APPEND_OR_REPLACE
যুক্ত করুন যাAPPEND
অনুরূপ, তবে এমন একটি চেইন প্রতিস্থাপন করে যা পূর্বশর্ত বাতিল বা ব্যর্থ হয়েছে। ( খ/134613984 , এওএসপি/1199640 )ভবিষ্যতে কার্যকর করা দরকার এমন ওয়ার্ক রিকোয়েস্টগুলি ট্র্যাক করতে একটি কাস্টম
RunnableScheduler
যুক্ত করার ক্ষমতা সরবরাহ করুন। এটি ইন-প্রসেস শিডিয়ুলার দ্বারা ব্যবহৃত হয়। ( এওএসপি/1203944 )DelegatingWorkerFactory
ওয়ার্কারফ্যাক্টরি ব্যবহার করার সময় প্রতিনিধিদের জন্য গতিশীলভাবে যুক্ত কারখানাগুলি যুক্ত করার জন্য সমর্থন যুক্ত করুন। ( বি/156289105 , এওএসপি/1309745 )প্ল্যাটফর্মের সাথে আরও ঘনিষ্ঠভাবে
BATTERY_NOT_LOW
সীমাবদ্ধতার জন্য ট্র্যাকিং সারিবদ্ধ করুন। ( এওএসপি/1312583 )প্রক্রিয়াটির নাম নির্ধারণের জন্য ইন-প্রসেস শিডিয়ুলার এখন আরও ভাল এপিআই ব্যবহার করে। এটি একাধিক-প্রক্রিয়া ব্যবহার করে এমন অ্যাপ্লিকেশনগুলিকে আরও ভাল সমর্থন করার জন্য দরকারী। ( এওএসপি/1324732 )
নতুন লিন্ট বিধি যা প্রয়োগ করে:
-
setForegroundAsync()
এপিআইএস ব্যবহার করার সময় ডানforegroundServiceType
ব্যবহার করুন। ( বি/147873061 , এওএসপি/1215915 ) - জবস সার্ভিস এপিআইগুলি সরাসরি ব্যবহার করার সময় ওয়ার্কম্যানেজার ব্যবহার করা উচিত এমন জবস্কিডুলার আইডি নির্দিষ্ট করে। এওএসপি/1223567
- একটি নতুন লিন্ট বিধি যুক্ত করা হয়েছে যা নিশ্চিত করে যে ডিফল্ট
WorkerFactory
ব্যবহার করার সময়ListenableWorker
বাস্তবায়নগুলি এখনpublic
। ( এওএসপি/1291262 )
-
ListenableWorker
সমাপ্তির আগে সম্পূর্ণ না হওয়াsetForegroundAsync()
এর কলগুলি এখন ফিরে আসাListenableFuture
ফিউচারে একটিIllegalStateException
মাধ্যমে সংকেত দেওয়া হবে। ( এওএসপি/1262743 )অগ্রভাগের
Worker
বাধাগ্রস্থ হওয়ার পরেForegroundService
বন্ধ করা হয় না এমন একটি বাগ ঠিক করুন। ( বি/155579898 , এওএসপি/1302153 )এমন একটি বাগ ঠিক করুন যেখানে
WorkManager
একটি অগ্রভাগ পরিষেবাতে আবদ্ধ কোনওWorker
একাধিক উদাহরণ কার্যকর করার চেষ্টা করে ( বি/156310133 , এওএসপি/1309853 )
সংস্করণ 2.4.0-আরসি 01
জুন 24, 2020
androidx.work:work-*:2.4.0-rc01
-*:2.4.0-RC01 প্রকাশিত হয়েছে। সংস্করণ 2.4.0-আরসি 01 এ এই কমিটগুলি রয়েছে।
বাগ ফিক্স
- প্রক্রিয়াটির নাম নির্ধারণের জন্য ইন-প্রসেস শিডিয়ুলার এখন আরও ভাল এপিআই ব্যবহার করে। এটি একাধিক-প্রক্রিয়া ব্যবহার করে এমন অ্যাপ্লিকেশনগুলিকে আরও ভাল সমর্থন করার জন্য দরকারী। ( এওএসপি/1324732 )
সংস্করণ 2.4.0-BETA01
20 মে, 2020
androidx.work:work-gcm:2.4.0-beta01
: 2.4.0-বিটা 01, androidx.work:work-runtime:2.4.0-beta01
. ওয়ার্ক: ওয়ার্ক-রুনটাইম: 2.4.0-বিটা 01, androidx.work:work-runtime-ktx:2.4.0-beta01
. ওয়ার্ক: ওয়ার্ক-রুনটাইম-কেটিএক্স: 2.4.0-বিটা 01, অ্যান্ড্রয়েডএক্স. androidx.work:work-rxjava2:2.4.0-beta01
, এবং androidx.work:work-testing:2.4.0-beta01
-টেস্টিং: 2.4.0-beta01 প্রকাশিত হয়েছে। সংস্করণ 2.4.0-BETA01 এর মধ্যে এই কমিট রয়েছে।
বাগ ফিক্স
- অগ্রভাগের
Worker
বাধাগ্রস্থ হওয়ার পরেForegroundService
বন্ধ করা হয় না এমন একটি বাগ ঠিক করুন। ( বি/155579898 , এওএসপি/1302153 ) - এমন একটি বাগ ঠিক করুন যেখানে
WorkManager
একটি অগ্রভাগ পরিষেবাতে আবদ্ধ কোনওWorker
একাধিক উদাহরণ কার্যকর করার চেষ্টা করে ( বি/156310133 , এওএসপি/1309853 ) -
DelegatingWorkerFactory
ওয়ার্কারফ্যাক্টরি ব্যবহার করার সময় প্রতিনিধিদের জন্য গতিশীলভাবে যুক্ত কারখানাগুলি যুক্ত করার জন্য সমর্থন যুক্ত করুন। ( বি/156289105 , এওএসপি/1309745 ) - প্ল্যাটফর্মের সাথে আরও ঘনিষ্ঠভাবে
BATTERY_NOT_LOW
সীমাবদ্ধতার জন্য ট্র্যাকিং সারিবদ্ধ করুন। ( এওএসপি/1312583 )
সংস্করণ 2.4.0-আলফা 03
এপ্রিল 29, 2020
androidx.work:work-*:2.4.0-alpha03
-*:2.4.0-Alpha03 প্রকাশিত হয়েছে। সংস্করণ 2.4.0-ALPHA03 এ এই কমিটগুলি রয়েছে।
নতুন বৈশিষ্ট্য
- ওয়ার্কম্যানেজার এখন আরএক্সজাভা 3 সমর্থন করে 3. আরএক্সজাভা 3 ব্যবহার করতে আপনার নিম্নলিখিত নির্ভরতা অন্তর্ভুক্ত করা উচিত:
implementation "androidx.work:work-rxjava3:2.4.0-alpha03"
। ( এওএসপি/1277904 ) - একটি নতুন লিন্ট বিধি যুক্ত করা হয়েছে যা নিশ্চিত করে যে ডিফল্ট
WorkerFactory
ব্যবহার করার সময়ListenableWorker
বাস্তবায়নগুলি এখনpublic
। ( এওএসপি/1291262 )
এপিআই পরিবর্তন
- কলিং
setProgressAsync()
একজনListenableWorker
কার্যকর করার পরে এখনListenableFuture
মাধ্যমে একটিException
সংকেত দেবে। ( এওএসপি/1285494 ) -
WorkQuery.Builder
এখনfinal
চিহ্নিত। ( এওএসপি/1275037 ) -
WorkQuery.Builder
ফ্যাক্টরি পদ্ধতিগুলিwithStates
ট্যাগস এবংwithTags
withUniqueWorkNames
করা হয়েছে, যথাক্রমেfromStates
,fromTags
এবংfromUniqueWorkNames
থেকে নামকরণ করা হয়েছে। ( এওএসপি/1280287 )
বাগ ফিক্স
- কোনও ডিভাইসের নেটওয়ার্ক অবস্থা ট্র্যাক করার সময়
SecurityException
এক্সসেপশনকে উপেক্ষা করুন। ( খ/153246136 , এওএসপি/1280813 )
সংস্করণ 2.4.0-আলফা 02
এপ্রিল 1, 2020
androidx.work:work-*:2.4.0-alpha02
-*:2.4.0-Alpha02 প্রকাশিত হয়েছে। সংস্করণ 2.4.0-ALPHA02 এ এই কমিটগুলি রয়েছে।
নতুন বৈশিষ্ট্য
- একটি নতুন লিন্ট বিধি যুক্ত করা হয়েছে যা সতর্ক করে দেয় যখন
WorkRequest
উভয়Constraints.setRequiresCharging(...)
প্রয়োজনConstraints.setRequiresDeviceIdle(...)
কিছু ডিভাইস একই সাথে চার্জিং এবং অলস হয় না। সুতরাং এই জাতীয় অনুরোধগুলি প্রত্যাশার চেয়ে কম ঘন ঘন চলবে। ( এওএসপি/1253840 )
এপিআই পরিবর্তন
WorkQuery
ব্যবহার করেWorkInfo
এস এর জন্য জিজ্ঞাসা করার ক্ষমতা যুক্ত করেছে। এটি কার্যকর যখন বিকাশকারীরা একাধিক বৈশিষ্ট্যের সংমিশ্রণেWorkInfo
জিজ্ঞাসা করতে চান। আরও তথ্যেরWorkQuery.Builder withTags(...)
WorkQuery.Builder withUniqueWorkNames(...)
দেখুনWorkQuery.Builder withStates(...)
( এওএসপি/1253230 , বি/143847546 )ListenableWorker
সমাপ্তির আগে সম্পূর্ণ না হওয়াsetForegroundAsync()
এর কলগুলি এখন ফিরে আসাListenableFuture
ফিউচারে একটিIllegalStateException
মাধ্যমে সংকেত দেওয়া হবে। ( এওএসপি/1262743 )
বাগ ফিক্স
- লিন্ট নিয়মটি স্থির করে যা
PeriodicWorkRequest
কাজের জন্য অবৈধ বিরতি সময়কালের জন্য পরীক্ষা করে। ( এওএসপি/1254846 , বি/152606442 )
সংস্করণ 2.4.0-আলফা 01
4 মার্চ, 2020
androidx.work:work-*:2.4.0-alpha01
-*:2.4.0-ALPHA01 প্রকাশিত হয়েছে। সংস্করণ 2.4.0-ALPHA01 এর মধ্যে এই কমিট রয়েছে।
নতুন বৈশিষ্ট্য
WorkManager
এস ইন-প্রসেস শিডিয়ুলার এখন আরও সক্ষম। পূর্বে, ইন-প্রসেস শিডিয়ুলার কেবলমাত্র কার্যকর করার কাজ বিবেচনা করবে যা দেরি হয়নি এবং কার সীমাবদ্ধতা পূরণ হয়েছিল। এখন, ইন-প্রসেস শিডিয়ুলারWorkRequest
এস ট্র্যাক করে যা ভবিষ্যতে কার্যকর করা যেতে পারে,PeriodicWorkRequest
এস সহ। ইন-প্রসেস শিডিয়ুলারও সময়সূচী সীমা পর্যবেক্ষণ করে না (তবে এখনও ওয়ার্কম্যানেজার দ্বারা ব্যবহৃতExecutor
আকারের মধ্যে সীমাবদ্ধ)। এর অর্থ হ'ল অ্যাপ্লিকেশনটি যখন অগ্রভাগে থাকে তখন অ্যাপ্লিকেশনটি এখন আরও অনেক বেশিWorkRequest
কার্যকর করতে পারে। ( এওএসপি/1185778 )adb shell am broadcast -a "androidx.work.diagnostics.REQUEST_DIAGNOSTICS" -p "<your_app_package_name>"
ব্যবহার করে ওয়ার্কম্যানেজারের কাছ থেকে ডায়াগনস্টিক তথ্যের জন্য অনুরোধ করার ক্ষমতা যুক্ত করেছে। এটি সহ প্রচুর দরকারী তথ্য সরবরাহ করে:- গত 24 ঘন্টার মধ্যে সম্পন্ন করা ওয়ার্ক রিকোয়েস্টস।
- ওয়ার্ক রিকোয়েস্টস যা বর্তমানে চলছে।
- তফসিলযুক্ত ওয়ার্ক রিকোয়েস্টস। ( এওএসপি/1235501 )
নতুন লিন্ট বিধি যা প্রয়োগ করে:
-
setForegroundAsync()
এপিআইএস ব্যবহার করার সময় ডানforegroundServiceType
ব্যবহার করুন। ( বি/147873061 , এওএসপি/1215915 ) -
JobService
এপিআইগুলি সরাসরি ব্যবহার করার সময়WorkManager
ব্যবহার করা উচিত এমনJobScheduler
আইডি নির্দিষ্ট করে। ( এওএসপি/1223567 )
-
এপিআই পরিবর্তন
ExistingWorkPolicy.APPEND_OR_REPLACE
যুক্ত করুন যাAPPEND
অনুরূপ, তবে এমন একটি চেইন প্রতিস্থাপন করে যা পূর্বশর্ত বাতিল বা ব্যর্থ হয়েছে। ( খ/134613984 , এওএসপি/1199640 )ভবিষ্যতে কার্যকর করা দরকার যা
WorkRequest
ট্র্যাক করতে একটি কাস্টমRunnableScheduler
যুক্ত করার ক্ষমতা সরবরাহ করুন। এটি ইন-প্রসেস শিডিয়ুলার দ্বারা ব্যবহৃত হয়। ( এওএসপি/1203944 )
বাগ ফিক্স
-
RxWorker
অবমূল্যায়িতsetProgress()
কারণ এটি পূর্বে একটিSingle<Void>
> ফিরে এসেছিল যা একটি অসম্ভব প্রকার। একটি নতুন এপিআইsetCompletableProgress()
যুক্ত করেছে যা পরিবর্তে একটিCompletable
ফেরত দেয়; এবং নতুন লিন্ট বিধি যুক্ত করেছে যা নতুন এপিআইগুলিতে স্থানান্তর করতে সহায়তা করে। ( বি/150080946 , এওএসপি/1242665 )
সংস্করণ 2.3.4
সংস্করণ 2.3.4
18 মার্চ, 2020
androidx.work:work-*:2.3.4
*: 2.3.4 প্রকাশিত হয়েছে। সংস্করণ 2.3.4 এ এই কমিটস রয়েছে।
বাগ ফিক্স
- একটি বাগ স্থির করে যা 10 মিনিটের এক্সিকিউশন উইন্ডো ছাড়িয়ে যাওয়ার পরে দীর্ঘ চলমান
Worker
একাধিক উদাহরণ চালানোর কারণ হতে পারে। ( এওএসপি/1247484 , বি/150553353 ) - ওয়ার্কম্যানেজারের লিন্ট
IssueRegistry
জন্য ঠিক করুন। অবদানের জন্য স্ল্যাক থেকে @জ্যাকসওয়ারদের ধন্যবাদ। ( এওএসপি/1217923 )
সংস্করণ 2.3.3
সংস্করণ 2.3.3
4 মার্চ, 2020
androidx.work:work-*:2.3.3
-*:2.3.3 প্রকাশিত হয়েছে। সংস্করণ 2.3.3 এ এই কমিটস রয়েছে।
বাগ ফিক্স
- একটি বাগ ঠিক করা হয়েছে যেখানে যদি কোনও
Worker
বাধা দেওয়া হয় তবে এটি সঠিকভাবে পুনঃনির্ধারিত হবে না। ( বি/150325687 , এওএসপি/1246571 )
সংস্করণ 2.3.2
সংস্করণ 2.3.2
ফেব্রুয়ারী 19, 2020
androidx.work:work-*:2.3.2
*: 2.3.2 প্রকাশিত হয়েছে। সংস্করণ 2.3.2 এ এই কমিটস রয়েছে।
বাগ ফিক্স
- এমন একটি সমস্যা সমাধান করে যেখানে ওয়ার্কম্যানেজার বিরল ক্ষেত্রে জবস্কেডুলারে 100 কাজের সীমা ছাড়িয়ে যায়। ( এওএসপি/1226859 , বি/149092520 )
- সীমাবদ্ধ কন্ট্রোলারগুলিতে একটি রেস শর্তের জন্য ঠিক করুন। ( এওএসপি/1220100 )
- দীর্ঘ চলমান কর্মীদের জন্য ম্যানেজমেন্ট ফোরগ্রাউন্ড সার্ভিস লাইফসাইকেল উন্নত করেছে। ( এওএসপি/1226295 )
- শ্রমিক বাতিলকরণের পরে দীর্ঘস্থায়ী কর্মীদের জন্য বিজ্ঞপ্তি বাতিল করার ব্যবস্থাপনার উন্নতি করেছে। ( এওএসপি/1228346 )
সংস্করণ 2.3.1
সংস্করণ 2.3.1
ফেব্রুয়ারি 5, 2020
androidx.work:work-*:2.3.1
*: 2.3.1 প্রকাশিত হয়েছে। সংস্করণ 2.3.1 এ এই কমিটস রয়েছে ।
বাগ ফিক্স
- অগ্রভাগ
Service
সক্রিয় থাকাকালীন দীর্ঘ চলমানWorker
জন্যNotification
এস এর লাইফসাইকেলটি আরও ভাল পরিচালনা করুন। ( এওএসপি/1218539 , বি/147249312 ) -
WorkManager
এখনandroidx.sqlite:sqlite-framework:2.1.0
স্থিতিশীল। ( এওএসপি/1217729 ) -
ForegroundInfo
-তেforegroundServiceType
এস ব্যবহার করার সময়AndroidManifest.xml
-এ একটিforegroundServiceType
নির্দিষ্ট করা আছে তা নিশ্চিত করার জন্য লিন্ট বিধি যুক্ত করা হয়েছে। ( এওএসপি/1214207 , বি/147873061 )
সংস্করণ 2.3.0
সংস্করণ 2.3.0
জানুয়ারী 22, 2020
androidx.work:work-*:2.3.0
2.3.0-rc01
এর পরে কোনও পরিবর্তন ছাড়াই প্রকাশিত হয়েছে। সংস্করণ 2.3.0 এ এই কমিটস রয়েছে ।
2.2.0 সাল থেকে গুরুত্বপূর্ণ পরিবর্তন
-
ListenableWorker#setForegroundAsync()
মাধ্যমে দীর্ঘ চলমান বা গুরুত্বপূর্ণ কাজের জন্য সমর্থন। -
ListenableWorker#setProgressAsync()
মাধ্যমে কর্মীদের অগ্রগতির জন্য সমর্থন। - ওয়ার্কম্যানেজার এখন লাইব্রেরির অংশ হিসাবে অতিরিক্ত লিন্ট বিধিগুলি প্যাকেজ করে যা বাগগুলি তাড়াতাড়ি ধরতে সহায়তা করে।
সংস্করণ 2.3.0-আরসি 01
8 জানুয়ারী, 2020
androidx.work:work-*:2.3.0-rc01
-*:2.3.0-RC01 প্রকাশিত হয়েছে। সংস্করণ 2.3.0-আরসি 01 এ এই কমিটগুলি রয়েছে ।
এই প্রকাশটি 2.3.0-beta02
এর সমান
বাগ ফিক্স
-
work-testing
শিল্পকর্মটি এখনwork-runtime-ktx
উপর একটিapi
নির্ভরতা সংজ্ঞায়িত করে। ( এওএসপি/1194410 )
সংস্করণ 2.3.0-BETA02
18 ডিসেম্বর, 2019
androidx.work:work-*:2.3.0-beta02
-*:2.3.0-beta02 প্রকাশিত হয়েছে। সংস্করণ 2.3.0-BETA02 এর মধ্যে এই কমিট রয়েছে ।
নতুন বৈশিষ্ট্য
- অ-পুনরুদ্ধারযোগ্য স্ক্লাইট ব্যতিক্রমগুলির জন্য আরও ভাল ত্রুটি বার্তা যুক্ত করা হয়েছে। ( এওএসপি/1185777 )
- একটি লিন্ট নিয়ম যুক্ত করা হয়েছে যা নিশ্চিত করে যে বিষয়বস্তু সরবরাহকারী
androidx.work.impl.WorkManagerInitializer
চাহিদা সূচনা ব্যবহার করার সময়AndroidManifest.xml
থেকে সরানো হবে। ( এওএসপি/1167007 ) - যখন
enqueue()
enqueueUniquePeriodicWork()
এর পরিবর্তেPeriodicWorkRequest
জন্য ব্যবহৃত হয় তখন একটি লিন্ট সতর্কতা যুক্ত করা হয়েছে। ( এওএসপি/1166032 )
এপিআই পরিবর্তন
-
ForegroundInfo
এখন শ্রবণযোগ্য কর্মী ব্যবহার করার সময় আপনাকেnotificationId
নির্দিষ্ট করতে হবেListenableWorker.setForegroundAsync()
এটি একটি ব্রেকিং পরিবর্তন. এটি আপনাকে সমান্তরালভাবে একাধিক দীর্ঘ চলমানWorker
চালানোর অনুমতি দেয়।WorkManager
প্রদত্তNotification
জীবনকালকে আরও ভাল পরিচালনা করে। ( বি/145473554 , এওএসপি/1181208 , এএসওপি/1181216 , এএসওপি/1183577 )
বাগ ফিক্স
- অ্যালার্ম ম্যানেজার বাস্তবায়নে একটি বাগ স্থির করে যেখানে অ্যালার্মগুলি সঠিকভাবে পরিষ্কার করা হচ্ছে না। ( এওএসপি/1156444 )
- একটি বাগ স্থির করে যেখানে
WorkRequest
এস এর একটি খালি তালিকার একটি ভুলWorkContinuation
চেইন তৈরি করা হবে। ( বি/142835274 , এওএসপি/1157051 )
নির্ভরতা পরিবর্তন
- ওয়ার্কম্যানেজার এখন রুম 2.2.2 ব্যবহার করে।
সংস্করণ 2.3.0-BETA01
নভেম্বর 20, 2019
androidx.work:work-*:2.3.0-beta01
-*:2.3.0-BETA01 প্রকাশিত হয়েছে। সংস্করণ 2.3.0-BETA01 এর মধ্যে এই কমিট রয়েছে ।
নতুন বৈশিষ্ট্য
- একটি নতুন লিন্ট বিধি যুক্ত করা হয়েছে যা
androidx.work.Configuration.Provider
-এর ভুল প্রয়োগের কারণে বিকাশকারীদের ত্রুটিগুলি প্রতিরোধ করে। এওএসপি/1164559
সংস্করণ 2.3.0-আলফা 03
23 অক্টোবর, 2019
androidx.work:work-*:2.3.0-alpha03
-*:2.3.0-Alpha03 প্রকাশিত হয়েছে। সংস্করণ 2.3.0-ALPHA03 এ এই কমিটগুলি রয়েছে ।
নতুন বৈশিষ্ট্য
-
WorkManager.createCancelPendingIntent()
WorkRequest
করা হয়েছেAndroidManifest.xml
এই এপিআইNotification
এস থেকেWorkRequest
এসকে বাতিল করা বিশেষত সহজ করে তোলে। আমরা আশা করি এটি 2.3.0 এ নতুন অগ্রভাগের এপিআইগুলির সাথে জুটিবদ্ধ হবে। - ওয়ার্কম্যানেজার এখন
androidx.room:*:2.2.0
:2.2.0 স্থিতিশীল উপর নির্ভর করে।
এপিআই পরিবর্তন
- অন্তর্নিহিত প্ল্যাটফর্ম এপিআইগুলির সাথে আরও সামঞ্জস্যপূর্ণ হওয়ার জন্য
ForegroundInfo.getNotificationType()
ForegroundInfo.getForegroundServiceType()
এর নামকরণ করা হয়েছে F ( বি/142729893 , এওএসপি/1143316 )
বাগ ফিক্স
- একটি বাগ স্থির করে যা কোনও লেনদেনের বাইরে
setTransactionSuccessful()
এ অপ্রয়োজনীয় কল দ্বারা সৃষ্ট হয়। এটি বিরল মাইগ্রেশনের জন্য ঘটে। ( খ/142580433 , এওএসপি/1141737 )
সংস্করণ 2.3.0-আলফা 02
9 অক্টোবর, 2019
androidx.work:work-*:2.3.0-alpha02
-*:2.3.0-Alpha02 প্রকাশিত হয়েছে। সংস্করণ 2.3.0-ALPHA02 এর মধ্যে এই কমিট রয়েছে ।
নতুন বৈশিষ্ট্য
- ওয়ার্কম্যানেজার এখন দীর্ঘ চলমান বা গুরুত্বপূর্ণ কাজকে সমর্থন করে যা ওএস দ্বারা জীবিত রাখা উচিত। আরও তথ্যের জন্য
ListenableWorker#setForegroundAsync()
(বা কোটলিনের জন্যCoroutineWorker#setForeground()
) দেখুন। ( এওএসপি/1133636 )
এপিআই পরিবর্তন
-
Data
containsKey
এপিআইটির নামকরণ করা হয়েছেhasKeyWithValueOfType
।ktx
লাইব্রেরিতে সংশ্লিষ্ট এক্সটেনশন পদ্ধতিটিও নামকরণ করা হয়েছে। ( বি/141916545 )
বাগ ফিক্স
- ওয়ার্কম্যানেজার সময়সূচীগুলি মোটামুটিভাবে কাজ করে যখন
WorkRequest
সংখ্যা নির্ধারণের সময়সূচী সীমাগুলির সংখ্যা । ( এওএসপি/1105766 ) - ওয়ার্কম্যানেজার
ListenableWorker#onStopped()
কল করে কেবলমাত্র যদি কাজটি ইতিমধ্যে সম্পন্ন না হয়। ( খ/140055777 ) - ওয়ার্কম্যানেজার এখন অগ্রগতির তথ্য সরিয়ে দেয় যখন কোনও শ্রমিক বাধা হয়ে যায় বা তার টার্মিনাল অবস্থায় পৌঁছায়। ( এওএসপি/1114572 )
-
Data
এখন অনেক বেশি দরকারীtoString()
উপস্থাপনা রয়েছে। ( খ/140945323 ) -
Data
এখন আরও ভালequals()
পদ্ধতি রয়েছে। এটিArray
ধরণের জন্যdeepEquals
সমর্থন করে। ( বি/140922528 ) - ওয়ার্কম্যানেজার এখন তার অভ্যন্তরীণ ডাটাবেস এবং পছন্দসই ফাইলগুলি কোনও ব্যাকআপ ডিরেক্টরিতে সঞ্চয় করে। ( বি/114808216 )
সংস্করণ 2.3.0-Alpha01
22 আগস্ট, 2019
androidx.work:work-*:2.3.September 5, 20190-alpha01
এই সংস্করণে অন্তর্ভুক্ত কমিটগুলি এখানে পাওয়া যাবে।
নতুন বৈশিষ্ট্য
-
ListenableWorker
এস এখনsetProgressAsync()
এপিআইয়ের মাধ্যমে অগ্রগতি সেট করতে পারে। এছাড়াওCoroutineWorker
একটি সংশ্লিষ্টsuspend
-িংsetProgress
এপিআই এবংRxWorker
একটিsetProgress
যুক্ত করেছেন যা একটিSingle<Void>
প্রদান করে। এই নতুন এপিআই কর্মীরাWorkInfo
মাধ্যমে অগ্রগতি তথ্য জানাতে পারেন যা সম্পর্কিত একটিgetProgress
এপিআই রয়েছে। ( খ/79481554 ) -
Data
একটিcontainsKey()
এপিআই রয়েছে যাWorker
কাছে ইনপুট ডেটা যাচাই করতে ব্যবহার করা যেতে পারে যা প্রত্যাশিত ধরণের সাথে কী রয়েছে। ( বি/117136838 ) -
Data
এখনData.toByteArray()
এবংData.fromByteArray()
ব্যবহার করে সিরিয়ালাইজ করা যেতে পারে। নোট করুন যেData
সহ কোনও সংস্করণ গ্যারান্টি নেই যাতে আপনার এটি চালিয়ে যাওয়া বা অ্যাপ্লিকেশনগুলির মধ্যে আইপিসির জন্য এটি ব্যবহার করা উচিত নয় । এগুলি কেবল একই অ্যাপ্লিকেশনটির একাধিক প্রক্রিয়াগুলির মধ্যে ব্যবহার করা নিরাপদ। -
Configuration.setInputMergerFactory
মাধ্যমে একটিInputMergerFactory
নির্দিষ্ট করার ক্ষমতা যুক্ত করেছে। ( খ/133273159 )
এপিআই পরিবর্তন
- ওয়ার্কম্যানেজার
IllegalStateException
একটি উদাহরণ নিক্ষেপ করবে যদি কোনওWorkerFactory
ListenableWorker
একটি উদাহরণ ফিরিয়ে দেয় যা আগে আহ্বান করা হয়েছে। ( খ/139554406 ) -
ListenableFuture
বাতিলকরণ এবংListenableWorker
মধ্যেonStopped()
কলব্যাকের চারপাশে ডকুমেন্টেশন আপডেটগুলি। ( খ/138413671 )
বাগ ফিক্স
- ইন-প্রসেস শিডিয়ুলার এখন
idle
সীমাবদ্ধতার সাথেWorkRequest
উপেক্ষা করে। এই অনুরোধগুলি এখন কেবল যখন ডিভাইসটিidle
থাকে তখন কেবলJobScheduler
দ্বারা নেওয়া হয়। ( এওএসপি/1089779 ) -
TestScheduler
এখন তার অভ্যন্তরীণ টাস্ক এক্সিকিউটর টেস্টগুলিতে নির্দিষ্টExecutor
সঠিকভাবে ব্যবহার করে। ( এওএসপি/1090749 )
সংস্করণ 2.2.0
সংস্করণ 2.2.0
আগস্ট 15, 2019
androidx.work:work-*:2.2.0
*: 2.2.0 প্রকাশিত হয়েছে। এই সংস্করণে অন্তর্ভুক্ত কমিটগুলি এখানে পাওয়া যাবে।
এই রিলিজটি androidx.work:work-*:2.2.0-rc01
*: 2.2.0-আরসি 01 এর মতো।
2.1.0 থেকে 2.2.0 এ গুরুত্বপূর্ণ পরিবর্তন
androidx.work:work-gcm:2.2.0
: ওয়ার্ক-জিসিএম:2.2.0 হ'ল একটি নতুন ম্যাভেন আর্টিফ্যাক্ট যা গুগল প্লে পরিষেবাগুলি এপিআই স্তরের <= 22 এর জন্য উপলব্ধ থাকাকালীন একটি শিডিয়ুলার হিসাবে জিসিএমনেটওয়ার্ক ম্যানেজারের ব্যবহারকে সমর্থন করে এটি একটি al চ্ছিক নির্ভরতা যা আরও নির্ভরযোগ্য এবং পারফরম্যান্টে সহায়তা করে পুরানো এপিআই সংস্করণগুলিতে ব্যাকগ্রাউন্ড প্রসেসিং। যদি আপনার অ্যাপ্লিকেশনটি গুগল প্লে পরিষেবাগুলি ব্যবহার করে তবে স্বয়ংক্রিয়ভাবে GCMNETWORKMANAGER সমর্থন পেতে আপনার গ্রেড ফাইলটিতে এই নির্ভরতা যুক্ত করুন। যদি প্লে পরিষেবাগুলি উপলভ্য না হয় তবে ওয়ার্কম্যানেজার পুরানো ডিভাইসে অ্যালার্ম ম্যানেজারে ফিরে যেতে থাকবে।
সংস্করণ 2.2.0-আরসি 01
30 জুলাই, 2019
androidx.work:work-*:2.2.0-rc01
-*:2.2.0-RC01 প্রকাশিত হয়েছে। এই সংস্করণে অন্তর্ভুক্ত কমিটগুলি এখানে পাওয়া যাবে।
বাগ ফিক্স
- অ্যালার্ম ম্যানেজার বাস্তবায়নে একটি বাগ স্থির করে যা পরিষেবাটি অকাল বন্ধ করে দেয় এবং এর ফলে বিরল ক্ষেত্রে
RejectedExecutionException
ঘটে। ( এওএসপি/1092374 ) ( খ/138238197 )। - কিছু ডিভাইসে
JobScheduler
এপিআই ব্যবহার করার সময় একটিNullPointerException
এক্সসেপশন জন্য একটি কার্যকারণ যুক্ত করা হয়েছে। ( এওএসপি/1091020 ) ( খ/138364061 ), ( খ/138441699 )
সংস্করণ 2.2.0-BETA02
জুলাই 19, 2019
androidx.work:work-*:2.2.0-beta02
-*:2.2.0-beta02 প্রকাশিত হয়েছে। এই সংস্করণে অন্তর্ভুক্ত কমিটগুলি এখানে পাওয়া যাবে।
বাগ ফিক্স
-
2.2.0-beta01
এ প্রবর্তিত অনিচ্ছাকৃত জ্যাকোকো নির্ভরতা সরানো হয়েছে।
সংস্করণ 2.2.0-BETA01
জুলাই 17, 2019
androidx.work:work-*:2.2.0-beta01
-*:2.2.0-beta01 প্রকাশিত হয়েছে। এই সংস্করণে অন্তর্ভুক্ত কমিটগুলি এখানে পাওয়া যাবে।
নতুন বৈশিষ্ট্য
-
androidx.work:work-gcm:2.2.0-beta01
: ওয়ার্ক-জিসিএম: ২.২.০-বিটা 01 হ'ল একটি নতুন ম্যাভেন আর্টিফ্যাক্ট যা গুগল প্লে পরিষেবাদি এপিআই স্তরের জন্য উপলব্ধ থাকলে জিসিএমনেট ওয়ার্কম্যানেজারের ব্যবহারকে সমর্থন করে <= 22. এটি একটি al চ্ছিক নির্ভরতা যা আরও নির্ভরযোগ্য নির্ভরতা যা আরও নির্ভরযোগ্য এবং পুরানো এপিআই সংস্করণগুলিতে পারফরম্যান্ট ব্যাকগ্রাউন্ড প্রসেসিং। যদি আপনার অ্যাপ্লিকেশনটি গুগল প্লে পরিষেবাগুলি ব্যবহার করে তবে স্বয়ংক্রিয়ভাবে GCMNETWORKMANAGER সমর্থন পেতে আপনার গ্রেড ফাইলটিতে এই নির্ভরতা যুক্ত করুন। যদি প্লে পরিষেবাগুলি উপলভ্য না হয় তবে ওয়ার্কম্যানেজার পুরানো ডিভাইসে অ্যালার্ম ম্যানেজারে ফিরে যেতে থাকবে।
বাগ ফিক্স
- এনভিডিয়া শিল্ড কে 1 ট্যাবলেটগুলিতে নেটওয়ার্ক স্টেট ট্র্যাক করার সময়
IllegalArgumentException
জন্য ঠিক করুন। ( এওএসপি/1010188 )
সংস্করণ 2.1.0
সংস্করণ 2.1.0
11 জুলাই, 2019
androidx.work:work-*:2.1.0
: 2.1.0 প্রকাশিত হয়েছে। এই রিলিজটি androidx.work:work-*:2.1.0-rc01
-*:2.1.0-আরসি 01 এর মতো।
2.0.1 থেকে গুরুত্বপূর্ণ পরিবর্তন
- ওয়ার্ক
kotlinOptions { jvmTarget = "1.8" }
work-runtime-ktx
build.gradle
জাভা ৮ প্রয়োজন ৮ - ওয়ার্কম্যানেজারের জন্য অন-চাহিদা সূচনা যুক্ত করা হয়েছে, যা কেবলমাত্র রেফারেন্স করার সময় ওয়ার্কম্যানেজার তৈরি করবে। খ/127497100 অন-ডিমান্ড আরম্ভের জন্য আপনার প্রকল্পটি সেট আপ করতে:
- স্বয়ংক্রিয় ইনিশিয়ালাইজারটি অক্ষম করুন ।
- আপনার কাস্টম
Application
অবজেক্টেConfiguration.Provider
প্রয়োগ করুন। -
WorkManager.getInstance()
এর সমস্ত রেফারেন্সWorkManager.getInstance(Context)
এ পরিবর্তন করুন। এই পরিবর্তনের অংশ হিসাবে, আমরাWorkManager.getInstance()
অবমূল্যায়ন করেছি। নতুনWorkManager.getInstance(Context)
কল করা সর্বদা নিরাপদ।
-
PeriodicWorkRequest
এখন প্রাথমিক বিলম্বকে সমর্থন করে। আপনি একটি প্রাথমিক বিলম্ব সেট করতেPeriodicWorkRequest.Builder
এsetInitialDelay
পদ্ধতি ব্যবহার করতে পারেন। বি/111404867 -
DelegatingWorkerFactory
ব্যবহার করে এক বা একাধিক নিবন্ধিতWorkerFactory
এস -তে প্রতিনিধি করার ক্ষমতা যুক্ত করেছে। বি/131435993 -
Configuration.Builder.setTaskExecutor
মাধ্যমে তার সমস্ত অভ্যন্তরীণ বই-রক্ষণের জন্য ওয়ার্কম্যানেজার দ্বারা ব্যবহৃতExecutor
কাস্টমাইজ করার ক্ষমতা যুক্ত করেছে। -
work-testing
আর্টিফ্যাক্টেTestWorkerBuilder
এবংTestListenableWorkerBuilder
ব্যবহার করে ইউনিট পরীক্ষামূলকWorker
এবংListenableWorker
ক্লাস তৈরি করার ক্ষমতা যুক্ত করেছে।- নোট করুন যে
work-testing
এখন নির্ভরতা হিসাবে কোটলিনে টানছে এবং ডিফল্টরূপে বেশ কয়েকটি কোটলিন এক্সটেনশন অন্তর্ভুক্ত করে।
- নোট করুন যে
-
WorkInfo
রান প্রচেষ্টা গণনা যুক্ত করা হয়েছে। বি/127290461 -
Data
প্রকারগুলি এখন বাইট এবং বাইট অ্যারে সংরক্ষণ এবং পুনরুদ্ধার করতে পারে। এটিData
অবজেক্টের সর্বাধিক আকার পরিবর্তন করে না। - ওয়ার্কম্যানেজার এখন
Room 2.1.0
উপর নির্ভর করে, যা কিছু ডাটাবেসের সমস্যাগুলি ঠিক করা উচিত।
সংস্করণ 2.1.0-আরসি 01
জুন 27, 2019
androidx.work:work-*:2.1.0-rc01
-*:2.1.0-আরসি 01 প্রকাশিত হয়েছে। এই সংস্করণে অন্তর্ভুক্ত কমিটগুলি এখানে পাওয়া যাবে।
বাগ ফিক্স
- একটি বাগ ঠিক করা হয়েছে যা
JobScheduler
দিয়ে চাকরি কার্যকর করার সময় একটি অ্যাপ্লিকেশন ক্র্যাশ করার কারণ হতে পারে যখন একটি ব্যাকআপ বি/135858602 অগ্রগতিতে ছিল।
সংস্করণ 2.1.0-BETA02
20 জুন, 2019
androidx.work:work-*:2.1.0-beta02
-*:2.1.0-BETA02 প্রকাশিত হয়েছে। এই সংস্করণে অন্তর্ভুক্ত কমিটগুলি এখানে পাওয়া যাবে।
বাগ ফিক্স
-
TestListenableWorkerBuilder
এখনListenableWorker
উদাহরণ তৈরি করার সময় সঠিকWorkerFactory
ব্যবহার করেন। বি/135275844 - প্রক্রিয়া মৃত্যুর কারণে
WorkRequest
জন্য এক্সিকিউশন উইন্ডোতে প্রবাহের কারণ হয়ে একটি বাগ স্থির করে। বি/135272196
সংস্করণ 2.1.0-BETA01
13 জুন, 2019
androidx.work:work-*:2.1.0-beta01
-*:2.1.0-BETA01 প্রকাশিত হয়েছে। এই সংস্করণে অন্তর্ভুক্ত কমিটগুলি এখানে পাওয়া যাবে।
বাগ ফিক্স
- ওয়ার্কম্যানেজার এখন
Room 2.1.0
উপর নির্ভর করে, যা কিছু ডাটাবেসের সমস্যাগুলি ঠিক করা উচিত। - মূল থ্রেডে কিছু স্টার্টআপ ডিস্ক I/O সরানো হয়েছে।
- সীমাবদ্ধ ট্র্যাকিংয়ে একটি সম্ভাব্য অচলাবস্থা স্থির করে। বি/134361006
- প্রিমিমালিভাবে বাতিল করা অবৈধ কাজগুলি ওয়ার্কম্যানেজারকে দায়ী করা হয়েছে। বি/134058261
- দুর্ব্যবহারের ডিভাইসগুলির জন্য জবসচিডুলার এপিআইগুলিতে কিছু প্রতিরক্ষামূলক কল যুক্ত করেছে।
সংস্করণ 2.1.0-Alpha03
জুন 5, 2019
androidx.work:*:2.1.0-alpha03
:2.1.0-Alpha03 প্রকাশিত হয়েছে।
বাগ ফিক্স
-
PeriodicWorkRequest
এস এর জন্য উন্নত ডকুমেন্টেশন। -
WorkManagerTestInitHelper
এখন পরীক্ষার জন্য সঠিক ব্যাকগ্রাউন্ড এক্সিকিউটার ব্যবহার করে। - কিছু ডিভাইসে বড় লেনদেনের সাথে ডিল করার সময় এসকিউএলআইটি ইস্যুগুলির জন্য সংশোধন করে। ( খ/130182503 )
- ওয়ার্কম্যানেজারের নির্ভরতা এখন আরও দানাদার। ( খ/133169148 )।
- ওয়ার্কম্যানেজার ব্যবহার করে চাকরির সময় নির্ধারণের সময়
JobScheduler
বাস্তবায়নে ওয়ার্কআরাউন্ড ওএম নির্দিষ্ট বাগগুলি। - অ্যালার্ম ম্যানেজার ভিত্তিক শিডিয়ুলারের উন্নতিগুলি পরিষেবা লাইফটাইমগুলির আশেপাশে উন্নতি যা এর আগে বিরল ক্রাশ হয়েছিল। ( খ/133313734 )
সংস্করণ 2.1.0-Alpha02
16 মে, 2019
ওয়ার্কম্যানেজার 2.1.0-ALPHA02 প্রকাশিত হয়েছে। এই সংস্করণে বেশ কয়েকটি নতুন এপিআই রয়েছে।
এপিআই পরিবর্তন
PeriodicWorkRequest
এখন প্রাথমিক বিলম্বকে সমর্থন করে। আপনি একটি প্রাথমিক বিলম্ব সেট করতেPeriodicWorkRequest.Builder
এsetInitialDelay
পদ্ধতি ব্যবহার করতে পারেন। বি/111404867DelegatingWorkerFactory
ব্যবহার করে এক বা একাধিক নিবন্ধিতWorkerFactory
এস -তে প্রতিনিধি করার ক্ষমতা যুক্ত করেছে। বি/131435993Configuration.Builder.setTaskExecutor
মাধ্যমে তার সমস্ত অভ্যন্তরীণ বই-রক্ষণের জন্য ওয়ার্কম্যানেজার দ্বারা ব্যবহৃতExecutor
কাস্টমাইজ করার ক্ষমতা যুক্ত করেছে।WorkRequest.keepResultsForAtLeast
( বি/130638001 ), অন-ডিমান্ড ইনিশিয়ালাইজেশন, এবংPeriodicWorkRequest.Builder
( বি/131711394 ) এর আশেপাশে উন্নত ডকুমেন্টেশন।
সংস্করণ 2.1.0-Alpha01
24 এপ্রিল, 2019
ওয়ার্কম্যানেজার 2.1.0-ALPHA01 প্রকাশিত হয়েছে। এই সংস্করণে বেশ কয়েকটি নতুন এপিআই রয়েছে। দয়া করে নোট করুন যে এই সংস্করণটি দিয়ে শুরু করে, এমন নতুন বৈশিষ্ট্য থাকবে যা 1.x রিলিজের ব্যাকপোর্ট করা হবে না। আমরা 2.x এ স্যুইচ করার পরামর্শ দিচ্ছি
এপিআই পরিবর্তন
- ওয়ার্কম্যানেজারের জন্য অন-চাহিদা সূচনা যুক্ত করা হয়েছে, যা কেবলমাত্র রেফারেন্স করার সময় ওয়ার্কম্যানেজার তৈরি করবে। খ/127497100 অন-ডিমান্ড আরম্ভের জন্য আপনার প্রকল্পটি সেট আপ করতে:
- স্বয়ংক্রিয় ইনিশিয়ালাইজারটি অক্ষম করুন ।
- আপনার কাস্টম
Application
অবজেক্টেConfiguration.Provider
প্রয়োগ করুন। -
WorkManager.getInstance()
এর সমস্ত রেফারেন্সWorkManager.getInstance(Context)
এ পরিবর্তন করুন। এই পরিবর্তনের অংশ হিসাবে, আমরাWorkManager.getInstance()
অবমূল্যায়ন করেছি। নতুনWorkManager.getInstance(Context)
কল করা সর্বদা নিরাপদ।
-
work-testing
আর্টিফ্যাক্টেTestWorkerBuilder
এবংTestListenableWorkerBuilder
ব্যবহার করে ইউনিট পরীক্ষামূলকWorker
এবংListenableWorker
ক্লাস তৈরি করার ক্ষমতা যুক্ত করেছে।- নোট করুন যে
work-testing
এখন নির্ভরতা হিসাবে কোটলিনে টানছে, তবে ডিফল্টরূপে বেশ কয়েকটি কোটলিন এক্সটেনশনও অন্তর্ভুক্ত করে।
- নোট করুন যে
-
WorkInfo
রান প্রচেষ্টা গণনা যুক্ত করা হয়েছে। বি/127290461 -
Data
প্রকারগুলি এখন বাইট এবং বাইট অ্যারে সংরক্ষণ এবং পুনরুদ্ধার করতে পারে। এটিData
অবজেক্টের সর্বাধিক আকার পরিবর্তন করে না। - অবমূল্যায়িত
CoroutineWorker.coroutineContext
। এই ক্ষেত্রটি ভুলভাবেCoroutineDispatcher
হিসাবে টাইপ করা হয়েছিল; স্থগিতকরণ ফাংশনের শরীরে আপনি নিজের পছন্দসই কর্সটিনকনটেক্সটে যেতে পারেন বলে আপনার আর এটির দরকার নেই। -
RxWorker.createWork()
এবংRxWorker.getBackgroundScheduler()
এখন@NonNull
রিটার্ন প্রকারের সাথে টীকাযুক্ত।
সংস্করণ 2.0.1
সংস্করণ 2.0.1
9 এপ্রিল, 2019
ওয়ার্কম্যানেজার 2.0.1 প্রকাশিত হয়। এই প্রকাশটি 2.0.1-RC01 এর মতো।
সংস্করণ 2.0.1-RC01
3 এপ্রিল, 2019
ওয়ার্কম্যানেজার 2.0.1-আরসি 01 প্রকাশিত হয়েছে। এই সংস্করণে কিছু বাগ ফিক্স রয়েছে। উত্তরাধিকার 1.x ব্যবহারকারীদের জন্য, এর মধ্যে কয়েকটি পরিবর্তন 1.0.1-RC01 এও উপস্থিত হয়।
বাগ ফিক্স
- রোবোলেক্ট্রিক পরীক্ষাগুলি এখন ওয়ার্কম্যানেজারের সাথে সঠিকভাবে কাজ করে। বি/122553577
- প্রাক-জবস্কেডুলার এপিআইগুলিতে পরিষ্কার না করা সীমাবদ্ধতার সাথে একটি প্রান্ত কেস ক্র্যাশ স্থির করে। বি/129226383
- কাজের দীর্ঘ শৃঙ্খলা নিয়ে কাজ করে এমন একটি
StackOverflowError
স্থির করুন। বি/129091233 - এপিআই 23 এ ফ্লেক্সের সময়টি সমর্থিত নয় তা নির্দেশ করার জন্য
PeriodicWorkRequest
এস এর জন্য আপডেট করা ডকুমেন্টেশন। - কোটলিন ডকুমেন্টেশনে কিছু ভাঙা লিঙ্ক স্থির করেছে।
সংস্করণ 2.0.0
সংস্করণ 2.0.0
20 মার্চ, 2019
ওয়ার্কম্যানেজার 2.0.0 প্রকাশিত হয়। এই সংস্করণটি 2.0.0-আরসি 01 এর মতো এবং অ্যান্ড্রয়েডএক্স নির্ভরতা সহ 1.0.0 স্থিতিশীল অ্যান্ড্রয়েডএক্স সংস্করণ। আমরা উত্তরাধিকার 1.x সংস্করণগুলির পরিবর্তে এই সংস্করণটিকে লক্ষ্য করার পরামর্শ দিই। সমস্ত সক্রিয় বিকাশ 2.x এবং 1.x লক্ষ্য করে কেবল সীমিত সময়ের জন্য সমালোচনামূলক বাগ ফিক্সগুলি গ্রহণ করবে।
সংস্করণ 2.0.0-RC01
7 মার্চ, 2019
ওয়ার্কম্যানেজার 2.0.0-আরসি 01 প্রকাশিত হয়েছে। এই সংস্করণটি 1.0.0 স্থিতিশীলতার মতো তবে অ্যান্ড্রয়েডএক্স নির্ভরতা রয়েছে। এটি একবার ২.০.০ স্থিতিশীল পৌঁছে গেলে আপনার এই সংস্করণটি অন্তর্ভুক্ত করা উচিত এবং উত্তরাধিকার ১.x সংস্করণগুলি কেবল কিছু সমালোচনামূলক বাগ ফিক্সগুলি গ্রহণ করবে। সমস্ত সক্রিয় বিকাশ 2.x. লক্ষ্য করবে
প্রাক-অ্যান্ড্রয়েডএক্স নির্ভরতা
রেফারেন্স ডক্স: জাভা
গ্রোভি
dependencies { def work_version = "1.0.1" // (Java only) implementation "android.arch.work:work-runtime:$work_version" // Kotlin + coroutines implementation "android.arch.work:work-runtime-ktx:$work_version" // optional - RxJava2 support implementation "android.arch.work:work-rxjava2:$work_version" // optional - Test helpers androidTestImplementation "android.arch.work:work-testing:$work_version" }
কোটলিন
dependencies { val work_version = "1.0.1" // (Java only) implementation("android.arch.work:work-runtime:$work_version") // Kotlin + coroutines implementation("android.arch.work:work-runtime-ktx:$work_version") // optional - RxJava2 support implementation("android.arch.work:work-rxjava2:$work_version") // optional - Test helpers androidTestImplementation("android.arch.work:work-testing:$work_version") }
সংস্করণ 1.0.1
সংস্করণ 1.0.1
9 এপ্রিল, 2019
ওয়ার্কম্যানেজার 1.0.1 প্রকাশিত হয়। এই প্রকাশটি 1.0.1-আরসি 01 এর সমান।
দয়া করে মনে রাখবেন যে আমরা ব্যবহারকারীদের ওয়ার্কম্যানেজার ২.x এ আপডেট করতে দৃ strongly ়ভাবে উত্সাহিত করি, কারণ 1.x শাখায় এগিয়ে যাওয়ার খুব কম আপডেট থাকবে। নতুন এপিআইগুলি 1.x লাইব্রেরির জন্যও প্রকাশ করা হবে না।
সংস্করণ 1.0.1-RC01
2 এপ্রিল, 2019
ওয়ার্কম্যানেজার 1.0.1-আরসি 01 প্রকাশিত হয়েছে। এই সংস্করণে কিছু বাগ ফিক্স রয়েছে।
বাগ ফিক্স
- রোবোলেক্ট্রিক পরীক্ষাগুলি এখন ওয়ার্কম্যানেজারের সাথে সঠিকভাবে কাজ করে। বি/122553577
- প্রাক-জবস্কেডুলার এপিআইগুলিতে পরিষ্কার না করা সীমাবদ্ধতার সাথে একটি প্রান্ত কেস ক্র্যাশ স্থির করে। বি/129226383
- কাজের দীর্ঘ শৃঙ্খলা নিয়ে কাজ করে এমন একটি
StackOverflowError
স্থির করুন। বি/129091233
সংস্করণ 1.0.0
সংস্করণ 1.0.0
মার্চ 05, 2019
এটি ওয়ার্কম্যানেজারের 1.0.0 স্থিতিশীল প্রকাশ। ওয়ার্কম্যানেজারের এই সংস্করণটি 1.0.0-আরসি 02 এর মতো।
সংস্করণ 1.0.0-আরসি 02
21 ফেব্রুয়ারি, 2019
এটি ওয়ার্কম্যানেজারের 1.0.0 স্থিতিশীল রিলিজের জন্য দ্বিতীয় প্রকাশের প্রার্থী। এই রিলিজটিতে দুটি বাগ ফিক্স রয়েছে।
বাগ ফিক্স
Worker
এস এখন একটি অ্যাপ্লিকেশন ক্রাশের পরে সঠিকভাবে নির্ধারিত হয়েছে। বি/124546316Worker
যা একটি চেক না করাException
নিক্ষেপ করে এখন সঠিকভাবেFAILED
হিসাবে চিহ্নিত করা হয়েছে এবং অ্যাপ প্রক্রিয়াটি আর ক্র্যাশ করে না।
সংস্করণ 1.0.0-আরসি 01
14 ফেব্রুয়ারি, 2019
এটি ওয়ার্কম্যানেজারের 1.0.0 স্থিতিশীল রিলিজের জন্য রিলিজ প্রার্থী। এই রিলিজটিতে একটি বাগ ফিক্স রয়েছে।
বাগ ফিক্স
- অ্যালার্ম ম্যানেজার ভিত্তিক বাস্তবায়ন এখন পর্যায়ক্রমিক ওয়ার্করেকুয়েস্টের জন্য
flex
উইন্ডোজকে সঠিকভাবে সম্মান করে। বি/124274584
সংস্করণ 1.0.0-BETA05
ফেব্রুয়ারী 6, 2019
এই রিলিজটিতে কিছু বাগ ফিক্স রয়েছে।
বাগ ফিক্স
- এমন একটি কেস স্থির করা হয়েছে যেখানে
JobScheduler.getPendingJob(...)
এপিআই 23 এ ব্যবহৃত হয়েছিল B বি/123893059 - অ্যান্ড্রয়েড 5.1 (এপিআই স্তর 22) বা তার চেয়ে কম চলমান ডিভাইসগুলিতে একটি
NullPointerException
স্থির করে। বি/123835104
সংস্করণ 1.0.0-BETA04
ফেব্রুয়ারি 4, 2019
এই রিলিজটিতে কিছু বাগ ফিক্স রয়েছে।
বাগ ফিক্স
- অ্যালার্ম ম্যানেজার ভিত্তিক বাস্তবায়নের জন্য পর্যায়ক্রমিক কাজের উন্নত সময়সূচী।
- এমন একটি কেস স্থির করে যেখানে ওয়ার্কম্যানেজার অ্যালার্ম ম্যানেজার ভিত্তিক বাস্তবায়ন ব্যবহার করার সময় সঠিকভাবে সীমাবদ্ধতাগুলি ট্র্যাক করতে ব্যর্থ হয়েছিল। বি/123379508
- যখন ওয়ার্কম্যানেজার অ্যালার্ম ম্যানেজার ভিত্তিক বাস্তবায়ন ব্যবহার করার সময় প্রক্রিয়া মৃত্যুর বিষয়ে কাজ পুনরায় চেষ্টা করতে ব্যর্থ হন তখন একটি মামলা স্থির করে। বি/123329850
- অ্যালার্ম ম্যানেজার ভিত্তিক বাস্তবায়ন ব্যবহার করার সময় ওয়ার্কম্যানেজার ওয়াকলকগুলি ফাঁস করতে পারে এমন একটি কেস স্থির করে।
সংস্করণ 1.0.0-BETA03
25 জানুয়ারী, 2019
এই রিলিজটিতে কিছু বাগ ফিক্স রয়েছে।
বাগ ফিক্স
- আমরা একটি রিগ্রেশন
1.0.0-beta02
প্রবর্তন করেছি যা কিছু পরিস্থিতিতে সঠিকভাবে কার্যকর না করে কাজ করে যাচ্ছিল। বি/123211993 - এমন একটি মামলা স্থির করা হয়েছে যেখানে কাজটি সঠিকভাবে ব্যাক অফের সময়কে সম্মান করে না। বি/122881597
- অ্যান্ড্রয়েড 5.1 (এপিআই ওআর) বা নিম্নতর চালানো ডিভাইসগুলিতে একটি
ConcurrentModificationException
স্থির করে। এটি1.0.0-beta02
এ ফিক্সের ধারাবাহিকতা। বি/121345393 - যুক্ত হওয়া
exported=false
যা এই টীকাটি অনুপস্থিত ছিল। - ওয়ার্কম্যানেজার কীভাবে প্যাকেজ-স্তরের ডকুমেন্টেশনে ওএসের সাথে ইন্টারঅ্যাক্ট করে সে সম্পর্কে তথ্য অন্তর্ভুক্ত করে।
সংস্করণ 1.0.0-BETA02
15 জানুয়ারী, 2019
এই রিলিজটিতে কিছু বাগ ফিক্স রয়েছে।
বাগ ফিক্স
- একটি প্রান্ত কেস স্থির করে যেখানে পর্যায়ক্রমিক কাজ অ্যান্ড্রয়েড 6.0 (এপিআই স্তর 23) চলমান ডিভাইসে প্রতি বিরতিতে একাধিকবার চলতে পারে। বি/121998363
- অ্যান্ড্রয়েড 5.1 (এপিআই স্তর 22) বা তার চেয়ে কম চলমান ডিভাইসগুলিতে একটি
ConcurrentModificationException
স্থির করে। বি/121345393 - অ্যান্ড্রয়েড 5.1 (এপিআই স্তর 22) বা নিম্নমানের ডিভাইসগুলিতে সীমাবদ্ধতাগুলি পূরণ না হলে কাজের স্থির ভুল সম্পাদন। বি/122578012
- কিছু প্রান্তের ক্ষেত্রে দ্রুততর হতে অনুকূলিত কাজের সমাপ্তি হ্যান্ডলিং। বি/122358129
- ওয়ার্কম্যানেজার ব্যবহার করে এমন
LiveData
একাধিক দৃষ্টান্তের মধ্যে সম্ভাব্য রেসের অবস্থার সমাধান করার জন্য একটি পরিবর্তন যুক্ত করা হয়েছে। -
1.1.1-rc01
এর পরিবর্তেRoom
নির্ভরতা1.1.1
ব্যবহার করতে সরানো হয়েছে; এই সংস্করণগুলি অভিন্ন। বি/122578011
সংস্করণ 1.0.0-BETA01
ডিসেম্বর 19, 2018
এই রিলিজটিতে কোনও এপিআই পরিবর্তন নেই; এগিয়ে যাওয়া, ওয়ার্কম্যানেজার পরবর্তী সংস্করণ পর্যন্ত এপিআই স্থিতিশীল থাকবে বলে আশা করা হচ্ছে যদি কোনও সমালোচনামূলক সমস্যা না থাকে। এই রিলিজটিতে কিছু বাগ ফিক্স রয়েছে।
বাগ ফিক্স
- পূর্বে বাতিল হওয়া শিশুরা সফলভাবে সম্পন্ন পিতামাতার কাজের আর চলবে না। বি/120811767
- সঠিকভাবে লগিং ক্লাসগুলি শুরু করা (প্রাথমিকভাবে পরীক্ষার সময় প্রকাশিত)।
সংস্করণ 1.0.0-আলফা 13
ডিসেম্বর 12, 2018
এই রিলিজটিতে একটি ছোট্ট এপিআই পরিবর্তন রয়েছে যা কিছু কোটলিন ব্যবহারকারীদের জন্য সহায়ক হবে।
এপিআই পরিবর্তন
-
androidx.work.Result
ListenableWorker
অভ্যন্তরীণ শ্রেণিতে সরানো হয়েছে। এটি কোটলিনের শীর্ষ স্তরেরResult
শ্রেণীর সাথে রিফ্যাক্টরিং বিরোধগুলি রোধ করে। এটি একটি ব্রেকিং এপিআই পরিবর্তন। বি/120564418
ব্রেকিং এপিআই পরিবর্তন
-
androidx.work.Result
ListenableWorker
অভ্যন্তরীণ শ্রেণিতে সরানো হয়েছে।
সংস্করণ 1.0.0-আলফা 12
5 ডিসেম্বর, 2018
এই রিলিজটিতে কিছু ব্রেকিং এপিআই পরিবর্তন রয়েছে; নীচে ব্রেকিং এপিআই পরিবর্তন বিভাগ দেখুন। এই সংস্করণটি সম্ভবত আমাদের প্রথম বিটা হিসাবে প্রকাশিত হবে। alpha12
এও বিস্তৃত ডকুমেন্টেশন আপডেট রয়েছে।
এপিআই পরিবর্তন
- একটি নতুন নিদর্শন,
work-rxjava2
,RxWorker
পরিচয় করিয়ে দেয়। এটি একটিListenableWorker
যাSingle<Payload>
প্রত্যাশা করে। - ফায়ারবেস জবডিস্প্যাচারের পক্ষে সমর্থনটি আসন্ন অবমূল্যায়নের কারণে সরানো হয়েছে। এর অর্থ হ'ল আমরা বিটাতে যাওয়ার সাথে সাথে
work-firebase
আর্টিফ্যাক্টটি আর আপডেট করা হবে না। আমরা ভবিষ্যতে একটি বিকল্প যুক্ত করার দিকে নজর রাখব। -
Result
সম্মিলিতPayload
।Result
Result.success(Data)
Result.failure(Data)
কংক্রিট বাস্তবায়নResult.failure()
একটি "সিলড ক্লাস", যা আপনিResult.success()
মাধ্যমে পেতে পারেনResult.retry()
। আপনারListenableFuture
এস এখনPayload
পরিবর্তেResult
।Worker
আউটপুটData
জন্য গেটার এবং সেটার পদ্ধতি নেই। এটি একটি ব্রেকিং পরিবর্তন. - যুক্ত হওয়া
Constraints.Builder.setTriggerContentMaxDelay(long, TimeUnit)
এবংConstraints.Builder.setTriggerContentUpdateDelay(long, TimeUnit)
বি/119919774 -
WorkRequest.Builder.setBackoffCriteria(BackoffPolicy, Duration)
বৈকল্পিক যুক্ত হয়েছে। এই পদ্ধতির জন্য API 26 প্রয়োজন। - যুক্ত
Operation.await()
এবংListenableFuture.await()
কোটলিন এক্সটেনশন পদ্ধতি। -
Operation.getException()
এর নামকরণ করা হয়েছেOperation.getThrowable()
এটি একটি ব্রেকিং পরিবর্তন. -
ContentUriTriggers
ক্লাস এবং এটি উল্লেখ করার পদ্ধতিগুলি আর জনসাধারণের ব্যবহারের জন্য উপলভ্য নয়। এটি একটি ব্রেকিং পরিবর্তন. -
WorkManager
,WorkContinuation
এবং এপিআইকে প্রবাহিত করার জন্যOneTimeWorkRequest
বাকী ভার্জস পদ্ধতিগুলি সরানো হয়েছে। যে কোনও বিল্ড সমস্যা সমাধানের জন্য, আপনি আপনার বিদ্যমান ভার্জগুলিArrays.asList(...)
দিয়ে গুটিয়ে রাখতে পারেন। আমরা এখনও প্রতিটি পদ্ধতির একক-যুক্তি সংস্করণ অন্তর্ভুক্ত করি। এটি একটি ব্রেকিং পরিবর্তন. -
WorkContinuation.combine(OneTimeWorkRequest, *)
রূপগুলি সরানো হয়েছে। তারা একটি বিভ্রান্তিকর এপি উপস্থাপন করছিল; বিদ্যমানcombine
পদ্ধতিগুলি আরও বোধগম্য। এটি একটি ব্রেকিং পরিবর্তন.
বাগ ফিক্স
- প্রাক-মার্শমালো বাস্তবায়নগুলি ইতিমধ্যে একটি কার্যকর কার্যকারিতা প্রক্রিয়া মৃত্যুর হাত থেকে পুনরুদ্ধার করতে এখন আরও নির্ভরযোগ্য।
-
LiveData
যাobserveForever
মাধ্যমে পর্যবেক্ষণ করা হয় ওয়ার্কম্যানেজারের মাধ্যমে ট্র্যাক করা হয়। এটি একটি রুম লাইব্রেরি ফিক্সের একটি ব্যাকপোর্ট। বি/74477406 -
Data.Builder.build()
now throws an exception if the serialized object exceeds its maximum size. This previously would only happen on a background thread where you couldn't properly handle it. - Further distinguished stopped vs. cancelled work;
getWorkInfoById()
will return aWorkInfo
with theCANCELLED
State
duringListenableWorker.onStopped()
. - Treat
null
Result
s as failures inListenableWorker
. b/120362353 - Speculative fix for Shield Tablets running API 24 that sometimes threw an
IllegalArgumentException
. b/119484416
Breaking API Changes
- Support for Firebase JobDispatcher has been removed because of its impending deprecation. This means that the
work-firebase
artifact will no longer be updated as we head into beta. We will be looking into adding an alternative in the future. - Combined
Payload
intoResult
.Result
is now a "sealed class" with three concrete implementations, which you can obtain viaResult.success()
(orResult.success(Data)
),Result.failure()
(orResult.failure(Data)
), andResult.retry()
. YourListenableFuture
s now resultResult
instead ofPayload
.Worker
s don't have getter and setter methods for outputData
. - Added
Operation.await()
andListenableFuture.await()
Kotlin extension methods. - Renamed
Operation.getException()
toOperation.getThrowable()
. - The
ContentUriTriggers
class and methods referencing it are no longer available for public usage. - Removed the rest of the varargs methods in
WorkManager
,WorkContinuation
, andOneTimeWorkRequest
to streamline the API. To fix any build problems, you can wrap your existing varargs withArrays.asList(...)
. We still include single-argument versions of each method. - Removed
WorkContinuation.combine(OneTimeWorkRequest, *)
variants. They were presenting a confusing API; the existingcombine
methods are more understandable.
Version 1.0.0-alpha11
নভেম্বর 8, 2018
This release contains many changes that will become stable API at beta
. There are breaking API changes in this release; please see the Breaking API Changes section below.
এপিআই পরিবর্তন
-
work-runtime-ktx
introduces a newCoroutineWorker
. -
WorkStatus
has been renamed toWorkInfo
. All correspondinggetStatus
method variants have been renamed to the correspondinggetWorkInfo
variants. এটি একটি ব্রেকিং পরিবর্তন. -
ListenableWorker.onStopped()
no longer accepts has a boolean argument representing if theWorkRequest
was cancelled.WorkManager
no longer makes this distinction. এটি একটি ব্রেকিং পরিবর্তন. -
androidx.work.test
package has been renamed toandroidx.work.testing
package. এটি একটি ব্রেকিং পরিবর্তন. - Setters on
Constraints
are no longer a part of the public API. এটি একটি ব্রেকিং পরিবর্তন. -
WorkerParameters.getTriggeredContentUris()
andWorkerParameters.getTriggeredContentAuthorities()
previously returned arrays. Now these methods return Collections. এটি একটি ব্রেকিং পরিবর্তন. -
ListenableWorker.onStartWork()
is renamed toListenableWorker.startWork()
. এটি একটি ব্রেকিং পরিবর্তন. - The constructor for
WorkStatus
is no longer a part of the public API. এটি একটি ব্রেকিং পরিবর্তন. -
Configuration.getMaxJobSchedulerID()
andConfiguration.getMinJobSchedulerID()
are renamed toConfiguration.getMinJobSchedulerId()
andConfiguration.getMaxJobSchedulerId()
respectively. এটি একটি ব্রেকিং পরিবর্তন. - Added a lot of
@NonNull
annotations to the public API to improve ergonomics of the API. - Add
WorkManager.enqueueUniqueWork()
API to enqueue uniqueOneTimeWorkRequest
s without having to create aWorkContinuation
. - All variants of
enqueue
andcancel
methods onWorkManager
now return a newOperation
type. এটি একটি ব্রেকিং পরিবর্তন. - All variants of
enqueue
no longer accept varargs forWorkRequest
s. এটি একটি ব্রেকিং পরিবর্তন. Use Collections instead. You can useArrays.asList()
to modify existing code. We did this to reduce the API surface and method count. - Attempting to
initialize
WorkManager
more than once per process will now result in anIllegalStateException
. এটি একটি ব্রেকিং পরিবর্তন.
বাগ ফিক্স
-
WorkRequest.Builder
s in thework-runtime-ktx
artifact now useListenableWorker
s. Fixes b/117666259 - Ensure the next run time for
PeriodicWork
is in the future. Fixes b/118204399 - Remove potential disk I/O when using WorkManager on app startup. Fixes b/117796731
- Fix a race condition in
WorkConstraintsTracker
. Fixes android-workmanager/issues/56
Breaking API Changes
-
WorkStatus
has been renamed toWorkInfo
. All correspondinggetStatus
method variants have been renamed to the correspondinggetWorkInfo
variants. -
ListenableWorker.onStopped()
no longer accepts has a boolean argument representing if theWorkRequest
was cancelled.WorkManager
no longer makes this distinction. -
androidx.work.test
package has been renamed toandroidx.work.testing
package. - Setters on
Constraints
are no longer a part of the public API. -
WorkerParameters.getTriggeredContentUris()
andWorkerParameters.getTriggeredContentAuthorities()
previously returned arrays. Now these methods return Collections. -
ListenableWorker.onStartWork()
is renamed toListenableWorker.startWork()
. - The constructor for
WorkStatus
is no longer a part of the public API. -
Configuration.getMaxJobSchedulerID()
andConfiguration.getMinJobSchedulerID()
are renamed toConfiguration.getMinJobSchedulerId()
andConfiguration.getMaxJobSchedulerId()
respectively. - All variants of
enqueue
andcancel
methods onWorkManager
now return a newOperation
type. - All variants of
enqueue
no longer accept varargs forWorkRequest
s. - Attempting to
initialize
WorkManager
more than once per process will now result in anIllegalStateException
.
Version 1.0.0-alpha10
11 অক্টোবর, 2018
This release supports developer-controlled asynchronous work. There are breaking API changes in this release; please see the Breaking API Changes section below.
We anticipate that WorkManager is entering the final phases of its alpha period. We expect to be API stable in beta, so please take some time to file your feedback on our issue tracker.
এপিআই পরিবর্তন
- Removed all previously
deprecated
methods and classes, notably the defaultWorker
constructor. This is a breaking API change. - Renamed
NonBlockingWorker
toListenableWorker
, which is now an unhidden public class and ready for usage.-
ListenableWorker
provides access to one abstract method,ListenableFuture<Payload> onStartWork()
which is called on the main thread. It is up to you to start and process work asynchronously. When finished, you should update theListenableFuture
appropriately. Reference implementations ofListenableFuture
s are provided in theFutures
package inalpha02
(see below theWorkManager
section). -
Worker
extendsListenableWorker
and still operates as before, with an abstractResult doWork()
method. - Shuffled some methods and members from
Worker
toListenableWorker
. - We shall soon provide reference implementations for
ListenableWorker
s that use Kotlin coroutines (once the stable versions are released) and RxJava2.
-
- The interface
WorkerFactory
and the concrete implementationDefaultWorkerFactory
have been merged into an abstract class calledWorkerFactory
. The implementation ensures that the default reflection-based behavior is called as a last-ditch effort for any user-createdWorkerFactory
instances. এটি একটি ব্রেকিং পরিবর্তন. - Removed
WorkManager.synchronous()
andWorkContinuation.synchronous()
and all related methods. AddedListenableFuture<Void>
as the return type of many methods in the API. This is a breaking API change.- You can now synchronously get and observe by using
ListenableFuture
s. For example,WorkManager.enqueue()
used to returnvoid
; it now returns aListenableFuture<Void>
. You can callListenableFuture.addListener(Runnable, Executor)
orListenableFuture.get()
to run code once the operation is complete. - Note that these
ListenableFuture
s do not tell you if the operation succeeded or failed; only that they finished. You will still need to chain WorkManager methods to find out this information. - We ignore
cancel()
calls on these objects, as they are confusing and hard to reason about (are you cancelling the operation or the resulting work?). This is within theFuture
s contract. - To maintain parity with the synchronous
getStatus*
methods, we have providedListenableFuture
variants, and renamed the existing ones that returnedLiveData
to explicitly have "LiveData" as part of the name (for example,getStatusesByIdLiveData(UUID)
). This is a breaking API change.
- You can now synchronously get and observe by using
বাগ ফিক্স
- Fixed the known issue from alpha09 regarding duplicate
androidx-annotations.pro
files. You may remove the workaround from the previous release notes by deletingexclude 'META-INF/proguard/androidx-annotations.pro'
from your gradle file. - Added proguard configurations to keep new
Worker
constructor. b/116296569 - Fix potential
NullPointerException
in a race condition where work wasREPLACE
d. b/116253486 and b/116677275 -
WorkContinuation.combine()
now accepts one or moreWorkContinuation
s instead of two or more. b/117266752
Breaking API Changes
- Removed all previously
deprecated
methods and classes, notably the defaultWorker
constructor. - The interface
WorkerFactory
and the concrete implementationDefaultWorkerFactory
have been merged into an abstract class calledWorkerFactory
. - Removed
WorkManager.synchronous()
andWorkContinuation.synchronous()
. -
WorkManager.getStatus*()
methods now returnListenableFuture
s.WorkManager.getStatus*LiveData()
returnLiveData
s.
Version 1.0.0-alpha09
সেপ্টেম্বর 19, 2018
পরিচিত সমস্যা
If you run into the following issue: "More than one file was found with OS independent path 'META-INF/proguard/androidx-annotations.pro'", please put the following in your gradle file as a temporary workaround while we fix the issue in alpha10:
গ্রোভি
android { packagingOptions { exclude 'META-INF/proguard/androidx-annotations.pro' } }
কোটলিন
android { packagingOptions { exclude("META-INF/proguard/androidx-annotations.pro") } }
বাগ ফিক্স
- Added another fix that was needed for the "100 jobs" error. b/115560696
- Added some fixes for foreign key constraint errors due to race conditions. b/114705286
- Delegated
ConstraintTrackingWorker.onStopped(boolean)
calls to the underlyingWorker
. b/114125093 - Enforce correct minimum backoff delay for Firebase JobDispatcher. b/113304626
- Improved threading guarantees internal to the library.
- Correct potential issue with deduping of
LiveData
internally.
এপিআই পরিবর্তন
- You can now create your own
Worker
instances at runtime by specifying aWorkerFactory
as part of theWorkManager.Configuration
. The fallback factory isDefaultWorkerFactory
, which matches behavior of previous versions of WorkManager.- The default constructors for
Worker
andNonBlockingWorker
are now marked as deprecated. Please use the new constructor (Worker(Context, WorkerParameters)
) and callsuper(Context, WorkerParameters)
; future versions of WorkManager will remove the default constructor.
- The default constructors for
- We have started using the new
ListenableFuture
artifact internally (free of Guava dependencies). We will introduce ListenableFutures to the API in upcoming releases. This change will support the eventual unhiding ofNonBlockingWorker
. - Add ability to trigger timed work in
TestDriver
viaTestDriver.setInitialDelayMet(UUID)
andTestDriver.setPeriodDelayMet(UUID)
. b/113360060
ব্রেকিং পরিবর্তন
- The default
Worker
andNonBlockingWorker
constructors are deprecated. Please migrate to the new constructor ASAP. Future versions will remove the default constructor.
Version 1.0.0-alpha08
27 আগস্ট, 2018
বাগ ফিক্স
- Explicitly labelled WorkManager components as direct boot unaware so they don't fire up during direct boot. In the future, we will provide a version of WorkManager that is direct boot-aware. b/112665532
- Fixed an issue where retried work was not running. b/112604021
- Fixed periodic work not executing repeatedly (related to the above issue). b/112859683
- Honored backoff policies when the app process is already running.
- Corrected exception messages in
Data
to indicate the limit is 10KB. - Lowered maximum value of
Configuration.setMaxSchedulerLimit(int)
to 50 to account for some latency inJobScheduler
processing completion. b/112817355
Version 1.0.0-alpha07
16 আগস্ট, 2018
বাগ ফিক্স
- Fixed a potential SQL query with negative limits that could return an unbounded number of results.
- Work that has finished execution now correctly cancels all pending copies of that work in other Schedulers. This led to exceeding the
JobScheduler
jobs limit. b/111569265 - Fixed a
ConcurrentModificationException
inConstraintTracker
. b/112272753 - Changed return type annotations of
Data.getBooleanArray(String)
andData.getIntArray(String)
to@Nullable
instead of@NonNull
. b/112275229
এপিআই পরিবর্তন
-
Worker
now extends a new class,NonBlockingWorker
. This does not affect any current usage. In the future,NonBlockingWorker
will become a fully supported entity for custom threading solutions. - Changed return type annotations of
Data.getBooleanArray(String)
andData.getIntArray(String)
to@Nullable
instead of@NonNull
. b/112275229 - Kotlin extensions: deprecated
Map.toWorkData()
and added a top-levelworkDataOf(vararg Pair<String, Any?>)
to be more consistent with existing APIs.
Version 1.0.0-alpha06
আগস্ট 1, 2018
বাগ ফিক্স
- Prevent a database lock when scheduling work. b/111801342
- Fix a bug which causes
PeriodicWork
to not run on schedule when in Doze mode. b/111469837 - Fix a race condition when tracking constraints which causes
WorkManager
to crash. googlecodelabs/android-workmanager/issues/56 - Create unique
WorkRequest
s when usingWorkRequest.Builder#build()
. b/111408337 - Enable the use of
RescheduleReceiver
only when there areWorkRequest
s that need it. b/111765853
Version 1.0.0-alpha05
জুলাই 24, 2018
এপিআই পরিবর্তন
-
WorkManager.getInstance()
is now annotated with@NonNull
instead of@Nullable
. Instead, if the singleton isn't properly initialized in cases of manual initialization, the method will throw anIllegalStateException
. This is a breaking API change. - Added a new API,
Configuration.Builder.setMinimumLoggingLevel(int)
, which can control WorkManager verbosity. By default, WorkManager logsLog.INFO
and above. - Changed signature of
Data.getString()
so it no longer takes a default value (it is implicitlynull
). This is a breaking API change. - Marked some methods needed only for internal usage as
@hide
. This includes theConstraints
constructor,Data.toByteArray()
, andData.fromByteArray(byte[])
. This is a breaking API change.
বাগ ফিক্স
- WorkManager no longer executes work during known cases of auto-backup. This could have resulted in a crash. b/110564377
- Fixed double-scheduling of
PeriodicWorkRequest
s when usingJobScheduler
. b/110798652 - Fixed an issue with
PeriodicWorkRequest
s not executing correctly after device doze. b/111469837 - Fixed an issue with initial delays when using Firebase JobDispatcher. b/111141023
- Fixed some potential race conditions and timing issues.
- Correctly freed up
BroadcastReceiver
s that were no longer needed. - Optimized rescheduling performance when apps restart after being force closed.
- Allowed
TestScheduler.setAllConstraintsMet(UUID)
to be called before or after enqueuing the givenWorkRequest
. b/111238024
ব্রেকিং পরিবর্তন
-
WorkManager.getInstance()
is now annotated with@NonNull
instead of@Nullable
. - Changed signature of
Data.getString()
so it no longer takes a default value (it is implicitlynull
). - Marked some methods needed only for internal usage as
@hide
. This includes theConstraints
constructor,Data.toByteArray()
, andData.fromByteArray(byte[])
.
Version 1.0.0-alpha04
জুন 26, 2018
বাগ ফিক্স
-
PeriodicWorkRequest
s are now correctly rescheduled when using theAlarmManager
based implementation. - Fixed a potential ANR when rescheduling all workers after a force stop or a reboot. b/110507716
- Added nullability annotations to various WorkManager APIs. b/110344065
- Log uncaught exceptions that occur during Worker execution. b/109900862
- Allowed destructive database migrations in case you decide to roll back to an older version of WorkManager. b/74633270
- Fixed a migration crash if creating duplicate implicit tags. This is a very rare issue that occurred only if you used the same implicit tag format yourself.
Version 1.0.0-alpha03
জুন 19, 2018
বাগ ফিক্স
Fixed a race condition in the
AlarmManager
based implementation. b/80346526 .Fixed duplicate jobs when using
JobScheduler
after a device reboot.Jobs with Content URI triggers now persist across reboots. b/80234744
ডকুমেন্টেশন আপডেট. b/109827628 , b/109758949 , b/80230748
Fixed a crash when re-enqueuing a
WorkRequest
. b/109572353 .Fixed Kotlin compiler warnings when using the
work-runtime-ktx
dependency.WorkManager now uses
Room
version1.1.1-rc1
.
এপিআই পরিবর্তন
- Added
getStatusesSync()
, the synchronous version ofWorkContinuation.getStatuses()
. -
Worker
has the ability to distinguish between user-initiated cancellation and temporary os-requested stopping.Worker.isStopped()
returnstrue
if any kind of stop has been requested.Worker.isCancelled()
returnstrue
when the work has been explicitly cancelled. b/79632247 - Add support for JobParameters#getNetwork() on API 28. This is exposed via
Worker.getNetwork()
. - Added
Configuration.Builder.setMaxSchedulerLimit(int maxSchedulerLimit)
so you can enforce how many jobs can be sent toJobScheduler
orAlarmManager
. This helps preventWorkManager
from taking all your availableJobScheduler
slots. - Added
Configuration.setJobSchedulerJobIdRange(int minJobSchedulerId, int maxJobSchedulerId)
which helps define a range ofJobScheduler
job ids safe forWorkManager
to use. b/79996760 -
Worker.getRunAttemptCount()
returns the current run count for a givenWorker
. b/79716516 -
WorkManager.enqueueUniquePeriodicWork(String uniqueWorkName, ExistingPeriodicWorkPolicy existingPeriodicWorkPolicy, PeriodicWorkRequest periodicWork)
allows you to enqueue a uniquePeriodicWorkRequest
s. b/79600647 -
WorkManager.cancelAllWork()
cancels allWorker
s. Libraries that depend onWorkManager
can query when this method was called last by usingWorkManager.getLastCancelAllTimeMillis()
for additional cleanup of internal state. - Added
WorkManager.pruneWork()
to remove completed jobs from the internal database. b/79950952 , b/109710758
আচরণ পরিবর্তন
- Added an implicit tag for all
WorkRequest
s, which is the fully qualified class name for theWorker
. This allows the ability to removeWorkRequest
s withouttag
s or when theid
is not available. b/109572351
ব্রেকিং পরিবর্তন
- Renamed
Worker.WorkerResult
toWorker.Result
. -
Worker.onStopped
now has an additionalisCancelled
parameter which is set totrue
when theWorker
has explicitly been cancelled.
সংস্করণ 1.0.0-alpha02
24 মে, 2018
বাগ ফিক্স
- Fixed a
NullPointerException
onState.isFinished()
. b/79550068 - Fixed an issue which caused
Worker
s to be rescheduled onApplication.onCreate()
. b/79660657 - Fixed an issue where you could schedule more work than is allowed by the OS. b/79497378
- Moved cleanup of wake locks associated with
Worker
s to the background thread. - The
AlarmManager
implementation now correctly cleans up when all pending work is complete. - Fixed cleanup SQL queries which affected non-English locales. b/80065360
- Added support for
float
s inData
. b/79443878 -
Data.Builder.putAll()
now returns an instance of theBuilder
. b/79699162 - More javadoc and fixes in documentation. b/79691663
এপিআই পরিবর্তন
-
Worker
s can react to being stopped.Worker.isStopped()
can be used to check if aWorker
has been stopped.Worker.onStopped()
can be used to perform lightweight cleanup operations. -
Worker.getTags()
API returns aSet
of tags associated with theWorker
. - Added
javax.time.Duration
overloads for APIs which take a combination of duration andTimeUnit
s. This is guarded by@RequiresApi(26)
. -
WorkManager
extensions have moved from theandroidx.work.ktx
package to theandroidx.work
package. The old extensions are deprecated and will be removed in a future version. -
Configuration.withExecutor()
is deprecated. UseConfiguration.setExecutor()
instead.
সংস্করণ 1.0.0-alpha01
8 মে, 2018
WorkManager simplifies scheduling and execution of guaranteed, constraint-aware background work. This initial release is 1.0.0-alpha01
.
ওয়ার্ক ম্যানেজার
সর্বশেষ আপডেট | স্থিতিশীল রিলিজ | প্রার্থী মুক্তি | বিটা রিলিজ | আলফা রিলিজ |
---|---|---|---|---|
সেপ্টেম্বর 18, 2024 | 2.9.1 | - | - | 2.10.0-alpha04 |
নির্ভরতা ঘোষণা করা
To add a dependency on WorkManager, you must add the Google Maven repository to your project:
আপনার অ্যাপ বা মডিউলের জন্য build.gradle
ফাইলে আপনার প্রয়োজনীয় আর্টিফ্যাক্টগুলির জন্য নির্ভরতা যোগ করুন:
গ্রোভি
dependencies { def work_version = "2.9.1" // (Java only) implementation "androidx.work:work-runtime:$work_version" // Kotlin + coroutines implementation "androidx.work:work-runtime-ktx:$work_version" // optional - RxJava2 support implementation "androidx.work:work-rxjava2:$work_version" // optional - GCMNetworkManager support implementation "androidx.work:work-gcm:$work_version" // optional - Test helpers androidTestImplementation "androidx.work:work-testing:$work_version" // optional - Multiprocess support implementation "androidx.work:work-multiprocess:$work_version" }
কোটলিন
dependencies { val work_version = "2.9.1" // (Java only) implementation("androidx.work:work-runtime:$work_version") // Kotlin + coroutines implementation("androidx.work:work-runtime-ktx:$work_version") // optional - RxJava2 support implementation("androidx.work:work-rxjava2:$work_version") // optional - GCMNetworkManager support implementation("androidx.work:work-gcm:$work_version") // optional - Test helpers androidTestImplementation("androidx.work:work-testing:$work_version") // optional - Multiprocess support implementation("androidx.work:work-multiprocess:$work_version") }
For information on using Kotlin extensions, see the ktx documentation .
For more information about dependencies, see Add Build Dependencies .
প্রতিক্রিয়া
আপনার প্রতিক্রিয়া জেটপ্যাককে আরও ভাল করতে সাহায্য করে। আপনি যদি নতুন সমস্যা আবিষ্কার করেন বা এই লাইব্রেরির উন্নতির জন্য ধারনা পান তাহলে আমাদের জানান। আপনি একটি নতুন তৈরি করার আগে অনুগ্রহ করে এই লাইব্রেরিতে বিদ্যমান সমস্যাগুলি দেখুন৷ আপনি তারকা বোতামে ক্লিক করে একটি বিদ্যমান সমস্যায় আপনার ভোট যোগ করতে পারেন।
আরও তথ্যের জন্য ইস্যু ট্র্যাকার ডকুমেন্টেশন দেখুন।
সংস্করণ 2.10
Version 2.10.0-alpha04
সেপ্টেম্বর 18, 2024
androidx.work:work-*:2.10.0-alpha04
is released. Version 2.10.0-alpha04 contains these commits .
এপিআই পরিবর্তন
- Add the stop reason
STOP_REASON_FOREGROUND_SERVICE_TIMEOUT
for when a foreground worker is stopped due to execution timeout based on the foreground service type. ( Ibd0af )
Version 2.10.0-alpha03
4 সেপ্টেম্বর, 2024
androidx.work:work-*:2.10.0-alpha03
is released. Version 2.10.0-alpha03 contains these commits .
নতুন বৈশিষ্ট্য
- Added trace tags to Jobs from
WorkManager
which makes 'adb shell dumpsys jobscheduler' a lot simpler to understand since it will contain the name of the Worker being executed. Trace sections are also added around key areas ofWorkManager
.
এপিআই পরিবর্তন
- WorkManager 2.10.0 is now compiled with SDK 35.
- Fix foreground workers of type 'short service' and 'data sync' timing out and causing an ANR when
WorkManager
didn't callstopSelf()
. This fix only applies to devices with API 34 and 35 where foreground service types were introduced. ( ca06b2 , b/364508145 ) - New
WorkerParameters
APIs that make it possible to switch the remote process that theWorker
binds to when using aWorkerFactory
. ( Ibdc8a , Ie8a90 , I7373f )
বাগ ফিক্স
- Fix a crash caused by
WorkManager
attempting to restart a long-running worker (ie a foreground worker) when the foreground type of the work had Android 14 prerequisite permissions that were revoked. ( b/333957914 ) - নতুন প্ল্যাটফর্ম API-এ অ্যাক্সেসের ম্যানুয়াল রূপরেখা সরানো হয়েছে যেহেতু AGP 7.3 বা তার পরে (যেমন R8 সংস্করণ 3.3) এবং AGP 8.1 বা তার পরবর্তী (যেমন D8 সংস্করণ 8.1) ব্যবহার করার সময় R8 ব্যবহার করার সময় এটি স্বয়ংক্রিয়ভাবে API মডেলিংয়ের মাধ্যমে ঘটে। যে সকল ক্লায়েন্ট AGP ব্যবহার করছেন না তাদের D8 সংস্করণ 8.1 বা তার পরবর্তী সংস্করণে আপডেট করার পরামর্শ দেওয়া হচ্ছে। আরো বিস্তারিত জানার জন্য এই নিবন্ধটি দেখুন. ( IA60e0 , b/345472586 )
Version 2.10.0-alpha02
এপ্রিল 17, 2024
androidx.work:work-*:2.10.0-alpha02
is released. Version 2.10.0-alpha02 contains these commits .
এপিআই পরিবর্তন
- Added the ability to emit trace spans via a configurable
@RestrictTo
Tracer
inWorkManager
. ( I17d7f , b/260214125 ) -
Configuration.workerCoroutineContext
was added to for control of dispatcher whereCoroutineWorker
is executed. It helps to completely avoid usage ofDispatchers.Default
inWorkManager
. ( Icd1b7 ) - Add custom exception handlers for Workers ( Ib1b74 , b/261190695 )
-
OneTimeWorkRequest.Builder
andPeriodicWorkRequest.Builder
can now be constructed withKClass
instead ofClass
:val request = OneTimeWorkRequest.Builder(Worker::class).setConstraints(...).build()
( Ib55f6 ) -
WorkManager
class was migrated to Kotlin. Now methods that returnLiveData
,ListenableFuture
orFlow
provides correct nullability information. It could require changes in clients' source code, if nullability assumptions in that code were incorrect. ( If6757 )
Version 2.10.0-alpha01
24 জানুয়ারী, 2024
androidx.work:work-*:2.10.0-alpha01
is released. Version 2.10.0-alpha01 contains these commits.
নতুন বৈশিষ্ট্য
- Developers can specify
NetworkRequest
as a constraint for a worker via theConstraints.setRequiredNetworkRequest
method. This enables more granular control over which network this worker should run.
এপিআই পরিবর্তন
- Adding an ability to specify
NetworkRequest
as the constraint. ( Id98a1 , b/280634452 )
সংস্করণ 2.9
সংস্করণ 2.9.1
7 আগস্ট, 2024
androidx.work:work-*:2.9.1
is released. Version 2.9.1 contains these commits .
বাগ ফিক্স
- Fix a crash caused by
WorkManager
attempting to restart a long-running worker (ie a foreground worker) when the foreground type of the work had Android 14 prerequisite permissions that were revoked. ( b/333957914 )
সংস্করণ 2.9.0
নভেম্বর 29, 2023
androidx.work:work-*:2.9.0
is released. Version 2.9.0 contains these commits.
Important changes since 2.8.0
- Observability via
Flow
-s. Instead ofLiveData
, Worker's progress now can be observed via Flow's viaWorkManager.getWorkInfosFlow
and similar methods. - Now
WorkManager
provides a hint on why a worker was previously stopped. It can be queried from a worker itself viagetStopReason()
method or fromWorkInfo
viagetStopReason()
. - Precise scheduling of periodic workers via
setNextScheduleTimeOverride
. This allows dynamic calculation of the next Periodic work schedule, which can be used to implement advanced features like adaptive refresh times, custom retry behavior, or making a newsfeed worker run before the user wakes up every morning without drift.ExistingPeriodicWorkPolicy.UPDATE
should be used with these techniques to avoid canceling a currently-running worker while scheduling the next one. - WorkManager's testing with threading matching production.
ExecutorsMode.PRESERVE_EXECUTORS
can be used ininitializeTestWorkManager
to preserve executors set inConfiguration
and to use the real main thread. - Coroutines APIs such as
CoroutineWorker
have been moved from additional artifact work-runtime-ktx to the main artifact work-runtime. work-runtime-ktx is now empty.
এপিআই পরিবর্তন
-
stopReason
was added toWorkInfo
. It makesstopReason
available after the worker has run. It could be helpful in the reportingstopReason
in a usable way, because once a worker has been stopped, an app itself could be killed very quickly. ( I21386 ) - Allow
Clock
to be set via config and used to drive execution sequencing of Worker tests. ( Ic586e ) -
getStopReason()
method was added toListenableWorker
that gives a hint why the worker was stopped. ( I07060 ) - Added
WorkManagerTestInitHelper#closeWorkDatabase()
to avoid Closeguard's warning about leaked resources. ( Ia8d49 ) -
WorkInfo
's constructor is public now, which can be useful in testing. ( Ia00b6 , b/209145335 ) -
work-runtime-ktx
is now empty,CoroutineWorker
and other Kotlin specific utilities are now available in the main work-runtime artifact. ( I71a9a ) - Added
setNextScheduleTimeOverride
method, which allows accurate setting of periodic work schedules ( I3b4da ) - Added
getNextScheduleTimeMillis
to get scheduled run time info is added toWorkInfo
. ( I797e4 ) - Initial delay and periodicity info are added to
WorkInfo
. ( I52f2f ) - Added method observe workers via Flows via methods
getWorkInfosByTagFlow
,getWorkInfoByIdFlow
,getWorkInfosForUniqueWorkFlow
,getWorkInfosFlow
( If122a ) - Added missing
@RequiresApi(...)
annotations toConstraints
' constructors and properties. They are now aligned with corresponding annotations on setters inConstraints.Builder
that existed from early versions ofWorkManager
. ( I6d7d2 ) -
WorkManager
now has a separate limit for content uri workers to give them guaranteed slots inJobScheduler
to prevent missing content updates under the high load. The limit can be configured viaConfiguration.Builder.setContentUriTriggerWorkersLimit
. ( Ic128f ) - Constraints are added to
WorkInfo
. ( I162c0 )
Version 2.9.0-rc01
18 অক্টোবর, 2023
androidx.work:work-*:2.9.0-rc01
is released. Version 2.9.0-rc01 contains these commits.
- No changes since the last beta release
Version 2.9.0-beta01
6 সেপ্টেম্বর, 2023
androidx.work:work-*:2.9.0-beta01
is released. Version 2.9.0-beta01 contains these commits.
এপিআই পরিবর্তন
- Added constants for stop reasons returned by
WorkInfo.stopReason
andListenableWorker.stopReason
( I0cc00 )
Version 2.9.0-alpha02
জুলাই 26, 2023
androidx.work:work-*:2.9.0-alpha02
is released. Version 2.9.0-alpha02 contains these commits.
নতুন বৈশিষ্ট্য
- Now
WorkManager
provides a hint on why a worker was previously stopped. It can be queried from a worker itself viagetStopReason()
method or fromWorkInfo
viagetStopReason()
.
এপিআই পরিবর্তন
-
stopReason
was added toWorkInfo
. It makes availablestopReason
after the worker ran. It could be helpful in the reportingstopReason
in usable way, because once a worker has been stopped, an app itself could be very quickly killed. ( I21386 ) - Allow Clock to be set via config and used to drive execution sequencing of Worker tests. ( Ic586e )
-
getStopReason()
method was added toListenableWorker
that gives a hint why the worker was stopped. ( I07060 ) - Added
WorkManagerTestInitHelper#closeWorkDatabase()
to avoid Closeguard's warning about leaked resources. ( Ia8d49 )
বাগ ফিক্স
- Added ability to bypass
overrideNextScheduleTime
usingTestDriver
and fixed issues with testability. ( Ic2905 )
Version 2.9.0-alpha01
7 জুন, 2023
androidx.work:work-*:2.9.0-alpha01
is released. Version 2.9.0-alpha01 contains these commits.
নতুন বৈশিষ্ট্য
- Observability via
Flow
-s. Instead ofLiveData
, Worker's progress now can be observed via Flow's viaWorkManager.getWorkInfosFlow
and similar methods. - Precise scheduling of periodic workers via
setNextScheduleTimeOverride
. This allows dynamic calculation of the next Periodic work schedule, which can be used to implement advanced features like adaptive refresh times, custom retry behavior, or making a newsfeed worker run before the user wakes up every morning without drift.ExistingPeriodicWorkPolicy.UPDATE
should be used with these techniques to avoid cancelling a currently-running worker while scheduling the next one. -
WorkManager
's testing with threading matching production.ExecutorsMode.PRESERVE_EXECUTORS
can be used to preserve executors set inConfiguration
and to use the real main thread. - Coroutines APIs such as
CoroutineWorker
have been moved from additional artifactwork-runtime-ktx
to the main artifactwork-runtime
.work-runtime-ktx
is now empty.
এপিআই পরিবর্তন
-
WorkInfo
's constructor is public now, that can be useful in testing. ( Ia00b6 , b/209145335 ) -
work-runtime-ktx
is now empty,CoroutineWorker
and other kotlin specific utilities are now available in the mainwork-runtime
artifact. ( I71a9a ) - Added
setNextScheduleTimeOverride
method, which allows accurate setting of periodic work schedules ( I3b4da ) - Renamed
getEarliestRunTimeMillis
togetNextScheduleTimeMillis
. ( I2bd7a ) - Next scheduled run time info is added to
WorkInfo
. ( I797e4 ) - Initial delay and periodicity info are added to
WorkInfo
. ( I52f2f ) - Added method observe workers via Flows via methods
getWorkInfosByTagFlow
,getWorkInfoByIdFlow
,getWorkInfosForUniqueWorkFlow
,getWorkInfosFlow
( If122a ) - Added missing
@RequiresApi(...)
annotations to Constraints' constructors and properties. They are now aligned with corresponding annotations on setters inConstraints.Builder
that existed from early versions ofWorkManager
. ( I6d7d2 ) -
WorkManager
now has a separate limit for content uri workers to give them guaranteed slots inJobScheduler
to prevent missing content updates under the high load. Limit can be configured viaConfiguration.Builder.setContentUriTriggerWorkersLimit
. ( Ic128f ) - Constraints are added to
WorkInfo
. ( I162c0 )
সংস্করণ 2.8
সংস্করণ 2.8.1
22 মার্চ, 2023
androidx.work:work-*:2.8.1
is released. Version 2.8.1 contains these commits.
বাগ ফিক্স
- Fixed ANR in
RescheduleReceiver
that previously didn't correctly handle two simultaneous broadcasts. ( b/236906724 )
সংস্করণ 2.8.0
ফেব্রুয়ারী 8, 2023
androidx.work:work-*:2.8.0
is released. Version 2.8.0 contains these commits.
Important changes since 2.7.0
নতুন বৈশিষ্ট্য
- An ability to update
WorkRequests
in a non-intrusive way was added, preserving original enqueue time, chaining etc. See detailed blogpost about this feature, as well as javadocs forWorkManager.updateWork
andExistingPeriodicWorkPolicy.UPDATE
for more details.
এপিআই পরিবর্তন
-
WorkManager.updateWork
was added to update work preserving its original enqueue time and chaining.( I9a248 , b/219446409 ) -
ExistingPeriodicWorkPolicy.UPDATE
was added. This policy allows updating a periodic work by the name. It is similar to the existingREPLACE
, but it is less intrusive: it doesn't cancel a worker if it is currently running and it preserves enqueue time - initial delay and period are calculated from original enqueue time, rather than update time.REPLACE
was deprecated to decrease a confusion between the very similarly namedREPLACE
andUPDATE
. If you still want to keep the previous semantics ofREPLACE
, the newly addedCANCEL_AND_REENQUEUE
, which is identical toREPLACE
, can be used. ( I985ed , b/219446409 ) - Added the ability to intercept scheduling exceptions providing
Consumer<Throwable>
via setSchedulingExceptionHandler ) - Added the ability to provide
Consumer<Throwable>
via setInitializationExceptionHandler to determine if there were issues when trying to initialize WorkManager. - Inline helpers for
OneTimeWorkRequest
&PeriodicWorkRequest
were moved fromandroidx.work:work-runtime-ktx
toandroidx.work:work-runtime
( I0010f , b/209145335 ) - Helper methods
WorkQuery.fromIds
,WorkQuery.fromStates
,WorkQuery.fromUniqueWorkNames
,WorkQuery.fromTags
were added to createWorkQuery
directly. ( b/199919736 ) ( If48f2 , b/199919736 ) - Added
getForegroundInfo
toWorker
. ( Ic1ead ) -
RxWorker
both for RxJava 2 and RxJava 3 now hassetForeground
returningCompletable
that can be used instead ofsetForegroundInfoAsync
that returnsListenableFuture
-
RxWorker
both for RxJava 2 and RxJava 3 hasgetForegroundInfo
returningSingle
that can be used instead ofgetForegroundInfoAsync
that returnsListenableFuture
. ( b/203851459 ) - Constraints can now be directly constructed rather than using
Constraints.Builder
, which is convenient for Kotlin users. ( Idc390 , b/137568653 ) - Added the ability to check if
WorkManager
has been initialized. Also, added a newgetConfiguration()
API for library developers to get the configuration thatWorkManager
was initialized with. ( I6eff3 , b/212300336 )
বাগ ফিক্স
- Fixed an issue with the greedy scheduler that would prevent workers from running immediately when under load. ( I9686b , b/248111307 )
- Added
@RequiresPermission
to APIs that require granting thePOST_NOTIFICATIONS
permission on SDK 33 and above. ( Ie542e , b/238790278 ) - Propagate cancellations in the
CoroutineScope
to theListenableFuture
when usingsuspendCancellableCoroutine
.
Version 2.8.0-rc01
7 ডিসেম্বর, 2022
androidx.work:work-*:2.8.0-rc01
is released. Version 2.8.0-rc01 contains these commits.
নতুন বৈশিষ্ট্য
- No new features on this release. This is mainly a version bump
Version 2.8.0-beta02
9 নভেম্বর, 2022
androidx.work:work-*:2.8.0-beta02
is released. Version 2.8.0-beta02 contains these commits.
বাগ ফিক্স
- Fixed
equals
method inWorkInfo
, that previously didn't take into account new generation information. ( 4977cc )
Version 2.8.0-beta01
5 অক্টোবর, 2022
androidx.work:work-*:2.8.0-beta01
is released. Version 2.8.0-beta01 contains these commits.
বাগ ফিক্স
- Fixed an issue with the greedy scheduler that would prevent workers from running immediately when under load. ( I9686b , b/248111307 )
Version 2.8.0-alpha04
7 সেপ্টেম্বর, 2022
androidx.work:work-*:2.8.0-alpha04
is released. Version 2.8.0-alpha04 contains these commits.
এপিআই পরিবর্তন
-
WorkerInfo.getGeneration()
andWorkerParameters.getGeneration()
were added that return the generation of a worker. A worker has multiple generations, if it was updated viaWorkManager.updateWork
orWorkManager.enqueueUniquePeriodicWork
usingExistingPeriodicWorkPolicy.UPDATE
. Note that If the worker is currently running, it is possible for this method to return a newer generation from that of the currently running worker if an update has happened during an execution of the worker. ( I665c5 , b/219446409 ) ( I128a9 , b/219446409 ) - Added
InitializationExceptionHandler
, an Exception Handler that can be used to determine if there were issues when trying to initializeWorkManager
. ( I061de )
Version 2.8.0-alpha03
10 আগস্ট, 2022
androidx.work:work-*:2.8.0-alpha03
is released. Version 2.8.0-alpha03 contains these commits.
নতুন বৈশিষ্ট্য
- An ability to update
WorkRequests
in a non-intrusive way was added, preserving original enqueue time, chaining etc. SeeWorkManager.updateWork
andExistingPeriodicWorkPolicy.UPDATE
for more details.
এপিআই পরিবর্তন
-
WorkManager.updateWork
was added to update work preserving its original enqueue time and chaining.( I9a248 , b/219446409 ) -
ExistingPeriodicWorkPolicy.UPDATE
was added. This policy allows to update a periodic work by the name. It is similar to the existingREPLACE
, but it is less intrusive: it doesn't cancel a worker if it is currently running and it preserves enqueue time - initial delay and period are calculated from original enqueue time, rather than update time.REPLACE
was deprecated to decrease a confusion between very similarly namedREPLACE
andUPDATE
. If you still want to keep the previous semantics ofREPLACE
, the newly addedCANCEL_AND_REENQUEUE
, which is identical toREPLACE
, can be used. ( I985ed , b/219446409 ) - Add the ability to intercept scheduling exceptions by defining a
SchedulingExceptionHandler
. ( I033eb ) - Inline helpers for
OneTimeWorkRequest
&PeriodicWorkRequest
were moved fromandroidx.work:work-runtime-ktx
toandroidx.work:work-runtime
( I0010f , b/209145335 )
বাগ ফিক্স
- Added
@RequiresPermission
to APIs that require granting the POST_NOTIFICATIONS permission on SDK 33 and above. ( Ie542e , b/238790278 )
Version 2.8.0-alpha02
6 এপ্রিল, 2022
androidx.work:work-*:2.8.0-alpha02
is released. Version 2.8.0-alpha02 contains these commits.
এপিআই পরিবর্তন
- Constraints can now be directly constructed rather than using Builder, which is convenient for Kotlin users. ( Idc390 , b/137568653 )
- Added the ability to check if
WorkManager
has been initialized. Also, added a newgetConfiguration()
API for library developers to get the configuration thatWorkManager
was initialized with. ( I6eff3 , b/212300336 )
Version 2.8.0-alpha01
জানুয়ারী 12, 2022
androidx.work:work-*:2.8.0-alpha01
is released. Version 2.8.0-alpha01 contains these commits.
এপিআই পরিবর্তন
- Helper methods
WorkQuery.fromStates
,WorkQuery.fromUniqueWorkNames
,WorkQuery.fromTags
were added to create WorkQuery directly. ( If48f2 , b/199919736 ) - Adds experimental BuildCompat methods for future SDKs ( Iafd82 , b/207528937 )
- Add
getForegroundInfo
toWorker
. ( Ic1ead ) - Helper methods
WorkQuery.fromIds
to create WorkQuery directly from ids were added. ( Ie5bdf , b/199919736 ) - RxWorker now has
setForeground
returningCompletable
that can be used instead ofsetForegroundInfoAsync
that returnsListenableFuture
. ( I85156 ) - RxWorker for RxJava 2 now has
getForegroundInfo
returningSingle
that can be used instead ofgetForegroundInfoAsync
that returnsListenableFuture
. ( I21c91 , b/203851459 ) - RxWorker for RxJava 3 now has
getForegroundInfo
returningSingle
that can be used instead ofgetForegroundInfoAsync
that returnsListenableFuture
. ( I1ca8a ) - RxWorker now has
setForeground
returningCompletable
that can be used instead ofsetForegroundInfoAsync
that returnsListenableFuture
. ( I992a3 , b/203851459 )
বাগ ফিক্স
- Propagate cancellations in the
CoroutineScope
to theListenableFuture
when usingsuspendCancellableCoroutine
. ( I77e63 )
সংস্করণ 2.7
সংস্করণ 2.7.1
17 নভেম্বর, 2021
androidx.work:work-*:2.7.1
is released. Version 2.7.1 contains these commits.
বাগ ফিক্স
- Cancellations in the
CoroutineScope
are propagated to theListenableFuture
when usingsuspendCancellableCoroutine
. ( I77e63 ) - An exception is thrown immediately when delayed work requests are marked as expedited. bef1762
সংস্করণ 2.7.0
13 অক্টোবর, 2021
androidx.work:work-*:2.7.0
is released. Version 2.7.0 contains these commits.
Important changes since 2.6.0
WorkManager introduces a new
WorkRequest.Builder.setExpedited(...)
API to help with Foreground Service restrictions in Android 12.When using
setExpedited(...)
, WorkManager delegates to expedited jobs in JobScheduler starting Android 12, while providing backwards compatibility on prior versions of Android by delegating to a Foreground Service.
Version 2.7.0-rc01
29 সেপ্টেম্বর, 2021
androidx.work:work-*:2.7.0-rc01
is released. Version 2.7.0-rc01 contains these commits.
This version is identical to androidx.work:work-*:2.7.0-beta01
.
Version 2.7.0-beta01
1 সেপ্টেম্বর, 2021
androidx.work:work-*:2.7.0-beta01
is released. Version 2.7.0-beta01 contains these commits.
নতুন বৈশিষ্ট্য
- Reduce multi-process SQLite contention when initializing WorkManager.
এপিআই পরিবর্তন
- Remove
@ExperimentalExpeditedWork
APIs given the underlying platform APIs for Android 12 (S) are stable. ( aosp/1792806 )
বাগ ফিক্স
- Provide a better error message for expedited workers that do not implement
getForegroundInfoAsync()
. ( aosp/1809376 )
Version 2.7.0-alpha05
জুলাই 21, 2021
androidx.work:work-*:2.7.0-alpha05
is released. Version 2.7.0-alpha05 contains these commits.
This release also contains bug fixes from the WorkManager 2.6.0-beta02
release.
Version 2.7.0-alpha04
2 জুন, 2021
androidx.work:work-*:2.7.0-alpha04
is released.
This release also contains the changes from the 2.6.0-beta01 release.
এপিআই পরিবর্তন
-
ListenableWorker.setForegroundAsync()
is no longer deprecated. - We recommend using
WorkRequest.Builder.setExpedited(...)
API when possible. To better support situations when the app is not subject to foreground service restrictions , developers can use theListenableWorker.setForegroundAsync()
API. - If
ListenableWorker.setForegroundAsync()
is called, when the app is subject to foreground service restrictions, this will throw the ForegroundServiceStartNotAllowedException .
বাগ ফিক্স
- When expedited jobs are rescheduled, they are no longer expedited. They become regular jobs.
Version 2.7.0-alpha03
21 এপ্রিল, 2021
androidx.work:work-*:2.7.0-alpha03
is released. Version 2.7.0-alpha03 contains these commits.
নতুন বৈশিষ্ট্য
From WorkManager
2.6.0-alpha02
: Adds support for Workers that can run in any process. ( Iaf200 )From WorkManager
2.6.0-alpha02
: Added aRemoteCoroutineWorker
which is an implementation ofRemoteListenableWorker
that can bind to a remote process. ( I30578 )
এপিআই পরিবর্তন
- From WorkManager
2.6.0-alpha02
:Added support forTEMPORARILY_UNMETERED
network constraint. ( I08d5e ) - From WorkManager
2.6.0-alpha02
:Multi-process worker support forsetProgressAsync()
. ( Ib6d08 ) - From WorkManager
2.6.0-alpha02
:MakeWorkManagerInitializer
public so otherandroidx.startup.Initializer
s can use these as dependencies. ( I5ab11 )
Version 2.7.0-alpha02
10 মার্চ, 2021
androidx.work:work-*:2.7.0-alpha02
is released. Version 2.7.0-alpha02 contains these commits.
বাগ ফিক্স
- Make
PendingIntent
mutability explicit, to fix a crash when targeting Android 12. ( b/180884673 )
Version 2.7.0-alpha01
18 ফেব্রুয়ারি, 2021
androidx.work:work-*:2.7.0-alpha01
is released. Version 2.7.0-alpha01 contains these commits.
নতুন বৈশিষ্ট্য
WorkManager introduces a new
WorkRequest.Builder.setExpedited(...)
API to take into account the foreground Service restrictions in Android 12.Applications can no longer launch a foreground service when they are in the background. Therefore, to better support long running work which was previously bound to the lifecycle of a foreground service, applications can mark
WorkRequest
s as expedited .This API is a replacement for the
setForegroundAsync(...)
/setForeground(...)
APIs which are now deprecated .When using
setExpedited(...)
, WorkManager delegates to expedited jobs inJobScheduler
starting Android 12, while providing backwards compatibility on prior versions of Android by delegating to foreground services,
এপিআই পরিবর্তন
- Add support for expedited
WorkRequest
s.
সংস্করণ 2.6.0
সংস্করণ 2.6.0
1 সেপ্টেম্বর, 2021
androidx.work:work-*:2.6.0
is released. Version 2.6.0 contains these commits.
Important changes since 2.5.0
WorkManager now uses
androidx.startup
to initialize WorkManager. If you usedtools:node="remove"
theContentProvider
being used to initialize WorkManager in the past, then you need to do the following instead.<provider android:name="androidx.startup.InitializationProvider" android:authorities=\"${applicationId}.androidx-startup" android:exported="false" tools:node=\"merge"> <!-- If you are using androidx.startup to initialize other components --> <meta-data android:name="androidx.work.WorkManagerInitializer" android:value="androidx.startup" tools:node="remove" /> </provider>
<!-- If you want to disable android.startup completely. --> <provider android:name="androidx.startup.InitializationProvider" android:authorities="${applicationId}.androidx-startup" tools:node="remove" />
Added support for Workers that can run in any process. ( Iaf200 )
Added a
RemoteCoroutineWorker
which is an implementation of RemoteListenableWorker that can bind to a remote process. ( I30578 )
Version 2.6.0-rc01
4 আগস্ট, 2021
androidx.work:work-*:2.6.0-rc01
is released. Version 2.6.0-rc01 contains these commits.
This version is identical to androidx.work:work-*:2.6.0-beta02
.
Version 2.6.0-beta02
জুলাই 21, 2021
androidx.work:work-*:2.6.0-beta02
is released. Version 2.6.0-beta02 contains these commits.
বাগ ফিক্স
-
RemoteWorkManager
now correctly unbinds fromRemoteWorkManagerService
which allowsRemoteWorkManagerService
to clean up correctly. aosp/1730694 -
RemoteListenableWorker
now correctly unbinds fromRemoteWorkerService
which allowsRemoteWorkerService
to clean up correctly. aosp/1743817 -
ForceStopRunnable
now only runs in the primary app process. This is an optimization, and avoids resource contention for apps that use multiple processes. aosp/1749180 , aosp/1761729
Version 2.6.0-beta01
2 জুন, 2021
androidx.work:work-*:2.6.0-beta01
is released. Version 2.6.0-beta01 contains these commits.
This release contains some minor documentation improvements. The release is largely identical to 2.6.0-alpha02 .
Version 2.6.0-alpha02
21 এপ্রিল, 2021
androidx.work:work-*:2.6.0-alpha02
is released. Version 2.6.0-alpha02 contains these commits.
নতুন বৈশিষ্ট্য
Adds support for Workers that can run in any process. ( Iaf200 )
Added a
RemoteCoroutineWorker
which is an implementation ofRemoteListenableWorker
that can bind to a remote process. ( I30578 )
এপিআই পরিবর্তন
- Added support for
TEMPORARILY_UNMETERED
network constraint. ( I08d5e ) - Multi-process worker support for
setProgressAsync()
. ( Ib6d08 ) - Make
WorkManagerInitializer
public so otherandroidx.startup.Initializer
s can use these as dependencies. ( I5ab11 )
Version 2.6.0-alpha01
24 মার্চ, 2021
androidx.work:work-*:2.6.0-alpha01
is released. Version 2.6.0-alpha01 contains these commits.
নতুন বৈশিষ্ট্য
WorkManager
now usesandroidx.startup
to initialize WorkManager. Previously, this was being done byandroidx.work.impl.WorkManagerInitializer
. ( aosp/1608813 )If you used
tools:node="remove"
theContentProvider
being used to initialize process lifecycle in the past, then you need to do the following instead.<provider android:name="androidx.startup.InitializationProvider" android:authorities=\"${applicationId}.androidx-startup" android:exported="false" tools:node=\"merge"> <!-- If you are using androidx.startup to initialize other components --> <meta-data android:name="androidx.work.impl.WorkManagerInitializer" android:value="androidx.startup" tools:node="remove" /> </provider>
(বা)
<!-- If you want to disable android.startup completely. --> <provider android:name="androidx.startup.InitializationProvider" android:authorities="${applicationId}.androidx-startup" tools:node="remove"> </provider>
এপিআই পরিবর্তন
- Add a
Result.getOutputData()
API which returns the ListenableWorker'soutputData
. ( Ie51e3 )
বাগ ফিক্স
- Add a workaround for an OEM bug which causes a
SecurityException
to be thrown when usingAlarmManager
APIs. ( aosp/1587518 )
সংস্করণ 2.5.0
সংস্করণ 2.5.0
জানুয়ারী 27, 2021
androidx.work:work-*:2.5.0
is released. Version 2.5.0 contains these commits.
Major changes since 2.4.0
- A new
:work:work-multiprocess
artifact for apps that use multiple processes. This introduces performance gains by unifying work request scheduling to a single process.- To use
work-multiprocess
, define a dependency on:implementation "androidx.work:work-multiprocess:2.5.0"
- Designate a primary process using Configuration.Builder.setDefaultProcessName(String) .
- When using
work-multiprocess
you also want to use RemoteWorkManager to manage yourWorkRequest
s. RemoteWorkManager always reaches out to the designated process. The in-process scheduler also runs in the designated process.
- To use
- Sometimes,
ActivityManager
cannot instantiate theJobService
instance, to start a job. This causes the underlying job to get silently dropped because of a platform bug.WorkManager
now ensures that there are backing jobs for every singleWorkRequest
when anApplication
is being initialized by reconciling jobs. This greatly improves job execution reliability. ( b/172475041 , aosp/1489577 ) -
WorkManager
limits database growth by reducing the buffer duration thatWorkRequest
s are tracked after aWorkRequest
is complete. The duration was7
days previously. It has been reduced to1
day + the keepResultsForAtLeast duration. ( aosp/1419708 ) - The
TestListenableWorkerBuilder
now supports the reified class extendingListenableWorker
to make testing easier. ( aosp/1443299 , b/169787349 ) - WorkManager inspector is now available when using Android Studio Arctic Fox.
Version 2.5.0-rc01
13 জানুয়ারী, 2021
androidx.work:work-*:2.5.0-rc01
is released. Version 2.5.0-rc01 contains these commits.
বাগ ফিক্স
- Fixed a bug where
getWorkInfosLiveData
was not correctly getting invalidated after entities were updated when using theWorkQuery
based API. ( aosp/1540566 , b/173769028 ) - Fixed a bug where database transactions were not being marked as successful in some rare cases. This causes issues on some Motorola devices. ( aosp/1535368 , b/175944460 )
- Fixed a bug to ignore
NoSuchElementException
s when trying to unbind from a dead process. ( aosp/1530589 ) - Improve
ConstraintTrackingWorker
to only stop aListenableWorker
if it's not already been stopped. ( aosp/1496844 , b/172946965 ) - Update androidx.work libraries to target Java 8 ( Ibd2f2 )
Version 2.5.0-beta02
2 ডিসেম্বর, 2020
androidx.work:work-*:2.5.0-beta02
is released. Version 2.5.0-beta02 contains these commits.
বাগ ফিক্স
- Fixed a bug in
androidx.work:work-multiprocess
where WorkManager inadvertently blocked the calling thread when trying to bind to the designated process. ( aosp/1475538 ) - Fixed a bug where
PeriodicWorkRequest
s were not being reconciled correctly. ( b/172475041 , aosp/1489577 ) - Added a workaround for a platform bug when stopping the foreground service when using the
setForeground*
APIs. ( b/170924044 , aosp/1489901 )
Version 2.5.0-beta01
অক্টোবর 28, 2020
androidx.work:work-*:2.5.0-beta01
is released. Version 2.5.0-beta01 contains these commits.
নতুন বৈশিষ্ট্য
-
WorkManager
automatically throttles the number ofWorkRequest
s that can be picked up by the in-process scheduler. The requests are still executed in FIFO order. ( aosp/1455228 ) -
WorkManager
attempts to recover when the application's datastore is in a bad state. ( aosp/1463103 )
বাগ ফিক্স
- When
ListenableWorker
s are interrupted, mark themENQUEUED
immediately so they can be subsequently rescheduled. ( aosp/1455618 , b/170273988 )
Version 2.5.0-alpha03
অক্টোবর 14, 2020
androidx.work:work-*:2.5.0-alpha03
is released. Version 2.5.0-alpha03 contains these commits.
এপিআই পরিবর্তন
-
TestListenableWorkerBuilder
andTestWorkerBuilder
do not use raw types. ( I883ad , b/169787349 )
বাগ ফিক্স
- Use
ApplicationInfo
to determine the name of the default app process. ( b/168716641 , aosp/1429950 ) - Fix the visibility rules for
RemoteWorkManager
andRemoteWorkContinuation
. These APIs are no-longer marked as@Restricted
. ( aosp/1432091 ) - Fix proguard rules for
:work:work-multiprocess
. ( aosp/1432091 ) - Improve notification lifecycles for long running work bound to a foreground service. ( b/168502234 , aosp/1431331 )
Version 2.5.0-alpha02
16 সেপ্টেম্বর, 2020
androidx.work:work-*:2.5.0-alpha02
is released. Version 2.5.0-alpha02 contains these commits.
নতুন বৈশিষ্ট্য
- Add an API to WorkQuery to be able to use
id
s to queryWorkInfo
s. ( aosp/1412372 , b/157335295 ) - WorkManager better supports apps that use multiple processes with a new artifact (
androidx.work:work-multiprocess:*
). This new artifact helps solve a few problems that large apps encounter including:- WorkManager typically needs to be initialized in every app process. This is not great because there is increased SQLite contention which in turn causes other problems. WorkManager now has new APIs which can be used to designate a primary app process using
Configuration#setDefaultProcessName(processName)
. TheprocessName
is a fully qualified process name which looks likepackageName:processName
(egcom.example:remote
). - A set of new APIs:
RemoteWorkManager
andRemoteWorkContinuation
toenqueue
,cancel
andquery
work requests. These APIs do not includeLiveData
variants to avoid SQLite contention across multiple-processes. All calls toenqueue
,cancel
andquery
are forwarded to aprimary
app process using AIDL and return a fluentListenableFuture
. ( aosp/1392657 , aosp/1411210 , aosp/1412215 , aosp/1417713 )
- WorkManager typically needs to be initialized in every app process. This is not great because there is increased SQLite contention which in turn causes other problems. WorkManager now has new APIs which can be used to designate a primary app process using
এপিআই পরিবর্তন
- WorkManager now prunes completed
WorkRequest
s that have no incomplete dependencies more aggressively. The buffer duration changed from7
days to1
day. ( aosp/1419708 )
বাগ ফিক্স
- WorkManager now reconciles jobs proactively so
WorkRequest
s andJobScheduler
jobs are in sync whenWorkManager
is initialized. ( aosp/1412794 , b/166292069 )
Version 2.5.0-alpha01
আগস্ট 19, 2020
androidx.work:work-*:2.5.0-alpha01
is released. Version 2.5.0-alpha01 contains these commits.
নতুন বৈশিষ্ট্য
- Changes to internal APIs that allow us to provide better tooling with
WorkManager
going forward. অতিরিক্ত আপডেটের জন্য সাথে থাকুন।
বাগ ফিক্স
- Handle
SecurityException
s when tracking network state on some devices. ( aosp/1396969 )
বাহ্যিক অবদান
- Fix documentation for
ArrayCreatingInputMerger
by Zac Sweers ( github/43 ).
সংস্করণ 2.4.0
সংস্করণ 2.4.0
22 জুলাই, 2020
androidx.work:work-*:2.4.0
is released. Version 2.4.0 contains these commits.
Major changes since 2.3.0
-
WorkManager
s in-process scheduler is now more capable. Previously, the in-processScheduler
would only consider executing work that was not delayed and whose constraints were met. Now, the in-process scheduler tracksWorkRequest
s which might be executed in the future, including PeriodicWorkRequests. The in-processScheduler
also does not observe scheduling limits (but is still restricted to the size of theExecutor
being used by WorkManager). This means that the application can now execute a lot more WorkRequests when the app is in the foreground. To manage execution of delayed work in the foreground,WorkManager
also introduces a new configurableRunnableScheduler
. ( aosp/1185778 ) - WorkManager now supports RxJava 3. To use RxJava 3, you should include the following dependency:
implementation "androidx.work:work-rxjava3:2.4.0"
. ( aosp/1277904 ) - Added the ability to query for
WorkInfo
s by using aWorkQuery
. This is useful when developers want to queryWorkInfo
s by a combination of multiple attributes. For more information look atWorkQuery.Builder.fromStates(...)
,WorkQuery.Builder. fromTags(...)
orWorkQuery.Builder.fromUniqueWorkNames(...)
. ( aosp/1253230 , b/143847546 ) Add the ability to request diagnostic information from
WorkManager
using:adb shell am broadcast -a "androidx.work.diagnostics.REQUEST_DIAGNOSTICS" -p "<your_app_package_name>"
This provides a lot of useful information including:
- WorkRequests that were completed in the last 24 hours.
- WorkRequests that are currently RUNNING.
- Scheduled WorkRequests. ( aosp/1235501 )
Add
ExistingWorkPolicy.APPEND_OR_REPLACE
which is similar toAPPEND
, but replaces a chain that has cancelled or failed prerequisites. ( b/134613984 , aosp/1199640 )Provide the ability to add a custom
RunnableScheduler
to track WorkRequests that need to be executed in the future. This is used by the in-process Scheduler. ( aosp/1203944 )Add support for dynamically adding factories to delegate to, when using a
DelegatingWorkerFactory
. ( b/156289105 , aosp/1309745 )Align tracking for
BATTERY_NOT_LOW
constraints more closely with the platform. ( aosp/1312583 )The in-process scheduler now uses better APIs to determine the name of the process. This is useful to better support apps that use multiple-processes. ( aosp/1324732 )
New Lint rules which enforce:
- Use of the right
foregroundServiceType
when usingsetForegroundAsync()
APIs. ( b/147873061 , aosp/1215915 ) - Specifying JobScheduler ids that WorkManager should use when using JobService APIs directly. aosp/1223567
- Added a new lint rule that ensures that
ListenableWorker
implementations are nowpublic
when using the defaultWorkerFactory
. ( aosp/1291262 )
- Use of the right
Calls to
setForegroundAsync()
that do not complete before completion of aListenableWorker
will now be signalled via anIllegalStateException
on the returnedListenableFuture
. ( aosp/1262743 )Fix a bug where the
ForegroundService
is not stopped after a foregroundWorker
is interrupted. ( b/155579898 , aosp/1302153 )Fix a bug where
WorkManager
attempts to execute multiple instances of aWorker
bound to a Foreground Service ( b/156310133 , aosp/1309853 )
Version 2.4.0-rc01
জুন 24, 2020
androidx.work:work-*:2.4.0-rc01
is released. Version 2.4.0-rc01 contains these commits.
বাগ ফিক্স
- The in-process scheduler now uses better APIs to determine the name of the process. This is useful to better support apps that use multiple-processes. ( aosp/1324732 )
Version 2.4.0-beta01
20 মে, 2020
androidx.work:work-gcm:2.4.0-beta01
, androidx.work:work-runtime:2.4.0-beta01
, androidx.work:work-runtime-ktx:2.4.0-beta01
, androidx.work:work-rxjava2:2.4.0-beta01
, and androidx.work:work-testing:2.4.0-beta01
are released. Version 2.4.0-beta01 contains these commits.
বাগ ফিক্স
- Fix a bug where the
ForegroundService
is not stopped after a foregroundWorker
is interrupted. ( b/155579898 , aosp/1302153 ) - Fix a bug where
WorkManager
attempts to execute multiple instances of aWorker
bound to a Foreground Service ( b/156310133 , aosp/1309853 ) - Add support for dynamically adding factories to delegate to, when using a
DelegatingWorkerFactory
. ( b/156289105 , aosp/1309745 ) - Align tracking for
BATTERY_NOT_LOW
constraints more closely with the platform. ( aosp/1312583 )
Version 2.4.0-alpha03
এপ্রিল 29, 2020
androidx.work:work-*:2.4.0-alpha03
is released. Version 2.4.0-alpha03 contains these commits.
নতুন বৈশিষ্ট্য
- WorkManager now supports RxJava 3. To use RxJava 3, you should include the following dependency:
implementation "androidx.work:work-rxjava3:2.4.0-alpha03"
. ( aosp/1277904 ) - Added a new lint rule that ensures that
ListenableWorker
implementations are nowpublic
when using the defaultWorkerFactory
. ( aosp/1291262 )
এপিআই পরিবর্তন
- Calling
setProgressAsync()
after aListenableWorker
has finished execution will now signal anException
via theListenableFuture
. ( aosp/1285494 ) -
WorkQuery.Builder
is now markedfinal
. ( aosp/1275037 ) -
WorkQuery.Builder
factory methodswithStates
,withTags
andwithUniqueWorkNames
have been renamed tofromStates
,fromTags
andfromUniqueWorkNames
respectively. ( aosp/1280287 )
বাগ ফিক্স
- Ignore
SecurityException
s when tracking network state of a device. ( b/153246136 , aosp/1280813 )
Version 2.4.0-alpha02
এপ্রিল 1, 2020
androidx.work:work-*:2.4.0-alpha02
is released. Version 2.4.0-alpha02 contains these commits.
নতুন বৈশিষ্ট্য
- Added a new Lint rule that warns when
WorkRequest
s requires bothConstraints.setRequiresCharging(...)
andConstraints.setRequiresDeviceIdle(...)
. Some devices are never charging and idle at the same time. So such requests would run less frequently than expected. ( aosp/1253840 )
এপিআই পরিবর্তন
Added the ability to query for
WorkInfo
s by using aWorkQuery
. This is useful when developers want to queryWorkInfo
s by a combination of multiple attributes. For more information look atWorkQuery.Builder withStates(...)
,WorkQuery.Builder withTags(...)
orWorkQuery.Builder withUniqueWorkNames(...)
. ( aosp/1253230 , b/143847546 )Calls to
setForegroundAsync()
that do not complete before completion of aListenableWorker
will now be signalled via anIllegalStateException
on the returnedListenableFuture
. ( aosp/1262743 )
বাগ ফিক্স
- Fixed the lint rule that checks for invalid interval durations for
PeriodicWorkRequest
s. ( aosp/1254846 , b/152606442 )
Version 2.4.0-alpha01
4 মার্চ, 2020
androidx.work:work-*:2.4.0-alpha01
is released. Version 2.4.0-alpha01 contains these commits.
নতুন বৈশিষ্ট্য
WorkManager
s in-process scheduler is now more capable. Previously, the in-process Scheduler would only consider executing work that was not delayed and whose constraints were met. Now, the in-process scheduler tracksWorkRequest
s which might be executed in the future, includingPeriodicWorkRequest
s. The in-process Scheduler also does not observe scheduling limits (but is still restricted to the size of theExecutor
being used by WorkManager). This means that the application can now execute a lot moreWorkRequest
s when the app is in the foreground. ( aosp/1185778 )Added the ability to request diagnostic information from WorkManager using
adb shell am broadcast -a "androidx.work.diagnostics.REQUEST_DIAGNOSTICS" -p "<your_app_package_name>"
. This provides a lot of useful information including:- WorkRequests that were completed in the last 24 hours.
- WorkRequests that are currently RUNNING.
- Scheduled WorkRequests. ( aosp/1235501 )
New Lint rules which enforce:
- Use of the right
foregroundServiceType
when usingsetForegroundAsync()
APIs. ( b/147873061 , aosp/1215915 ) - Specifying
JobScheduler
ids thatWorkManager
should use when usingJobService
APIs directly. ( aosp/1223567 )
- Use of the right
এপিআই পরিবর্তন
Add
ExistingWorkPolicy.APPEND_OR_REPLACE
which is similar toAPPEND
, but replaces a chain that has cancelled or failed prerequisites. ( b/134613984 , aosp/1199640 )Provide the ability to add a custom
RunnableScheduler
to trackWorkRequest
s that need to be executed in the future. This is used by the in-process Scheduler. ( aosp/1203944 )
বাগ ফিক্স
- Deprecated
setProgress()
inRxWorker
because it previously returned aSingle<Void>
which is an impossible type. Added a new APIsetCompletableProgress()
which returns aCompletable
instead; and added new Lint rules which help migrate to the new APIs. ( b/150080946 , aosp/1242665 )
সংস্করণ 2.3.4
সংস্করণ 2.3.4
18 মার্চ, 2020
androidx.work:work-*:2.3.4
is released. Version 2.3.4 contains these commits.
বাগ ফিক্স
- Fixed a bug which would cause multiple instances of a long running
Worker
s to run, after exceeding the 10 minute execution window. ( aosp/1247484 , b/150553353 ) - Fix for WorkManager's lint
IssueRegistry
. Thank you @ZacSweers from Slack, for the contribution. ( aosp/1217923 )
সংস্করণ 2.3.3
সংস্করণ 2.3.3
4 মার্চ, 2020
androidx.work:work-*:2.3.3
is released. Version 2.3.3 contains these commits.
বাগ ফিক্স
- Fixed a bug where if a
Worker
was interrupted, it would not get rescheduled correctly. ( b/150325687 , aosp/1246571 )
সংস্করণ 2.3.2
সংস্করণ 2.3.2
ফেব্রুয়ারী 19, 2020
androidx.work:work-*:2.3.2
are released. Version 2.3.2 contains these commits.
বাগ ফিক্স
- Fixes an issue where WorkManager exceeds the 100 job limit in JobScheduler in rare cases. ( aosp/1226859 , b/149092520 )
- Fix for a race condition in ConstraintControllers. ( aosp/1220100 )
- Improved the management foreground Service lifecycle for long running Workers. ( aosp/1226295 )
- Improved the management of cancellation of Notifications for long running Workers upon Worker cancellation. ( aosp/1228346 )
সংস্করণ 2.3.1
সংস্করণ 2.3.1
ফেব্রুয়ারি 5, 2020
androidx.work:work-*:2.3.1
is released. Version 2.3.1 contains these commits .
বাগ ফিক্স
- Better manage the lifecycle of
Notification
s for long runningWorker
s that run when a foregroundService
is active. ( aosp/1218539 , b/147249312 ) -
WorkManager
now depends onandroidx.sqlite:sqlite-framework:2.1.0
stable. ( aosp/1217729 ) - Added lint rules to ensure that a
foregroundServiceType
is specified in theAndroidManifest.xml
when usingforegroundServiceType
s inForegroundInfo
. ( aosp/1214207 , b/147873061 )
সংস্করণ 2.3.0
সংস্করণ 2.3.0
জানুয়ারী 22, 2020
androidx.work:work-*:2.3.0
is released with no changes since 2.3.0-rc01
. Version 2.3.0 contains these commits .
Important changes since 2.2.0
- Support for long running or important work via
ListenableWorker#setForegroundAsync()
. - Support for Worker Progress via
ListenableWorker#setProgressAsync()
. - WorkManager now packages additional lint rules as part of the library which helps catch bugs early.
Version 2.3.0-rc01
8 জানুয়ারী, 2020
androidx.work:work-*:2.3.0-rc01
is released. Version 2.3.0-rc01 contains these commits .
This release is identical to 2.3.0-beta02
বাগ ফিক্স
- The
work-testing
artifact now defines anapi
dependency onwork-runtime-ktx
. ( aosp/1194410 )
Version 2.3.0-beta02
18 ডিসেম্বর, 2019
androidx.work:work-*:2.3.0-beta02
is released. Version 2.3.0-beta02 contains these commits .
নতুন বৈশিষ্ট্য
- Added a better error message for non-recoverable SQLite exceptions. ( aosp/1185777 )
- Added a lint rule which ensures that the content provider
androidx.work.impl.WorkManagerInitializer
is removed from theAndroidManifest.xml
when using on demand initialization. ( aosp/1167007 ) - Added a lint warning when
enqueue()
is used for aPeriodicWorkRequest
instead ofenqueueUniquePeriodicWork()
. ( aosp/1166032 )
এপিআই পরিবর্তন
-
ForegroundInfo
now requires you to specify thenotificationId
to be used when usingListenableWorker.setForegroundAsync()
. এটি একটি ব্রেকিং পরিবর্তন. This allows you to run multiple long runningWorker
s in parallel.WorkManager
also better manages lifetimes of the providedNotification
s. ( b/145473554 , aosp/1181208 , asop/1181216 , asop/1183577 )
বাগ ফিক্স
- Fixed a bug in the AlarmManager implementation where alarms were not being cleaned up correctly. ( aosp/1156444 )
- Fixed a bug where an empty list of
WorkRequest
s would cause an incorrectWorkContinuation
chain to be built. ( b/142835274 , aosp/1157051 )
নির্ভরতা পরিবর্তন
- WorkManager now uses Room 2.2.2.
Version 2.3.0-beta01
নভেম্বর 20, 2019
androidx.work:work-*:2.3.0-beta01
is released. Version 2.3.0-beta01 contains these commits .
নতুন বৈশিষ্ট্য
- Added a new lint rule which prevents developer errors due to incorrect implementation of
androidx.work.Configuration.Provider
when using on-demand initialization. aosp/1164559
Version 2.3.0-alpha03
23 অক্টোবর, 2019
androidx.work:work-*:2.3.0-alpha03
is released. Version 2.3.0-alpha03 contains these commits .
নতুন বৈশিষ্ট্য
- Added
WorkManager.createCancelPendingIntent()
API which makes it easy to cancelWorkRequest
s without having to register another component in theAndroidManifest.xml
. This API makes it especially easy to cancelWorkRequest
s fromNotification
s. We expect this to be paired with the new foreground APIs in 2.3.0. - WorkManager now depends on
androidx.room:*:2.2.0
stable.
এপিআই পরিবর্তন
- Renamed
ForegroundInfo.getNotificationType()
toForegroundInfo.getForegroundServiceType()
to be more consistent with the underlying platform APIs. ( b/142729893 , aosp/1143316 )
বাগ ফিক্স
- Fixed a bug which is caused by an unnecessary call to
setTransactionSuccessful()
outside of a transaction. This happens for rare migrations. ( b/142580433 , aosp/1141737 )
Version 2.3.0-alpha02
9 অক্টোবর, 2019
androidx.work:work-*:2.3.0-alpha02
is released. Version 2.3.0-alpha02 contains these commits .
নতুন বৈশিষ্ট্য
- WorkManager now supports running long running or important work that should be kept alive by the OS. For more information look at
ListenableWorker#setForegroundAsync()
(orCoroutineWorker#setForeground()
for Kotlin). ( aosp/1133636 )
এপিআই পরিবর্তন
- The
containsKey
API inData
is renamed tohasKeyWithValueOfType
. The corresponding extension method in thektx
library has also been renamed. ( b/141916545 )
বাগ ফিক্স
- WorkManager schedules work fairly when the number of
WorkRequest
s enqueued approach scheduling limits . ( aosp/1105766 ) - WorkManager calls
ListenableWorker#onStopped()
only if the work is not already completed. ( b/140055777 ) - WorkManager now removes progress information when a worker gets interrupted or reaches its terminal state. ( aosp/1114572 )
-
Data
now has a much more usefultoString()
representation. ( b/140945323 ) -
Data
now has a betterequals()
method. It also supportsdeepEquals
forArray
types. ( b/140922528 ) - WorkManager now stores its internal database and preference files in a no backup directory. ( b/114808216 )
Version 2.3.0-alpha01
22 আগস্ট, 2019
androidx.work:work-*:2.3.September 5, 20190-alpha01
is released. এই সংস্করণে অন্তর্ভুক্ত কমিটগুলি এখানে পাওয়া যাবে।
নতুন বৈশিষ্ট্য
-
ListenableWorker
s can now set progress via thesetProgressAsync()
API. Also added a correspondingsuspend
-ingsetProgress
API inCoroutineWorker
and asetProgress
inRxWorker
which returns aSingle<Void>
. With these new APIs Workers can convey progress information viaWorkInfo
which has a correspondinggetProgress
API. ( b/79481554 ) -
Data
has acontainsKey()
API which can be used to validate that input data toWorker
s has keys with the expected type. ( b/117136838 ) -
Data
can now be serialized usingData.toByteArray()
andData.fromByteArray()
. Note that there are no versioning guarantees withData
so you should not persist it or use it for IPC between applications. They are only safe to be used between multiple processes of the same application. - Added the ability to specify an
InputMergerFactory
viaConfiguration.setInputMergerFactory
. ( b/133273159 )
এপিআই পরিবর্তন
- WorkManager will throw an instance of
IllegalStateException
if aWorkerFactory
returns an instance ofListenableWorker
which has been previously invoked. ( b/139554406 ) - Documentation updates around
ListenableFuture
cancellation and theonStopped()
callback inListenableWorker
. ( b/138413671 )
বাগ ফিক্স
- The in-process Scheduler now ignores
WorkRequest
s with theidle
constraint. These requests are now only picked up byJobScheduler
when the device is actuallyidle
. ( aosp/1089779 ) -
TestScheduler
now correctly uses the specifiedExecutor
for its internal task executor in tests. ( aosp/1090749 )
সংস্করণ 2.2.0
সংস্করণ 2.2.0
আগস্ট 15, 2019
androidx.work:work-*:2.2.0
is released. এই সংস্করণে অন্তর্ভুক্ত কমিটগুলি এখানে পাওয়া যাবে।
This release is identical to androidx.work:work-*:2.2.0-rc01
.
Important Changes in 2.2.0 from 2.1.0
androidx.work:work-gcm:2.2.0
is a new Maven artifact which supports the use of GCMNetworkManager as a scheduler when Google Play Services is available for API levels <= 22. This is an optional dependency that helps with more reliable and performant background processing on older API versions. If your app uses Google Play Services, add this dependency to your gradle file to automatically get GCMNetworkManager support. If Play Services is not available, WorkManager will continue to fall back to AlarmManager on older devices.
Version 2.2.0-rc01
30 জুলাই, 2019
androidx.work:work-*:2.2.0-rc01
is released. এই সংস্করণে অন্তর্ভুক্ত কমিটগুলি এখানে পাওয়া যাবে।
বাগ ফিক্স
- Fixed a bug in the AlarmManager implementation that causes the Service to shutdown prematurely and resulting in a
RejectedExecutionException
in rare cases. ( aosp/1092374 ) ( b/138238197 ). - Added a workaround for a
NullPointerException
when usingJobScheduler
APIs on some devices. ( aosp/1091020 ) ( b/138364061 ), ( b/138441699 )
Version 2.2.0-beta02
জুলাই 19, 2019
androidx.work:work-*:2.2.0-beta02
is released. এই সংস্করণে অন্তর্ভুক্ত কমিটগুলি এখানে পাওয়া যাবে।
বাগ ফিক্স
- Removed unintentional jacoco dependency that was introduced in
2.2.0-beta01
.
Version 2.2.0-beta01
জুলাই 17, 2019
androidx.work:work-*:2.2.0-beta01
is released. এই সংস্করণে অন্তর্ভুক্ত কমিটগুলি এখানে পাওয়া যাবে।
নতুন বৈশিষ্ট্য
-
androidx.work:work-gcm:2.2.0-beta01
is a new Maven artifact which supports the use of GCMNetworkManager as a scheduler when Google Play Services is available for API levels <= 22. This is an optional dependency that helps with more reliable and performant background processing on older API versions. If your app uses Google Play Services, add this dependency to your gradle file to automatically get GCMNetworkManager support. If Play Services is not available, WorkManager will continue to fall back to AlarmManager on older devices.
বাগ ফিক্স
- Fix for
IllegalArgumentException
when tracking network state on Nvidia Shield K1 tablets. ( aosp/1010188 )
সংস্করণ 2.1.0
সংস্করণ 2.1.0
11 জুলাই, 2019
androidx.work:work-*:2.1.0
is released. This release is identical to androidx.work:work-*:2.1.0-rc01
.
Important changes since 2.0.1
-
work-runtime-ktx
now requires Java 8. If you run into any issues, you can add the following to yourbuild.gradle
:kotlinOptions { jvmTarget = "1.8" }
- Added on-demand initialization for WorkManager, which will create WorkManager only when referenced. b/127497100 To set up your project for on-demand initialization:
- Disable the automatic initializer .
- Implement
Configuration.Provider
on your customApplication
object. - Change all references of
WorkManager.getInstance()
toWorkManager.getInstance(Context)
. As part of this change, we have deprecatedWorkManager.getInstance()
. It is always safer to call the newWorkManager.getInstance(Context)
replacement, even if you're not doing on-demand initialization.
-
PeriodicWorkRequest
s now support initial delays. আপনি একটি প্রাথমিক বিলম্ব সেট করতেPeriodicWorkRequest.Builder
এsetInitialDelay
পদ্ধতি ব্যবহার করতে পারেন। b/111404867 - Added the ability to delegate to one or more registered
WorkerFactory
s usingDelegatingWorkerFactory
. b/131435993 - Added the ability to customize the
Executor
used by WorkManager for all its internal book-keeping viaConfiguration.Builder.setTaskExecutor
. - Added the ability to create unit testable
Worker
andListenableWorker
classes by usingTestWorkerBuilder
andTestListenableWorkerBuilder
in thework-testing
artifact.- Note that
work-testing
now pulls in Kotlin as a dependency and includes several Kotlin extensions by default.
- Note that
- Added run attempt count to
WorkInfo
. b/127290461 -
Data
types can now store and retrieve bytes and byte arrays. This does NOT change the maximum size ofData
objects. - WorkManager now depends on
Room 2.1.0
, which should fix some database issues.
Version 2.1.0-rc01
জুন 27, 2019
androidx.work:work-*:2.1.0-rc01
is released. এই সংস্করণে অন্তর্ভুক্ত কমিটগুলি এখানে পাওয়া যাবে।
বাগ ফিক্স
- Fixed a bug which would cause an application to crash when executing jobs with
JobScheduler
while a backup was in progress b/135858602 .
Version 2.1.0-beta02
20 জুন, 2019
androidx.work:work-*:2.1.0-beta02
is released. এই সংস্করণে অন্তর্ভুক্ত কমিটগুলি এখানে পাওয়া যাবে।
বাগ ফিক্স
-
TestListenableWorkerBuilder
now uses the correctWorkerFactory
when creating instances ofListenableWorker
. b/135275844 - Fixed a bug which caused drifts in the execution windows for
WorkRequest
s due to process death. b/135272196
Version 2.1.0-beta01
13 জুন, 2019
androidx.work:work-*:2.1.0-beta01
is released. এই সংস্করণে অন্তর্ভুক্ত কমিটগুলি এখানে পাওয়া যাবে।
বাগ ফিক্স
- WorkManager now depends on
Room 2.1.0
, which should fix some database issues. - Removed some startup disk I/O on the main thread.
- Fixed a potential deadlock in constraint tracking. b/134361006
- Preemptively cancelled invalid jobs attributed to WorkManager. b/134058261
- Added some defensive calls to JobScheduler APIs for misbehaving devices.
Version 2.1.0-alpha03
জুন 5, 2019
androidx.work:*:2.1.0-alpha03
is released.
বাগ ফিক্স
- Improved documentation for
PeriodicWorkRequest
s. -
WorkManagerTestInitHelper
now uses the correct background executor for tests. - Fixes for SQLite issues when dealing with large transactions on some devices. ( b/130182503 )
- WorkManager's dependencies are now more granular. ( b/133169148 ).
- Workaround OEM specific bugs in the implementation of
JobScheduler
when scheduling jobs using WorkManager. - Improvements in the AlarmManager based scheduler around service lifetimes that previously caused rare crashes. ( b/133313734 )
Version 2.1.0-alpha02
16 মে, 2019
WorkManager 2.1.0-alpha02 is released. This version contains several new APIs.
এপিআই পরিবর্তন
PeriodicWorkRequest
s now support initial delays. আপনি একটি প্রাথমিক বিলম্ব সেট করতেPeriodicWorkRequest.Builder
এsetInitialDelay
পদ্ধতি ব্যবহার করতে পারেন। b/111404867Added the ability to delegate to one or more registered
WorkerFactory
s usingDelegatingWorkerFactory
. b/131435993Added the ability to customize the
Executor
used by WorkManager for all its internal book-keeping viaConfiguration.Builder.setTaskExecutor
.Improved documentation around
WorkRequest.keepResultsForAtLeast
( b/130638001 ), on-demand initialization, andPeriodicWorkRequest.Builder
( b/131711394 ).
Version 2.1.0-alpha01
24 এপ্রিল, 2019
WorkManager 2.1.0-alpha01 is released. This version contains several new APIs. Please note that starting with this version, there will be new features that won't get backported to the 1.x release. We recommend switching to 2.x.
এপিআই পরিবর্তন
- Added on-demand initialization for WorkManager, which will create WorkManager only when referenced. b/127497100 To set up your project for on-demand initialization:
- Disable the automatic initializer .
- Implement
Configuration.Provider
on your customApplication
object. - Change all references of
WorkManager.getInstance()
toWorkManager.getInstance(Context)
. As part of this change, we have deprecatedWorkManager.getInstance()
. It is always safer to call the newWorkManager.getInstance(Context)
replacement, even if you're not doing on-demand initialization.
- Added the ability to create unit testable
Worker
andListenableWorker
classes by usingTestWorkerBuilder
andTestListenableWorkerBuilder
in thework-testing
artifact.- Note that
work-testing
now pulls in Kotlin as a dependency, but also includes several Kotlin extensions by default.
- Note that
- Added run attempt count to
WorkInfo
. b/127290461 -
Data
types can now store and retrieve bytes and byte arrays. This does NOT change the maximum size ofData
objects. - Deprecated
CoroutineWorker.coroutineContext
. This field was incorrectly typed as aCoroutineDispatcher
; you should no longer need it as you can go to the desired coroutineContext yourself in the body of the suspending function. -
RxWorker.createWork()
andRxWorker.getBackgroundScheduler()
are now annotated with@NonNull
return types.
সংস্করণ 2.0.1
সংস্করণ 2.0.1
9 এপ্রিল, 2019
WorkManager 2.0.1 is released. This release is identical to 2.0.1-rc01 .
Version 2.0.1-rc01
3 এপ্রিল, 2019
WorkManager 2.0.1-rc01 is released. This version contains some bug fixes. For legacy 1.x users, some of these changes also appear in 1.0.1-rc01 .
বাগ ফিক্স
- Robolectric tests now operate properly with WorkManager. b/122553577
- Fixed an edge case crash with constraints tracking not being cleaned up on pre-JobScheduler APIs. b/129226383
- Fixed a
StackOverflowError
dealing with long chains of work. b/129091233 - Updated documentation for
PeriodicWorkRequest
s to indicate that flex time is not supported on API 23. - Fixed some broken links in the Kotlin documentation.
সংস্করণ 2.0.0
সংস্করণ 2.0.0
20 মার্চ, 2019
WorkManager 2.0.0 is released. This version is identical to 2.0.0-rc01 and is the AndroidX version of 1.0.0 stable with AndroidX dependencies. We recommend targeting this version instead of the legacy 1.x versions. All active development will target 2.x and 1.x will only receive critical bug fixes for a limited time.
Version 2.0.0-rc01
7 মার্চ, 2019
WorkManager 2.0.0-rc01 is released. This version is identical to 1.0.0 stable but has AndroidX dependencies. Once this reaches 2.0.0 stable, you should include this version and the legacy 1.x versions will only receive some critical bug fixes. All active development will target 2.x.
Pre-AndroidX Dependencies
Reference docs: Java
গ্রোভি
dependencies { def work_version = "1.0.1" // (Java only) implementation "android.arch.work:work-runtime:$work_version" // Kotlin + coroutines implementation "android.arch.work:work-runtime-ktx:$work_version" // optional - RxJava2 support implementation "android.arch.work:work-rxjava2:$work_version" // optional - Test helpers androidTestImplementation "android.arch.work:work-testing:$work_version" }
কোটলিন
dependencies { val work_version = "1.0.1" // (Java only) implementation("android.arch.work:work-runtime:$work_version") // Kotlin + coroutines implementation("android.arch.work:work-runtime-ktx:$work_version") // optional - RxJava2 support implementation("android.arch.work:work-rxjava2:$work_version") // optional - Test helpers androidTestImplementation("android.arch.work:work-testing:$work_version") }
সংস্করণ 1.0.1
সংস্করণ 1.0.1
9 এপ্রিল, 2019
WorkManager 1.0.1 is released. This release is identical to 1.0.1-rc01 .
Please note that we strongly encourage users to update to WorkManager 2.x, as there will be very few updates to the 1.x branch moving forward. New APIs will also not be released for the 1.x library.
Version 1.0.1-rc01
2 এপ্রিল, 2019
WorkManager 1.0.1-rc01 is released. This version contains some bug fixes.
বাগ ফিক্স
- Robolectric tests now operate properly with WorkManager. b/122553577
- Fixed an edge case crash with constraints tracking not being cleaned up on pre-JobScheduler APIs. b/129226383
- Fixed a
StackOverflowError
dealing with long chains of work. b/129091233
সংস্করণ 1.0.0
সংস্করণ 1.0.0
মার্চ 05, 2019
This is WorkManager's 1.0.0 stable release. This version of WorkManager is identical to 1.0.0-rc02.
Version 1.0.0-rc02
21 ফেব্রুয়ারি, 2019
This is the second release candidate for WorkManager's 1.0.0 stable release. This release contains two bug fixes.
বাগ ফিক্স
Worker
s are now correctly scheduled after an application crash. b/124546316Worker
s that throw an uncheckedException
are now correctly marked asFAILED
and no longer crash the app process.
Version 1.0.0-rc01
14 ফেব্রুয়ারি, 2019
This is a release candidate for WorkManager's 1.0.0 stable release. This release contains one bug fix.
বাগ ফিক্স
- The AlarmManager based implementation now correctly respects
flex
windows for PeriodicWorkRequests. b/124274584
Version 1.0.0-beta05
ফেব্রুয়ারী 6, 2019
This release contains some bug fixes.
বাগ ফিক্স
- Fixed a case where
JobScheduler.getPendingJob(...)
was used on API 23. b/123893059 - Fixed a
NullPointerException
on devices running Android 5.1 (API level 22) or lower. b/123835104
Version 1.0.0-beta04
ফেব্রুয়ারি 4, 2019
This release contains some bug fixes.
বাগ ফিক্স
- Improved scheduling of PeriodicWork for the AlarmManager based implementation.
- Fixed a case where WorkManager failed to correctly track constraints when using the AlarmManager based implementation. b/123379508
- Fixed a case when WorkManager failed to retry work on process death when using the AlarmManager based implementation. b/123329850
- Fixed a case which would cause WorkManager to leak Wakelocks when using the AlarmManager based implementation.
Version 1.0.0-beta03
25 জানুয়ারী, 2019
This release contains some bug fixes.
বাগ ফিক্স
- We introduced a regression
1.0.0-beta02
that was causing work to not execute properly in some situations. b/123211993 - Fixed a case where work wasn't properly honoring backoff timing. b/122881597
- Fixed a
ConcurrentModificationException
on devices running Android 5.1 (API or) or lower. This is a continuation of the fix in1.0.0-beta02
. b/121345393 - Added
exported=false
for some components in our manifest that were missing this annotation. - Included information about how WorkManager interacts with the OS in the package-level documentation.
Version 1.0.0-beta02
15 জানুয়ারী, 2019
This release contains some bug fixes.
বাগ ফিক্স
- Fixed an edge case where periodic work could run more than once per interval on devices running Android 6.0 (API level 23). b/121998363
- Fixed a
ConcurrentModificationException
on devices running Android 5.1 (API level 22) or lower. b/121345393 - Fixed erroneous execution of work when Constraints aren't met on devices running Android 5.1 (API level 22) or lower. b/122578012
- Optimized work completion handling to be faster in some edge cases. b/122358129
- Added a change to address potential race conditions among multiple instances of
LiveData
that WorkManager uses. - Moved to use
Room
dependency1.1.1
instead of1.1.1-rc01
; these versions are identical. b/122578011
Version 1.0.0-beta01
ডিসেম্বর 19, 2018
This release contains no API changes; moving forward, WorkManager is expected to stay API stable until the next version unless there is a critical problem. This release contains some bug fixes.
বাগ ফিক্স
- Previously-cancelled children of successfully completed parent work will no longer run. b/120811767
- Properly initialized logging classes (primarily surfaced during tests).
Version 1.0.0-alpha13
ডিসেম্বর 12, 2018
This release contains a minor API change that will be helpful for some Kotlin users.
এপিআই পরিবর্তন
-
androidx.work.Result
has been moved to be an inner class ofListenableWorker
. This prevents refactoring conflicts with Kotlin's top-levelResult
class. This is a breaking API change. b/120564418
Breaking API Changes
-
androidx.work.Result
has been moved to be an inner class ofListenableWorker
.
Version 1.0.0-alpha12
5 ডিসেম্বর, 2018
This release contains some breaking API changes; please see the Breaking API Changes section below. This version is likely to be released as our first beta. alpha12
also contains extensive documentation updates.
এপিআই পরিবর্তন
- A new artifact,
work-rxjava2
, introducesRxWorker
. This is aListenableWorker
that expects aSingle<Payload>
. - Support for Firebase JobDispatcher has been removed because of its impending deprecation. This means that the
work-firebase
artifact will no longer be updated as we head into beta. We will be looking into adding an alternative in the future. - Combined
Payload
intoResult
.Result
is now a "sealed class" with three concrete implementations, which you can obtain viaResult.success()
(orResult.success(Data)
),Result.failure()
(orResult.failure(Data)
), andResult.retry()
. YourListenableFuture
s now resultResult
instead ofPayload
.Worker
s don't have getter and setter methods for outputData
. এটি একটি ব্রেকিং পরিবর্তন. - Added
Constraints.Builder.setTriggerContentMaxDelay(long, TimeUnit)
andConstraints.Builder.setTriggerContentUpdateDelay(long, TimeUnit)
and variants to better support slow triggering content URIs. b/119919774 - Added
WorkRequest.Builder.setBackoffCriteria(BackoffPolicy, Duration)
variant. This method requires API 26. - Added
Operation.await()
andListenableFuture.await()
Kotlin extension methods. - Renamed
Operation.getException()
toOperation.getThrowable()
. এটি একটি ব্রেকিং পরিবর্তন. - The
ContentUriTriggers
class and methods referencing it are no longer available for public usage. এটি একটি ব্রেকিং পরিবর্তন. - Removed the rest of the varargs methods in
WorkManager
,WorkContinuation
, andOneTimeWorkRequest
to streamline the API. To fix any build problems, you can wrap your existing varargs withArrays.asList(...)
. We still include single-argument versions of each method. এটি একটি ব্রেকিং পরিবর্তন. - Removed
WorkContinuation.combine(OneTimeWorkRequest, *)
variants. They were presenting a confusing API; the existingcombine
methods are more understandable. এটি একটি ব্রেকিং পরিবর্তন.
বাগ ফিক্স
- Pre-Marshmallow implementations are now more reliable in recovering from process death of an already-executing task.
-
LiveData
that is observed viaobserveForever
is tracked via WorkManager. This is a backport of a Room library fix. b/74477406 -
Data.Builder.build()
now throws an exception if the serialized object exceeds its maximum size. This previously would only happen on a background thread where you couldn't properly handle it. - Further distinguished stopped vs. cancelled work;
getWorkInfoById()
will return aWorkInfo
with theCANCELLED
State
duringListenableWorker.onStopped()
. - Treat
null
Result
s as failures inListenableWorker
. b/120362353 - Speculative fix for Shield Tablets running API 24 that sometimes threw an
IllegalArgumentException
. b/119484416
Breaking API Changes
- Support for Firebase JobDispatcher has been removed because of its impending deprecation. This means that the
work-firebase
artifact will no longer be updated as we head into beta. We will be looking into adding an alternative in the future. - Combined
Payload
intoResult
.Result
is now a "sealed class" with three concrete implementations, which you can obtain viaResult.success()
(orResult.success(Data)
),Result.failure()
(orResult.failure(Data)
), andResult.retry()
. YourListenableFuture
s now resultResult
instead ofPayload
.Worker
s don't have getter and setter methods for outputData
. - Added
Operation.await()
andListenableFuture.await()
Kotlin extension methods. - Renamed
Operation.getException()
toOperation.getThrowable()
. - The
ContentUriTriggers
class and methods referencing it are no longer available for public usage. - Removed the rest of the varargs methods in
WorkManager
,WorkContinuation
, andOneTimeWorkRequest
to streamline the API. To fix any build problems, you can wrap your existing varargs withArrays.asList(...)
. We still include single-argument versions of each method. - Removed
WorkContinuation.combine(OneTimeWorkRequest, *)
variants. They were presenting a confusing API; the existingcombine
methods are more understandable.
Version 1.0.0-alpha11
নভেম্বর 8, 2018
This release contains many changes that will become stable API at beta
. There are breaking API changes in this release; please see the Breaking API Changes section below.
এপিআই পরিবর্তন
-
work-runtime-ktx
introduces a newCoroutineWorker
. -
WorkStatus
has been renamed toWorkInfo
. All correspondinggetStatus
method variants have been renamed to the correspondinggetWorkInfo
variants. এটি একটি ব্রেকিং পরিবর্তন. -
ListenableWorker.onStopped()
no longer accepts has a boolean argument representing if theWorkRequest
was cancelled.WorkManager
no longer makes this distinction. এটি একটি ব্রেকিং পরিবর্তন. -
androidx.work.test
package has been renamed toandroidx.work.testing
package. এটি একটি ব্রেকিং পরিবর্তন. - Setters on
Constraints
are no longer a part of the public API. এটি একটি ব্রেকিং পরিবর্তন. -
WorkerParameters.getTriggeredContentUris()
andWorkerParameters.getTriggeredContentAuthorities()
previously returned arrays. Now these methods return Collections. এটি একটি ব্রেকিং পরিবর্তন. -
ListenableWorker.onStartWork()
is renamed toListenableWorker.startWork()
. এটি একটি ব্রেকিং পরিবর্তন. - The constructor for
WorkStatus
is no longer a part of the public API. এটি একটি ব্রেকিং পরিবর্তন. -
Configuration.getMaxJobSchedulerID()
andConfiguration.getMinJobSchedulerID()
are renamed toConfiguration.getMinJobSchedulerId()
andConfiguration.getMaxJobSchedulerId()
respectively. এটি একটি ব্রেকিং পরিবর্তন. - Added a lot of
@NonNull
annotations to the public API to improve ergonomics of the API. - Add
WorkManager.enqueueUniqueWork()
API to enqueue uniqueOneTimeWorkRequest
s without having to create aWorkContinuation
. - All variants of
enqueue
andcancel
methods onWorkManager
now return a newOperation
type. এটি একটি ব্রেকিং পরিবর্তন. - All variants of
enqueue
no longer accept varargs forWorkRequest
s. এটি একটি ব্রেকিং পরিবর্তন. Use Collections instead. You can useArrays.asList()
to modify existing code. We did this to reduce the API surface and method count. - Attempting to
initialize
WorkManager
more than once per process will now result in anIllegalStateException
. এটি একটি ব্রেকিং পরিবর্তন.
বাগ ফিক্স
-
WorkRequest.Builder
s in thework-runtime-ktx
artifact now useListenableWorker
s. Fixes b/117666259 - Ensure the next run time for
PeriodicWork
is in the future. Fixes b/118204399 - Remove potential disk I/O when using WorkManager on app startup. Fixes b/117796731
- Fix a race condition in
WorkConstraintsTracker
. Fixes android-workmanager/issues/56
Breaking API Changes
-
WorkStatus
has been renamed toWorkInfo
. All correspondinggetStatus
method variants have been renamed to the correspondinggetWorkInfo
variants. -
ListenableWorker.onStopped()
no longer accepts has a boolean argument representing if theWorkRequest
was cancelled.WorkManager
no longer makes this distinction. -
androidx.work.test
package has been renamed toandroidx.work.testing
package. - Setters on
Constraints
are no longer a part of the public API. -
WorkerParameters.getTriggeredContentUris()
andWorkerParameters.getTriggeredContentAuthorities()
previously returned arrays. Now these methods return Collections. -
ListenableWorker.onStartWork()
is renamed toListenableWorker.startWork()
. - The constructor for
WorkStatus
is no longer a part of the public API. -
Configuration.getMaxJobSchedulerID()
andConfiguration.getMinJobSchedulerID()
are renamed toConfiguration.getMinJobSchedulerId()
andConfiguration.getMaxJobSchedulerId()
respectively. - All variants of
enqueue
andcancel
methods onWorkManager
now return a newOperation
type. - All variants of
enqueue
no longer accept varargs forWorkRequest
s. - Attempting to
initialize
WorkManager
more than once per process will now result in anIllegalStateException
.
Version 1.0.0-alpha10
11 অক্টোবর, 2018
This release supports developer-controlled asynchronous work. There are breaking API changes in this release; please see the Breaking API Changes section below.
We anticipate that WorkManager is entering the final phases of its alpha period. We expect to be API stable in beta, so please take some time to file your feedback on our issue tracker.
এপিআই পরিবর্তন
- Removed all previously
deprecated
methods and classes, notably the defaultWorker
constructor. This is a breaking API change. - Renamed
NonBlockingWorker
toListenableWorker
, which is now an unhidden public class and ready for usage.-
ListenableWorker
provides access to one abstract method,ListenableFuture<Payload> onStartWork()
which is called on the main thread. It is up to you to start and process work asynchronously. When finished, you should update theListenableFuture
appropriately. Reference implementations ofListenableFuture
s are provided in theFutures
package inalpha02
(see below theWorkManager
section). -
Worker
extendsListenableWorker
and still operates as before, with an abstractResult doWork()
method. - Shuffled some methods and members from
Worker
toListenableWorker
. - We shall soon provide reference implementations for
ListenableWorker
s that use Kotlin coroutines (once the stable versions are released) and RxJava2.
-
- The interface
WorkerFactory
and the concrete implementationDefaultWorkerFactory
have been merged into an abstract class calledWorkerFactory
. The implementation ensures that the default reflection-based behavior is called as a last-ditch effort for any user-createdWorkerFactory
instances. এটি একটি ব্রেকিং পরিবর্তন. - Removed
WorkManager.synchronous()
andWorkContinuation.synchronous()
and all related methods. AddedListenableFuture<Void>
as the return type of many methods in the API. This is a breaking API change.- You can now synchronously get and observe by using
ListenableFuture
s. For example,WorkManager.enqueue()
used to returnvoid
; it now returns aListenableFuture<Void>
. You can callListenableFuture.addListener(Runnable, Executor)
orListenableFuture.get()
to run code once the operation is complete. - Note that these
ListenableFuture
s do not tell you if the operation succeeded or failed; only that they finished. You will still need to chain WorkManager methods to find out this information. - We ignore
cancel()
calls on these objects, as they are confusing and hard to reason about (are you cancelling the operation or the resulting work?). This is within theFuture
s contract. - To maintain parity with the synchronous
getStatus*
methods, we have providedListenableFuture
variants, and renamed the existing ones that returnedLiveData
to explicitly have "LiveData" as part of the name (for example,getStatusesByIdLiveData(UUID)
). This is a breaking API change.
- You can now synchronously get and observe by using
বাগ ফিক্স
- Fixed the known issue from alpha09 regarding duplicate
androidx-annotations.pro
files. You may remove the workaround from the previous release notes by deletingexclude 'META-INF/proguard/androidx-annotations.pro'
from your gradle file. - Added proguard configurations to keep new
Worker
constructor. b/116296569 - Fix potential
NullPointerException
in a race condition where work wasREPLACE
d. b/116253486 and b/116677275 -
WorkContinuation.combine()
now accepts one or moreWorkContinuation
s instead of two or more. b/117266752
Breaking API Changes
- Removed all previously
deprecated
methods and classes, notably the defaultWorker
constructor. - The interface
WorkerFactory
and the concrete implementationDefaultWorkerFactory
have been merged into an abstract class calledWorkerFactory
. - Removed
WorkManager.synchronous()
andWorkContinuation.synchronous()
. -
WorkManager.getStatus*()
methods now returnListenableFuture
s.WorkManager.getStatus*LiveData()
returnLiveData
s.
Version 1.0.0-alpha09
সেপ্টেম্বর 19, 2018
পরিচিত সমস্যা
If you run into the following issue: "More than one file was found with OS independent path 'META-INF/proguard/androidx-annotations.pro'", please put the following in your gradle file as a temporary workaround while we fix the issue in alpha10:
গ্রোভি
android { packagingOptions { exclude 'META-INF/proguard/androidx-annotations.pro' } }
কোটলিন
android { packagingOptions { exclude("META-INF/proguard/androidx-annotations.pro") } }
বাগ ফিক্স
- Added another fix that was needed for the "100 jobs" error. b/115560696
- Added some fixes for foreign key constraint errors due to race conditions. b/114705286
- Delegated
ConstraintTrackingWorker.onStopped(boolean)
calls to the underlyingWorker
. b/114125093 - Enforce correct minimum backoff delay for Firebase JobDispatcher. b/113304626
- Improved threading guarantees internal to the library.
- Correct potential issue with deduping of
LiveData
internally.
এপিআই পরিবর্তন
- You can now create your own
Worker
instances at runtime by specifying aWorkerFactory
as part of theWorkManager.Configuration
. The fallback factory isDefaultWorkerFactory
, which matches behavior of previous versions of WorkManager.- The default constructors for
Worker
andNonBlockingWorker
are now marked as deprecated. Please use the new constructor (Worker(Context, WorkerParameters)
) and callsuper(Context, WorkerParameters)
; future versions of WorkManager will remove the default constructor.
- The default constructors for
- We have started using the new
ListenableFuture
artifact internally (free of Guava dependencies). We will introduce ListenableFutures to the API in upcoming releases. This change will support the eventual unhiding ofNonBlockingWorker
. - Add ability to trigger timed work in
TestDriver
viaTestDriver.setInitialDelayMet(UUID)
andTestDriver.setPeriodDelayMet(UUID)
. b/113360060
ব্রেকিং পরিবর্তন
- The default
Worker
andNonBlockingWorker
constructors are deprecated. Please migrate to the new constructor ASAP. Future versions will remove the default constructor.
Version 1.0.0-alpha08
27 আগস্ট, 2018
বাগ ফিক্স
- Explicitly labelled WorkManager components as direct boot unaware so they don't fire up during direct boot. In the future, we will provide a version of WorkManager that is direct boot-aware. b/112665532
- Fixed an issue where retried work was not running. b/112604021
- Fixed periodic work not executing repeatedly (related to the above issue). b/112859683
- Honored backoff policies when the app process is already running.
- Corrected exception messages in
Data
to indicate the limit is 10KB. - Lowered maximum value of
Configuration.setMaxSchedulerLimit(int)
to 50 to account for some latency inJobScheduler
processing completion. b/112817355
Version 1.0.0-alpha07
16 আগস্ট, 2018
বাগ ফিক্স
- Fixed a potential SQL query with negative limits that could return an unbounded number of results.
- Work that has finished execution now correctly cancels all pending copies of that work in other Schedulers. This led to exceeding the
JobScheduler
jobs limit. b/111569265 - Fixed a
ConcurrentModificationException
inConstraintTracker
. b/112272753 - Changed return type annotations of
Data.getBooleanArray(String)
andData.getIntArray(String)
to@Nullable
instead of@NonNull
. b/112275229
এপিআই পরিবর্তন
-
Worker
now extends a new class,NonBlockingWorker
. This does not affect any current usage. In the future,NonBlockingWorker
will become a fully supported entity for custom threading solutions. - Changed return type annotations of
Data.getBooleanArray(String)
andData.getIntArray(String)
to@Nullable
instead of@NonNull
. b/112275229 - Kotlin extensions: deprecated
Map.toWorkData()
and added a top-levelworkDataOf(vararg Pair<String, Any?>)
to be more consistent with existing APIs.
Version 1.0.0-alpha06
আগস্ট 1, 2018
বাগ ফিক্স
- Prevent a database lock when scheduling work. b/111801342
- Fix a bug which causes
PeriodicWork
to not run on schedule when in Doze mode. b/111469837 - Fix a race condition when tracking constraints which causes
WorkManager
to crash. googlecodelabs/android-workmanager/issues/56 - Create unique
WorkRequest
s when usingWorkRequest.Builder#build()
. b/111408337 - Enable the use of
RescheduleReceiver
only when there areWorkRequest
s that need it. b/111765853
Version 1.0.0-alpha05
জুলাই 24, 2018
এপিআই পরিবর্তন
-
WorkManager.getInstance()
is now annotated with@NonNull
instead of@Nullable
. Instead, if the singleton isn't properly initialized in cases of manual initialization, the method will throw anIllegalStateException
. This is a breaking API change. - Added a new API,
Configuration.Builder.setMinimumLoggingLevel(int)
, which can control WorkManager verbosity. By default, WorkManager logsLog.INFO
and above. - Changed signature of
Data.getString()
so it no longer takes a default value (it is implicitlynull
). This is a breaking API change. - Marked some methods needed only for internal usage as
@hide
. This includes theConstraints
constructor,Data.toByteArray()
, andData.fromByteArray(byte[])
. This is a breaking API change.
বাগ ফিক্স
- WorkManager no longer executes work during known cases of auto-backup. This could have resulted in a crash. b/110564377
- Fixed double-scheduling of
PeriodicWorkRequest
s when usingJobScheduler
. b/110798652 - Fixed an issue with
PeriodicWorkRequest
s not executing correctly after device doze. b/111469837 - Fixed an issue with initial delays when using Firebase JobDispatcher. b/111141023
- Fixed some potential race conditions and timing issues.
- Correctly freed up
BroadcastReceiver
s that were no longer needed. - Optimized rescheduling performance when apps restart after being force closed.
- Allowed
TestScheduler.setAllConstraintsMet(UUID)
to be called before or after enqueuing the givenWorkRequest
. b/111238024
ব্রেকিং পরিবর্তন
-
WorkManager.getInstance()
is now annotated with@NonNull
instead of@Nullable
. - Changed signature of
Data.getString()
so it no longer takes a default value (it is implicitlynull
). - Marked some methods needed only for internal usage as
@hide
. This includes theConstraints
constructor,Data.toByteArray()
, andData.fromByteArray(byte[])
.
Version 1.0.0-alpha04
জুন 26, 2018
বাগ ফিক্স
-
PeriodicWorkRequest
s are now correctly rescheduled when using theAlarmManager
based implementation. - Fixed a potential ANR when rescheduling all workers after a force stop or a reboot. b/110507716
- Added nullability annotations to various WorkManager APIs. b/110344065
- Log uncaught exceptions that occur during Worker execution. b/109900862
- Allowed destructive database migrations in case you decide to roll back to an older version of WorkManager. b/74633270
- Fixed a migration crash if creating duplicate implicit tags. This is a very rare issue that occurred only if you used the same implicit tag format yourself.
Version 1.0.0-alpha03
জুন 19, 2018
বাগ ফিক্স
Fixed a race condition in the
AlarmManager
based implementation. b/80346526 .Fixed duplicate jobs when using
JobScheduler
after a device reboot.Jobs with Content URI triggers now persist across reboots. b/80234744
ডকুমেন্টেশন আপডেট. b/109827628 , b/109758949 , b/80230748
Fixed a crash when re-enqueuing a
WorkRequest
. b/109572353 .Fixed Kotlin compiler warnings when using the
work-runtime-ktx
dependency.WorkManager now uses
Room
version1.1.1-rc1
.
এপিআই পরিবর্তন
- Added
getStatusesSync()
, the synchronous version ofWorkContinuation.getStatuses()
. -
Worker
has the ability to distinguish between user-initiated cancellation and temporary os-requested stopping.Worker.isStopped()
returnstrue
if any kind of stop has been requested.Worker.isCancelled()
returnstrue
when the work has been explicitly cancelled. b/79632247 - Add support for JobParameters#getNetwork() on API 28. This is exposed via
Worker.getNetwork()
. - Added
Configuration.Builder.setMaxSchedulerLimit(int maxSchedulerLimit)
so you can enforce how many jobs can be sent toJobScheduler
orAlarmManager
. This helps preventWorkManager
from taking all your availableJobScheduler
slots. - Added
Configuration.setJobSchedulerJobIdRange(int minJobSchedulerId, int maxJobSchedulerId)
which helps define a range ofJobScheduler
job ids safe forWorkManager
to use. b/79996760 -
Worker.getRunAttemptCount()
returns the current run count for a givenWorker
. b/79716516 -
WorkManager.enqueueUniquePeriodicWork(String uniqueWorkName, ExistingPeriodicWorkPolicy existingPeriodicWorkPolicy, PeriodicWorkRequest periodicWork)
allows you to enqueue a uniquePeriodicWorkRequest
s. b/79600647 -
WorkManager.cancelAllWork()
cancels allWorker
s. Libraries that depend onWorkManager
can query when this method was called last by usingWorkManager.getLastCancelAllTimeMillis()
for additional cleanup of internal state. - Added
WorkManager.pruneWork()
to remove completed jobs from the internal database. b/79950952 , b/109710758
আচরণ পরিবর্তন
- Added an implicit tag for all
WorkRequest
s, which is the fully qualified class name for theWorker
. This allows the ability to removeWorkRequest
s withouttag
s or when theid
is not available. b/109572351
ব্রেকিং পরিবর্তন
- Renamed
Worker.WorkerResult
toWorker.Result
. -
Worker.onStopped
now has an additionalisCancelled
parameter which is set totrue
when theWorker
has explicitly been cancelled.
সংস্করণ 1.0.0-alpha02
24 মে, 2018
বাগ ফিক্স
- Fixed a
NullPointerException
onState.isFinished()
. b/79550068 - Fixed an issue which caused
Worker
s to be rescheduled onApplication.onCreate()
. b/79660657 - Fixed an issue where you could schedule more work than is allowed by the OS. b/79497378
- Moved cleanup of wake locks associated with
Worker
s to the background thread. - The
AlarmManager
implementation now correctly cleans up when all pending work is complete. - Fixed cleanup SQL queries which affected non-English locales. b/80065360
- Added support for
float
s inData
. b/79443878 -
Data.Builder.putAll()
now returns an instance of theBuilder
. b/79699162 - More javadoc and fixes in documentation. b/79691663
এপিআই পরিবর্তন
-
Worker
s can react to being stopped.Worker.isStopped()
can be used to check if aWorker
has been stopped.Worker.onStopped()
can be used to perform lightweight cleanup operations. -
Worker.getTags()
API returns aSet
of tags associated with theWorker
. - Added
javax.time.Duration
overloads for APIs which take a combination of duration andTimeUnit
s. This is guarded by@RequiresApi(26)
. -
WorkManager
extensions have moved from theandroidx.work.ktx
package to theandroidx.work
package. The old extensions are deprecated and will be removed in a future version. -
Configuration.withExecutor()
is deprecated. UseConfiguration.setExecutor()
instead.
সংস্করণ 1.0.0-alpha01
8 মে, 2018
WorkManager simplifies scheduling and execution of guaranteed, constraint-aware background work. This initial release is 1.0.0-alpha01
.