وب‌کیت

با API های مدرن WebView در اندروید ۵ و بالاتر کار کنید.
آخرین به‌روزرسانی انتشار پایدار کاندیدای انتشار انتشار بتا انتشار آلفا
۱۹ نوامبر ۲۰۲۵ ۱.۱۴.۰ - ۱.۱۵.۰-بتا۰۱ -

اعلام وابستگی‌ها

برای افزودن وابستگی به Webkit، باید مخزن Google Maven را به پروژه خود اضافه کنید. برای اطلاعات بیشتر، مخزن Maven گوگل را مطالعه کنید.

وابستگی‌های مربوط به مصنوعات مورد نیاز خود را در فایل build.gradle برای برنامه یا ماژول خود اضافه کنید:

شیار

dependencies {
    implementation "androidx.webkit:webkit:1.14.0"
}

کاتلین

dependencies {
    implementation("androidx.webkit:webkit:1.14.0")
}

برای اطلاعات بیشتر در مورد وابستگی‌ها، به «افزودن وابستگی‌های ساخت» مراجعه کنید.

بازخورد

بازخورد شما به بهبود Jetpack کمک می‌کند. اگر مشکلات جدیدی کشف کردید یا ایده‌هایی برای بهبود این کتابخانه دارید، به ما اطلاع دهید. لطفاً قبل از ایجاد یک کتابخانه جدید، نگاهی به مشکلات موجود در این کتابخانه بیندازید. می‌توانید با کلیک بر روی دکمه ستاره، رأی خود را به یک مشکل موجود اضافه کنید.

ایجاد یک مسئله جدید

برای اطلاعات بیشتر به مستندات ردیاب مشکل مراجعه کنید.

نسخه ۱.۱۵

نسخه ۱.۱۵.۰-بتا۰۱

۱۹ نوامبر ۲۰۲۵

androidx.webkit:webkit:1.15.0-beta01 منتشر شد. نسخه 1.15.0-beta01 شامل این کامیت‌ها است.

تغییرات API

  • API های آزمایشی WebViewBuilder ( I06828 ، b/409740828 ) را اضافه کنید
  • اضافه کردن UiThreadStartupMode برای راه‌اندازی غیرهمزمان که فراخوانی isMultiProcessEnabled() را از زمان راه‌اندازی Chromium متوقف می‌کند ( I524ee ، b/397372092 )
  • پنهان کردن فرم فکتور UserAgent تا زمان انتشار نسخه ۱.۱۶ ( Ibac8a ، b/430554841 ، b/454438418 )
  • به‌روزرسانی API ناوبری برای امکان ارائه نمونه‌های NavigationListener به برنامه‌ها، که می‌توانند به صورت اختیاری با یک Executor سفارشی برای فراخوانی‌های نخ پس‌زمینه پیکربندی شوند. اکنون می‌توان چندین نمونه NavigationListener به یک WebView واحد اضافه کرد.
    علاوه بر این، این به‌روزرسانی اطلاعات زمان‌بندی را به فراخوانی onFirstContentfulPaint اضافه می‌کند و اطلاعات زمانی را از شروع ناوبری تا رویداد paint ارائه می‌دهد. ( I6aa8e , b/448580228 )
  • Profile#addQuicHints اضافه می‌کند که به برنامه‌ها اجازه می‌دهد به WebView بگویند هنگام اتصال به مبداهای ارائه شده، QUIC / HTTP3 را ترجیح دهد. ( I8e364 ، b/445339041 )
  • ثابت‌های ویژگی با حاشیه‌نویسی‌های آزمایشی به‌روزرسانی شدند، و README کتابخانه با اطلاعات بیشتر در مورد APIهای آزمایشی به‌روزرسانی شد. ( I1b914 )

رفع اشکالات

نسخه ۱.۱۵.۰-آلفا۰۳

۸ اکتبر ۲۰۲۵

androidx.webkit:webkit:1.15.0-alpha03 منتشر شد. نسخه 1.15.0-alpha03 شامل این کامیت‌ها است.

تغییرات API

  • یک API جدید برای تنظیم هدرهای درخواست سفارشی معرفی می‌کند. این یک تکرار بر روی API آزمایشی قبلی است و اکنون به برنامه اجازه می‌دهد تا برای هر هدر چندین مقدار تنظیم کند، که هر کدام به مجموعه متفاوتی از الگوهای مبدا نگاشت شده‌اند. API جدید همچنین به برنامه اجازه می‌دهد تا هدرهای پیکربندی شده را بررسی کند. ( Id7d30 ، b/419469873 ، b/429269470 )
  • حذف هدر X-Requested-With در WebView لغو شده است و این هدر دوباره به طور پیش‌فرض برای همه درخواست‌ها ارسال خواهد شد. API مربوط به allowlist دیگر ضروری نیست و منسوخ شده است. ( I884c3 , b/447094379 )
  • یک API جدید به WebSettingsCompat اضافه کنید تا توسعه‌دهندگان بتوانند حافظه پنهان (cache) برگشتی WebView را پیکربندی کنند، مانند تنظیم زمان انقضا بر حسب ثانیه یا محدودیت‌های حافظه پنهان صفحه. ( I642b2 ، b/432395269 )
  • API HyperlinkContextMenu را اضافه کنید تا امکان سفارشی‌سازی آیتم در منوی زمینه Hyperlink WebView ( Idb809 ، b/382654667 ) فراهم شود.
  • برای اشکال‌زدایی مواردی که WebView به صورت غیرهمزمان و بدون استفاده از startUpWebView API راه‌اندازی شده است، API getAsyncStartUpLocations اضافه کنید. ( I6bf4b ، b/417434566 )

نسخه ۱.۱۵.۰-آلفا۰۲

۲۷ آگوست ۲۰۲۵

androidx.webkit:webkit:1.15.0-alpha02 منتشر شد. نسخه 1.15.0-alpha02 شامل این کامیت‌ها است.

ویژگی‌های جدید

  • Profile#preconnect اضافه شد که به برنامه‌ها اجازه می‌دهد قبل از پیمایش به یک مبدا، اتصالی را به آن باز کنند تا سرعت بارگذاری‌های بعدی افزایش یابد. ( I8db41 )
  • یک رابط برنامه‌نویسی کاربردی جدید prerenderUrlAsync به WebViewCompat اضافه شده است که به برنامه‌ها اجازه می‌دهد URLها را قبل از نمایش در WebView، به صورت حدسی پیش‌رندر کنند.
    پیش‌رندرینگ می‌تواند با دریافت صفحه از قبل، عملکرد بارگذاری را به طرز چشمگیری بهبود بخشد. وقتی کاربر به URL می‌رود، صفحه از پیش رندر شده فوراً نمایش داده می‌شود.
    این APIها قبلاً به صورت آزمایشی منتشر شده بودند و اکنون می‌توانند بدون حاشیه‌نویسی @OptIn مورد استفاده قرار گیرند. ( Ie14f5 )
  • اکنون می‌توانید مجموعه‌ای از پروفایل‌ها را برای بارگذاری همزمان هنگام فراخوانی startUpWebView API مشخص کنید. این کار با ارسال نام پروفایل‌ها به یک متد جدید در WebViewStartUpConfig.Builder ( I9a6e6 ) پیکربندی شده است.
  • یک API جدید به WebSettingsCompat اضافه کنید تا BackForwardCache را در شیء WebSettings فعال/غیرفعال کنید. این API قبلاً به صورت آزمایشی منتشر شده بود و اکنون می‌توان بدون حاشیه‌نویسی @OptIn از آن استفاده کرد. ( Ie413b )
  • پشتیبانی برای لغو فاکتورهای فرم User-Agent اضافه شد. کلاس UserAgentMetadata متدهای جدیدی برای دریافت و تنظیم فاکتورهای فرم فراداده user-agent دارد. UserAgentMetadata.Builder متد جدید setFormFactors() را برای لغو راهنمایی کلاینت Sec-CH-UA-Form-Factors User-Agent دارد. مقادیر لغو شده فعلی را می‌توان از طریق متد جدید getFormFactors() بازیابی کرد. ( I6d08c , b/430554841 )

