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

WorkManager API এটিকে স্থগিত করা, অ্যাসিঙ্ক্রোনাস কাজগুলির সময়সূচী করা সহজ করে যেগুলি অবশ্যই নির্ভরযোগ্যভাবে চালানো উচিত। এই API গুলি আপনাকে একটি টাস্ক তৈরি করতে দেয় এবং কাজের সীমাবদ্ধতাগুলি পূরণ হলে এটি চালানোর জন্য WorkManager-এর কাছে হস্তান্তর করে৷
সর্বশেষ আপডেট স্থিতিশীল রিলিজ প্রার্থী মুক্তি বিটা রিলিজ আলফা রিলিজ
30 অক্টোবর, 2024 2.9.1 - - -

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

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

30 অক্টোবর, 2024

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

সংস্করণ 2.9.1 থেকে উল্লেখযোগ্য পরিবর্তন

  • WorkManager থেকে Jobs-এ ট্রেস ট্যাগ যোগ করা হয়েছে যা 'adb shell dumpsys jobscheduler'-কে বোঝার জন্য অনেক সহজ করে তোলে কারণ এতে কার্যকরী কর্মীর নাম থাকবে। WorkManager এর মূল ক্ষেত্রগুলির চারপাশে ট্রেস বিভাগগুলিও যোগ করা হয়েছে।
  • Configuration.workerCoroutineContext প্রেরক নিয়ন্ত্রণের জন্য যোগ করা হয়েছিল যেখানে CoroutineWorker কার্যকর করা হয়।
  • বিকাশকারীরা Constraints.setRequiredNetworkRequest পদ্ধতির মাধ্যমে একজন কর্মীর জন্য একটি সীমাবদ্ধতা হিসাবে NetworkRequest নির্দিষ্ট করতে পারেন। এই কর্মীকে কোন নেটওয়ার্ক চালানো উচিত তার উপর এটি আরও দানাদার নিয়ন্ত্রণ সক্ষম করে৷
  • WorkManager 2.10.0 এখন SDK 35 এর সাথে কম্পাইল করা হয়েছে এবং SDK 35 সামঞ্জস্যের জন্য বিভিন্ন পরিবর্তন রয়েছে৷

সংস্করণ 2.10.0-rc01

অক্টোবর 24, 2024

androidx.work:work-*:2.10.0-rc01 প্রকাশিত হয়েছে। সংস্করণ 2.10.0-rc01-এ এই কমিট রয়েছে।

সংস্করণ 2.10.0-beta01

2 অক্টোবর, 2024

androidx.work:work-*:2.10.0-beta01 প্রকাশিত হয়েছে। সংস্করণ 2.10.0-beta01-এ এই কমিট রয়েছে।

সংস্করণ 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 কার্যকর করা হয়। এটি WorkManagerDispatchers.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-এ এই কমিট রয়েছে।

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

