وب‌کیت

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

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

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

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

Groovy

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

Kotlin

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

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

بازخورد

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

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

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

نسخه ۱.۱۶

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

۸ آوریل ۲۰۲۶

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

تغییرات API

  • آرگومان CallbackExecutor برای Profile.prefetchUrlAsync اکنون قابل تهی شدن است و در صورت عدم ارائه، به طور پیش‌فرض به نخ اصلی می‌رود. ( Ib89ef ، b/483041824 )

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

۲۵ مارس ۲۰۲۶

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

تغییرات API

  • API startUpWebView و APIهای پیکربندی راه‌اندازی ناهمگام مرتبط در ProcessGlobalConfig و WebViewStartUpConfig از حالت آزمایشی به حالت پایدار ارتقا یافته‌اند.
    راه‌اندازی WebView می‌تواند یک فرآیند زمان‌بر باشد، بنابراین این APIها به برنامه‌ها اجازه می‌دهند تا راه‌اندازی WebView را در زمان مناسب آغاز کنند و اطمینان حاصل کنند که بخش‌هایی از راه‌اندازی WebView که قادر به اجرا در پس‌زمینه هستند، این کار را انجام می‌دهند و پاسخگویی اولین استفاده از WebView را بهبود می‌بخشند.
    این APIها قبلاً به صورت آزمایشی منتشر شده بودند و اکنون می‌توانند بدون حاشیه‌نویسی @OptIn مورد استفاده قرار گیرند. نسخه قبلی startUpWebView منسوخ شده است و کاربران آن API باید به نسخه جدید مهاجرت کنند که برای تسهیل فراخوانی‌های ناموفق، یک WebViewOutcomeReceiver می‌گیرد. ( Iebb60 ، I56bf7 )
  • APIهای ناوبری دیگر نیازی به استفاده از حاشیه‌نویسی‌های @OptIn ندارند.
    این شامل WebViewCompat#addNavigationListener و همچنین رابط NavigationListener و کلاس‌های Navigation و Page می‌شود. توجه داشته باشید که انواع Navigation و Page اکنون به جای رابط، کلاس هستند.
    اکنون این APIها باید با استفاده از ثابت ویژگی جدید WebViewFeature#NAVIGATION_LISTENER بررسی ویژگی شوند. ( I410c8 , b/474625648 , b/448580228 , b/479792864 , b/432696062 , b/474625648 )
  • حاشیه‌نویسی آزمایشی را از WebViewCompat#saveState حذف می‌کند. این API مشابه WebView#saveState است، اما به توسعه‌دهنده اجازه می‌دهد حداکثر اندازه برای حالت و اینکه آیا ورودی‌های تاریخچه‌ی رو به جلو باید شامل شوند یا خیر را مشخص کند. ( Ie3fe1 ، b/389076708 )
  • Profile#setSpeculativeLoadingConfig منسوخ شده است. به جای آن از Profile#setMaxPrerenders ، PrefetchCache#setMaxPrefetches ، PrefetchCache#setPrefetchTtlSeconds استفاده کنید. ( I9f0f7 ، I9b977 ، b/466301565 )

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

۱۱ مارس ۲۰۲۶

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

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

  • APIهای جدید معیارهای عملکرد وب شامل onFirstContentfulPaintMillis ، onLargestContentfulPaintMillis و onPerformanceMarkMillis به NavigationListener اضافه شدند. این APIها به توسعه‌دهندگان اجازه می‌دهند تا First/Largest Contentful Paint و معیارهای عملکرد را مستقیماً در برنامه خود ردیابی کنند، به جای اینکه از جاوا اسکریپت برای بازیابی آنها استفاده کنند. ( Idb93b ، b/432696062 )
  • اطلاعات خطا به شیء ناوبری اضافه شد، به Navigation#getWebResourceError و WebResourceError#getDebugCode. اگر بارگذاری ناوبری به دلیل خطای شبکه با شکست مواجه شود، اطلاعات خطا در مورد دلیل وقوع این اتفاق اکنون در شیء ناوبری موجود است. ( I18bdc , b/474625648 )
  • شکل API تنظیمات BackForwardCache را با یک شیء BackForwardCacheSettings جدید به‌روزرسانی کنید که می‌توان آن را با فراخوانی WebSettingsCompat#getBackForwardCacheSettings به دست آورد و می‌توان از آن برای تغییر هر تنظیم از طریق متدهای set/get استفاده کرد.
    توجه: ما WebSetingsCompat#setBackForwardCacheSettings و BackForwardCacheSettings.Builder را حذف می‌کنیم، بنابراین اگر از API حذف شده استفاده می‌کردید، این تغییر ممکن است هنگام به‌روزرسانی به این نسخه باعث خطاهای کامپایل شود. ( I377f4 )
  • یک API برای اتصال اطلاعات اشکال‌زدایی به درخواست پیش‌واکشی اضافه کنید. ( Ibb300 ، b/474559983 )