تغییرات API

  • برای پیکربندی مقداردهی اولیه نخ رابط کاربری WebView API را به ProcessGlobalConfig اضافه کنید ( I5e85a ، b/433273850 ، b/397372092 )
  • یک نام ویژگی جدید برای WebViewStartupConfig.Builder#setProfilesToLoadDuringStartup API اضافه کنید ( I36451 )
  • انتقال minSdk پیش‌فرض از API 21 به API 23 ( Ibdfca ، b/380448311 ، b/435705964 ، b/435705223 )
  • به‌روزرسانی API مربوط به هدر منطبق با مبدا برای امکان بازنویسی مقادیر هدر با فراخوانی چندین بار setOriginMatchedHeader برای نام هدر یکسان. همچنین یک متد جدید hasOriginMatchedHeader اضافه شده است تا بررسی کند که آیا نام هدر از قبل استفاده شده است یا خیر.
    این تغییر همچنین API را به عنوان آزمایشی مشخص می‌کند، زیرا در حال حاضر فقط از تنظیم یک مقدار و نگاشت مبدا برای هر مقدار هدر پشتیبانی می‌کند و احتمالاً در آینده تغییراتی در آن ایجاد خواهد شد تا از مقادیر چندگانه نگاشت شده به مبداهای مختلف پشتیبانی کند. ( I03365 , b/419469873 , b/429269470 )
  • الزام نخ رابط کاربری برای Profile#prefetchUrlAsync() حذف شده است. اکنون می‌توان آن را از هر نخی فراخوانی کرد. ( I83d57 )
  • رابط OutcomeReceiverCompat به نفع نسخه رسمی androidx.core.os.OutcomeReceiverCompat حذف شده است. این کتابخانه اکنون به compileSdk 35 یا بالاتر نیاز دارد. ( Ie1ea5 )
  • تغییر نام [is/set]IncludeCookiesOnShouldInterceptRequestEnabled به [are/set]CookiesIncludedInShouldInterceptRequest در WebSettingsCompat ( Ife9e9 ، b/428924452 )
  • اضافه کردن حاشیه‌نویسی‌های آزمایشی API به Profile.ExperimentalUrlPrefetch که قبلاً حذف شده بودند. ( Ic54eb ، b/417458061 )

نسخه ۱.۱۵.۰-آلفا۰۱

۲ ژوئیه ۲۰۲۵

androidx.webkit:webkit:1.15.0-alpha01 منتشر شد. نسخه 1.15.0-alpha01 شامل این کامیت‌ها است.

ویژگی‌های جدید

  • یک API جدید برای تنظیم جفت‌های نام-مقدار هدر HTTP در درخواست‌ها به مبداهای خاص.
    متد Profile.setOriginMatchedHeader به برنامه اجازه می‌دهد تا مشخص کند که نام و مقدار هدر باید در تمام درخواست‌های HTTP/HTTPS به مبداهایی که با لیست مجاز ارائه شده مطابقت دارند، هنگام ارسال از WebViews و service workerهایی که از Profile داده شده استفاده می‌کنند، تنظیم شود. API فقط یک نگاشت واحد برای هر نام هدر را مجاز می‌داند و اگر نام هدر از قبل تنظیم شده باشد، یک استثنا ایجاد می‌کند.
    برای حذف نگاشت موجود از Profile.clearOriginMatchedHeader و برای حذف تمام نگاشت‌ها Profile.clearAllOriginMatchedHeaders استفاده کنید. ( Ida7f1 , b/419469873 )
  • یک API جدید برای دسترسی و تنظیم کوکی‌ها به عنوان بخشی از فراخوانی‌های shouldInterceptRequest برای WebView و Service Workerها.
    توسعه‌دهندگان برنامه که در حال حاضر به عنوان بخشی از shouldInterceptRequest خود به API CookieManager دسترسی دارند، اکنون می‌توانند با فراخوانی setIncludeCookiesOnShouldInterceptRequest ، هدرهای کوکی را مستقیماً فعال کنند. این کار باعث می‌شود WebView یک هدر Cookie به نقشه WebResourceRequest.getRequestHeaders() اضافه کند که دقیقاً همان کوکی‌هایی است که به درخواست اعمال می‌شوند. این کار همچنین به درستی هرگونه کوکی پارتیشن‌بندی شده را مدیریت می‌کند.
    برنامه‌ها می‌توانند مقادیر هدر Set-Cookie را از طریق API جدید WebResourceResponseCompat.setCookies ارائه دهند. مقادیر Set-Cookie اضافه شده در آنجا توسط WebView به عنوان بخشی از مدیریت پاسخ پردازش می‌شوند. ( Idbfd1 ، b/414769380 )
  • یک API آزمایشی جدید برای آماده‌سازی فرآیند رندر برای یک Profile .
    این API می‌تواند توسط برنامه‌هایی با چرخه عمر پیچیده WebView مورد استفاده قرار گیرد تا اطمینان حاصل شود که فرآیند رندرکننده در حال اجرا است، حتی اگر تمام نمونه‌های WebView از بین رفته باشند. ( Ia8fc8 )

تغییرات API

  • یک متد جدید به رابط آزمایشی ناوبری اضافه کنید تا URL ناوبری را ارائه دهد. ( I1c6c0 )
  • نام ویژگی Prefetch پروفایل را به‌روزرسانی کنید تا مشخص شود که API Prefetch اکنون می‌تواند در یک نخ پس‌زمینه فراخوانی شود. ( I7c83a )

نسخه ۱.۱۴

نسخه ۱.۱۴.۰

۴ ژوئن ۲۰۲۵

androidx.webkit:webkit:1.14.0 منتشر شد. نسخه ۱.۱۴.۰ شامل این کامیت‌ها است.

تغییرات مهم از زمان ۱.۱۳.۰

  • معرفی API PaymentRequest API) برای فراخوانی برنامه‌های پرداخت بومی اندروید از طریق org.chromium.intent.action.PAY intent. PaymentRequest به طور پیش‌فرض غیرفعال است و برنامه‌های میزبان WebView می‌توانند WebSettingsCompat.setPaymentRequestEnabled(settings, true) را برای فعال کردن آن فراخوانی کنند. علاوه بر این، PaymentRequest یک تگ <queries> در AndroidManifest.xml نیاز دارد. برای اطلاعات بیشتر به مستندات مربوط به setPaymentRequestEnabled() مراجعه کنید.
  • معرفی API آزمایشی Navigation برای ردیابی و مدیریت پیشرفته ناوبری وب در WebView . این APIها اطلاعات دقیقی در مورد رویدادهای ناوبری ارائه می‌دهند. برای دریافت اطلاعات دقیق در مورد ناوبری صفحه، با فراخوانی WebViewCompat.setNavigationClient به همراه پیاده‌سازی رابط جدید WebNavigationClient شروع کنید. برای اطلاعات بیشتر در مورد چرخه حیات ناوبری، لطفاً به Life of a Navigation Presentation مراجعه کنید.

نسخه ۱.۱۴.۰-rc01

۲۰ مه ۲۰۲۵

androidx.webkit:webkit:1.14.0-rc01 منتشر شد. نسخه 1.14.0-rc01 شامل این کامیت‌ها است.

  • هیچ تغییری نسبت به 1.14.0-beta01 وجود ندارد.

نسخه ۱.۱۴.۰-بتا۰۱

۷ مه ۲۰۲۵

androidx.webkit:webkit:1.14.0-beta01 منتشر شد. نسخه 1.14.0-beta01 شامل این کامیت‌ها است.

تغییرات API

  • اضافه کردن زمینه به عنوان پارامتر به startUpWebView() API ( Ic29cd ، b/406701301 )

نسخه ۱.۱۴.۰-آلفا۰۱

۹ آوریل ۲۰۲۵

androidx.webkit:webkit:1.14.0-alpha01 منتشر شد. نسخه 1.14.0-alpha01 شامل این کامیت‌ها است.