সংস্করণ 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 )
  • WorkergetForegroundInfo যোগ করা হয়েছে। ( 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 )
  • WorkergetForegroundInfo যোগ করুন। ( 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 । ( এওএসপি/1432091 )
  • অগ্রভাগের পরিষেবাতে আবদ্ধ দীর্ঘ চলমান কাজের জন্য বিজ্ঞপ্তি লাইফসাইকেলগুলি উন্নত করুন। ( বি/168502234 , এওএসপি/1431331 )

সংস্করণ 2.5.0-আলফা 02

16 সেপ্টেম্বর, 2020

androidx.work:work-*:2.5.0-alpha02 -*:2.5.0-ALPHA02 প্রকাশিত হয়েছে। সংস্করণ 2.5.0-ALPHA02 এর মধ্যে এই কমিট রয়েছে।

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

  • WorkInfo এস ক্যোয়ারী করতে id এস ব্যবহার করতে সক্ষম হতে ওয়ার্ককোয়ারিতে একটি এপিআই যুক্ত করুন। ( এওএসপি/1412372 , বি/157335295 )
  • ওয়ার্কম্যানেজার আরও ভাল অ্যাপ্লিকেশনগুলিকে সমর্থন করে যা একটি নতুন শিল্পকর্মের সাথে একাধিক প্রক্রিয়া ব্যবহার করে ( androidx.work:work-multiprocess:* : ওয়ার্ক-মাল্টিপ্রোসেস :*)। এই নতুন শিল্পকর্মটি কয়েকটি সমস্যা সমাধান করতে সহায়তা করে যা বড় অ্যাপ্লিকেশনগুলির মুখোমুখি হয়:
    • ওয়ার্কম্যানেজারকে সাধারণত প্রতিটি অ্যাপ্লিকেশন প্রক্রিয়াতে আরম্ভ করা দরকার। এটি দুর্দান্ত নয় কারণ এখানে এসকিউএলাইট বিতর্ক বৃদ্ধি পেয়েছে যা ফলস্বরূপ অন্যান্য সমস্যার কারণ হয়। ওয়ার্কম্যানেজারের কাছে এখন নতুন এপিআই রয়েছে যা Configuration#setDefaultProcessName(processName) ব্যবহার করে একটি প্রাথমিক অ্যাপ্লিকেশন প্রক্রিয়া নির্ধারণ করতে ব্যবহার করা যেতে পারে। processName একটি সম্পূর্ণরূপে যোগ্য প্রক্রিয়া নাম যা দেখতে packageName:processName (যেমন com.example:remote ) এর মতো দেখায়।
    • নতুন এপিআইগুলির একটি সেট: RemoteWorkManager এবং RemoteWorkContinuation enqueue , cancel এবং কাজের অনুরোধগুলি query জন্য। এই এপিআইগুলিতে একাধিক প্রক্রিয়া জুড়ে স্ক্লাইট বিতর্ক এড়াতে LiveData ভেরিয়েন্টগুলি অন্তর্ভুক্ত নয়enqueue , cancel এবং query সমস্ত কল এইডএল ব্যবহার করে একটি primary অ্যাপ্লিকেশন প্রক্রিয়াতে ফরোয়ার্ড করা হয় এবং একটি সাবলীল ListenableFuture ফেরত দেয়। ( এওএসপি/1392657 , এওএসপি/1411210 , এওএসপি/1412215 , এওএসপি/1417713 )

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

  • ওয়ার্কম্যানেজার এখন ছাঁটাই করে WorkRequest এস সম্পন্ন করেছেন যা আরও আক্রমণাত্মকভাবে কোনও অসম্পূর্ণ নির্ভরতা নেই। বাফারের সময়কাল 7 দিন থেকে 1 দিনে পরিবর্তিত হয়েছিল। ( এওএসপি/1419708 )

বাগ ফিক্স

  • ওয়ার্কম্যানেজার এখন সক্রিয়ভাবে চাকরিগুলির সাথে মিলিত হয় তাই WorkManager আরম্ভ করার সময় WorkRequest এস এবং JobScheduler জবগুলি সিঙ্কে থাকে। ( এওএসপি/1412794 , বি/166292069 )

সংস্করণ 2.5.0-আলফা 01

আগস্ট 19, 2020

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

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

  • অভ্যন্তরীণ এপিআইগুলিতে পরিবর্তনগুলি যা আমাদের WorkManager এগিয়ে যাওয়ার সাথে আরও ভাল সরঞ্জাম সরবরাহ করার অনুমতি দেয়। অতিরিক্ত আপডেটের জন্য থাকুন।

বাগ ফিক্স

  • কিছু ডিভাইসে নেটওয়ার্ক স্টেট ট্র্যাক করার সময় SecurityException এস হ্যান্ডেল করুন। ( এওএসপি/1396969 )

বাহ্যিক অবদান

সংস্করণ 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 rxjava 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 এপিআইটির নামকরণ করা হয়েছে hasKeyWithValueOfTypektx লাইব্রেরিতে সংশ্লিষ্ট এক্সটেনশন পদ্ধতিটিও নামকরণ করা হয়েছে। ( বি/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 এর জন্য যখন জিসিএমনেট ওয়ার্কম্যানেজারের ব্যবহারকে একটি সময়সূচী হিসাবে ব্যবহার করে <= 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 : ওয়ার্ক-জিসিএম:2.2.0-বিটা 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 থেকে গুরুত্বপূর্ণ পরিবর্তন

  • work-runtime-ktx এখন জাভা 8 প্রয়োজন। আপনি যদি কোনও সমস্যা নিয়ে যান তবে আপনি নিম্নলিখিতটি আপনার build.gradle যুক্ত করতে পারেন kotlinOptions { jvmTarget = "1.8" }
  • ওয়ার্কম্যানেজারের জন্য অন-চাহিদা সূচনা যুক্ত করা হয়েছে, যা কেবলমাত্র রেফারেন্স করার সময় ওয়ার্কম্যানেজার তৈরি করবে। খ/127497100 অন-ডিমান্ড আরম্ভের জন্য আপনার প্রকল্পটি সেট আপ করতে:
    1. স্বয়ংক্রিয় ইনিশিয়ালাইজারটি অক্ষম করুন
    2. আপনার কাস্টম Application অবজেক্টে Configuration.Provider প্রয়োগ করুন।
    3. 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 পদ্ধতিটি ব্যবহার করতে পারেন। বি/111404867

  • DelegatingWorkerFactory ব্যবহার করে এক বা একাধিক নিবন্ধিত WorkerFactory এস -তে প্রতিনিধি করার ক্ষমতা যুক্ত করেছে। বি/131435993

  • Configuration.Builder.setTaskExecutor মাধ্যমে তার সমস্ত অভ্যন্তরীণ বই-রক্ষণের জন্য ওয়ার্কম্যানেজার দ্বারা ব্যবহৃত Executor কাস্টমাইজ করার ক্ষমতা যুক্ত করেছে।

  • WorkRequest.keepResultsForAtLeast ( বি/130638001 ), অন-ডিমান্ড ইনিশিয়ালাইজেশন, এবং PeriodicWorkRequest.Builder ( বি/131711394 ) এর আশেপাশে উন্নত ডকুমেন্টেশন।

সংস্করণ 2.1.0-Alpha01

24 এপ্রিল, 2019

ওয়ার্কম্যানেজার 2.1.0-ALPHA01 প্রকাশিত হয়েছে। এই সংস্করণে বেশ কয়েকটি নতুন এপিআই রয়েছে। দয়া করে নোট করুন যে এই সংস্করণটি দিয়ে শুরু করে, এমন নতুন বৈশিষ্ট্য থাকবে যা 1.x রিলিজের ব্যাকপোর্ট করা হবে না। আমরা 2.x এ স্যুইচ করার পরামর্শ দিচ্ছি

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

  • ওয়ার্কম্যানেজারের জন্য অন-চাহিদা সূচনা যুক্ত করা হয়েছে, যা কেবলমাত্র রেফারেন্স করার সময় ওয়ার্কম্যানেজার তৈরি করবে। খ/127497100 অন-ডিমান্ড আরম্ভের জন্য আপনার প্রকল্পটি সেট আপ করতে:
    1. স্বয়ংক্রিয় ইনিশিয়ালাইজারটি অক্ষম করুন
    2. আপনার কাস্টম Application অবজেক্টে Configuration.Provider প্রয়োগ করুন।
    3. 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 এস এখন একটি অ্যাপ্লিকেশন ক্রাশের পরে সঠিকভাবে নির্ধারিত হয়েছে। বি/124546316

  • Worker যা একটি চেক না করা Exception নিক্ষেপ করে এখন সঠিকভাবে FAILED হিসাবে চিহ্নিত করা হয়েছে এবং অ্যাপ প্রক্রিয়াটি আর ক্র্যাশ করে না।

সংস্করণ 1.0.0-আরসি 01

14 ফেব্রুয়ারি, 2019

এটি ওয়ার্কম্যানেজারের 1.0.0 স্থিতিশীল রিলিজের জন্য রিলিজ প্রার্থী। এই রিলিজটিতে একটি বাগ ফিক্স রয়েছে।

বাগ ফিক্স

  • অ্যালার্ম ম্যানেজার ভিত্তিক বাস্তবায়ন এখন পর্যায়ক্রমিক ওয়ার্করেকুয়েস্টের জন্য flex উইন্ডোজকে সঠিকভাবে সম্মান করে। বি/124274584

সংস্করণ 1.0.0-BETA05

ফেব্রুয়ারী 6, 2019

এই রিলিজটিতে কিছু বাগ ফিক্স রয়েছে।

বাগ ফিক্স

  • এমন একটি কেস স্থির করা হয়েছে যেখানে JobScheduler.getPendingJob(...) এপিআই 23 এ ব্যবহৃত হয়েছিল বি/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

এই রিলিজটিতে কোনও এপিআই পরিবর্তন নেই; 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 of ListenableWorker . This prevents refactoring conflicts with Kotlin's top-level Result class. This is a breaking API change. b/120564418

Breaking API Changes

  • androidx.work.Result has been moved to be an inner class of ListenableWorker .

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 , introduces RxWorker . This is a ListenableWorker that expects a Single<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 into Result . Result is now a "sealed class" with three concrete implementations, which you can obtain via Result.success() (or Result.success(Data) ), Result.failure() (or Result.failure(Data) ), and Result.retry() . Your ListenableFuture s now result Result instead of Payload . Worker s don't have getter and setter methods for output Data . This is a breaking change.
  • Added Constraints.Builder.setTriggerContentMaxDelay(long, TimeUnit) and Constraints.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() and ListenableFuture.await() Kotlin extension methods.
  • Renamed Operation.getException() to Operation.getThrowable() . This is a breaking change.
  • The ContentUriTriggers class and methods referencing it are no longer available for public usage. This is a breaking change.
  • Removed the rest of the varargs methods in WorkManager , WorkContinuation , and OneTimeWorkRequest to streamline the API. To fix any build problems, you can wrap your existing varargs with Arrays.asList(...) . We still include single-argument versions of each method. This is a breaking change.
  • Removed WorkContinuation.combine(OneTimeWorkRequest, *) variants. They were presenting a confusing API; the existing combine methods are more understandable. This is a breaking change.

বাগ ফিক্স

  • Pre-Marshmallow implementations are now more reliable in recovering from process death of an already-executing task.
  • LiveData that is observed via observeForever 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 a WorkInfo with the CANCELLED State during ListenableWorker.onStopped() .
  • Treat null Result s as failures in ListenableWorker . 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 into Result . Result is now a "sealed class" with three concrete implementations, which you can obtain via Result.success() (or Result.success(Data) ), Result.failure() (or Result.failure(Data) ), and Result.retry() . Your ListenableFuture s now result Result instead of Payload . Worker s don't have getter and setter methods for output Data .
  • Added Operation.await() and ListenableFuture.await() Kotlin extension methods.
  • Renamed Operation.getException() to Operation.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 , and OneTimeWorkRequest to streamline the API. To fix any build problems, you can wrap your existing varargs with Arrays.asList(...) . We still include single-argument versions of each method.
  • Removed WorkContinuation.combine(OneTimeWorkRequest, *) variants. They were presenting a confusing API; the existing combine 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 new CoroutineWorker .
  • WorkStatus has been renamed to WorkInfo . All corresponding getStatus method variants have been renamed to the corresponding getWorkInfo variants. This is a breaking change.
  • ListenableWorker.onStopped() no longer accepts has a boolean argument representing if the WorkRequest was cancelled. WorkManager no longer makes this distinction. This is a breaking change.
  • androidx.work.test package has been renamed to androidx.work.testing package. This is a breaking change.
  • Setters on Constraints are no longer a part of the public API. This is a breaking change.
  • WorkerParameters.getTriggeredContentUris() and WorkerParameters.getTriggeredContentAuthorities() previously returned arrays. Now these methods return Collections. This is a breaking change.
  • ListenableWorker.onStartWork() is renamed to ListenableWorker.startWork() . This is a breaking change.
  • The constructor for WorkStatus is no longer a part of the public API. This is a breaking change.
  • Configuration.getMaxJobSchedulerID() and Configuration.getMinJobSchedulerID() are renamed to Configuration.getMinJobSchedulerId() and Configuration.getMaxJobSchedulerId() respectively. This is a breaking change.
  • Added a lot of @NonNull annotations to the public API to improve ergonomics of the API.
  • Add WorkManager.enqueueUniqueWork() API to enqueue unique OneTimeWorkRequest s without having to create a WorkContinuation .
  • All variants of enqueue and cancel methods on WorkManager now return a new Operation type. This is a breaking change.
  • All variants of enqueue no longer accept varargs for WorkRequest s. This is a breaking change. Use Collections instead. You can use Arrays.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 an IllegalStateException . This is a breaking change.

বাগ ফিক্স

  • WorkRequest.Builder s in the work-runtime-ktx artifact now use ListenableWorker 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 to WorkInfo . All corresponding getStatus method variants have been renamed to the corresponding getWorkInfo variants.
  • ListenableWorker.onStopped() no longer accepts has a boolean argument representing if the WorkRequest was cancelled. WorkManager no longer makes this distinction.
  • androidx.work.test package has been renamed to androidx.work.testing package.
  • Setters on Constraints are no longer a part of the public API.
  • WorkerParameters.getTriggeredContentUris() and WorkerParameters.getTriggeredContentAuthorities() previously returned arrays. Now these methods return Collections.
  • ListenableWorker.onStartWork() is renamed to ListenableWorker.startWork() .
  • The constructor for WorkStatus is no longer a part of the public API.
  • Configuration.getMaxJobSchedulerID() and Configuration.getMinJobSchedulerID() are renamed to Configuration.getMinJobSchedulerId() and Configuration.getMaxJobSchedulerId() respectively.
  • All variants of enqueue and cancel methods on WorkManager now return a new Operation type.
  • All variants of enqueue no longer accept varargs for WorkRequest s.
  • Attempting to initialize WorkManager more than once per process will now result in an IllegalStateException .

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 default Worker constructor. This is a breaking API change.
  • Renamed NonBlockingWorker to ListenableWorker , 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 the ListenableFuture appropriately. Reference implementations of ListenableFuture s are provided in the Futures package in alpha02 (see below the WorkManager section).
    • Worker extends ListenableWorker and still operates as before, with an abstract Result doWork() method.
    • Shuffled some methods and members from Worker to ListenableWorker .
    • 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 implementation DefaultWorkerFactory have been merged into an abstract class called WorkerFactory . The implementation ensures that the default reflection-based behavior is called as a last-ditch effort for any user-created WorkerFactory instances. This is a breaking change.
  • Removed WorkManager.synchronous() and WorkContinuation.synchronous() and all related methods. Added ListenableFuture<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 return void ; it now returns a ListenableFuture<Void> . You can call ListenableFuture.addListener(Runnable, Executor) or ListenableFuture.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 the Future s contract.
    • To maintain parity with the synchronous getStatus* methods, we have provided ListenableFuture variants, and renamed the existing ones that returned LiveData to explicitly have "LiveData" as part of the name (for example, getStatusesByIdLiveData(UUID) ). This is a breaking API change.

বাগ ফিক্স

  • Fixed the known issue from alpha09 regarding duplicate androidx-annotations.pro files. You may remove the workaround from the previous release notes by deleting exclude '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 was REPLACE d. b/116253486 and b/116677275
  • WorkContinuation.combine() now accepts one or more WorkContinuation s instead of two or more. b/117266752

Breaking API Changes

  • Removed all previously deprecated methods and classes, notably the default Worker constructor.
  • The interface WorkerFactory and the concrete implementation DefaultWorkerFactory have been merged into an abstract class called WorkerFactory .
  • Removed WorkManager.synchronous() and WorkContinuation.synchronous() .
  • WorkManager.getStatus*() methods now return ListenableFuture s. WorkManager.getStatus*LiveData() return LiveData 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 underlying Worker . 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 a WorkerFactory as part of the WorkManager.Configuration . The fallback factory is DefaultWorkerFactory , which matches behavior of previous versions of WorkManager.
    • The default constructors for Worker and NonBlockingWorker are now marked as deprecated. Please use the new constructor ( Worker(Context, WorkerParameters) ) and call super(Context, WorkerParameters) ; future versions of WorkManager will remove the default constructor.
  • 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 of NonBlockingWorker .
  • Add ability to trigger timed work in TestDriver via TestDriver.setInitialDelayMet(UUID) and TestDriver.setPeriodDelayMet(UUID) . b/113360060

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

  • The default Worker and NonBlockingWorker 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 in JobScheduler 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 in ConstraintTracker . b/112272753
  • Changed return type annotations of Data.getBooleanArray(String) and Data.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) and Data.getIntArray(String) to @Nullable instead of @NonNull . b/112275229
  • Kotlin extensions: deprecated Map.toWorkData() and added a top-level workDataOf(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 using WorkRequest.Builder#build() . b/111408337
  • Enable the use of RescheduleReceiver only when there are WorkRequest 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 an IllegalStateException . This is a breaking API change.
  • Added a new API, Configuration.Builder.setMinimumLoggingLevel(int) , which can control WorkManager verbosity. By default, WorkManager logs Log.INFO and above.
  • Changed signature of Data.getString() so it no longer takes a default value (it is implicitly null ). This is a breaking API change.
  • Marked some methods needed only for internal usage as @hide . This includes the Constraints constructor, Data.toByteArray() , and Data.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 using JobScheduler . 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 given WorkRequest . 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 implicitly null ).
  • Marked some methods needed only for internal usage as @hide . This includes the Constraints constructor, Data.toByteArray() , and Data.fromByteArray(byte[]) .

Version 1.0.0-alpha04

জুন 26, 2018

বাগ ফিক্স

  • PeriodicWorkRequest s are now correctly rescheduled when using the AlarmManager 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

  • Documentation updates. 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 version 1.1.1-rc1 .

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

  • Added getStatusesSync() , the synchronous version of WorkContinuation.getStatuses() .
  • Worker has the ability to distinguish between user-initiated cancellation and temporary os-requested stopping. Worker.isStopped() returns true if any kind of stop has been requested. Worker.isCancelled() returns true 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 to JobScheduler or AlarmManager . This helps prevent WorkManager from taking all your available JobScheduler slots.
  • Added Configuration.setJobSchedulerJobIdRange(int minJobSchedulerId, int maxJobSchedulerId) which helps define a range of JobScheduler job ids safe for WorkManager to use. b/79996760
  • Worker.getRunAttemptCount() returns the current run count for a given Worker . b/79716516
  • WorkManager.enqueueUniquePeriodicWork(String uniqueWorkName, ExistingPeriodicWorkPolicy existingPeriodicWorkPolicy, PeriodicWorkRequest periodicWork) allows you to enqueue a unique PeriodicWorkRequest s. b/79600647
  • WorkManager.cancelAllWork() cancels all Worker s. Libraries that depend on WorkManager can query when this method was called last by using WorkManager.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 the Worker . This allows the ability to remove WorkRequest s without tag s or when the id is not available. b/109572351

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

  • Renamed Worker.WorkerResult to Worker.Result .
  • Worker.onStopped now has an additional isCancelled parameter which is set to true when the Worker has explicitly been cancelled.

Version 1.0.0-alpha02

24 মে, 2018

বাগ ফিক্স

  • Fixed a NullPointerException on State.isFinished() . b/79550068
  • Fixed an issue which caused Worker s to be rescheduled on Application.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 in Data . b/79443878
  • Data.Builder.putAll() now returns an instance of the Builder . 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 a Worker has been stopped. Worker.onStopped() can be used to perform lightweight cleanup operations.
  • Worker.getTags() API returns a Set of tags associated with the Worker .
  • Added javax.time.Duration overloads for APIs which take a combination of duration and TimeUnit s. This is guarded by @RequiresApi(26) .
  • WorkManager extensions have moved from the androidx.work.ktx package to the androidx.work package. The old extensions are deprecated and will be removed in a future version.
  • Configuration.withExecutor() is deprecated. Use Configuration.setExecutor() instead.

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