تغییرات API

  • حداقل SDK پشتیبانی‌شده (minSdk) به ۲۴ افزایش یافته است. برنامه‌هایی که نسخه‌های SDK زیر ۲۴ را هدف قرار می‌دهند، برای استفاده از این و نسخه‌های آینده کتابخانه، باید SDK هدف خود را به‌روزرسانی کنند. ( I4df32 ، b/452708695 )
  • Profile#clearPrefetchAsync آزمایشی به دلیل عدم امکان اجرا حذف شد. این قابلیت در حال توسعه بود که هرگز کار نکرد. اگر نیاز به پاک کردن حافظه پنهان دارید، لطفاً درخواست ویژگی ارسال کنید. ( I341a4 , b/483043529 )
  • androidx.webkit.OutcomeReceiverCompat را به وضعیت پایدار منتقل کنید و آن را به WebViewOutcomeReceiver تغییر نام دهید. این کپی مخصوص کتابخانه از رابط به کتابخانه webkit اجازه می‌دهد تا compileSdk = 33 حفظ کند و نام جدید از تداخل نام‌ها جلوگیری می‌کند. ( I0ebf7 ، I6ef8a ، b/487934754 )
  • نوع بازگشتی StartUpLocation.getStackInformation() از String به Throwable تغییر یافت تا برنامه‌ها بتوانند اطلاعات را بهتر پردازش کنند. ( I938d6 , b/417434566 )

مشارکت خارجی

  • معرفی API های جدید
    • تزریق جاوا اسکریپت پایدار به عنوان بخشی از رویداد بارگذاری سند. این روش مشابه WebViewCompat#addDocumentStartJavaScript موجود عمل می‌کند، اما تضمین می‌کند که DOM هنگام اجرای اسکریپت آماده باشد. API جدید WebViewCompat#addJavaScriptOnEvent است.
    • جاوا اسکریپت و WebMessageListener را به دنیای ایزوله تزریق کنید تا از تداخل با جاوا اسکریپت موجود در صفحه جلوگیری شود. API های جدید WebViewCompat#addJavaScriptOnEvent و WebViewCompat#addWebMessageListener هستند.
    • اجرای جاوا اسکریپت به عنوان پاسخ به یک پیام وب ارسال شده از صفحه‌ای در همان ترکیب frame/world که پیام را ارسال کرده است. API جدید JavaScriptReplyProxy#executeJavaScript است. ( I45d92 ، b/483103617 )

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

۱۱ فوریه ۲۰۲۶

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

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

  • متد Page#getUrl() را اضافه می‌کند که آدرس اینترنتی (URL) مرتبط با شیء Page ( I0a5d7 , b/465339942 ) را برمی‌گرداند.
  • برای اعمال پیکربندی‌های سازنده به WebViewهای از پیش ساخته شده ( Iae133 ، b/463288296 )، API مربوط به WebViewBuilder.applyTo را اضافه کنید.

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

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

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

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

  • APIهای جدید معیارهای عملکرد وب شامل onFirstContentfulPaintMillis ، onLargestContentfulPaintMillis و onPerformanceMarkMillis به NavigationListener اضافه شدند. این APIها به توسعه‌دهندگان اجازه می‌دهند تا FCP/LCP و معیارهای عملکرد را مستقیماً در برنامه خود ردیابی کنند، به جای اینکه از جاوا اسکریپت برای بازیابی آنها استفاده کنند. ( I50266 ، b/432696062 )
  • NAVIGATION_LISTENER_NON_NULL_PAGE_FOR_SAME_DOCUMENT_NAVIGATIONS را به WebViewFeature اضافه می‌کند، که می‌تواند برای تعیین اینکه آیا Navigation#getPage در پیمایش‌های با سند یکسان، null را برمی‌گرداند یا خیر، استفاده شود. ( I3a2aa )