ویژگی‌های جدید

  • معرفی API PaymentRequest API) برای فراخوانی برنامه‌های پرداخت بومی اندروید از طریق org.chromium.intent.action.PAY intent. PaymentRequest به طور پیش‌فرض غیرفعال است و برنامه‌های میزبان WebView می‌توانند WebSettingsCompat.setPaymentRequestEnabled(settings, true) را برای فعال کردن آن فراخوانی کنند. علاوه بر این، PaymentRequest به یک تگ <queries> در AndroidManifest.xml نیاز دارد. برای اطلاعات بیشتر به مستندات مربوط به setPaymentRequestEnabled() مراجعه کنید. ( I3304e , b/404920055 )
  • معرفی فراخوانی‌های ناوبری آزمایشی. این نسخه، APIهای آزمایشی را برای ردیابی و مدیریت ناوبری وب پیشرفته در WebView معرفی می‌کند. این APIها اطلاعات دقیقی در مورد رویدادهای ناوبری ارائه می‌دهند. ویژگی‌های کلیدی:
    • رابط کاربری WebNavigationClient : رابط کاربری جدیدی به نام WebNavigationClient را معرفی می‌کند که دارای فراخوانی‌های مجدد برای رویدادهای ناوبری است:
    • onNavigationStarted(Navigation navigation) : زمان شروع یک ناوبری را اطلاع می‌دهد.
    • onNavigationRedirected(Navigation navigation) : هنگامی که یک ناوبری هدایت می‌شود، اطلاع می‌دهد.
    • onNavigationCompleted(Navigation navigation) : زمان تکمیل یک ناوبری را اطلاع می‌دهد.
    • رابط Navigation : اطلاعات دقیقی در مورد یک ناوبری ارائه می‌دهد، از جمله: URL، وضعیت شروع صفحه، وضعیت سند مشابه، وضعیت بارگذاری مجدد، وضعیت تاریخچه، وضعیت عقب/جلو، وضعیت کامیت، وضعیت صفحه خطا، کد وضعیت و وضعیت بازیابی جلسه. شیء Navigation به عنوان یک شناسه منحصر به فرد برای هر ناوبری عمل می‌کند و به توسعه‌دهندگان اجازه می‌دهد رویدادهای ناوبری مرتبط را با هم مرتبط کنند.
    • کلاس Page : کلاس Page را معرفی می‌کند که به عنوان کلیدی برای داده‌های مرتبط با صفحه عمل می‌کند. ( I351a6 )
  • یک API آزمایشی جدید برای تغییر رفتار اشیاء ارائه دهنده حافظه پنهان معرفی کنید. ( I14636 )

تغییرات API

  • مقدار ویژگی PROFILE_URL_PREFETCH در WebViewFeature به‌روزرسانی شد. ( I606fd )
  • WebViewCompat#saveState اضافه می‌کند، مشابه WebView#saveState ، اما امکان محدود کردن اندازه حالت بازگشتی و تصمیم‌گیری در مورد ذخیره یا عدم ذخیره ورودی‌های تاریخچه رو به جلو را فراهم می‌کند. ( Iea7d6 )
  • پیکربندی maxPrerenders را به رابط برنامه‌نویسی SpeculativeLoadingConfig ( I67245 ) اضافه کنید

نسخه ۱.۱۳

نسخه ۱.۱۳.۰

۱۲ مارس ۲۰۲۵

androidx.webkit:webkit:1.13.0 منتشر شد. نسخه ۱.۱۳.۰ شامل این کامیت‌ها است.

تغییرات مهم از زمان ۱.۱۲.۰

  • یک API آزمایشی جدید برای پیش‌رندرینگ URL معرفی کنید تا توسعه‌دهندگان بتوانند URLهای کاندید پیش‌رندر شده را حدس بزنند و در نتیجه پیمایش سریع‌تری داشته باشند. ( I0cfe7 )
  • معرفی مجموعه‌ای از APIهای جدید برای حذف داده‌های مرور ذخیره شده توسط WebView . APIهای جدید در WebStorageCompat باید نسبت به APIهای موجود در android.webkit.WebStorage ترجیح داده شوند، زیرا حذف تمام فضای ذخیره‌سازی محلی، از جمله حافظه پنهان شبکه و کوکی‌ها، و همچنین هرگونه سرویس ورکرهای نصب شده را تضمین می‌کنند. اگر APIهای ذخیره‌سازی جدیدی در آینده معرفی شوند، این روش‌های جدید به‌روزرسانی می‌شوند تا آنها را در فضای ذخیره‌سازی حذف شده لحاظ کنند. ( Iad54f , b/382273208 )
  • API setPartitionedCookiesEnabled اضافه کنید. این به توسعه‌دهندگان اجازه می‌دهد کوکی‌های پارتیشن‌بندی شده را در WebView فعال و غیرفعال کنند. ( Ic506a ، b/364904765 )
  • API مربوط به برچسب‌گذاری سوکت را به WebView اضافه کنید تا ترافیک شبکه WebView را با استفاده از NetworkStatsManager / TrafficStats محاسبه کند. این ویژگی فقط از WebView M133 در دسترس خواهد بود. ( Ica441 ، b/374932688 )
  • API آزمایشی راه‌اندازی غیرهمزمان WebView را اضافه کنید. ( I94b8a )
  • پیش‌واکشی URL در پروفایل: یک API جدید در Profile معرفی شد تا به توسعه‌دهندگان اجازه دهد پیش‌واکشی URL را فعال کنند. پاکسازی پیش‌واکشی: یک API برای پاک کردن پیش‌واکشی‌های در حال انجام اضافه شد. ( I42c5c )
  • WebView.startSafeBrowsing را منسوخ کنید. ( If5626 )

نسخه ۱.۱۳.۰-rc01

۲۶ فوریه ۲۰۲۵

androidx.webkit:webkit:1.13.0-rc01 منتشر شد. این نسخه هیچ تغییری نسبت به نسخه 1.13.0-beta01 ندارد.

نسخه ۱.۱۳.۰-بتا۰۱

۱۲ فوریه ۲۰۲۵

androidx.webkit:webkit:1.13.0-beta01 منتشر شد. نسخه 1.13.0-beta01 شامل این کامیت‌ها است.

تغییرات API

  • پسوند Async را به API پیش رندر اضافه کنید. نام هر داده‌ای را در NoVarySearch به Header تغییر دهید تا نام جدید را منعکس کند. ( Ie91c9 )
  • پارامتر executor را به API پیش رندر url اضافه کنید. همچنین، API را محدود کنید تا فقط از طریق نخ UI فراخوانی شود. ( I50520 )
  • یک API برای پیکربندی پیکربندی حافظه پنهان (cache) برای درخواست‌های پیش‌واکشی پروفایل اضافه کنید. این API همچنین برای درخواست‌های پیش‌رندر (Prerender) که از WebViews مرتبط با این پروفایل آغاز می‌شوند، اعمال می‌شود. ( Iebb6e )

رفع اشکالات

  • رفتار URLUtilCompat.guessFileName را طوری تغییر دهید که فقط از پارامتر mimeType برای پیشنهاد پسوند برای نام فایل‌های مشتق شده از پارامتر URL استفاده کند. ( I53ecd , b/382864232 )

نسخه ۱.۱۳.۰-آلفا۰۳

۱۵ ژانویه ۲۰۲۵

androidx.webkit:webkit:1.13.0-alpha03 منتشر شد. نسخه 1.13.0-alpha03 شامل این کامیت‌ها است.

ویژگی‌های جدید

  • یک API آزمایشی جدید برای پیش‌رندرینگ URL معرفی کنید تا توسعه‌دهندگان بتوانند URLهای کاندید پیش‌رندر شده را حدس بزنند و در نتیجه پیمایش سریع‌تری داشته باشند. ( I0cfe7 )
  • معرفی مجموعه‌ای از APIهای جدید برای حذف داده‌های مرور ذخیره شده توسط WebView . APIهای جدید در WebStorageCompat باید نسبت به APIهای موجود در android.webkit.WebStorage ترجیح داده شوند، زیرا حذف تمام فضای ذخیره‌سازی محلی، از جمله حافظه پنهان شبکه و کوکی‌ها، و همچنین هرگونه سرویس ورکرهای نصب شده را تضمین می‌کنند. اگر APIهای ذخیره‌سازی جدیدی در آینده معرفی شوند، این روش‌های جدید به‌روزرسانی می‌شوند تا آنها را در فضای ذخیره‌سازی حذف شده لحاظ کنند. ( Iad54f , b/382273208 )
  • API setPartitionedCookiesEnabled اضافه کنید. این به توسعه‌دهندگان اجازه می‌دهد کوکی‌های پارتیشن‌بندی شده را در WebView فعال و غیرفعال کنند. ( Ic506a ، b/364904765 )

تغییرات API

  • تغییر الزام نخ برای API Prefetch به گونه‌ای که فقط در نخ رابط کاربری فراخوانی شود. ( I866b5 )
  • متدهای WebAuthn را به‌روزرسانی کنید تا مشخص شود که باید در نخ رابط کاربری فراخوانی شوند. این الزام از قبل توسط پیاده‌سازی اعمال شده است و این تغییر فقط حاشیه‌نویسی مربوطه را اضافه می‌کند. ( I6d6ba )

نسخه ۱.۱۳.۰-آلفا۰۲

۱۱ دسامبر ۲۰۲۴

androidx.webkit:webkit:1.13.0-alpha02 منتشر شد. نسخه 1.13.0-alpha02 شامل این کامیت‌ها است.

