وبکیت
| آخرین بهروزرسانی | انتشار پایدار | کاندیدای انتشار | انتشار بتا | انتشار آلفا |
|---|---|---|---|---|
| ۸ آوریل ۲۰۲۶ | ۱.۱۵.۰ | - | ۱.۱۶.۰-بتا۰۱ | - |
اعلام وابستگیها
برای افزودن وابستگی به 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خود به APICookieManagerدسترسی دارند، اکنون میتوانند هدرهای کوکی را مستقیماً با فراخوانی 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های آزمایشی از نسخه ۱.۱۴.۰ بهروزرسانی شدهاند
- رابط برنامهنویسی شنونده ناوبری (Navigation Listener API) بهروزرسانی شده است تا به برنامهها اجازه دهد چندین نمونه شنونده ارائه دهند که میتوانند به صورت اختیاری با یک Executor سفارشی برای فراخوانیهای نخ پسزمینه پیکربندی شوند. این رابط قبلاً WebNavigationClient API بود که به نفع API جدید منسوخ شده است. علاوه بر این، این بهروزرسانی اطلاعات زمانبندی را به فراخوانی onFirstContentfulPaint اضافه میکند و اطلاعات زمانی را از شروع ناوبری تا رویداد paint ارائه میدهد.
نسخه ۱.۱۵.۰-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-beta01( I0b1bd , b/417241552 )
نسخه ۱.۱۵.۰-آلفا۰۳
۸ اکتبر ۲۰۲۵
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را اضافه کنید تا امکان سفارشیسازی آیتم در منوی زمینه HyperlinkWebView( Idb809 ، b/382654667 ) فراهم شود. - برای اشکالزدایی مواردی که
WebViewبه صورت غیرهمزمان و بدون استفاده ازstartUpWebViewAPI راهاندازی شده است، APIgetAsyncStartUpLocationsاضافه کنید. ( 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 ) - اکنون میتوانید مجموعهای از پروفایلها را برای بارگذاری همزمان هنگام فراخوانی
startUpWebViewAPI مشخص کنید. این کار با ارسال نام پروفایلها به یک متد جدید درWebViewStartUpConfig.Builder( I9a6e6 ) پیکربندی شده است. - یک API جدید به
WebSettingsCompatاضافه کنید تا BackForwardCache را در شیءWebSettingsفعال/غیرفعال کنید. این API قبلاً به صورت آزمایشی منتشر شده بود و اکنون میتوان بدون حاشیهنویسی@OptInاز آن استفاده کرد. ( Ie413b ) - پشتیبانی برای لغو فاکتورهای فرم User-Agent اضافه شد. کلاس
UserAgentMetadataمتدهای جدیدی برای دریافت و تنظیم فاکتورهای فرم فراداده user-agent دارد.UserAgentMetadata.Builderمتد جدیدsetFormFactors()را برای لغو راهنمایی کلاینتSec-CH-UA-Form-FactorsUser-Agent دارد. مقادیر لغو شده فعلی را میتوان از طریق متد جدیدgetFormFactors()بازیابی کرد. ( I6d08c , b/430554841 )
تغییرات API
- برای پیکربندی مقداردهی اولیه نخ رابط کاربری
WebViewAPI را بهProcessGlobalConfigاضافه کنید ( I5e85a ، b/433273850 ، b/397372092 ) - یک نام ویژگی جدید برای
WebViewStartupConfig.Builder#setProfilesToLoadDuringStartupAPI اضافه کنید ( 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حذف شده است. این کتابخانه اکنون بهcompileSdk35 یا بالاتر نیاز دارد. ( 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خود به APICookieManagerدسترسی دارند، اکنون میتوانند با فراخوانی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
PaymentRequestAPI) برای فراخوانی برنامههای پرداخت بومی اندروید از طریقorg.chromium.intent.action.PAYintent.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
PaymentRequestAPI) برای فراخوانی برنامههای پرداخت بومی اندروید از طریقorg.chromium.intent.action.PAYintent.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محاسبه کند. این ویژگی فقط ازWebViewM133 در دسترس خواهد بود. ( 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محاسبه کند. این ویژگی فقط ازWebViewM133 در دسترس خواهد بود. ( 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 مربوط به WebViewCompat#addDocumentStartJavascript به برنامهها اجازه میدهد تا اسکریپتهایی را به یک
- رابطهای برنامهنویسی کاربردی (API) برای تغییر نحوه ثبت رویدادهای گزارشدهی اسناد حریم خصوصی در سندباکس اضافه شد.
- ما یک API جدید به نام WebSettingsCompat#setAttributionRegistrationBehavior معرفی کردیم که به توسعهدهندگان اجازه میدهد پیکربندی کنند که آیا منابع و محرکهای انتساب از خود برنامه یا از محتوای وب در WebView ثبت شوند. این روش همچنین میتواند برای غیرفعال کردن گزارشدهی انتساب در WebView استفاده شود. علاوه بر این، ما یک API جدید
WebSettingsCompat#getAttributionRegistrationBehaviorبرای دریافت رفتار فعلی اضافه کردهایم. - برای اطلاعات بیشتر به مستندات Privacy Sandbox مراجعه کنید.
- ما یک API جدید به نام WebSettingsCompat#setAttributionRegistrationBehavior معرفی کردیم که به توسعهدهندگان اجازه میدهد پیکربندی کنند که آیا منابع و محرکهای انتساب از خود برنامه یا از محتوای وب در WebView ثبت شوند. این روش همچنین میتواند برای غیرفعال کردن گزارشدهی انتساب در WebView استفاده شود. علاوه بر این، ما یک API جدید
- 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 منتشر شد. نسخه ۱.۸.۰ شامل این کامیتها است.
تغییرات مهم از زمان ۱.۷.۰
- پشتیبانی برای ارسال
ArrayBufferاز طریقWebMessagePortCompat#postMessage،JavaScriptReplyProxy#postMessageوWebViewCompat#postWebMessage، دریافتArrayBufferاز جاوا اسکریپت از طریقWebMessagePortCompatوWebMessageListenerو دریافتArrayBufferقابل انتقال از جاوا اسکریپت از طریقWebMessagePortCompat( aosp/2596550 ، b/251152171 ) اضافه شد.
نسخه ۱.۸.۰-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 فقط از نسخه 116WebView( 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جدید به همراه یک APIgetCookieInfoاضافه میکند که تمام ویژگیهای کوکیهای تنظیمشده روی یک 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 ارائه میدهند.
-
isMultiProcessEnabledAPI برای بررسی اینکه آیا 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های موجود.