رفع اشکالات

  • تصحیح تهی‌پذیری پارامترهای رشته‌ای در getProfilesToLoadDuringStartup ( Ic2ce5 )
  • ثابت بررسی ویژگی WebViewBuilder که وجود ندارد را افشا کنید ( I95534 )

نسخه ۱.۱۵

نسخه ۱.۱۵.۰

۱۷ دسامبر ۲۰۲۵

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

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

این نسخه minSdk از API 21 به API 23 افزایش می‌دهد. همچنین قابلیت‌های جدید API زیر را معرفی می‌کند:

  • به عنوان بخشی از فراخوانی‌های shouldInterceptRequest برای WebView و Service Workers به ​​کوکی‌ها دسترسی پیدا کرده و آنها را تنظیم کنید. توسعه‌دهندگان برنامه که در حال حاضر به عنوان بخشی از shouldInterceptRequest خود به API CookieManager دسترسی دارند، اکنون می‌توانند هدرهای کوکی را مستقیماً با فراخوانی WebViewCompat#setCookiesIncludedInShouldInterceptRequest فعال کنند. این کار باعث می‌شود WebView یک هدر Cookie به نقشه WebResourceRequest.getRequestHeaders() اضافه کند که دقیقاً همان کوکی‌هایی است که برای درخواست اعمال می‌شوند. این کار همچنین به درستی هرگونه کوکی پارتیشن‌بندی شده را مدیریت می‌کند. برنامه‌ها می‌توانند مقادیر هدر Set-Cookie را از طریق API جدید WebResourceResponseCompat#setCookies ارائه دهند. مقادیر Set-Cookie اضافه شده در آنجا توسط WebView به عنوان بخشی از مدیریت پاسخ پردازش می‌شوند.
  • تنظیم هدرهای درخواست سفارشی. API مربوط به Profile#addCustomHeader به توسعه‌دهندگان برنامه اجازه می‌دهد تا فهرستی از جفت‌های نام-مقدار هدر استاتیک تنظیم کنند که به هر درخواستی که با الگوی مبدا مشخص‌شده مطابقت داشته باشد، ارسال می‌شوند.
  • امکان سفارشی‌سازی آیتم‌ها در منوی زمینه‌ی هایپرلینک WebView. با فراخوانی WebViewCompat#setHyperlinkContextMenuItems ، توسعه‌دهندگان برنامه می‌توانند مشخص کنند که وقتی کاربر یک هایپرلینک را برای مدت طولانی فشار می‌دهد، کدام آیتم‌ها در منوی زمینه ظاهر شوند.
  • فعال‌سازی پیش‌رندر . WebViewCompat#prerenderUrlAsync به برنامه‌ها اجازه می‌دهد تا URLها را قبل از نمایش در WebView ، به صورت حدسی پیش‌رندر کنند. پیش‌رندر می‌تواند با واکشی صفحه قبل از زمان، عملکرد بارگیری را به طرز چشمگیری بهبود بخشد. هنگامی که کاربر به URL می‌رود، صفحه پیش‌رندر شده فوراً نمایش داده می‌شود.
  • با فراخوانی API مربوط به WebSettingsCompat#setBackForwardCacheSettings ، می‌توانید جزئیات BackForwardCache را در WebView کنترل کنید. این API به شما امکان می‌دهد تایم‌اوت را بر حسب ثانیه تنظیم کنید یا محدودیت‌های حافظه پنهان صفحه را تنظیم کنید.
  • در نهایت، حذف هدر X-Requested-With در WebView لغو شده است و این هدر دوباره برای همه درخواست‌ها ارسال خواهد شد. بنابراین API مربوط به allowlist دیگر ضروری نیست و منسوخ شده است.

APIهای آزمایشی از نسخه ۱.۱۴.۰ اضافه شده‌اند

  • کتابخانه WebView همچنین تعدادی API معرفی کرده است که در حال حاضر وضعیت آزمایشی دارند. می‌توانید اطلاعات بیشتر در مورد این APIها را در خلاصه بسته بخوانید. اگر در مورد این APIها بازخوردی دارید، لطفاً آن را با ارسال ایمیل به android-webview-dev@chromium.org یا با ارسال بازخورد در ردیاب مشکلات ما به اشتراک بگذارید.