ویژگی‌های جدید

  • API مربوط به برچسب‌گذاری سوکت را به WebView اضافه کنید تا ترافیک شبکه WebView را با استفاده از NetworkStatsManager / TrafficStats محاسبه کند. این ویژگی فقط از WebView M133 در دسترس خواهد بود. ( Ica441 ، b/374932688 )

تغییرات API

  • API مربوط به Prefetch را با تغییر نام PrefetchParameter به SpeculativeLoadingParamaters ، معرفی PrefetchNetworkException جدید، جایگزینی PrefetchOperationCallback با OutcomeReceiverCompat و به‌روزرسانی javadoc به‌روزرسانی کنید. ( If5072 )
  • اطلاعات تشخیصی را از API راه‌اندازی ناهمگام WebView دریافت کنید.
  • گزینه‌ای برای برنامه‌هایی فراهم کنید که فقط init را فعال کنند و UI thread را مسدود نکنند. ( I9bf2b )

رفع اشکالات

  • این کتابخانه اکنون از حاشیه‌نویسی‌های nullness از نوع JSpecify استفاده می‌کند که از نوع استفاده می‌کنند. توسعه‌دهندگان کاتلین باید از آرگومان کامپایلر زیر برای اعمال استفاده صحیح استفاده کنند: -Xjspecify-annotations=strict (این پیش‌فرض است که از نسخه ۲.۱.۰ کامپایلر کاتلین شروع می‌شود). ( I0e4c5 ، b/326456246 )

نسخه ۱.۱۳.۰-آلفا۰۱

۱۳ نوامبر ۲۰۲۴

androidx.webkit:webkit:1.13.0-alpha01 منتشر شد. نسخه 1.13.0-alpha01 شامل این کامیت‌ها است.

ویژگی‌های جدید

  • API آزمایشی راه‌اندازی غیرهمزمان WebView را اضافه کنید. ( I94b8a )
  • پیش‌واکشی URL در پروفایل: یک API جدید در پروفایل معرفی شد تا به توسعه‌دهندگان اجازه دهد پیش‌واکشی URL را فعال کنند. پاکسازی پیش‌واکشی: یک API برای پاک کردن پیش‌واکشی‌های مداوم اضافه شد. ( I42c5c )

تغییرات API

  • WebView.startSafeBrowsing را منسوخ کنید. ( If5626 )

نسخه ۱.۱۲

نسخه ۱.۱۲.۱

۲ اکتبر ۲۰۲۴

androidx.webkit:webkit:1.12.1 منتشر شد. نسخه ۱.۱۲.۱ شامل این کامیت‌ها است.

رفع اشکالات

  • مشکلی که مانع از در دسترس بودن APIهای نسخه ۱.۱۲.۰ در این نسخه می‌شد را برطرف کردیم.

نسخه ۱.۱۲.۰

۱۸ سپتامبر ۲۰۲۴

androidx.webkit:webkit:1.12.0 منتشر شد. نسخه ۱.۱۲.۰ شامل این کامیت‌ها است.

تغییرات مهم از زمان ۱.۱۱.۰

  • یک API جدید به WebSettingsCompat اضافه کنید تا BackForwardCache را برای این WebSettings فعال/غیرفعال کنید. این API آزمایشی است و می‌تواند در آینده تغییر کند. ( aosp/3111705 )
  • یک API جدید به WebSettingsCompat اضافه کنید تا رفتار Speculative Loading را برای این WebSettings کنترل کنید. در حال حاضر فقط Prerender در دسترس است. این API آزمایشی است و می‌تواند در آینده تغییر کند. ( I13962 )
  • یک API جدید برای فعال کردن احراز هویت وب در WebView اضافه شد. توسعه‌دهندگان می‌توانند فراخوانی‌های WebAuthn را در یک WebView برای برنامه‌های خود با استفاده از WebSettingsCompat#setWebAuthenticationSupport فعال/غیرفعال کنند. ( I8187f )

نسخه ۱.۱۲.۰-rc01

۴ سپتامبر ۲۰۲۴

androidx.webkit:webkit:1.12.0-rc01 منتشر شد. این نسخه هیچ تغییری نسبت به نسخه 1.12.0-beta01 ندارد.

نسخه ۱.۱۲.۰-بتا۰۱

۲۱ آگوست ۲۰۲۴

androidx.webkit:webkit:1.12.0-beta01 منتشر شد. نسخه 1.12.0-beta01 شامل این کامیت‌ها است.

رفع اشکالات

  • حذف دستورالعمل دسترسی به APIهای پلتفرم جدید، زیرا این امر به طور خودکار از طریق مدل‌سازی API هنگام استفاده از R8 با AGP 7.3 یا بالاتر (مثلاً R8 نسخه 3.3) و برای همه نسخه‌ها هنگام استفاده از AGP 8.1 یا بالاتر (مثلاً D8 نسخه 8.1) اتفاق می‌افتد. به مشتریانی که از AGP استفاده نمی‌کنند، توصیه می‌شود به D8 نسخه 8.1 یا بالاتر به‌روزرسانی کنند. برای جزئیات بیشتر به این مقاله مراجعه کنید. ( Ia60e0 ، b/345472586 )

نسخه ۱.۱۲.۰-آلفا۰۲

۱۲ ژوئن ۲۰۲۴

androidx.webkit:webkit:1.12.0-alpha02 منتشر شد. نسخه 1.12.0-alpha02 شامل این کامیت‌ها است.

ویژگی‌های جدید

  • یک API جدید به WebSettingsCompat اضافه کنید تا BackForwardCache فعال/غیرفعال کنید. این API آزمایشی است و می‌تواند در آینده تغییر کند. ( I64a38 )
  • یک API جدید به WebSettingsCompat اضافه کنید تا رفتار Speculative Loading را برای این WebSettings کنترل کنید. در حال حاضر فقط Prerender در دسترس است. این API آزمایشی است و می‌تواند در آینده تغییر کند. ( I13962 )

تغییرات API

  • برخی از متدها اکنون در صورت لزوم با @UiThread مستند شده‌اند. ( I6c7e0 ), ( I44541 )
  • متدهای thread-safe اکنون با @AnyThread مستند شده‌اند. ( I70189 )
  • افزایش minSdkVersion از ۱۹ به ۲۱. ( Id7a43 )

نسخه ۱.۱۲.۰-آلفا۰۱

۱۷ آوریل ۲۰۲۴

androidx.webkit:webkit:1.12.0-alpha01 منتشر شد. نسخه 1.12.0-alpha01 شامل این کامیت‌ها است.

تغییرات API

  • یک API جدید برای فعال کردن احراز هویت وب در WebView. Developers می‌توانند فراخوانی‌های WebAuthn را در WebView برای برنامه‌های خود با استفاده از WebSettingsCompat#setWebAuthenticationSupport فعال/غیرفعال کنند. ( I8187f )

نسخه ۱.۱۱

نسخه ۱.۱۱.۰

۱ مه ۲۰۲۴

androidx.webkit:webkit:1.11.0 منتشر شد. نسخه ۱.۱۱.۰ شامل این کامیت‌ها است.

تغییرات مهم از زمان ۱.۱۰.۰

  • به برنامه‌ها اجازه دهید پخش صدا را در WebView از طریق APIهای جدید setAudioMuted و isAudioMuted کنترل کنند، که مشابه بی‌صدا کردن یک تب در کروم هستند.
  • URLUtilCompat معرفی شد، که از تجزیه هدرهای Content-Disposition که از ویژگی مقدار کدگذاری شده filename* مطابق تعریف RFC 6266 استفاده می‌کنند، پشتیبانی می‌کند. API سازگاری همچنین مستقیماً روشی را برای تجزیه هدر Content-Disposition در جایی که نام فایل پیشنهادی بر اساس URL و MIME-type مورد نظر نیست، ارائه می‌دهد.

نسخه ۱.۱۱.۰-rc01

۳ آوریل ۲۰۲۴

androidx.webkit:webkit:1.11.0-rc01 منتشر شد. این نسخه هیچ تغییری نسبت به نسخه 1.11.0-beta01 ندارد.

نسخه ۱.۱۱.۰-بتا۰۱

۲۰ مارس ۲۰۲۴

androidx.webkit:webkit:1.11.0-beta01 بدون هیچ تغییر قابل توجهی منتشر شده است. نسخه 1.11.0-beta01 شامل این کامیت‌ها است.

نسخه ۱.۱۱.۰-آلفا۰۲

۲۱ فوریه ۲۰۲۴