ویژگی‌های زیر آزمایشی هستند:

  • ProcessGlobalConfig#setUiThreadStartupMode به شما امکان می‌دهد مقداردهی اولیه نخ رابط کاربری WebView را پیکربندی کنید. به طور خاص، این به شما امکان می‌دهد انتخاب کنید که آیا راه‌اندازی باید به عنوان یک وظیفه واحد اجرا شود یا باید به وظایف کوچک‌تری تقسیم شود که کنترل را به Looper نخ رابط کاربری واگذار می‌کند.
  • نمونه‌های WebView را با پیکربندی محدود ایجاد کنید که بعداً با API WebViewBuilder قابل تغییر نباشد. در ابتدا، این بدان معناست که اکنون می‌توان اشیاء رابط جاوا اسکریپت را که فقط در یک لیست مشخص از مبداها تزریق می‌شوند، اضافه کرد که امنیت استفاده از آن را تا حد زیادی بهبود می‌بخشد. این امر همچنین هرگونه فراخوانی بیشتر برای addJavascriptInterface را در نمونه ساخته شده WebView غیرفعال می‌کند، که پیکربندی تغییرناپذیر را تضمین می‌کند.
  • توسعه‌یافته بر اساس API مربوط به WebViewCompat#startUpWebView :
    • اکنون می‌توانید مجموعه‌ای از پروفایل‌ها را برای بارگذاری همزمان مشخص کنید. این به توسعه‌دهندگان برنامه اجازه می‌دهد تا از بارگذاری هرگونه پروفایلی صرف نظر کنند، یا مجموعه دقیقی از پروفایل‌هایی را که برنامه استفاده می‌کند مشخص کنند تا از بارگذاری همه آنها اطمینان حاصل شود.
    • اشکال‌زدایی راه‌اندازی ناهمگام اکنون با استفاده از فراخوانی‌های getUiThreadBlockingStartUpLocations و getNonUiThreadBlockingStartUpLocations آسان‌تر شده است تا مکان‌هایی را در برنامه تعیین کند که راه‌اندازی WebView، چه نخ رابط کاربری و چه نخ پس‌زمینه را مسدود می‌کند.
    • شما می‌توانید نحوه‌ی اجرای مقداردهی اولیه‌ی نخ رابط کاربری WebView را پیکربندی کنید.
  • با فراخوانی Profile#warmUpRendererProcess ، فرآیند رندرینگ را برای یک پروفایل آماده کنید. این API می‌تواند توسط برنامه‌هایی با چرخه عمر پیچیده WebView مورد استفاده قرار گیرد تا اطمینان حاصل شود که فرآیند رندرینگ در حال اجرا است، حتی اگر تمام نمونه‌های WebView از بین رفته باشند.
  • Profile#addQuicHints به برنامه‌ها اجازه می‌دهد تا به WebView بگویند هنگام اتصال به مبداهای ارائه شده، QUIC / HTTP3 را ترجیح دهد.
  • Profile#preconnect به برنامه‌ها اجازه می‌دهد تا قبل از پیمایش به یک مبدا، اتصالی را به آن باز کنند تا سرعت بارگذاری‌های بعدی افزایش یابد.

APIهای آزمایشی از نسخه ۱.۱۴.۰ به‌روزرسانی شده‌اند

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

۳ دسامبر ۲۰۲۵

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

  • از زمان androidx.webkit:webkit:1.15.0-beta01 هیچ به‌روزرسانی وجود ندارد

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

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

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 منتشر شد. نسخه ۱.۶.۰ شامل این کامیت‌ها است.

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

  • یک API جدید ProcessGlobalConfig اضافه شده است تا به برنامه‌ها اجازه دهد تنظیمات پیکربندی مورد نیاز قبل از بارگذاری WebView، مانند پسوند دایرکتوری داده WebView، را ارائه دهند. این پیکربندی باید در اسرع وقت در هنگام راه‌اندازی برنامه تنظیم و اعمال شود تا اطمینان حاصل شود که قبل از اینکه هر رشته دیگری بتواند متدی را که WebView در فرآیند بارگذاری می‌کند، فراخوانی کند، این اتفاق می‌افتد.
  • یک API جدید CookieManagerCompat برای گسترش android.webkit.CookieManager با یک متد جدید getCookieInfo اضافه شده است که تمام ویژگی‌های همه کوکی‌های تنظیم شده روی یک URL خاص را بازیابی می‌کند. این با API موجود getCookie در CookieManager که فقط ویژگی‌های نام و مقدار کوکی‌ها را برمی‌گرداند، متفاوت است.
  • WebSettingsCompat متدهای جدیدی برای فعال/غیرفعال کردن تأثیر EnterpriseAuthenticationAppLinkPolicy در صورت تنظیم توسط مدیر در WebView و دریافت تنظیمات فعلی دارد. این ویژگی به WebView اجازه می‌دهد تا به جای باز کردن URL احراز هویت، یک برنامه احراز هویت را باز کند. این ویژگی روی دستگاه‌هایی که توسط یک سیاست سازمانی مدیریت نمی‌شوند، تأثیری ندارد.
  • اضافه کردن یک API جدید به WebSettingsCompat تا برنامه‌ها بتوانند نام بسته برنامه را در هدر X-Requested-With به صورت صریح به مبداهای allowlisted ارسال کنند. این هدر به طور سنتی در هر درخواست از WebView ارسال شده است.

نسخه ۱.۶.۰-rc01

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

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

رفع اشکالات

  • رفع خطای NullPointerException در WebViewFeature.isStartupFeatureSupported(Context, String) هنگام اجرا روی SDK < L. ( Ic7292 )

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

۷ دسامبر ۲۰۲۲

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

تغییرات API

  • ProcessGlobalConfig تغییر یافته است تا از یک سازنده معمولی و یک متد استاتیک apply استفاده کند. متد apply باید فقط یک بار در هر فرآیند و در اسرع وقت فراخوانی شود و در صورت فراخوانی بیش از یک بار، IllegalStateException را صادر می‌کند. اشیاء ProcessGlobalConfig دیگر هیچ محدودیتی در تعداد دفعات فراخوانی setterها ندارند. ( I456c3 )

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

۹ نوامبر ۲۰۲۲

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

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

  • کلاس ProcessGlobalConfig اضافه کنید تا کاربران بتوانند پیکربندی سراسری فرآیند را قبل از بارگذاری WebView تنظیم کنند. WebView دارای برخی پارامترهای پیکربندی سراسری فرآیند است که پس از بارگذاری WebView قابل تغییر نیستند (مثلاً دایرکتوری داده‌های WebView ). این کلاس به برنامه‌ها اجازه می‌دهد تا این پارامترها را تنظیم کنند. پیکربندی باید در اسرع وقت در هنگام راه‌اندازی برنامه تنظیم و اعمال شود تا اطمینان حاصل شود که قبل از اینکه هر رشته دیگری بتواند متدی را که WebView را در فرآیند بارگذاری می‌کند، فراخوانی کند، این اتفاق می‌افتد. ( I7c0e0 , b/250553687 )
  • اضافه کردن API جدید برای اینکه برنامه‌ها بتوانند نام بسته برنامه را در هدر X-Requested-With به صورت صریح به مبداهای allowlisted ارسال کنند. این هدر به طور سنتی در هر درخواست از WebView ارسال می‌شد. ( I0adfe ، b/226552535 )

تغییرات API

  • API WebSettingsCompat#setAlgorithmicDarkeningAllowed در تمام نسخه‌های اندروید در WebView نسخه ۱۰۵ و بالاتر پشتیبانی می‌شود. نسخه‌های قبلی WebView فقط از این API در اندروید Q و بالاتر پشتیبانی می‌کردند. در نتیجه، این API دیگر با @RequiresApi(Build.VERSION_CODES.Q) علامت‌گذاری نمی‌شود. ( I3ac1d )

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

۲۴ اکتبر ۲۰۲۲

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

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

  • یک کلاس CookieManagerCompat جدید به همراه یک API getCookieInfo اضافه می‌کند که تمام ویژگی‌های کوکی‌های تنظیم‌شده روی یک URL خاص را بازیابی می‌کند. این با API موجود getCookie در CookieManager که فقط ویژگی‌های نام و مقدار کوکی‌ها را برمی‌گرداند، متفاوت است. ( I07365 ، b/242161756 )

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

۲۴ آگوست ۲۰۲۲

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

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

  • APIهایی در WebSettingsCompat اضافه شده است تا در صورت تنظیم توسط مدیر در WebView ، تأثیر EnterpriseAuthenticationAppLinkPolicy را فعال/غیرفعال کند. این ویژگی به WebView اجازه می‌دهد به جای باز کردن URL احراز هویت، یک برنامه احراز هویت را باز کند. این ویژگی روی دستگاه‌هایی که توسط یک سیاست سازمانی مدیریت نمی‌شوند، تأثیری ندارد.