androidx.webkit:webkit:1.11.0-alpha02 منتشر شد. نسخه 1.11.0-alpha02 شامل این کامیت‌ها است.

ویژگی‌های جدید

  • متدهای setAudioMuted و isAudioMuted را برای بی‌صدا کردن (و بی‌صدا کردن) WebViews اضافه کنید. این متد به شما امکان می‌دهد از پخش صدا توسط WebView جلوگیری کنید. ( Ie7a33 )

تغییرات API

  • URLUtilCompat نهایی شده است زیرا نباید زیرکلاس شود. ( I49ec1 )

نسخه ۱.۱۱.۰-آلفا۰۱

۷ فوریه ۲۰۲۴

androidx.webkit:webkit:1.11.0-alpha01 منتشر شد. نسخه 1.11.0-alpha01 شامل این کامیت‌ها است.

ویژگی‌های جدید

  • سازگاری را برای URLUtil.guessFileName اضافه کنید. نسخه سازگاری در URLUtilCompat از تجزیه هدرهای Content-Disposition که از ویژگی مقدار کدگذاری شده filename* استفاده می‌کنند، همانطور که در RFC 6266 تعریف شده است، پشتیبانی می‌کند. API سازگاری همچنین مستقیماً روشی را برای تجزیه هدر Content-Disposition در جایی که نام فایل پیشنهادی بر اساس URL و نوع MIME مورد نظر نیست، ارائه می‌دهد. ( If6ae7 , b/309927164 )

نسخه ۱.۱۰

نسخه ۱.۱۰.۰

۲۴ ژانویه ۲۰۲۴

androidx.webkit:webkit:1.10.0 منتشر شد. نسخه ۱.۱۰.۰ شامل این کامیت‌ها است.

تغییرات مهم از زمان ۱.۹.۰

  • یک API جدید به WebSettingsCompat اضافه شد تا رفتار آزمایشی Android WebView Media Integrity API را با غیرفعال کردن کامل API یا محدود کردن اشتراک‌گذاری هویت برنامه در پاسخ API کنترل کند. این قابلیت را می‌توان برای همه مبدأها و بر اساس هر مبدأ فعال یا غیرفعال کرد.

نسخه ۱.۱۰.۰-rc01

۱۰ ژانویه ۲۰۲۴

androidx.webkit:webkit:1.10.0-rc01 منتشر شد. این نسخه هیچ تغییری نسبت به نسخه 1.10.0-beta01 ندارد.

نسخه ۱.۱۰.۰-بتا۰۱

۱۳ دسامبر ۲۰۲۳

androidx.webkit:webkit:1.10.0-beta01 منتشر شد. نسخه 1.10.0-beta01 شامل این کامیت‌ها است.

  • هیچ تغییر عملکردی از 1.10.0-alpha01 وجود ندارد.

نسخه ۱.۱۰.۰-آلفا۰۱

۲۹ نوامبر ۲۰۲۳

androidx.webkit:webkit:1.10.0-alpha01 منتشر شد. نسخه 1.10.0-alpha01 شامل این کامیت‌ها است.

ویژگی‌های جدید

  • یک API جدید به WebSettingsCompat اضافه شد تا رفتار آزمایشی Android WebView Media Integrity API را با غیرفعال کردن کامل API یا محدود کردن اشتراک‌گذاری هویت برنامه در پاسخ API کنترل کند. این قابلیت را می‌توان برای همه مبدأها و بر اساس هر مبدأ فعال یا غیرفعال کرد.

نسخه ۱.۹

نسخه ۱.۹.۰

۲۹ نوامبر ۲۰۲۳

androidx.webkit:webkit:1.9.0 منتشر شد. نسخه ۱.۹.۰ شامل این کامیت‌ها است.

تغییرات مهم از زمان ۱.۸.۰

  • یک API چند پروفایلی جدید برای WebViews اضافه شد.
    • رابط کاربری Profile دارای APIهای مختلفی است که برای دریافت داده‌های مرتبط با این پروفایل مانند نام، GeoLocationPermissions ، ServiceWorkerController ، CookieManager و WebStorage از آنها استفاده می‌کند. این اشیاء مختص به پروفایل هستند و اطلاعات بین پروفایل‌های مختلف در برنامه به اشتراک گذاشته نمی‌شود.
    • پروفایل مورد استفاده توسط یک نمونه WebView را می‌توان با استفاده از متد WebViewCompat#setProfile تغییر داد و با استفاده از WebViewCompat#getProfile بازیابی کرد.
    • ProfileStore که به تازگی معرفی شده است، به شما امکان می‌دهد پروفایل‌های موجود در برنامه خود، از جمله پروفایل پیش‌فرض را مدیریت کنید.
    • APIهای موجود WebView مانند CookieManager#getInstance همچنان روی پروفایل پیش‌فرض کار خواهند کرد.
  • یک API برای تزریق و اجرای جاوا اسکریپت قبل از بارگذاری صفحه اضافه شد.
    • API مربوط به WebViewCompat#addDocumentStartJavascript به برنامه‌ها اجازه می‌دهد تا اسکریپت‌هایی را به یک WebView تزریق کنند که تضمین می‌شود قبل از اجرای هرگونه اسکریپت صفحه، اجرا شوند. این API به برنامه اجازه می‌دهد تا یک لیست هدف از مبداها را برای فعال کردن اسکریپت مشخص کند و اطمینان حاصل کند که فقط در صفحات مورد نظر اجرا می‌شود. برخلاف WebView#evaluateJavascript ، این API امکان اجرای اسکریپت‌ها را در Iframeهای تعبیه شده هنگام بارگذاری فراهم می‌کند. برنامه‌ها می‌توانند از این API جدید در ترکیب با WebViewCompat#addWebMessageListener برای برقراری ارتباط دو طرفه با جاوا اسکریپت در صفحه به روشی قابل اعتماد استفاده کنند.
  • رابط‌های برنامه‌نویسی کاربردی (API) برای تغییر نحوه ثبت رویدادهای گزارش‌دهی اسناد حریم خصوصی در سندباکس اضافه شد.
    • ما یک API جدید به نام WebSettingsCompat#setAttributionRegistrationBehavior معرفی کرده‌ایم که به توسعه‌دهندگان اجازه می‌دهد پیکربندی کنند که آیا منابع و محرک‌های انتساب از خود برنامه یا از محتوای وب در WebView ثبت شوند. این روش همچنین می‌تواند برای غیرفعال کردن گزارش‌دهی انتساب در WebView استفاده شود. علاوه بر این، ما یک API جدید WebSettingsCompat#getAttributionRegistrationBehavior برای دریافت رفتار فعلی اضافه کرده‌ایم.
    • برای اطلاعات بیشتر به مستندات Privacy Sandbox مراجعه کنید.
  • APIهایی اضافه شد تا فراداده‌های عامل کاربر را برای نکات کلاینت نادیده بگیرند.
    • ما یک API جدید، WebSettingsCompat#setUserAgentMetadata، را برای بازنویسی فراداده‌های عامل کاربر برای WebView که برای پر کردن نکات کلاینت عامل کاربر استفاده می‌شود، معرفی کردیم، و همچنین یک API جدید دیگر به نام WebSettingsCompat#getUserAgentMetadata برای دریافت بازنویسی‌های عامل کاربر فعلی اضافه کردیم. ما برنامه‌ها را تشویق می‌کنیم تا از API جدید برای تنظیم مقادیر بازنویسی صحیح هر زمان که برنامه رشته عامل کاربر پیش‌فرض را با استفاده از WebSettings.setUserAgentString تغییر می‌دهد، استفاده کنند تا اطمینان حاصل شود که مقادیر صحیح در همه موقعیت‌ها استفاده می‌شوند.

نسخه ۱.۹.۰-rc01

۱۵ نوامبر ۲۰۲۳

androidx.webkit:webkit:1.9.0-rc01 منتشر شد. این نسخه هیچ تغییری نسبت به نسخه 1.9.0-beta01 ندارد.

نسخه ۱.۹.۰-بتا۰۱

۱ نوامبر ۲۰۲۳

androidx.webkit:webkit:1.9.0-beta01 منتشر شد. نسخه 1.9.0-beta01 شامل این کامیت‌ها است.

تغییرات API

  • مشکل nullability API مربوط به metadata مربوط به user-agent را برطرف کنید. کلاس BrandVersion را به‌روزرسانی می‌کنیم تا از الگوی سازنده استفاده کند و nullability کلاس‌های Getter و Setter مربوط به کلاس UserAgentMetadata را سازگار کنیم. ( Ibf195 )
  • حاشیه‌نویسی ProfileStore ، WebViewCompat#setProfile و WebViewCompat.getProfile با @UiThread ( I499b2 )