نسخه ۱.۵.۰

نسخه ۱.۵.۰

۲۴ آگوست ۲۰۲۲

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

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

  • یک API جدید setAlgorithmicDarkeningAllowed در WebSettingsCompat جایگزین APIهای قدیمی setForceDark و setForceDarkStrategy می‌شود. برنامه‌هایی که SDK 33 و بالاتر (T) را هدف قرار می‌دهند باید از API جدید استفاده کنند، زیرا API قدیمی دیگر هیچ تاثیری برای آن برنامه‌ها نخواهد داشت.
  • اکنون می‌توان از طریق ProxyCofig.Builder و با تنظیم setReverseBypassEnabled روی true ، فهرستی از URLهای مجاز برای استفاده از پروکسی پیکربندی‌شده را تنظیم کرد. وقتی این تنظیم اعمال شود، تمام URLهای دیگر از پروکسی پیکربندی‌شده عبور خواهند کرد.

نسخه ۱.۵.۰-rc01

۱۰ آگوست ۲۰۲۲

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

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

۲۹ ژوئن ۲۰۲۲

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

تغییرات API

  • APIهای مرتبط با تاریک‌سازی آلوگرافیک اکنون به گونه‌ای حاشیه‌نویسی شده‌اند که به سطح API Q نیاز داشته باشند. این API هیچ تاثیری بر سطوح API < Q نخواهد داشت، زیرا تم تاریک در این دستگاه‌ها گزینه‌ای نیست. ( I0905e )

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

۱۸ مه ۲۰۲۲

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

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

  • یک متد جدید getVariationsHeader() ‎ در WebViewCompat اضافه کنید تا مقدار هدر X-Client-Data ارسال شده توسط WebView را دریافت کند. مقدار برگشتی یک protobuf از نوع ClientVariations با کدگذاری base64 خواهد بود.
  • برای فعال/غیرفعال کردن تاریک‌سازی الگوریتمی برای برنامه‌ای با targetSdk >= 33، APIهایی را در WebSettingsCompat اضافه کنید. ( I29597 )

تغییرات API

  • یک متد جدید در ProxyCofig.Builder برای تنظیم reverse bypass اضافه کنید. تنظیم reverse bypass روی true به این معنی است که فقط URL های موجود در لیست bypass از تنظیمات پروکسی استفاده کنند. ( I9eaa2 , b/168728599 )

رفع اشکالات

  • یک غلط املایی در مستندات تم تاریک برطرف شد. ( I36ebf ، b/194343633 )
  • اشکالی که باعث می‌شد متدهای WebViewAssetLoader.Builder ناخواسته وابسته به ترتیب باشند، برطرف شد. ( If420d , b/182196765 )

نسخه ۱.۴.۰

نسخه ۱.۴.۰

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

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

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

  • یک API جدید setSafeBrowsingAllowlist() برای جایگزینی setSafeBrowsingWhitelist() اضافه شد. این به برنامه‌ها کمک می‌کند تا کد خود را به‌روزرسانی کنند تا از اصطلاحات غیرفراگیر جلوگیری شود، در حالی که همچنان از همان طیف SDKهای اندروید و نسخه‌های WebView به عنوان API منسوخ شده پشتیبانی می‌کنند.
  • اشکالی در setProxyOverride که باعث می‌شد قوانین جایگزین به درستی اعمال نشوند، برطرف شد.

نسخه ۱.۴.۰-rc02

۲ دسامبر ۲۰۲۰

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

رفع اشکالات

  • رفع مشکل اعمال نادرست قوانین جایگزین هنگام استفاده از setProxyOverride.

نسخه ۱.۴.۰-rc01

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

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

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

۱۴ اکتبر ۲۰۲۰

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

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

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

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

تغییرات API

  • یک API جدید WebViewCompat#setSafeBrowsingAllowlist() برای جایگزینی setSafeBrowsingWhitelist() اضافه شد. این به برنامه‌ها کمک می‌کند تا کد خود را به‌روزرسانی کنند تا از اصطلاحات غیر فراگیر جلوگیری شود، در حالی که همچنان از همان طیف SDKهای اندروید و نسخه‌های WebView به عنوان API منسوخ شده پشتیبانی می‌کنند. ( I8d65d )

نسخه ۱.۳.۰

نسخه ۱.۳.۰

۱۹ آگوست ۲۰۲۰

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

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

  • رابط برنامه‌نویسی کاربردی ForceDarkStrategy کنترل بیشتری بر تاریک‌سازی WebView (تاریک‌سازی محتوای CSS/وب در مقابل تاریک‌سازی خودکار) ارائه می‌دهد.
  • WebMessageListener و APIهای مرتبط با آن، مکانیزمی ساده و ایمن برای برقراری ارتباط بین محتوای وب و برنامه جاسازی‌کننده WebView ارائه می‌دهند.
  • isMultiProcessEnabled API برای بررسی اینکه آیا WebView در چند فرآیند اجرا می‌شود یا خیر. این امکان از اندروید O شروع می‌شود و به این معنی است که محتوای وب در یک فرآیند رندرینگ sandboxed جدا از فرآیند برنامه رندر می‌شود. این رندرینگ sandboxed ممکن است با سایر WebViews در همان برنامه به اشتراک گذاشته شود اما با سایر فرآیندهای برنامه به اشتراک گذاشته نمی‌شود.

نسخه ۱.۳.۰-rc02

۵ آگوست ۲۰۲۰

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

رفع اشکالات

  • این مشکل سازگاری را برطرف می‌کند که در آن WebMessageListener گاهی اوقات در طول توسعه محلی، اگر برنامه شما با اجرای فوری اندروید استودیو شروع می‌شد، از کار می‌افتاد.

نسخه ۱.۳.۰-rc01

۲۴ ژوئن ۲۰۲۰

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

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

۱۰ ژوئن ۲۰۲۰

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

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

  • API ForceDarkStrategy برای کنترل تیره شدن WebView (تیره شدن محتوای CSS/وب در مقابل تیره شدن خودکار).
  • APIهای WebMessageListener یک مکانیزم ساده و امن برای برقراری ارتباط بین محتوای وب و برنامه جاسازی‌کننده WebView ارائه می‌دهند.
  • API MultiProcessEnabled برای بررسی اینکه آیا WebView در حالت چند پردازشی اجرا می‌شود یا خیر.

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

۲۷ مه ۲۰۲۰

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

تغییرات API

  • متد addWebMessageListener اکنون یک Set<String> از قوانین مبدا مجاز دریافت می‌کند (قبلاً یک List<String> ).

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

۲۹ آوریل ۲۰۲۰

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

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

  • API MultiProcessEnabled برای بررسی اینکه آیا WebView در حالت چند پردازشی اجرا می‌شود یا خیر.

تغییرات API

  • اکنون تمام ثابت‌های استراتژی تاریک با DARK_STRATEGY مشخص می‌شوند.

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

۱۵ آوریل ۲۰۲۰

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

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

  • API ForceDarkStrategy برای کنترل تیره شدن WebView (تیره شدن محتوای CSS/وب در مقابل تیره شدن خودکار).
  • APIهای WebMessageListener یک مکانیزم ساده و امن برای برقراری ارتباط بین محتوای وب و برنامه جاسازی‌کننده WebView ارائه می‌دهند.

نسخه ۱.۲.۰

نسخه ۱.۲.۰

۴ مارس ۲۰۲۰

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

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

  • API مربوط به ForceDark اضافه شد تا کنترل شود که آیا WebViewها باید در حالت تاریک رندر شوند یا خیر.

نسخه ۱.۲.۰-rc01

۱۹ فوریه ۲۰۲۰

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

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

۵ فوریه ۲۰۲۰

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

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

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

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

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

  • API ForceDark برای کنترل اینکه آیا WebViewها باید در حالت تاریک رندر شوند یا خیر.

نسخه ۱.۱.۰

نسخه ۱.۱.۰