نسخه ۱.۹.۰-آلفا۰۱

۱۸ اکتبر ۲۰۲۳

androidx.webkit:webkit:1.9.0-alpha01 منتشر شد. نسخه 1.9.0-alpha01 شامل این کامیت‌ها است.

ویژگی‌های جدید

  • ما API چند پروفایلی را اضافه کرده‌ایم که به شما امکان می‌دهد جلسات مرور جداگانه‌ای بین WebViews داشته باشید، هر پروفایل داده‌های خاص خود را دارد (مثلاً کوکی‌ها). می‌توانید پروفایل ایجاد کنید، آنها را به نمونه‌های WebView اختصاص دهید و بعداً برای هرگونه دسترسی به داده‌ها آنها را بازیابی کنید. یک کلاس Singleton به ProfileStore وجود دارد که به شما در مدیریت پروفایل‌ها با ایجاد یا حذف با APIها کمک می‌کند؛ getOrCreateProfile ، getProfile ، getAllProfileNames و deleteProfile . کلاس Profile دارای APIهای مختلفی برای استفاده جهت دریافت داده‌های مرتبط با این پروفایل مانند نام، GeoLocationPermissions ، ServiceWorkerController ، CookieManager و WebStorage خواهد بود. هر WebView به طور پیش‌فرض با پروفایل پیش‌فرض اجرا می‌شود، با این حال، می‌توانید آن را با استفاده از WebViewCompat#setProfile تغییر دهید. در همین راستا، پروفایل یک WebView را می‌توان با استفاده از WebViewCompat#getProfile بازیابی کرد. ( I32d22 )
  • APIهایی برای تغییر نحوه ثبت رویدادهای گزارش‌دهی نسبت‌دهی اضافه کردیم. ما یک API جدید WebSettingsCompat#setAttributionRegistrationBehavior معرفی کردیم که به توسعه‌دهندگان اجازه می‌دهد پیکربندی کنند که آیا منابع و تریگرها به صورت دریافتی از خود برنامه یا دریافتی از محتوای وب در WebView ثبت شوند. این روش همچنین می‌تواند برای غیرفعال کردن گزارش‌دهی نسبت‌دهی در WebView استفاده شود. علاوه بر این، ما یک API جدید به WebSettingsCompat#getAttributionRegistrationBehavior اضافه کرده‌ایم تا رفتار فعلی را دریافت کنیم. برای اطلاعات بیشتر به مستندات Privacy Sandbox مراجعه کنید. ( I661f2 )
  • APIهایی برای لغو فراداده‌های عامل کاربر اضافه کنید. ما یک API جدید WebSettingsCompat#setUserAgentMetadata برای لغو فراداده‌های عامل کاربر برای WebView معرفی کرده‌ایم که برای پر کردن نکات کلاینت عامل کاربر استفاده می‌شود، و همچنین یک API جدید دیگر به نام WebSettingsCompat#getUserAgentMetadata برای دریافت لغوهای عامل کاربر فعلی اضافه کرده‌ایم. ما برنامه‌ها را تشویق می‌کنیم که به جای تکیه بر تغییر عامل کاربر، از API جدید برای تنظیم مقادیر لغو صحیح استفاده کنند. ( I74500 )
  • یک API برای تزریق جاوا اسکریپت جهت اجرا در حین بارگذاری صفحه اضافه کنید. API مربوط به WebViewCompat.addDocumentStartJavascript به برنامه‌ها اجازه می‌دهد اسکریپت‌ها را به یک WebView تزریق کنند که قبل از اجرای هرگونه اسکریپت صفحه اجرا می‌شوند. این API به برنامه اجازه می‌دهد تا یک لیست هدف از مبداها را برای فعال‌سازی اسکریپت مشخص کند و اطمینان حاصل کند که فقط در صفحات مورد نظر اجرا می‌شود. برخلاف WebView.evaluateJavascript ، این API امکان اجرای اسکریپت‌ها را در Iframeهای تعبیه شده هنگام بارگذاری فراهم می‌کند. ( Ide063 )

نسخه ۱.۸

نسخه ۱.۸.۰

۶ سپتامبر ۲۰۲۳

androidx.webkit:webkit:1.8.0 منتشر شد. نسخه ۱.۸.۰ شامل این کامیت‌ها است.

تغییرات مهم از زمان ۱.۷.۰

نسخه ۱.۸.۰-rc01

۹ آگوست ۲۰۲۳

androidx.webkit:webkit:1.8.0-rc01 بدون هیچ تغییری از زمان انتشار 1.8.0-beta01 منتشر شده است. نسخه ۱.۸.۰-rc01 شامل این کامیت‌ها است.

نسخه ۱.۸.۰-بتا۰۱

۲۶ ژوئیه ۲۰۲۳

androidx.webkit:webkit:1.8.0-beta01 بدون هیچ تغییری از زمان 1.8.0-alpha01 منتشر شده است. نسخه 1.8.0-beta01 شامل این کامیت‌ها است.

نسخه ۱.۸.۰-آلفا۰۱

۷ ژوئن ۲۰۲۳

androidx.webkit:webkit:1.8.0-alpha01 منتشر شد. نسخه 1.8.0-alpha01 شامل این کامیت‌ها است.

تغییرات API

  • به بخش مشارکت خارجی مراجعه کنید.

مشارکت خارجی

  • پشتیبانی برای ارسال ArrayBuffer از طریق WebMessagePortCompat#postMessage ، JsReplyProxy#postMessage و WebViewCompat#postWebMessage ، دریافت ArrayBuffer از جاوا اسکریپت از طریق WebMessagePortCompat و WebMessageListener و دریافت ArrayBuffer قابل انتقال از جاوا اسکریپت از طریق WebMessagePortCompat اضافه شده است. لطفاً توجه داشته باشید که این API فقط از نسخه 116 WebView ( Ie7567 ، b/251152171 ) در دسترس خواهد بود.

نسخه ۱.۷

نسخه ۱.۷.۰

۲۴ مه ۲۰۲۳

androidx.webkit:webkit:1.7.0 منتشر شد. نسخه ۱.۷.۰ شامل این کامیت‌ها است.

تغییرات مهم از زمان ۱.۶.۰

  • ما پشتیبانی از کشیدن و رها کردن تصویر را در WebView اضافه کرده‌ایم. شما می‌توانید با اضافه کردن DropDataContentProvider جدید به مانیفست برنامه خود، همانطور که در مستندات کلاس توضیح داده شده است، به کاربران خود امکان دهید تصاویر را از WebView بیرون بکشند.
  • ما API مربوط به ProcessGlobalConfig#setDirectoryBasePaths(Context,File,File) را اضافه کرده‌ایم که می‌تواند برای تنظیم دایرکتوری‌های پایه‌ای که WebView برای فرآیند فعلی استفاده خواهد کرد، استفاده شود. همانند تمام متدهای ProcessGlobalConfig ، این متد باید قبل از نمونه‌سازی اولین نمونه از WebView فراخوانی شود. این متد برای فراهم کردن قابلیت تغییر تنظیمات WebView به چارچوب اندروید اضافه شده است. برای برنامه‌های عمومی، استفاده از این متد توصیه نمی‌شود.

نسخه ۱.۷.۰-rc01

۱۰ مه ۲۰۲۳

androidx.webkit:webkit:1.7.0-rc01 بدون هیچ تغییری از زمان انتشار 1.7.0-beta01 منتشر شده است. نسخه ۱.۷.۰-rc01 شامل این کامیت‌ها است.

نسخه ۱.۷.۰-بتا۰۱

۵ آوریل ۲۰۲۳

androidx.webkit:webkit:1.7.0-beta01 منتشر شد. نسخه 1.7.0-beta01 شامل این کامیت‌ها است.

تغییرات API

  • تغییر جزئی در پرچم ویژگی و نام متد و ایجاد setDirectoryBasePaths() که به جای رشته، فایل را می‌پذیرد ( Ib0d0a )

نسخه ۱.۷.۰-آلفا۰۳

۸ مارس ۲۰۲۳

androidx.webkit:webkit:1.7.0-alpha03 منتشر شد. نسخه 1.7.0-alpha03 شامل این کامیت‌ها است.

تغییرات API

  • API ProcessGlobalConfig#setDirectoryBasePath(String, String) را اضافه کنید که می‌تواند برای تنظیم دایرکتوری‌های پایه‌ای که WebView برای فرآیند فعلی استفاده خواهد کرد، استفاده شود. ( Ibd1a1 , b/250553687 )