۷ نوامبر ۲۰۱۹

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

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

  • رابط‌های برنامه‌نویسی کاربردی (API) برای تکمیل توابع setWebViewClient() و setWebChromeClient()
  • API ProxyController برای تنظیم پروکسی درخواست شبکه برای WebViewهای یک برنامه.
  • WebViewAssetLoader API برای ساده‌سازی بارگذاری دارایی‌ها، منابع و فایل‌های APK از دایرکتوری داده‌های برنامه از طریق رهگیری درخواست. این امکان دسترسی به منابع وب و محلی را بدون غیرفعال کردن CORS فراهم می‌کند.
  • TracingController API برای جمع‌آوری اطلاعات ردیابی WebView برای اهداف اشکال‌زدایی.
  • رابط‌های برنامه‌نویسی RenderProcess برای مدیریت سرویس‌های رندرکننده‌ی WebView و تشخیص اینکه چه زمانی محتوای نامناسب باعث عدم پاسخگویی رندرکننده‌های WebView می‌شود.
  • APIهای موجود به‌روزرسانی شدند تا حاشیه‌نویسی‌های nullability ( @NonNull ، @Nullable ) و thread ( @UiThread ، @WorkerThread ) را شامل شوند.

نسخه ۱.۱.۰-rc01

۹ اکتبر ۲۰۱۹

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

رفع اشکالات

  • مشکلی که باعث می‌شد setWebViewRenderProcessClient() در صورت ارسال یک کلاینت تهی (null client) از کار بیفتد، برطرف شد.

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

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

androidx.webkit:webkit:1.1.0-beta01 منتشر شد. کامیت‌های موجود در این نسخه را می‌توانید اینجا پیدا کنید.

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

  • InternalStoragePathHandler جدید در WebViewAssetLoader برای بارگذاری فایل‌ها از دایرکتوری داده‌های برنامه.

تغییرات API

  • ProxyConfig#getProxyRules() اکنون یک لیست غیرقابل تغییر از نمونه‌های ProxyRule را برمی‌گرداند، که یک کلاس جدید برای نگهداری یک فیلتر طرح و URL پروکسی مربوطه آن است.

رفع اشکالات

  • وقتی WebViewAssetLoader نتواند نوع MIME را از مسیر فایل حدس بزند، به طور پیش‌فرض نوع MIME را "text/plain" (به جای null) قرار می‌دهد.
  • WebViewAssetLoader دیگر هنگام بارگذاری فایل‌هایی که در نام مسیر آنها کاراکترهای ویژه وجود دارد، خطای NullPointerException صادر نمی‌کند.

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

۷ آگوست ۲۰۱۹

androidx.webkit:webkit:1.1.0-alpha02 منتشر شد. کامیت‌های موجود در این نسخه را می‌توانید اینجا پیدا کنید.

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

  • WebViewAssetLoader رابط PathHandler را در معرض نمایش قرار می‌دهد تا به برنامه‌ها اجازه دهد قابلیت مدیریت مسیر سفارشی ایجاد کنند.

تغییرات API

  • WebViewAssetLoader اکنون یک کلاس نهایی است، زیرا قرار نیست زیرکلاس باشد.
  • پیاده‌سازی‌های WebViewAssetLoader#PathHandler اکنون عمومی و نهایی هستند.
  • تغییرات جزئی در نام متدهای ProxyConfig.
  • ProxyController : متدهای جدید addDirect() و addDirect(String) برای اتصال مستقیم به سرورها اضافه شد؛ DIRECT String حذف شد.
  • APIهای موجود به‌روزرسانی شدند تا حاشیه‌نویسی‌های nullability ( @NonNull ، @Nullable ) و thread ( @UiThread ، @WorkerThread ) را شامل شوند.

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

۷ مه ۲۰۱۹

androidx.webkit:webkit:1.1.0-alpha01 منتشر شد. کامیت‌های موجود در این نسخه را می‌توانید اینجا پیدا کنید.

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

  • رابط‌های برنامه‌نویسی کاربردی (API) برای تکمیل توابع setWebViewClient() و setWebChromeClient()
  • API ProxyController برای تنظیم پروکسی درخواست شبکه برای WebViewهای یک برنامه.
  • رابط برنامه‌نویسی کاربردی AssetLoader برای ساده‌سازی بارگذاری دارایی‌ها و منابع APK از طریق رهگیری درخواست، که امکان دسترسی به منابع وب را بدون غیرفعال کردن CORS فراهم می‌کند.
  • TracingController API برای جمع‌آوری اطلاعات ردیابی WebView برای اهداف اشکال‌زدایی.
  • رابط‌های برنامه‌نویسی RenderProcess برای مدیریت سرویس‌های رندرکننده‌ی WebView و تشخیص اینکه چه زمانی محتوای نامناسب باعث عدم پاسخگویی رندرکننده‌های WebView می‌شود.

رفع اشکالات

  • اصلاحات جزئی در قالب‌بندی مستندات برای APIهای موجود.