رفع اشکالات

  • رفع مشکل خطای ساخت ناشی از قانون نامعتبر ProGuard هنگام استفاده از DexGuard ( Ia65c2 ، b/270034835 )

نسخه ۱.۷.۰-آلفا۰۲

۸ فوریه ۲۰۲۳

androidx.webkit:webkit:1.7.0-alpha02 منتشر شد. نسخه 1.7.0-alpha02 شامل این کامیت‌ها است.

رفع اشکالات

  • اشکالات اسنادی برای DropDataContentProvider .

نسخه ۱.۷.۰-آلفا۰۱

۲۵ ژانویه ۲۰۲۳

androidx.webkit:webkit:1.7.0-alpha01 منتشر شد. نسخه 1.7.0-alpha01 شامل این کامیت‌ها است.

ویژگی‌های جدید

  • ما در حال اضافه کردن پشتیبانی از کشیدن و رها کردن تصاویر در WebView هستیم. شما می‌توانید با اضافه کردن DropDataContentProvider جدید به مانیفست برنامه خود، به کاربران خود این امکان را بدهید که تصاویر را از WebView بیرون بکشند (drag). ( 05a1a6 )

نسخه ۱.۶

نسخه ۱.۶.۱

۲۲ مارس ۲۰۲۳

androidx.webkit:webkit:1.6.1 منتشر شد. نسخه ۱.۶.۱ شامل این کامیت‌ها است.

رفع اشکالات

  • رفع خطای تجزیه پروگارد ( Ia65c2 )

نسخه ۱.۶.۰

۲۵ ژانویه ۲۰۲۳

androidx.webkit:webkit:1.6.0 منتشر شد. نسخه ۱.۶.۰ شامل این کامیت‌ها است.

Important changes since 1.5.0

  • A new ProcessGlobalConfig API has been added to allow apps to provide configuration settings that need to be set before loading WebView, such as the WebView data directory suffix. The configuration should be set up and applied as early as possible during application startup, to ensure that it happens before any other thread can call a method that loads WebView into the process.
  • A new CookieManagerCompat API has been added to expand android.webkit.CookieManager with a new getCookieInfo method, which retrieves all attributes for all cookies set on a specific URL. This differs from the existing getCookie API in CookieManager which returns only the name and value attributes of the cookies.
  • WebSettingsCompat has new methods to enable/disable the effect of EnterpriseAuthenticationAppLinkPolicy if set by admin in WebView , and to get the current setting . This feature lets WebView open an Authentication app instead of opening the authentication URL. This feature has no effect on devices that are not managed by an enterprise policy.
  • Adding a new API to WebSettingsCompat to let applications explicitly send the app package name in the X-Requested-With header to allowlisted origins. The header has traditionally been sent on every request from WebView .

Version 1.6.0-rc01

۱۱ ژانویه ۲۰۲۳

androidx.webkit:webkit:1.6.0-rc01 is released. Version 1.6.0-rc01 contains these commits.

رفع اشکالات

  • Fixed NullPointerException in WebViewFeature.isStartupFeatureSupported(Context, String) when running on SDK < L. ( Ic7292 )

Version 1.6.0-beta01

۷ دسامبر ۲۰۲۲

androidx.webkit:webkit:1.6.0-beta01 is released. Version 1.6.0-beta01 contains these commits.

تغییرات API

  • ProcessGlobalConfig has been changed to use a normal constructor and a static apply method. The apply method should only be called once per process, as early as possible, and will throw IllegalStateException if called more than once. ProcessGlobalConfig objects no longer have any restrictions on how many times setters can be called. ( I456c3 )

Version 1.6.0-alpha03

۹ نوامبر ۲۰۲۲

androidx.webkit:webkit:1.6.0-alpha03 is released. Version 1.6.0-alpha03 contains these commits.

ویژگی‌های جدید

  • Add ProcessGlobalConfig class enabling users to set process global config before loading WebView . WebView has some process-global configuration parameters that cannot be changed once WebView has been loaded (eg the WebView data directory). This class allows apps to set these parameters. The configuration should be set up and applied as early as possible during application startup, to ensure that it happens before any other thread can call a method that loads WebView into the process. ( I7c0e0 , b/250553687 )
  • Adding new API to let applications explicitly send the app package name in the X-Requested-With header to allowlisted origins. The header has traditionally been sent on every request from WebView . ( I0adfe , b/226552535 )

تغییرات API

  • The WebSettingsCompat#setAlgorithmicDarkeningAllowed API is supported on all Android versions in WebView version 105 and later. Previous versions of WebView only supported the API on Android Q and later. As a result, this api is no longer marked @RequiresApi(Build.VERSION_CODES.Q) . ( I3ac1d )

Version 1.6.0-alpha02

۲۴ اکتبر ۲۰۲۲

androidx.webkit:webkit:1.6.0-alpha02 is released. Version 1.6.0-alpha02 contains these commits.

ویژگی‌های جدید

  • Adds a new CookieManagerCompat class along with a getCookieInfo API which retrieves all attributes for all cookies set on a specific URL. This differs from the existing getCookie API in CookieManager which returns only the name and value attributes of the cookies. ( I07365 , b/242161756 )

Version 1.6.0-alpha01

۲۴ آگوست ۲۰۲۲

androidx.webkit:webkit:1.6.0-alpha01 is released. Version 1.6.0-alpha01 contains these commits.

ویژگی‌های جدید

  • Added APIs in WebSettingsCompat to enable/disable the effect of EnterpriseAuthenticationAppLinkPolicy if set by admin in WebView . This feature lets WebView open an Authentication app instead of opening the authentication URL. This feature has no effect on devices that are not managed by an enterprise policy.

نسخه ۱.۵.۰

نسخه ۱.۵.۰

۲۴ آگوست ۲۰۲۲

androidx.webkit:webkit:1.5.0 is released. Version 1.5.0 contains these commits.

Important changes since 1.4.0

  • A new setAlgorithmicDarkeningAllowed API on WebSettingsCompat replaces the old setForceDark and setForceDarkStrategy APIs. Apps targeting SDK 33 and higher (T) should use the new API, as the old API will no longer have any effect for those apps.
  • An allow-list of URLs to use the configured proxy can now be set through ProxyCofig.Builder by setting setReverseBypassEnabled to true . When this is in effect, all other URLs will bypass the configured proxy.

Version 1.5.0-rc01

۱۰ آگوست ۲۰۲۲

androidx.webkit:webkit:1.5.0-rc01 is released with no changes since 1.5.0-beta01 . Version 1.5.0-rc01 contains these commits.

Version 1.5.0-beta01

۲۹ ژوئن ۲۰۲۲

androidx.webkit:webkit:1.5.0-beta01 is released. Version 1.5.0-beta01 contains these commits.

تغییرات API

  • Alogrithimic Darkening related APIs are now annotated to require API level Q. The API will not have any effect on API levels < Q, since dark theme is not an option on these devices. ( I0905e )

Version 1.5.0-alpha01

۱۸ مه ۲۰۲۲

androidx.webkit:webkit:1.5.0-alpha01 is released. Version 1.5.0-alpha01 contains these commits.

ویژگی‌های جدید

  • Add a new getVariationsHeader() method on WebViewCompat to get the X-Client-Data header value sent by the WebView . The returned value will be a base64 encoded ClientVariations protobuf.
  • Add APIs on WebSettingsCompat to allow/disallow algorithmic darkening for app with targetSdk >= 33. ( I29597 )

تغییرات API

  • Add a new method in ProxyCofig.Builder to set reverse bypass. Setting reverse bypass to true means only URLs in the bypass list will use the proxy settings. ( I9eaa2 , b/168728599 )

رفع اشکالات

  • Fixed a typo in dark theme documentation. ( I36ebf , b/194343633 )
  • Fixed a bug where WebViewAssetLoader.Builder methods were unintentionally order-dependent. ( If420d , b/182196765 )

نسخه ۱.۴.۰

نسخه ۱.۴.۰

۱۶ دسامبر ۲۰۲۰

androidx.webkit:webkit:1.4.0 is released. Version 1.4.0 contains these commits.

Major changes since 1.3.0

  • Added a new setSafeBrowsingAllowlist() API to replace setSafeBrowsingWhitelist() . This helps apps update their code to avoid non-inclusive terminology, while still supporting the same range of Android SDKs and WebView versions as the deprecated API.
  • Fixed a bug in setProxyOverride that caused fallback rules not being correctly applied.

Version 1.4.0-rc02

۲ دسامبر ۲۰۲۰

androidx.webkit:webkit:1.4.0-rc02 is released. Version 1.4.0-rc02 contains these commits.

رفع اشکالات

  • Fixes fallback rules not being correctly applied when using setProxyOverride.

Version 1.4.0-rc01

۱۱ نوامبر ۲۰۲۰

androidx.webkit:webkit:1.4.0-rc01 is released with no changes since 1.4.0-beta01 . Version 1.4.0-rc01 contains these commits.

Version 1.4.0-beta01

۱۴ اکتبر ۲۰۲۰

androidx.webkit:webkit:1.4.0-beta01 is released with no changes since 1.4.0-alpha01 . Version 1.4.0-beta01 contains these commits.

Version 1.4.0-alpha01

۱۶ سپتامبر ۲۰۲۰

androidx.webkit:webkit:1.4.0-alpha01 is released. Version 1.4.0-alpha01 contains these commits.

تغییرات API

  • Added a new WebViewCompat#setSafeBrowsingAllowlist() API to replace setSafeBrowsingWhitelist() . This helps apps update their code to avoid non-inclusive terminology, while still supporting the same range of Android SDKs and WebView versions as the deprecated API. ( I8d65d )

نسخه ۱.۳.۰

نسخه ۱.۳.۰

۱۹ آگوست ۲۰۲۰

androidx.webkit:webkit:1.3.0 is released. Version 1.3.0 contains these commits.

Major changes since 1.2.0

  • ForceDarkStrategy API provides more control to WebView darkening (CSS/web content darkening versus auto darkening).
  • WebMessageListener and its related APIs provide a simple and secure mechanism to establish communication between web contents and the WebView embedder app.
  • isMultiProcessEnabled API to check whether WebView is running in multi process. This is possible starting in Android O and it means web content is rendered in a sandboxed renderer process separate to the application process. This sandboxed renderer may be shared with other WebViews in the same application but it's not shared with other application processes.

Version 1.3.0-rc02

۵ آگوست ۲۰۲۰

androidx.webkit:webkit:1.3.0-rc02 is released. Version 1.3.0-rc02 contains these commits.

رفع اشکالات

  • This fixes a compatibility issue where WebMessageListener would sometimes crash during local development if your app was started with Android Studio instant run.

Version 1.3.0-rc01

۲۴ ژوئن ۲۰۲۰

androidx.webkit:webkit:1.3.0-rc01 is released with no changes since 1.3.0-beta01 . Version 1.3.0-rc01 contains these commits.

Version 1.3.0-beta01

۱۰ ژوئن ۲۰۲۰

androidx.webkit:webkit:1.3.0-beta01 is released. Version 1.3.0-beta01 contains these commits.

ویژگی‌های جدید

  • ForceDarkStrategy API to control WebView darkening (CSS/web content darkening versus auto darkening).
  • WebMessageListener APIs provide a simple and secure mechanism to establish communication between web contents and the WebView embedder app.
  • MultiProcessEnabled API to check if WebView is running in multi process mode.

Version 1.3.0-alpha03

May 27, 2020

androidx.webkit:webkit:1.3.0-alpha03 is released. Version 1.3.0-alpha03 contains these commits.

تغییرات API

  • addWebMessageListener method now receives a Set<String> of allowed origin rules (previously a List<String> ).

Version 1.3.0-alpha02

۲۹ آوریل ۲۰۲۰

androidx.webkit:webkit:1.3.0-alpha02 is released. Version 1.3.0-alpha02 contains these commits.

ویژگی‌های جدید

  • MultiProcessEnabled API to check if WebView is running in multi process mode.

تغییرات API

  • All dark strategy constants are now prefixed with DARK_STRATEGY .

Version 1.3.0-alpha01

۱۵ آوریل ۲۰۲۰

androidx.webkit:webkit:1.3.0-alpha01 is released. Version 1.3.0-alpha01 contains these commits.

ویژگی‌های جدید

  • ForceDarkStrategy API to control WebView darkening (CSS/web content darkening versus auto darkening).
  • WebMessageListener APIs provide a simple and secure mechanism to establish communication between web contents and the WebView embedder app.

نسخه ۱.۲.۰

نسخه ۱.۲.۰

۴ مارس ۲۰۲۰

androidx.webkit:webkit:1.2.0 is released. Version 1.2.0 contains these commits.

Major changes since 1.1.0

  • Added the ForceDark API to control if WebViews should be rendered in dark mode.

Version 1.2.0-rc01

۱۹ فوریه ۲۰۲۰

androidx.webkit:webkit:1.2.0-rc01 is released with no changes since 1.2.0-beta01 . Version 1.2.0-rc01 contains these commits.

Version 1.2.0-beta01

February 5, 2020

androidx.webkit:webkit:1.2.0-beta01 is released with no changes since 1.2.0-alpha01 . Version 1.2.0-beta01 contains these commits .

Version 1.2.0-alpha01

۱۸ دسامبر ۲۰۱۹

androidx.webkit:webkit:1.2.0-alpha01 is released. Version 1.2.0-alpha01 contains these commits .

ویژگی‌های جدید

  • ForceDark API to control if WebViews should be rendered in dark mode.

نسخه ۱.۱.۰

نسخه ۱.۱.۰

November 7, 2019

androidx.webkit:webkit:1.1.0 is released. Version 1.1.0 contains these commits .

Important changes since 1.0.0

  • Getter APIs to complement setWebViewClient() and setWebChromeClient() .
  • ProxyController API to set a network request proxy for an app's WebViews.
  • WebViewAssetLoader API to simplify loading APK assets, resources, and files from the app data directory via request interception. This allows access to web and local resources without disabling CORS.
  • TracingController API to collect WebView tracing information for debugging purposes.
  • RenderProcess APIs to manage WebView renderer services, and to detect when poorly behaved content causes WebView renderers to become unresponsive.
  • Updated existing APIs to include nullability ( @NonNull , @Nullable ) and thread ( @UiThread , @WorkerThread ) annotations.

Version 1.1.0-rc01

۹ اکتبر ۲۰۱۹

androidx.webkit:webkit:1.1.0-rc01 is released. Version 1.1.0-rc01 contains these commits .

رفع اشکالات

  • Fixed an issue where setWebViewRenderProcessClient() could crash if passed a null client.

Version 1.1.0-beta01

۵ سپتامبر ۲۰۱۹

androidx.webkit:webkit:1.1.0-beta01 is released. The commits included in this version can be found here .

ویژگی‌های جدید

  • New InternalStoragePathHandler in WebViewAssetLoader to load files from the app's data directory.

API changes

  • ProxyConfig#getProxyRules() now returns an unmodifiable list of ProxyRule instances, which is a new class to hold a scheme filter and its corresponding proxy URL.

رفع اشکالات

  • WebViewAssetLoader defaults to a "text/plain" MIME type (rather than null) when it can't guess the MIME type from the file path.
  • WebViewAssetLoader no longer throws a NullPointerException when loading files with special characters in their path names.

Version 1.1.0-alpha02

August 7, 2019

androidx.webkit:webkit:1.1.0-alpha02 is released. The commits included in this version can be found here .

ویژگی‌های جدید

  • WebViewAssetLoader exposes the PathHandler interface to allow apps to create custom path-handling functionality.

API changes

  • WebViewAssetLoader is now a final class, since it's not meant to be subclassed.
  • WebViewAssetLoader#PathHandler implementations are now public and final.
  • Minor changes to ProxyConfig method names.
  • ProxyController : added new methods addDirect() and addDirect(String) to connect directly to servers; removed DIRECT String.
  • Updated existing APIs to include nullability ( @NonNull , @Nullable ) and thread ( @UiThread , @WorkerThread ) annotations.

Version 1.1.0-alpha01

۷ مه ۲۰۱۹

androidx.webkit:webkit:1.1.0-alpha01 is released. The commits included in this version can be found here .

ویژگی‌های جدید

  • Getter APIs to complement setWebViewClient() and setWebChromeClient()
  • ProxyController API to set a network request proxy for an app's WebViews.
  • AssetLoader API to simplify loading APK assets and resources via request interception, allowing access to web resources without disabling CORS.
  • TracingController API to collect WebView tracing information for debugging purposes.
  • RenderProcess APIs to manage WebView renderer services, and to detect when poorly behaved content causes WebView renderers to become unresponsive.

رفع اشکالات

  • Minor fixes to documentation formatting for existing APIs.