Webkit
| नया अपडेट | स्टेबल रिलीज़ | रिलीज़ कैंडिडेट | बीटा रिलीज़ | ऐल्फ़ा रिलीज़ |
|---|---|---|---|---|
| 17 जून, 2026 | 1.16.0 | - | - | 1.17.0-alpha02 |
डिपेंडेंसी का एलान करना
Webkit पर डिपेंडेंसी जोड़ने के लिए, आपको अपने प्रोजेक्ट में Google Maven रिपॉज़िटरी जोड़नी होगी. ज़्यादा जानकारी के लिए, Google की Maven रिपॉज़िटरी पढ़ें.
अपने ऐप्लिकेशन या मॉड्यूल के लिए, build.gradle फ़ाइल में उन आर्टफ़ैक्ट की डिपेंडेंसी जोड़ें जिनकी आपको ज़रूरत है:
ग्रूवी
dependencies { implementation "androidx.webkit:webkit:1.16.0" }
Kotlin
dependencies { implementation("androidx.webkit:webkit:1.16.0") }
डिपेंडेंसी के बारे में ज़्यादा जानने के लिए, बिल्ड डिपेंडेंसी जोड़ना लेख पढ़ें.
सुझाव/राय दें या शिकायत करें
आपके सुझाव, शिकायत या राय से Jetpack को बेहतर बनाने में मदद मिलती है. अगर आपको कोई नई समस्या मिलती है या आपके पास इस लाइब्रेरी को बेहतर बनाने के लिए सुझाव हैं, तो हमें बताएं. कृपया नई समस्या सबमिट करने से पहले, इस लाइब्रेरी में शामिल मौजूदा समस्याओं को देखें. स्टार बटन पर क्लिक करके, किसी मौजूदा समस्या के लिए वोट किया जा सकता है.
ज़्यादा जानकारी के लिए, Issue Tracker का दस्तावेज़ देखें.
Webkit का वर्शन 1.17
वर्शन 1.17.0-alpha02
17 जून, 2026
androidx.webkit:webkit:1.17.0-alpha02 रिलीज़ हो गया है. वर्शन 1.17.0-alpha02 में ये बदलाव शामिल हैं.
नई सुविधाएं
- नए एपीआई जोड़े गए:
getDownloadFaviconsEnabledऔरsetDownloadFaviconsEnabled. इन एपीआई की मदद से, यह कंट्रोल किया जा सकेगा कि फ़ेविकॉन अपने-आप डाउनलोड होंगे या नहीं. (If9224, b/510229667)
एपीआई में हुए बदलाव
prefetchUrlAsyncएपीआई को अपडेट करें. यहPrefetchResultको कॉलबैक टाइप के तौर पर स्वीकार करता है. इससे, डुप्लीकेट प्रीफ़ेच अनुरोध होने पर उपयोगकर्ताओं को सूचना दी जा सकेगी. (Icc796, b/483041824)ExpectedNoVarySearchDataअब सेवा में नहीं है और इसेExpectedNoVarySearchHintपर अपडेट कर दिया गया है.ignoredQueryParametersऔरconsideredQueryParametersको ऐसी सूचियों के तौर पर बनाया जाता है जिनमें बदलाव नहीं किया जा सकता. (I7bb8c, b/491718321)
गड़बड़ियां ठीक की गईं
isConfigFeatureSupportedके बजायisStartupFeatureSupportedको रेफ़रंस देने के लिए,ProcessGlobalConfigपर सही किए गएRequiresFeatureएनोटेशन. (I6370b)
वर्शन 1.17.0-alpha01
19 मई, 2026
androidx.webkit:webkit:1.17.0-alpha01 रिलीज़ हो गया है. वर्शन 1.17.0-alpha01 में ये बदलाव शामिल हैं.
एपीआई में हुए बदलाव
WebView#loadUrlके बेहतर वर्शनWebViewCompat#navigateको जोड़ा गया.loadUrlकी तरह, यह तरीका भीWebViewमें बताए गए यूआरएल को लोड करेगा. हालांकि, इसमें ये अतिरिक्त सुविधाएं मिलती हैं:- इससे नेविगेशन के इतिहास में मौजूद मौजूदा पेज को बदलने की अनुमति मिलती है.
- यह एक नेविगेशन ऑब्जेक्ट दिखाता है. इससे डेवलपर, नेविगेट कॉल और नेविगेशन कॉलबैक के बीच मिलान कर सकता है.
- यह कुकी, अतिरिक्त हेडर को ज़्यादा आसानी से और बेहतर तरीके से मैनेज करती है. इसमें सेव स्टेट का इस्तेमाल करते समय, उन्हें सेव और रीस्टोर करना भी शामिल है. (Iedefd, b/408128748)
SpeculativeLoadingParametersअब काम नहीं करता. ऐप्लिकेशन को, अनुमान के हिसाब से यूआरएल लोड होने की सुविधा को कंट्रोल करने के लिए, ज़्यादा सटीकPrerenderParametersयाPrefetchParametersपर माइग्रेट करना चाहिए. (I8afed)- प्रीरेंडरिंग के व्यवहार को मैनेज करने के लिए,
Profileमें नए तरीके जोड़े गए हैं:Profile#getMaxPrerenders()से मौजूदा सीमा मिलती है औरProfile#clearMaxPrerenders()से इसे डिफ़ॉल्ट पर रीसेट किया जाता है. (I696ed) - एक्सपेरिमेंट के तौर पर उपलब्ध
Profile#setOriginMatchedHeaderऔर इससे जुड़े तरीकों को हटा दिया गया है. इन एपीआई की जगह Profile#addCustomHeader ने ले ली है. इसे1.15.0में स्टेबल एपीआई के तौर पर रिलीज़ किया गया था. (Ia7f5c, b/485235632)
Webkit का वर्शन 1.16
वर्शन 1.16.0
6 मई, 2026
androidx.webkit:webkit:1.16.0 रिलीज़ हो गया है. वर्शन 1.16.0 में ये बदलाव शामिल हैं.
1.15.0 के बाद हुए मुख्य बदलाव:
1.16.0 स्टेबल रिलीज़ में, कई एपीआई को एक्सपेरिमेंटल स्टेटस से हटा दिया गया है. इससे, एसिंक WebView स्टार्टअप और नेविगेशन सुनने जैसी सुविधाओं के लिए, स्थिरता और डेवलपर अनुभव में काफ़ी सुधार हुआ है.
इस लाइब्रेरी के लिए, SDK का कम से कम 24 वर्शन होना ज़रूरी है.
ProcessGlobalConfigऔरWebViewStartUpConfigमें,startUpWebViewएपीआई और इससे जुड़े एसिंक स्टार्टअप कॉन्फ़िगरेशन एपीआई, एक्सपेरिमेंट के तौर पर उपलब्ध होने से लेकर स्टेबल वर्शन तक पहुंच गए हैं. इन एपीआई की मदद से, ऐप्लिकेशन WebView को पहले ही शुरू कर सकते हैं. इससे यह पक्का किया जा सकता है कि स्टार्टअप के कुछ हिस्से बैकग्राउंड में चलें, ताकि रिस्पॉन्स देने की क्षमता बेहतर हो सके.startUpWebViewका पिछला वर्शन अब काम नहीं करता. इसलिए, उपयोगकर्ताओं को नए वर्शन पर माइग्रेट करना चाहिए. इसमेंWebViewOutcomeReceiverका इस्तेमाल किया जाता है, ताकि फ़ेल होने पर कॉलबैक की सुविधा मिल सके.- नेविगेशन एपीआई, जैसे कि
WebViewCompat\#addNavigationListener,NavigationListener,Navigation, औरPageअब स्टेबल वर्शन में उपलब्ध हैं. इन एपीआई की मदद से, ऐप्लिकेशन डेवलपर कोNavigationListenerइंटरफ़ेस के ज़रिए, पेज नेविगेशन के अलग-अलग चरणों के दौरान वेबव्यू से कॉलबैक मिलते हैं. इसमें पेज से परफ़ॉर्मेंस मेट्रिक पाने का विकल्प भी शामिल है. इससे ऐप्लिकेशन डेवलपर के लिए, अपने ऐप्लिकेशन में पहले पक्ष (ग्राहक) के पेजों की परफ़ॉर्मेंस को मेज़र करना आसान हो जाता है.NavigationऔरPageऑब्जेक्ट, यूनीक आइडेंटिफ़ायर के तौर पर काम करते हैं. ये अलग-अलग कॉलबैक के बीच लिंक के तौर पर काम करते हैं. ऐसा तब होता है, जब एक साथ कई WebViews या नेविगेशन हो रहे हों.Navigationऑब्जेक्ट से, मौजूदा नेविगेशन के बारे में ज़्यादा जानकारी मिलती है. जैसे, इसे कैसे शुरू किया गया और यह सफल हुआ या इससे गड़बड़ी वाला पेज मिला. वहीं,Pageऑब्जेक्ट से खास यूआरएल मिलता है. WebViewCompat\#saveState,WebView\#saveStateतरीके को ज़्यादा कंट्रोल के साथ बढ़ाता है. इससे डेवलपर, स्थिति के लिए ज़्यादा से ज़्यादा साइज़ तय कर सकते हैं. साथ ही, यह तय कर सकते हैं कि फ़ॉरवर्ड इतिहास की एंट्री शामिल की जानी चाहिए या नहीं. सेव किया गया स्टेट ऑब्जेक्ट अब भीWebView\#restoreStateके साथ काम करता है- लाइब्रेरी के इस वर्शन में,
WebViewOutcomeReceiverकोandroid.os.OutcomeReceiverके लाइब्रेरी-विशिष्ट तरीके के तौर पर पेश किया गया है. इससे यह लाइब्रेरी, एसिंक्रोनस कॉलबैक के नतीजे को हैंडल करने के लिए, इसी तरह का तरीका उपलब्ध करा सकती है. इसके लिए, इसे ज़्यादाtargetSdkवैल्यू पर निर्भर रहने की ज़रूरत नहीं होती. एक्सपेरिमेंट के तौर पर उपलब्ध होने के दौरान, इस क्लास का नामandroidx.webkit.OutcomeReceiverCompatथा. हालांकि, नाम के टकराव से बचने के लिए इसका नाम बदल दिया गया है. बाहरी योगदान: नए एपीआई पेश किए गए. इनका इस्तेमाल, दस्तावेज़ लोड होने के इवेंट (
WebViewCompat#addJavaScriptOnEvent) के हिस्से के तौर पर, लगातार बने रहने वालेJavaScriptको इंजेक्ट करने के लिए किया जाता है. साथ ही, इनका इस्तेमाल आइसोलेटेड वर्ल्ड मेंJavaScriptऔरWebMessageListenersको इंजेक्ट करने के लिए किया जाता है, ताकि मौजूदा पेजJavaScriptके साथ टकराव को रोका जा सके. इसके अलावा, इनका इस्तेमाल वेब मैसेज (JavaScriptReplyProxy#executeJavaScript) के जवाब के तौर परJavaScriptको एक्ज़ीक्यूट करने के लिए किया जाता है.1.15.0 के बाद जोड़े गए एक्सपेरिमेंटल एपीआई
पहले से बनाए गए
WebViewsपर बिल्डर कॉन्फ़िगरेशन लागू करने के लिए,WebViewBuilder.applyToएपीआई जोड़ा गया. इससे, पहले से मौजूदWebViewऑब्जेक्ट के साथ,WebViewBuilderएपीआई की कॉन्फ़िगरेशन सुविधाओं का इस्तेमाल किया जा सकता है. साथ ही, यह गारंटी मिलती है कि सेटिंग में बदलाव नहीं होगा. इसका इस्तेमाल, लेआउट इन्फ़्लेशन से बनाए गएWebViewइंस्टेंस याWebViewकी सबक्लास के साथ किया जा सकता है.
1.15.0 के बाद अपडेट किए गए एक्सपेरिमेंटल एपीआई
BackForwardCacheSettingsऑब्जेक्ट को,WebSettingsCompatके ज़रिए उपलब्ध कराए गए कॉन्फ़िगरेशन ऑब्जेक्ट से बदलकर, लाइव ऑब्जेक्ट कर दिया गया है. इसे WebSettingsCompat#getBackForwardCacheSettings को कॉल करके पाया जा सकता है. ऑब्जेक्ट में अब सेटर मेथड हैं, जो सेटिंग को सीधे तौर पर अपडेट करते हैं. पिछलीBuilderनेस्ट की गई क्लास को हटा दिया गया है. साथ ही,WebSettingsCompat#setBackForwardCacheSettings.को भी हटा दिया गया है. पहले इन तरीकों का इस्तेमाल करने वाले ऐप्लिकेशन को अपग्रेड करते समय, बिल्ड से जुड़ी गड़बड़ियां दिखेंगी.Profile#setSpeculativeLoadingConfigके इस्तेमाल पर रोक लगा दी गई है. इसके बजाय,Profile#setMaxPrerenders,PrefetchCache#setMaxPrefetches, औरPrefetchCache#setPrefetchTtlSecondsका इस्तेमाल करें.Profile#clearPrefetchAsyncको हटा दिया गया है, क्योंकि यह कोई कार्रवाई नहीं करता था.- ऐप्लिकेशन को बेहतर तरीके से जानकारी प्रोसेस करने की अनुमति देने के लिए,
StartUpLocation.getStackInformation()के रिटर्न टाइप कोStringसे बदलकरThrowableकर दिया गया है.
वर्शन 1.16.0-rc01
22 अप्रैल, 2026
androidx.webkit:webkit:1.16.0-rc01 रिलीज़ हो गया है. वर्शन 1.16.0-rc01 में ये बदलाव शामिल हैं.
androidx.webkit:webkit:1.16.0-beta01के बाद से कोई बदलाव नहीं हुआ है .
वर्शन 1.16.0-beta01
08 अप्रैल, 2026
androidx.webkit:webkit:1.16.0-beta01 रिलीज़ हो गया है. वर्शन 1.16.0-beta01 में ये बदलाव शामिल हैं.
एपीआई में हुए बदलाव
Profile.prefetchUrlAsyncफ़ंक्शन केCallbackExecutorआर्ग्युमेंट की वैल्यू अब शून्य हो सकती है. अगर इसकी वैल्यू नहीं दी जाती है, तो यह डिफ़ॉल्ट रूप से मुख्य थ्रेड पर सेट हो जाती है. (Ib89ef, b/483041824)
वर्शन 1.16.0-alpha04
25 मार्च, 2026
androidx.webkit:webkit:1.16.0-alpha04 रिलीज़ हो गया है. वर्शन 1.16.0-alpha04 में ये बदलाव शामिल हैं.
एपीआई में हुए बदलाव
ProcessGlobalConfigऔरWebViewStartUpConfigमें,startUpWebViewएपीआई और इससे जुड़े एसिंक स्टार्टअप कॉन्फ़िगरेशन एपीआई, एक्सपेरिमेंट के तौर पर उपलब्ध होने से लेकर स्टेबल वर्शन तक पहुंच गए हैं.
वेबव्यू शुरू होने में समय लग सकता है. इसलिए, ये एपीआई ऐप्लिकेशन को सही समय पर वेबव्यू शुरू करने की अनुमति देते हैं. इससे यह पक्का होता है कि वेबव्यू स्टार्टअप के जो हिस्से बैकग्राउंड में चल सकते हैं वे ऐसा करेंगे. इससे वेबव्यू के पहले इस्तेमाल की रिस्पॉन्सिवनेस बेहतर होती है.
इन एपीआई को पहले एक्सपेरिमेंट के तौर पर रिलीज़ किया गया था. अब इनका इस्तेमाल@OptInएनोटेशन के बिना किया जा सकता है.startUpWebViewका पिछला वर्शन अब काम नहीं करता. इसलिए, इस एपीआई का इस्तेमाल करने वाले लोगों को नए वर्शन पर माइग्रेट करना चाहिए. इसमें फ़ेल होने पर कॉल बैक करने की सुविधा के लिए,WebViewOutcomeReceiverलगता है. (Iebb60, I56bf7)- नेविगेशन एपीआई के लिए, अब
@OptInएनोटेशन का इस्तेमाल करना ज़रूरी नहीं है.
इसमेंWebViewCompat#addNavigationListenerके साथ-साथNavigationListenerइंटरफ़ेस, Navigation, और Page क्लास शामिल हैं. ध्यान दें किNavigationऔरPageटाइप अब इंटरफ़ेस के बजाय क्लास हैं.
अब इन एपीआई की सुविधाओं की जांच, नएWebViewFeature#NAVIGATION_LISTENERसुविधा कॉन्स्टेंट का इस्तेमाल करके की जानी चाहिए. (I410c8, b/474625648, b/448580228, b/479792864, b/432696062, b/474625648) WebViewCompat#saveStateसे एक्सपेरिमेंटल एनोटेशन हटाता है. यह एपीआई,WebView#saveStateके जैसा ही है. हालांकि, इससे डेवलपर को स्टेट के लिए ज़्यादा से ज़्यादा साइज़ तय करने की अनुमति मिलती है. साथ ही, यह तय करने की अनुमति मिलती है कि फ़ॉरवर्ड हिस्ट्री की एंट्री शामिल की जानी चाहिए या नहीं. (Ie3fe1, b/389076708)Profile#setSpeculativeLoadingConfigके इस्तेमाल पर रोक लगा दी गई है. इसके बजाय,Profile#setMaxPrerenders,PrefetchCache#setMaxPrefetches,PrefetchCache#setPrefetchTtlSecondsका इस्तेमाल करें. (I9f0f7, I9b977, b/466301565)
वर्शन 1.16.0-alpha03
11 मार्च, 2026
androidx.webkit:webkit:1.16.0-alpha03 रिलीज़ हो गया है. वर्शन 1.16.0-alpha03 में ये बदलाव शामिल हैं.
नई सुविधाएं
onFirstContentfulPaintMillis,onLargestContentfulPaintMillis, औरonPerformanceMarkMillisसेNavigationListenerमें नए वेब परफ़ॉर्मेंस मेट्रिक एपीआई जोड़े गए. इन एपीआई की मदद से डेवलपर, JavaScript का इस्तेमाल करके फ़र्स्ट/सबसे बड़े एलिमेंट को रेंडर करने में लगने वाला समय और परफ़ॉर्मेंस मार्क को पाने के बजाय, सीधे अपने ऐप्लिकेशन में उन्हें ट्रैक कर सकते हैं. (Idb93b, b/432696062)- नेविगेशन ऑब्जेक्ट में गड़बड़ी की जानकारी जोड़ी गई है.
Navigation#getWebResourceErrorऔरWebResourceError#getDebugCode.देखें. अगर नेटवर्क की गड़बड़ी की वजह से नेविगेशन लोड नहीं हो पाता है, तो अब नेविगेशन ऑब्जेक्ट पर यह जानकारी उपलब्ध है कि ऐसा क्यों हुआ. (I18bdc, b/474625648) BackForwardCacheकी एपीआई शेप को नएBackForwardCacheSettingsऑब्जेक्ट से अपडेट करें. इसेWebSettingsCompat#getBackForwardCacheSettingsको कॉल करके पाया जा सकता है. साथ ही, इसका इस्तेमाल सेट/गेट तरीकों के ज़रिए हर सेटिंग में बदलाव करने के लिए किया जा सकता है.
ध्यान दें: हमWebSetingsCompat#setBackForwardCacheSettingsऔरBackForwardCacheSettings.Builderको हटा रहे हैं. इसलिए, अगर आपने हटाए गए एपीआई का इस्तेमाल किया था, तो इस वर्शन पर अपडेट करने पर, कंपाइलेशन से जुड़ी गड़बड़ियां हो सकती हैं. (I377f4)- प्रीफ़ेच अनुरोध में डीबग करने से जुड़ी जानकारी अटैच करने के लिए, एक एपीआई जोड़ा गया है. (Ibb300, b/474559983)
एपीआई में हुए बदलाव
- SDK टूल के साथ काम करने वाले सबसे पुराने वर्शन (minSdk) को बढ़ाकर 24 कर दिया गया है. एसडीके के 24 से पहले के वर्शन को टारगेट करने वाले ऐप्लिकेशन को, लाइब्रेरी के इस और आने वाले वर्शन का इस्तेमाल करने के लिए, टारगेट एसडीके को अपडेट करना होगा. (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)
बाहरी योगदान
- के लिए नए एपीआई पेश किए जा रहे हैं
- दस्तावेज़ लोड होने वाले इवेंट के हिस्से के तौर पर, लगातार काम करने वाले JavaScript को इंजेक्ट करें. यह मौजूदा
WebViewCompat#addDocumentStartJavaScriptकी तरह ही काम करता है. हालांकि, इससे यह पक्का होता है कि स्क्रिप्ट चलने के दौरान DOM तैयार हो. नया एपीआईWebViewCompat#addJavaScriptOnEventहै. - JavaScript और
WebMessageListenerको आइसोलेटेड वर्ल्ड में इंजेक्ट करें, ताकि मौजूदा पेज JavaScript के साथ टकराव न हो. नए एपीआईWebViewCompat#addJavaScriptOnEventऔरWebViewCompat#addWebMessageListenerहैं. - यह कुकी, उसी फ़्रेम/वर्ल्ड कॉम्बिनेशन के पेज से भेजे गए वेब मैसेज के जवाब के तौर पर JavaScript को एक्ज़ीक्यूट करती है जिसने मैसेज भेजा था. नया एपीआई
JavaScriptReplyProxy#executeJavaScriptहै. (I45d92, b/483103617)
- दस्तावेज़ लोड होने वाले इवेंट के हिस्से के तौर पर, लगातार काम करने वाले JavaScript को इंजेक्ट करें. यह मौजूदा
वर्शन 1.16.0-alpha02
11 फ़रवरी, 2026
androidx.webkit:webkit:1.16.0-alpha02 रिलीज़ हो गया है. वर्शन 1.16.0-alpha02 में ये बदलाव शामिल हैं.
नई सुविधाएं
Page#getUrl()जोड़ा गया है. यह Page ऑब्जेक्ट (I0a5d7, b/465339942) से जुड़े यूआरएल को दिखाता है- पहले से बनाए गए WebViews में बिल्डर कॉन्फ़िगरेशन लागू करने के लिए
WebViewBuilder.applyToएपीआई जोड़ा गया (Iae133, b/463288296)
वर्शन 1.16.0-alpha01
14 जनवरी, 2026
androidx.webkit:webkit:1.16.0-alpha01 रिलीज़ हो गया है. वर्शन 1.16.0-alpha01 में ये बदलाव शामिल हैं.
नई सुविधाएं
NavigationListenerमें, नई वेब परफ़ॉर्मेंस मेट्रिक एपीआईonFirstContentfulPaintMillis,onLargestContentfulPaintMillis, औरonPerformanceMarkMillisजोड़े गए. इन एपीआई की मदद से डेवलपर, JavaScript का इस्तेमाल करके FCP/LCP और परफ़ॉर्मेंस मार्क को वापस पाने के बजाय, सीधे अपने ऐप्लिकेशन में उन्हें ट्रैक कर सकते हैं. (I50266, b/432696062)- यह कुकी,
NAVIGATION_LISTENER_NON_NULL_PAGE_FOR_SAME_DOCUMENT_NAVIGATIONSकोNAVIGATION_LISTENER_NON_NULL_PAGE_FOR_SAME_DOCUMENT_NAVIGATIONSमें जोड़ती है. इसका इस्तेमाल यह तय करने के लिए किया जा सकता है कि एक ही दस्तावेज़ पर नेविगेट करने पर,Navigation#getPageशून्य वैल्यू दिखाएगा या नहीं.WebViewFeature(I3a2aa)
गड़बड़ियां ठीक की गईं
getProfilesToLoadDuringStartup(Ic2ce5) में स्ट्रिंग पैरामीटर की नल वैल्यू ठीक की गईWebViewBuilderएट्रिब्यूट की वैल्यू के तौर पर शोकेस की सुविधा मौजूद नहीं होने की जांच करने वाले कॉन्स्टेंट (I95534) को दिखाना
वर्शन 1.15
वर्शन 1.15.0
17 दिसंबर, 2025
androidx.webkit:webkit:1.15.0 रिलीज़ हो गया है. वर्शन 1.15.0 में ये बदलाव शामिल हैं.
1.14.0 के बाद हुए अहम बदलाव
इस रिलीज़ में, minSdk को एपीआई 21 से बढ़ाकर एपीआई 23 कर दिया गया है. इसमें एपीआई की ये नई सुविधाएं भी जोड़ी गई हैं:
- WebView और सर्विस वर्कर के लिए,
shouldInterceptRequestकॉलबैक के हिस्से के तौर पर कुकी ऐक्सेस और सेट करता है. जो ऐप्लिकेशन डेवलपर फ़िलहालCookieManagerके तहतCookieManagerएपीआई को ऐक्सेस करते हैं वे अब सीधे तौर पर कुकी हेडर चालू कर सकते हैं. इसके लिए, उन्हें WebViewCompat#setCookiesIncludedInShouldInterceptRequest को कॉल करना होगा.shouldInterceptRequestइसके बाद,WebView, WebResourceRequest.getRequestHeaders() मैप मेंCookieहेडर जोड़ देगा. यह हेडर, अनुरोध पर लागू होने वाली कुकी के बारे में सटीक जानकारी देगा. इससे पार्टिशन्ड कुकी को भी सही तरीके से मैनेज किया जा सकेगा. ऐप्लिकेशन,Set-Cookieहेडर वैल्यू दे सकते हैं. इसके लिए, हाल ही में जोड़े गए WebResourceResponseCompat#setCookies एपीआई का इस्तेमाल करें. वहां जोड़ी गईSet-Cookieवैल्यू को, जवाब देने की प्रोसेस के तहतWebViewप्रोसेस करेगा. - अनुरोध के लिए, पसंद के मुताबिक हेडर सेट करें. Profile#addCustomHeader एपीआई की मदद से, ऐप्लिकेशन डेवलपर हेडर के नाम-वैल्यू पेयर की एक सूची सेट कर सकते हैं. यह सूची, तय किए गए ऑरिजिन पैटर्न से मेल खाने वाले किसी भी अनुरोध पर भेजी जाएगी.
- WebView हाइपरलिंक के कॉन्टेक्स्ट मेन्यू में आइटम को पसंद के मुताबिक बनाने की अनुमति दें. ऐप्लिकेशन डेवलपर, WebViewCompat#setHyperlinkContextMenuItems को कॉल करके यह तय कर सकते हैं कि जब कोई उपयोगकर्ता हाइपरलिंक को दबाकर रखता है, तब कॉन्टेक्स्ट मेन्यू में कौनसे आइटम दिखें.
- प्रीरेंडरिंग ट्रिगर करें. WebViewCompat#prerenderUrlAsync की मदद से, ऐप्लिकेशन को यूआरएल को पहले से रेंडर करने की अनुमति मिलती है. ऐसा तब किया जाता है, जब यूआरएल को
WebViewमें दिखाया जाता है. प्रीरेंडरिंग की मदद से, पेज को पहले से फ़ेच करके लोड करने की परफ़ॉर्मेंस को बेहतर बनाया जा सकता है. जब उपयोगकर्ता यूआरएल पर जाता है, तो उसे पहले से रेंडर किया गया पेज तुरंत दिखता है. - WebSettingsCompat#setBackForwardCacheSettings एपीआई को कॉल करके,
WebViewमें BackForwardCache की खास जानकारी को कंट्रोल करें. इस एपीआई की मदद से, टाइम आउट को सेकंड में सेट किया जा सकता है या पेज कैश मेमोरी की सीमाओं में बदलाव किया जा सकता है. - आखिर में,
WebViewमेंX-Requested-Withहेडर को हटाने का अनुरोध रद्द कर दिया गया है. अब सभी अनुरोधों पर हेडर फिर से भेजा जाएगा. इसलिए, अब अनुमति वाली सूची के एपीआई की ज़रूरत नहीं है. इसे बंद कर दिया गया है.
1.14.0 के बाद जोड़े गए एक्सपेरिमेंटल एपीआई
WebViewलाइब्रेरी ने कई ऐसे एपीआई भी लॉन्च किए हैं जो फ़िलहाल एक्सपेरिमेंट के तौर पर उपलब्ध हैं. इन एपीआई के बारे में ज़्यादा जानकारी, पैकेज की खास जानकारी में देखी जा सकती है. अगर आपको इन एपीआई के बारे में कोई सुझाव/राय देनी है या शिकायत करनी है, तो कृपया android-webview-dev@chromium.org पर ईमेल भेजकर या हमारे समस्या ट्रैकर में जाकर सुझाव/राय दें या शिकायत करें.
ये सुविधाएं, एक्सपेरिमेंट के तौर पर उपलब्ध हैं:
- ProcessGlobalConfig#setUiThreadStartupMode की मदद से, WebView के यूज़र इंटरफ़ेस (यूआई) थ्रेड को शुरू करने का तरीका कॉन्फ़िगर किया जा सकता है. खास तौर पर, इससे यह चुना जा सकेगा कि स्टार्टअप को एक टास्क के तौर पर चलाना है या उसे छोटे-छोटे टास्क में बांटना है. इससे यूज़र इंटरफ़ेस (यूआई) थ्रेड लूपर को कंट्रोल मिल जाता है.
WebViewऐसे इंस्टेंस बनाएं जिनमें कॉन्फ़िगरेशन सीमित हो. इन्हें बाद में WebViewBuilder API की मदद से बदला नहीं जा सकता. शुरुआत में, इसका मतलब है कि अब JavaScript इंटरफ़ेस ऑब्जेक्ट जोड़े जा सकते हैं. ये ऑब्जेक्ट, सिर्फ़ ऑरिजिन की तय की गई सूची में शामिल किए जाते हैं. इससे इसका इस्तेमाल ज़्यादा सुरक्षित तरीके से किया जा सकता है. इसके बाद, बनाए गएWebViewइंस्टेंस परaddJavascriptInterfaceको कॉल करने की सुविधा भी बंद हो जाएगी. इससे यह पक्का होता है कि कॉन्फ़िगरेशन में बदलाव नहीं किया जा सकता.- WebViewCompat#startUpWebView एपीआई के बारे में ज़्यादा जानकारी:
- अब लोड करने के लिए प्रोफ़ाइलों का सेट सिंक्रोनस तरीके से तय किया जा सकता है. इससे ऐप्लिकेशन डेवलपर को किसी भी प्रोफ़ाइल को लोड करने की प्रोसेस को स्किप करने की सुविधा मिलती है. इसके अलावा, वे उन प्रोफ़ाइलों का सटीक सेट तय कर सकते हैं जिनका इस्तेमाल ऐप्लिकेशन करता है, ताकि यह पक्का किया जा सके कि वे सभी लोड हो गई हैं.
- अब एसिंक स्टार्टअप को डीबग करना आसान हो गया है. इसके लिए, getUiThreadBlockingStartUpLocations और getNonUiThreadBlockingStartUpLocations कॉलबैक का इस्तेमाल करें. इससे ऐप्लिकेशन में उन जगहों का पता लगाया जा सकता है जहां WebView स्टार्टअप, यूज़र इंटरफ़ेस (यूआई) थ्रेड या बैकग्राउंड थ्रेड को ब्लॉक करता है.
- आपके पास यह कॉन्फ़िगर करने का विकल्प होता है कि
WebViewका यूआई थ्रेड इनिशियलाइज़ेशन कैसे चलाया जाना चाहिए.
- Profile#warmUpRendererProcess को कॉल करके, किसी प्रोफ़ाइल के लिए रेंडरर प्रोसेस को चालू करें. इस एपीआई का इस्तेमाल,
WebViewके जटिल लाइफ़साइकल वाले ऐप्लिकेशन कर सकते हैं. इससे यह पक्का किया जा सकता है कि रेंडरर प्रोसेस चालू है. भले ही, सभी WebView इंस्टेंस बंद कर दिए गए हों. - Profile#addQuicHints की मदद से ऐप्लिकेशन,
WebViewको यह बता सकते हैं कि दिए गए ऑरिजिन से कनेक्ट करते समय, QUIC / HTTP3 को प्राथमिकता दें. - Profile#preconnect की मदद से ऐप्लिकेशन, किसी ऑरिजिन से कनेक्शन खोल सकते हैं. ऐसा वे उस ऑरिजिन पर नेविगेट करने से पहले करते हैं, ताकि आने वाले समय में लोड होने की प्रोसेस को तेज़ किया जा सके.
1.14.0 के बाद अपडेट किए गए एक्सपेरिमेंटल एपीआई
- Navigation Listener API को अपडेट किया गया है, ताकि ऐप्लिकेशन कई लिसनर इंस्टेंस उपलब्ध करा सकें. इन्हें बैकग्राउंड थ्रेड कॉलबैक के लिए, कस्टम एक्ज़ीक्यूटर के साथ कॉन्फ़िगर किया जा सकता है. पहले इसे WebNavigationClient API कहा जाता था. हालांकि, अब इसे बंद कर दिया गया है और इसकी जगह नए एपीआई का इस्तेमाल किया जा रहा है. इसके अलावा, इस अपडेट में onFirstContentfulPaint कॉलबैक में समय की जानकारी भी जोड़ी गई है. इससे नेविगेशन शुरू होने से लेकर पेंट इवेंट तक की समय की जानकारी मिलती है.
वर्शन 1.15.0-rc01
03 दिसंबर, 2025
androidx.webkit:webkit:1.15.0-rc01 रिलीज़ हो गया है. वर्शन 1.15.0-rc01 में ये बदलाव शामिल हैं.
androidx.webkit:webkit:1.15.0-beta01के बाद से कोई अपडेट नहीं है
वर्शन 1.15.0-beta01
19 नवंबर, 2025
androidx.webkit:webkit:1.15.0-beta01 रिलीज़ हो गया है. वर्शन 1.15.0-beta01 में ये बदलाव शामिल हैं.
एपीआई में हुए बदलाव
- एक्सपेरिमेंट के तौर पर
WebViewBuilderएपीआई जोड़े गए (I06828, b/409740828) - एसिंक स्टार्टअप के लिए
UiThreadStartupModeजोड़ा गया. इससे क्रोमियम को स्टार्टअप करने के दौरानisMultiProcessEnabled()कॉल करने से रोका जा सकेगा (I524ee, b/397372092) - 1.16 रिलीज़ होने तक
UserAgentफ़ॉर्म फ़ैक्टर को छिपाना (Ibac8a, b/430554841, b/454438418) - नेविगेशन एपीआई को अपडेट किया गया है, ताकि ऐप्लिकेशन
NavigationListenerइंस्टेंस उपलब्ध करा सकें. इन्हें बैकग्राउंड थ्रेड कॉलबैक के लिए, कस्टम एक्ज़ीक्यूटर के साथ कॉन्फ़िगर किया जा सकता है. अब एकWebViewमें कईNavigationListenerइंस्टेंस जोड़े जा सकते हैं.
इसके अलावा, इस अपडेट मेंonFirstContentfulPaintकॉलबैक में समय की जानकारी भी जोड़ी गई है. इससे नेविगेशन शुरू होने से लेकर पेंट इवेंट तक के समय की जानकारी मिलती है. (I6aa8e, b/448580228) Profile#addQuicHintsजोड़ता है. इससे ऐप्लिकेशन,WebViewको यह बता सकते हैं कि दिए गए ऑरिजिन से कनेक्ट करते समय, QUIC / HTTP3 को प्राथमिकता दें. (I8e364, b/445339041)- एक्सपेरिमेंट से जुड़ी एनोटेशन के साथ अपडेट किए गए फ़ीचर कॉन्स्टेंट और एक्सपेरिमेंट के तौर पर उपलब्ध एपीआई के बारे में ज़्यादा जानकारी के साथ अपडेट किया गया लाइब्रेरी README. (I1b914)
गड़बड़ियां ठीक की गईं
androidx.webkit:webkit:1.15.0-beta01को रिलीज़ किया जा रहा है (I0b1bd, b/417241552)
वर्शन 1.15.0-alpha03
08 अक्टूबर, 2025
androidx.webkit:webkit:1.15.0-alpha03 रिलीज़ हो गया है. वर्शन 1.15.0-alpha03 में ये बदलाव शामिल हैं.
एपीआई में हुए बदलाव
- कस्टम अनुरोध हेडर सेट करने के लिए, नया एपीआई पेश करता है. यह पिछले एक्सपेरिमेंटल एपीआई का एक वर्शन है. अब इसकी मदद से, ऐप्लिकेशन हर हेडर के लिए कई वैल्यू सेट कर सकता है. इनमें से हर वैल्यू को ओरिजिन पैटर्न के अलग-अलग सेट पर मैप किया जाता है. नया एपीआई, ऐप्लिकेशन को कॉन्फ़िगर किए गए हेडर की जांच करने की अनुमति भी देता है. (Id7d30, b/419469873, b/429269470)
WebViewमें X-Requested-With हेडर को हटाने की प्रोसेस रद्द कर दी गई है. अब यह हेडर, डिफ़ॉल्ट रूप से सभी अनुरोधों के साथ फिर से भेजा जाएगा. अनुमति वाली सूची के एपीआई की अब ज़रूरत नहीं है. इसे बंद कर दिया गया है. (I884c3, b/447094379)WebSettingsCompatमें एक नया एपीआई जोड़ें, ताकि डेवलपरWebViewकी बैक-फ़ॉरवर्ड कैश मेमोरी को कॉन्फ़िगर कर सकें. जैसे, टाइम आउट को सेकंड में सेट करना या पेज कैश मेमोरी की सीमाएं तय करना. (I642b2, b/432395269)WebViewहाइपरलिंक कॉन्टेक्स्ट मेन्यू में आइटम को पसंद के मुताबिक बनाने की अनुमति देने के लिए,HyperlinkContextMenuएपीआई जोड़ें (Idb809, b/382654667)- उन मामलों को डीबग करने के लिए
getAsyncStartUpLocationsएपीआई जोड़ा गया है जहांstartUpWebViewएपीआई का इस्तेमाल किए बिना,WebViewको एसिंक्रोनस तरीके से शुरू किया गया था. (I6bf4b, b/417434566)
वर्शन 1.15.0-alpha02
27 अगस्त, 2025
androidx.webkit:webkit:1.15.0-alpha02 रिलीज़ हो गया है. वर्शन 1.15.0-alpha02 में ये बदलाव शामिल हैं.
नई सुविधाएं
- यह कुकी
Profile#preconnectजोड़ती है. इससे ऐप्लिकेशन, किसी ऑरिजिन से कनेक्शन खोल सकते हैं. ऐसा वे उस ऑरिजिन पर नेविगेट करने से पहले करते हैं, ताकि आने वाले समय में लोड होने की प्रोसेस को तेज़ किया जा सके. (I8db41) WebViewCompatमें एक नयाprerenderUrlAsyncएपीआई जोड़ा गया है. इससे ऐप्लिकेशन, यूआरएल को WebView में दिखाए जाने से पहले ही प्रीरेंडर कर सकते हैं.
प्रीरेंडरिंग की मदद से, पेज को पहले से फ़ेच करके लोड करने की परफ़ॉर्मेंस को बेहतर बनाया जा सकता है. जब उपयोगकर्ता यूआरएल पर जाता है, तो उसे पहले से रेंडर किया गया पेज तुरंत दिखता है.
इन एपीआई को पहले एक्सपेरिमेंट के तौर पर रिलीज़ किया गया था. अब इनका इस्तेमाल@OptInएनोटेशन के बिना किया जा सकता है. (Ie14f5)- अब
startUpWebViewAPI को कॉल करते समय, सिंक किए गए तरीके से लोड करने के लिए प्रोफ़ाइलों का सेट तय किया जा सकता है. इसेWebViewStartUpConfig.Builderमें नए तरीके (I9a6e6) में प्रोफ़ाइल के नाम पास करके कॉन्फ़िगर किया जाता है WebSettingsऑब्जेक्ट पर BackForwardCache को चालू/बंद करने के लिए,WebSettingsCompatमें एक नया एपीआई जोड़ें. इस एपीआई को पहले एक्सपेरिमेंट के तौर पर रिलीज़ किया गया था. अब इसका इस्तेमाल@OptInएनोटेशन के बिना किया जा सकता है. (Ie413b)- User-Agent के डिवाइस के साइज़, डाइमेंशन या कॉन्फ़िगरेशन को बदलने की सुविधा जोड़ी गई है.
UserAgentMetadataक्लास में, User-Agent के डिवाइस के साइज़, डाइमेंशन या कॉन्फ़िगरेशन का मेटाडेटा पाने और सेट करने के लिए नए तरीके हैं.UserAgentMetadata.Builderमें,Sec-CH-UA-Form-Factorsयूज़र-एजेंट क्लाइंट हिंट को बदलने के लिए,setFormFactors()का नया तरीका उपलब्ध है. बदली गई मौजूदा वैल्यू को, नएgetFormFactors()तरीके से वापस लाया जा सकता है. (I6d08c, b/430554841)
एपीआई में हुए बदलाव
WebViewके यूज़र इंटरफ़ेस (यूआई) थ्रेड को शुरू करने के लिए,ProcessGlobalConfigमें एपीआई जोड़ें (I5e85a, b/433273850, b/397372092)WebViewStartupConfig.Builder#setProfilesToLoadDuringStartupएपीआई (I36451) के लिए, नई सुविधा का नाम जोड़ें- डिफ़ॉल्ट minSdk को API 21 से API 23 पर ले जाना (Ibdfca, b/380448311, b/435705964, b/435705223)
- ओरिजन से मैच किए गए हेडर एपीआई को अपडेट किया गया है. इससे, एक ही हेडर के नाम के लिए
setOriginMatchedHeaderको कई बार कॉल करके, हेडर की वैल्यू को बदला जा सकता है. साथ ही, यह देखने के लिए कि हेडर का नाम पहले से इस्तेमाल में है या नहीं, एक नयाhasOriginMatchedHeaderतरीका भी जोड़ता है.
इस बदलाव से एपीआई को एक्सपेरिमेंट के तौर पर भी मार्क किया जाता है, क्योंकि फ़िलहाल यह हर हेडर वैल्यू के लिए सिर्फ़ एक वैल्यू और ऑरिजिन मैपिंग सेट करने की सुविधा देता है. साथ ही, आने वाले समय में इसमें बदलाव होने की संभावना है, ताकि यह अलग-अलग ऑरिजिन पर मैप की गई कई वैल्यू के साथ काम कर सके. (I03365, b/419469873, b/429269470) Profile#prefetchUrlAsync()के लिए, यूज़र इंटरफ़ेस (यूआई) थ्रेड की ज़रूरी शर्त हटा दी गई है. अब इसे किसी भी थ्रेड से कॉल किया जा सकता है. (I83d57)OutcomeReceiverCompatइंटरफ़ेस को हटा दिया गया है. अब आधिकारिकandroidx.core.os.OutcomeReceiverCompatवर्शन का इस्तेमाल किया जा सकता है. अब इस लाइब्रेरी के लिए,compileSdk35 या इसके बाद का वर्शन ज़रूरी है. (Ie1ea5)WebSettingsCompatमें[is/set]IncludeCookiesOnShouldInterceptRequestEnabledका नाम बदलकर[are/set]CookiesIncludedInShouldInterceptRequestकर देता है. (Ife9e9, b/428924452)Profile.ExperimentalUrlPrefetchमें एक्सपेरिमेंटल एपीआई एनोटेशन जोड़े गए हैं. इन्हें पहले शामिल नहीं किया गया था. (Ic54eb, b/417458061)
वर्शन 1.15.0-alpha01
2 जुलाई, 2025
androidx.webkit:webkit:1.15.0-alpha01 रिलीज़ हो गया है. वर्शन 1.15.0-alpha01 में ये बदलाव शामिल हैं.
नई सुविधाएं
- खास ऑरिजिन के अनुरोधों पर एचटीटीपी हेडर के नाम-वैल्यू पेयर सेट करने के लिए, नया एपीआई.
Profile.setOriginMatchedHeaderतरीके से, ऐप्लिकेशन यह तय कर सकता है कि हेडर का नाम और वैल्यू, उन सभी एचटीटीपी/एचटीटीपीएस अनुरोधों पर सेट की जानी चाहिए जो दी गई अनुमति वाली सूची से मेल खाते हैं. ये अनुरोध, दिए गए प्रोफ़ाइल का इस्तेमाल करने वाले WebViews और सर्विस वर्कर से भेजे जाते हैं. एपीआई, हर हेडर के नाम के लिए सिर्फ़ एक मैपिंग की अनुमति देता है. अगर हेडर का नाम पहले से सेट है, तो यह एक अपवाद दिखाएगा.
किसी मौजूदा मैपिंग को हटाने के लिएProfile.clearOriginMatchedHeaderका इस्तेमाल करें. सभी मैपिंग हटाने के लिएProfile.clearAllOriginMatchedHeadersका इस्तेमाल करें. (Ida7f1, b/419469873) - WebView और सर्विस वर्कर के लिए,
shouldInterceptRequestकॉलबैक के हिस्से के तौर पर कुकी को ऐक्सेस और सेट करने के लिए नया एपीआई.
फ़िलहाल,shouldInterceptRequestके हिस्से के तौर परCookieManagerAPI को ऐक्सेस करने वाले ऐप्लिकेशन डेवलपर, अब सीधेsetIncludeCookiesOnShouldInterceptRequestको कॉल करके कुकी हेडर चालू कर सकते हैं. इसके बाद, WebView, WebResourceRequest.getRequestHeaders() मैप मेंCookieहेडर जोड़ देगा. यह अनुरोध पर लागू होने वाली कुकी होंगी. इससे पार्टिशन्ड कुकी को भी सही तरीके से मैनेज किया जा सकेगा.
ऐप्लिकेशन, हाल ही में जोड़े गएWebResourceResponseCompat.setCookiesएपीआई के ज़रिएSet-Cookieहेडर वैल्यू दे सकते हैं. वहां जोड़ी गईSet-Cookieवैल्यू को WebView प्रोसेस करेगा. ऐसा रिस्पॉन्स हैंडलिंग के हिस्से के तौर पर किया जाएगा. (Idbfd1, b/414769380) Profileके लिए रेंडरर प्रोसेस को चालू करने वाला नया एक्सपेरिमेंटल एपीआई.
इस एपीआई का इस्तेमाल, WebView के जटिल लाइफ़साइकल वाले ऐप्लिकेशन कर सकते हैं. इससे यह पक्का किया जा सकता है कि रेंडरर प्रोसेस चालू है. भले ही, सभी WebView इंस्टेंस बंद कर दिए गए हों. (Ia8fc8)
एपीआई में हुए बदलाव
- नेविगेशन का यूआरएल देने के लिए, एक्सपेरिमेंट के तौर पर उपलब्ध Navigation इंटरफ़ेस में एक नया तरीका जोड़ें. (I1c6c0)
- प्रोफ़ाइल प्रीफ़ेच करने की सुविधा के नाम को अपडेट किया गया है, ताकि यह साफ़ तौर पर बताया जा सके कि अब बैकग्राउंड थ्रेड पर Prefetch API को चालू किया जा सकता है. (I7c83a)
वर्शन 1.14
वर्शन 1.14.0
4 जून, 2025
androidx.webkit:webkit:1.14.0 रिलीज़ हो गया है. वर्शन 1.14.0 में ये बदलाव शामिल हैं.
1.13.0 के बाद हुए अहम बदलाव
- पेश है
PaymentRequestएपीआई. इसकी मदद से,org.chromium.intent.action.PAYइंटेंट के ज़रिए Android के नेटिव पेमेंट ऐप्लिकेशन को चालू किया जा सकता है.PaymentRequestडिफ़ॉल्ट रूप से बंद होता है. इसे चालू करने के लिए,WebViewहोस्ट ऐप्लिकेशन WebSettingsCompat.setPaymentRequestEnabled(settings, true) को कॉल कर सकते हैं. इसके अलावा,PaymentRequestके लिएAndroidManifest.xmlमें<queries>टैग की ज़रूरत होती है. ज़्यादा जानकारी के लिए,setPaymentRequestEnabled()से जुड़ा दस्तावेज़ देखें. WebViewमें वेब नेविगेशन को बेहतर तरीके से ट्रैक और मैनेज करने के लिए, एक्सपेरिमेंट के तौर पर उपलब्ध Navigation API लॉन्च किया गया है. ये एपीआई, नेविगेशन इवेंट के बारे में पूरी जानकारी देते हैं. पेज नेविगेशन के बारे में ज़्यादा जानकारी पाने के लिए, WebViewCompat.setNavigationClient को कॉल करके शुरू करें. इसके लिए, नए WebNaviagationClient इंटरफ़ेस का इस्तेमाल करें. नेविगेशन के लाइफ़साइकल के बारे में ज़्यादा जानने के लिए, कृपया नेविगेशन प्रज़ेंटेशन का लाइफ़साइकल देखें.
वर्शन 1.14.0-rc01
20 मई, 2025
androidx.webkit:webkit:1.14.0-rc01 रिलीज़ हो गया है. वर्शन 1.14.0-rc01 में ये बदलाव शामिल हैं.
1.14.0-beta01में कोई बदलाव नहीं किया गया है.
वर्शन 1.14.0-beta01
7 मई, 2025
androidx.webkit:webkit:1.14.0-beta01 रिलीज़ हो गया है. वर्शन 1.14.0-beta01 में ये बदलाव शामिल हैं.
एपीआई में हुए बदलाव
startUpWebView()API (Ic29cd, b/406701301) में कॉन्टेक्स्ट को पैरामीटर के तौर पर जोड़ा गया
वर्शन 1.14.0-alpha01
9 अप्रैल, 2025
androidx.webkit:webkit:1.14.0-alpha01 रिलीज़ हो गया है. वर्शन 1.14.0-alpha01 में ये बदलाव शामिल हैं.
नई सुविधाएं
org.chromium.intent.action.PAYइंटेंट के ज़रिए, Android के नेटिव पेमेंट ऐप्लिकेशन को चालू करने के लिए,PaymentRequestएपीआई लॉन्च किया गया है.PaymentRequestडिफ़ॉल्ट रूप से बंद होता है. WebView होस्ट ऐप्लिकेशन, इसे चालू करने के लिएWebSettingsCompat.setPaymentRequestEnabled(settings, true)को कॉल कर सकते हैं. इसके अलावा,PaymentRequestके लिएAndroidManifest.xmlमें<queries>टैग की ज़रूरत होती है. ज़्यादा जानकारी के लिए,setPaymentRequestEnabled()से जुड़ा दस्तावेज़ देखें. (I3304e, b/404920055)- पेश है एक्सपेरिमेंट के तौर पर उपलब्ध नेविगेशन कॉलबैक. इस रिलीज़ में,
WebViewमें बेहतर वेब नेविगेशन ट्रैकिंग और मैनेजमेंट के लिए, एक्सपेरिमेंट के तौर पर उपलब्ध एपीआई पेश किए गए हैं. ये एपीआई, नेविगेशन इवेंट के बारे में पूरी जानकारी देते हैं. मुख्य सुविधाएं:WebNavigationClientइंटरफ़ेस: एक नया इंटरफ़ेस,WebNavigationClient, पेश करता है. इसमें नेविगेशन इवेंट के लिए कॉलबैक होते हैं:onNavigationStarted(Navigation navigation): नेविगेशन शुरू होने पर सूचना देता है.onNavigationRedirected(Navigation navigation): इस इवेंट से सूचना मिलती है, जब नेविगेशन को किसी दूसरी जगह पर रीडायरेक्ट किया जाता है.onNavigationCompleted(Navigation navigation): नेविगेशन पूरा होने पर सूचना देता है.Navigationइंटरफ़ेस: इससे नेविगेशन के बारे में पूरी जानकारी मिलती है. जैसे: यूआरएल, पेज लोड होने की स्थिति, एक ही दस्तावेज़ की स्थिति, फिर से लोड होने की स्थिति, इतिहास की स्थिति, वापस/आगे जाने की स्थिति, कमिट करने की स्थिति, गड़बड़ी वाले पेज की स्थिति, स्टेटस कोड, और सेशन को वापस लाने की स्थिति.Navigationऑब्जेक्ट, हर नेविगेशन के लिए एक यूनीक आइडेंटिफ़ायर के तौर पर काम करता है. इससे डेवलपर, मिलते-जुलते नेविगेशन इवेंट को एक-दूसरे से जोड़ पाते हैं.Pageक्लास:Pageक्लास के बारे में बताता है. यह पेज से जुड़े डेटा के लिए कुंजी के तौर पर काम करता है. (I351a6)
- कैशिंग की सुविधा देने वाले ऑब्जेक्ट के व्यवहार को टॉगल करने के लिए, एक्सपेरिमेंट के तौर पर एक नया एपीआई लॉन्च किया गया है. (I14636)
एपीआई में हुए बदलाव
WebViewFeatureमेंPROFILE_URL_PREFETCHकी वैल्यू अपडेट की गई है. (I606fd)- यह
WebView#saveStateकी तरह हीWebViewCompat#saveStateजोड़ता है. हालांकि, इससे वापस लाए गए स्टेट का साइज़ सीमित किया जा सकता है. साथ ही, यह तय किया जा सकता है कि फ़ॉरवर्ड इतिहास की एंट्री सेव करनी हैं या नहीं. (Iea7d6) SpeculativeLoadingConfigAPI मेंmaxPrerendersकॉन्फ़िगरेशन जोड़ा गया (I67245)
वर्शन 1.13
वर्शन 1.13.0
12 मार्च, 2025
androidx.webkit:webkit:1.13.0 रिलीज़ हो गया है. वर्शन 1.13.0 में ये बदलाव शामिल हैं.
1.12.0 के बाद हुए अहम बदलाव
- यूआरएल प्रीरेंडरिंग के लिए एक नया एक्सपेरिमेंटल एपीआई पेश किया गया है, ताकि डेवलपर संभावित यूआरएल को अनुमान के तौर पर प्रीरेंडर कर सकें. इससे नेविगेशन की प्रोसेस तेज़ हो जाएगी. (I0cfe7)
WebViewकी ओर से सेव किए गए ब्राउज़िंग डेटा को मिटाने के लिए, नए एपीआई का सेट लॉन्च किया गया है.android.webkit.WebStorageमें मौजूद मौजूदा एपीआई के बजाय,WebStorageCompatमें मौजूद नए एपीआई का इस्तेमाल करना चाहिए. ऐसा इसलिए, क्योंकि ये एपीआई सभी लोकल स्टोरेज को मिटाने की गारंटी देते हैं. इनमें नेटवर्क कैश और कुकी के साथ-साथ, इंस्टॉल किए गए सभी सर्विस वर्कर भी शामिल हैं. अगर आने वाले समय में नए स्टोरेज एपीआई लॉन्च किए जाते हैं, तो इन नए तरीकों को अपडेट किया जाएगा, ताकि डिलीट किए गए स्टोरेज में उन्हें शामिल किया जा सके. (Iad54f, b/382273208)setPartitionedCookiesEnabledAPI जोड़ें. इससे डेवलपर,WebViewमें पार्टीशन की गई कुकी को चालू और बंद कर पाएंगे. (Ic506a, b/364904765)NetworkStatsManager/TrafficStatsका इस्तेमाल करके,WebViewके नेटवर्क ट्रैफ़िक का हिसाब रखने के लिए,WebViewमें सॉकेट टैगिंग एपीआई जोड़ें. यह सुविधा सिर्फ़WebViewM133 से उपलब्ध होगी. (Ica441, b/374932688)- एक्सपेरिमेंट के तौर पर उपलब्ध
WebViewएसिंक्रोनस स्टार्टअप एपीआई जोड़ा गया. (I94b8a) - प्रोफ़ाइल में यूआरएल प्रीफ़ेचिंग: डेवलपर को यूआरएल प्रीफ़ेचिंग ट्रिगर करने की अनुमति देने के लिए,
Profileमें एक नया एपीआई लॉन्च किया गया है. प्रीफ़ेचिंग की सुविधा बंद करना: चालू प्रीफ़ेचिंग की सुविधा बंद करने के लिए एक एपीआई जोड़ा गया है.(I42c5c) WebView.startSafeBrowsingका इस्तेमाल बंद करें. (If5626)
वर्शन 1.13.0-rc01
26 फ़रवरी, 2025
androidx.webkit:webkit:1.13.0-rc01 रिलीज़ हो गया है. इस रिलीज़ में, 1.13.0-beta01 रिलीज़ के मुकाबले कोई बदलाव नहीं किया गया है.
वर्शन 1.13.0-beta01
12 फ़रवरी, 2025
androidx.webkit:webkit:1.13.0-beta01 रिलीज़ हो गया है. वर्शन 1.13.0-beta01 में ये बदलाव शामिल हैं.
एपीआई में हुए बदलाव
- प्रीरेंडर एपीआई में Async सफ़िक्स जोड़ें. नया नाम दिखाने के लिए,
NoVarySearchमें मौजूद किसी भी डेटा का नाम बदलकर हेडर करें. (Ie91c9) - यूआरएल प्रीरेंडरिंग एपीआई में एक्ज़ीक्यूटर पैरामीटर जोड़ा गया. साथ ही, एपीआई को सिर्फ़ यूज़र इंटरफ़ेस (यूआई) थ्रेड से कॉल करने की अनुमति दी जाती है. (I50520)
- प्रोफ़ाइल प्रीफ़ेच करने के अनुरोधों के लिए, कैश मेमोरी कॉन्फ़िगर करने के लिए एक एपीआई जोड़ें. यह इस प्रोफ़ाइल से जुड़े
WebViewsसे शुरू किए गए प्रीरेंडर अनुरोधों पर भी लागू होता है. (Iebb6e)
गड़बड़ियां ठीक की गईं
URLUtilCompat.guessFileNameके व्यवहार में बदलाव किया गया है. अब यह सिर्फ़mimeTypeपैरामीटर का इस्तेमाल करके, यूआरएल पैरामीटर से लिए गए फ़ाइल नामों के लिए एक्सटेंशन का सुझाव देगा. (I53ecd, b/382864232)
वर्शन 1.13.0-alpha03
15 जनवरी, 2025
androidx.webkit:webkit:1.13.0-alpha03 रिलीज़ हो गया है. वर्शन 1.13.0-alpha03 में ये बदलाव शामिल हैं.
नई सुविधाएं
- यूआरएल प्रीरेंडरिंग के लिए एक नया एक्सपेरिमेंटल एपीआई पेश किया गया है, ताकि डेवलपर संभावित यूआरएल को अनुमान के तौर पर प्रीरेंडर कर सकें. इससे नेविगेशन की प्रोसेस तेज़ हो जाएगी. (I0cfe7)
WebViewकी ओर से सेव किए गए ब्राउज़िंग डेटा को मिटाने के लिए, नए एपीआई का सेट लॉन्च किया गया है.android.webkit.WebStorageमें मौजूद मौजूदा एपीआई के बजाय,WebStorageCompatमें मौजूद नए एपीआई का इस्तेमाल करना चाहिए. ऐसा इसलिए, क्योंकि ये एपीआई सभी लोकल स्टोरेज को मिटाने की गारंटी देते हैं. इनमें नेटवर्क कैश और कुकी के साथ-साथ, इंस्टॉल किए गए सभी सर्विस वर्कर भी शामिल हैं. अगर आने वाले समय में नए स्टोरेज एपीआई लॉन्च किए जाते हैं, तो इन नए तरीकों को अपडेट किया जाएगा, ताकि डिलीट किए गए स्टोरेज में उन्हें शामिल किया जा सके. (Iad54f, b/382273208)setPartitionedCookiesEnabledAPI जोड़ें. इससे डेवलपर,WebViewमें पार्टीशन की गई कुकी को चालू और बंद कर पाएंगे. (Ic506a, b/364904765)
एपीआई में हुए बदलाव
- प्रीफ़ेच एपीआई के लिए थ्रेड की ज़रूरी शर्त में बदलाव किया गया है, ताकि इसे सिर्फ़ यूज़र इंटरफ़ेस (यूआई) थ्रेड पर कॉल किया जा सके. (I866b5)
WebAuthnतरीकों को अपडेट किया गया है, ताकि यह हाइलाइट किया जा सके कि उन्हें यूज़र इंटरफ़ेस थ्रेड पर कॉल किया जाना चाहिए. यह ज़रूरी शर्त पहले से ही लागू है. इस बदलाव से सिर्फ़ काम का एनोटेशन जोड़ा जाएगा. (I6d6ba)
वर्शन 1.13.0-alpha02
11 दिसंबर, 2024
androidx.webkit:webkit:1.13.0-alpha02 रिलीज़ हो गया है. वर्शन 1.13.0-alpha02 में ये बदलाव शामिल हैं.
नई सुविधाएं
NetworkStatsManager/TrafficStatsका इस्तेमाल करके,WebViewके नेटवर्क ट्रैफ़िक का हिसाब रखने के लिए,WebViewमें सॉकेट टैगिंग एपीआई जोड़ें. यह सुविधा सिर्फ़WebViewM133 से उपलब्ध होगी. (Ica441, b/374932688)
एपीआई में हुए बदलाव
- Prefetch API को अपडेट करें. इसके लिए,
PrefetchParameterका नाम बदलकरSpeculativeLoadingParamatersकरें, नयाPrefetchNetworkExceptionजोड़ें,PrefetchOperationCallbackकोOutcomeReceiverCompatसे बदलें, और javadoc को अपडेट करें. (If5072) - WebView के एसिंक्रोनस स्टार्टअप एपीआई से, परफ़ॉर्मेंस से जुड़ी जानकारी पाएं.
- ऐप्लिकेशन के लिए, सिर्फ़ ऐसे init को ट्रिगर करने का विकल्प उपलब्ध कराएं जो यूज़र इंटरफ़ेस (यूआई) थ्रेड को ब्लॉक न करे. (I9bf2b)
गड़बड़ियां ठीक की गईं
- यह लाइब्रेरी अब JSpecify nullness annotations का इस्तेमाल करती है. ये टाइप-यूज़ होते हैं. Kotlin डेवलपर को सही इस्तेमाल के लिए, कंपाइलर के इस तर्क का इस्तेमाल करना चाहिए:
-Xjspecify-annotations=strict(यह Kotlin कंपाइलर के 2.1.0 वर्शन से डिफ़ॉल्ट रूप से शुरू होता है). (I0e4c5, b/326456246)
वर्शन 1.13.0-alpha01
13 नवंबर, 2024
androidx.webkit:webkit:1.13.0-alpha01 रिलीज़ हो गया है. वर्शन 1.13.0-alpha01 में ये बदलाव शामिल हैं.
नई सुविधाएं
- एक्सपेरिमेंट के तौर पर उपलब्ध
WebViewएसिंक्रोनस स्टार्टअप एपीआई जोड़ा गया. (I94b8a) - प्रोफ़ाइल में यूआरएल प्रीफ़ेचिंग: हमने प्रोफ़ाइल में एक नया एपीआई लॉन्च किया है. इससे डेवलपर, यूआरएल प्रीफ़ेचिंग को ट्रिगर कर सकेंगे. प्रीफ़ेचिंग की सुविधा बंद करना: चालू प्रीफ़ेचिंग की सुविधा बंद करने के लिए, एक एपीआई जोड़ा गया है. (I42c5c)
एपीआई में हुए बदलाव
WebView.startSafeBrowsingका इस्तेमाल बंद करें. (If5626)
वर्शन 1.12
वर्शन 1.12.1
2 अक्टूबर, 2024
androidx.webkit:webkit:1.12.1 रिलीज़ हो गया है. वर्शन 1.12.1 में ये बदलाव शामिल हैं.
गड़बड़ियां ठीक की गईं
- उस समस्या को ठीक किया गया जिसकी वजह से, रिलीज़ में 1.12.0 वर्शन के एपीआई उपलब्ध नहीं थे.
वर्शन 1.12.0
18 सितंबर, 2024
androidx.webkit:webkit:1.12.0 रिलीज़ हो गया है. वर्शन 1.12.0 में ये बदलाव शामिल हैं.
1.11.0 के बाद हुए अहम बदलाव
- इस
WebSettingsके लिए, BackForwardCache को चालू/बंद करने के लिए,WebSettingsCompatमें एक नया एपीआई जोड़ें. फ़िलहाल, इस एपीआई पर एक्सपेरिमेंट किया जा रहा है. आने वाले समय में, इसमें बदलाव हो सकता है. (aosp/3111705) WebSettingsCompatमें एक नया एपीआई जोड़ा गया है. इससे इसWebSettingsके लिए, स्पेकुलेटिव लोडिंग के व्यवहार को कंट्रोल किया जा सकेगा. फ़िलहाल, सिर्फ़ प्रीरेंडरिंग की सुविधा उपलब्ध है. फ़िलहाल, इस एपीआई पर एक्सपेरिमेंट किया जा रहा है. आने वाले समय में, इसमें बदलाव हो सकता है. (I13962)WebViewमें वेब ऑथेंटिकेशन की सुविधा चालू करने के लिए, एक नया एपीआई जोड़ा गया है. डेवलपर,WebSettingsCompat#setWebAuthenticationSupportका इस्तेमाल करके अपने ऐप्लिकेशन के लिए,WebViewमेंWebAuthnकॉल की सुविधा चालू/बंद कर सकते हैं. (I8187f)
वर्शन 1.12.0-rc01
4 सितंबर, 2024
androidx.webkit:webkit:1.12.0-rc01 रिलीज़ हो गया है. इस रिलीज़ में, 1.12.0-beta01 रिलीज़ के मुकाबले कोई बदलाव नहीं किया गया है.
वर्शन 1.12.0-beta01
21 अगस्त, 2024
androidx.webkit:webkit:1.12.0-beta01 रिलीज़ हो गया है. वर्शन 1.12.0-beta01 में ये बदलाव शामिल हैं.
गड़बड़ियां ठीक की गईं
- नए प्लैटफ़ॉर्म एपीआई को ऐक्सेस करने के लिए, मैन्युअल तरीके से आउटलाइन बनाने की सुविधा हटा दी गई है. ऐसा इसलिए, क्योंकि AGP 7.3 या इसके बाद के वर्शन (जैसे, R8 वर्शन 3.3) के साथ R8 का इस्तेमाल करने पर, एपीआई मॉडलिंग के ज़रिए यह काम अपने-आप हो जाता है. साथ ही, AGP 8.1 या इसके बाद के वर्शन (जैसे, D8 वर्शन 8.1) का इस्तेमाल करने पर, सभी बिल्ड के लिए यह काम अपने-आप हो जाता है. जो क्लाइंट AGP का इस्तेमाल नहीं कर रहे हैं उन्हें D8 के 8.1 या उसके बाद के वर्शन पर अपडेट करने का सुझाव दिया जाता है. ज़्यादा जानकारी के लिए यह लेख देखें. (Ia60e0, b/345472586)
वर्शन 1.12.0-alpha02
12 जून, 2024
androidx.webkit:webkit:1.12.0-alpha02 रिलीज़ हो गया है. वर्शन 1.12.0-alpha02 में ये बदलाव शामिल हैं.
नई सुविधाएं
BackForwardCacheको चालू/बंद करने के लिए,WebSettingsCompatमें नया एपीआई जोड़ें. फ़िलहाल, इस एपीआई पर एक्सपेरिमेंट किया जा रहा है. आने वाले समय में, इसमें बदलाव हो सकता है. (I64a38)- इस WebSettings के लिए Speculative Loading के व्यवहार को कंट्रोल करने के लिए,
WebSettingsCompatमें एक नया एपीआई जोड़ा गया है. फ़िलहाल, सिर्फ़ प्रीरेंडरिंग की सुविधा उपलब्ध है. फ़िलहाल, इस एपीआई पर एक्सपेरिमेंट किया जा रहा है. आने वाले समय में, इसमें बदलाव हो सकता है. (I13962)
एपीआई में हुए बदलाव
- अब कुछ तरीकों के बारे में
@UiThreadमें बताया गया है. (I6c7e0), (I44541) - थ्रेड-सेफ़ तरीकों को अब
@AnyThreadके साथ दस्तावेज़ में शामिल किया गया है. (I70189) minSdkVersionको 19 से बढ़ाकर 21 किया जा रहा है. (Id7a43)
वर्शन 1.12.0-alpha01
17 अप्रैल, 2024
androidx.webkit:webkit:1.12.0-alpha01 रिलीज़ हो गया है. वर्शन 1.12.0-alpha01 में ये बदलाव शामिल हैं.
एपीआई में हुए बदलाव
WebView. Developersमें वेब ऑथेंटिकेशन की सुविधा चालू करने के लिए, एक नया एपीआई जोड़ा गया है.WebView. Developers,WebSettingsCompat#setWebAuthenticationSupportका इस्तेमाल करके अपने ऐप्लिकेशन के लिए,WebViewमेंWebAuthnकॉल चालू/बंद कर सकता है. (I8187f)
वर्शन 1.11
वर्शन 1.11.0
1 मई, 2024
androidx.webkit:webkit:1.11.0 रिलीज़ हो गया है. वर्शन 1.11.0 में ये बदलाव शामिल हैं.
1.10.0 के बाद हुए अहम बदलाव
- ऐप्लिकेशन को
setAudioMutedऔरisAudioMutedएपीआई के ज़रिए,WebViewमें ऑडियो चलाने की सुविधा कंट्रोल करने की अनुमति दें. ये एपीआई, Chrome में किसी टैब को म्यूट करने के जैसे ही होते हैं. URLUtilCompatको पेश किया गया है. यहContent-Dispositionहेडर को पार्स करने की सुविधा देता है. ये हेडर,filename*कोड में बदली गई वैल्यू एट्रिब्यूट का इस्तेमाल करते हैं. इसे आरएफ़सी 6266 में तय किया गया है. कॉम्पैटिबिलिटी एपीआई,Content-Dispositionहेडर को पार्स करने का तरीका भी सीधे तौर पर दिखाता है. इसमें यूआरएल और MIME-टाइप के आधार पर सुझाए गए फ़ाइल के नाम की ज़रूरत नहीं होती.
वर्शन 1.11.0-rc01
3 अप्रैल, 2024
androidx.webkit:webkit:1.11.0-rc01 रिलीज़ हो गया है. इस रिलीज़ में, 1.11.0-beta01 रिलीज़ के मुकाबले कोई बदलाव नहीं किया गया है.
वर्शन 1.11.0-beta01
20 मार्च, 2024
androidx.webkit:webkit:1.11.0-beta01 को बिना किसी खास बदलाव के रिलीज़ किया गया है. वर्शन 1.11.0-beta01 में ये बदलाव शामिल हैं.
वर्शन 1.11.0-alpha02
21 फ़रवरी, 2024
androidx.webkit:webkit:1.11.0-alpha02 रिलीज़ हो गया है. वर्शन 1.11.0-alpha02 में ये बदलाव शामिल हैं.
नई सुविधाएं
WebViewsको म्यूट (और अनम्यूट) करने के लिए,setAudioMutedऔरisAudioMutedतरीके जोड़े गए. इस तरीके से,WebViewको ऑडियो चलाने से रोका जा सकेगा. (Ie7a33)
एपीआई में हुए बदलाव
URLUtilCompatको फ़ाइनल किया गया है, क्योंकि इसे सबक्लास नहीं किया जाना चाहिए. (I49ec1)
वर्शन 1.11.0-alpha01
7 फ़रवरी, 2024
androidx.webkit:webkit:1.11.0-alpha01 रिलीज़ हो गया है. वर्शन 1.11.0-alpha01 में ये बदलाव शामिल हैं.
नई सुविधाएं
URLUtil.guessFileNameके साथ काम करने की सुविधा जोड़ें.URLUtilCompatमें मौजूद कंपैटिबिलिटी वर्शन,Content-Dispositionहेडर को पार्स करने की सुविधा देता है. ये हेडर, आरएफ़सी 6266 में तय किए गएfilename*कोड में बदली गई वैल्यू एट्रिब्यूट का इस्तेमाल करते हैं. कॉम्पैटिबिलिटी एपीआई,Content-Dispositionहेडर को पार्स करने का तरीका भी सीधे तौर पर दिखाता है. इसमें यूआरएल और MIME-टाइप के आधार पर सुझाए गए फ़ाइल के नाम की ज़रूरत नहीं होती. (If6ae7, b/309927164)
वर्शन 1.10
वर्शन 1.10.0
24 जनवरी, 2024
androidx.webkit:webkit:1.10.0 रिलीज़ हो गया है. वर्शन 1.10.0 में ये बदलाव शामिल हैं.
1.9.0 के बाद हुए अहम बदलाव
- WebSettingsCompat में एक नया एपीआई जोड़ा गया है. इससे एक्सपेरिमेंट के तौर पर उपलब्ध Android WebView Media Integrity API के व्यवहार को कंट्रोल किया जा सकता है. इसके लिए, एपीआई को पूरी तरह से बंद किया जा सकता है या एपीआई के जवाब में ऐप्लिकेशन की पहचान को शेयर करने पर पाबंदी लगाई जा सकती है. इसे सभी ऑरिजिन के लिए और हर ऑरिजिन के हिसाब से टॉगल किया जा सकता है.
वर्शन 1.10.0-rc01
10 जनवरी, 2024
androidx.webkit:webkit:1.10.0-rc01 रिलीज़ हो गया है. इस रिलीज़ में, 1.10.0-beta01 रिलीज़ के मुकाबले कोई बदलाव नहीं किया गया है.
वर्शन 1.10.0-beta01
13 दिसंबर, 2023
androidx.webkit:webkit:1.10.0-beta01 रिलीज़ हो गया है. वर्शन 1.10.0-beta01 में ये बदलाव शामिल हैं.
1.10.0-alpha01से कोई फ़ंक्शनल बदलाव नहीं किया गया है.
वर्शन 1.10.0-alpha01
29 नवंबर, 2023
androidx.webkit:webkit:1.10.0-alpha01 रिलीज़ हो गया है. वर्शन 1.10.0-alpha01 में ये बदलाव शामिल हैं.
नई सुविधाएं
WebSettingsCompatमें एक नया एपीआई जोड़ा गया है. इससे, एक्सपेरिमेंट के तौर पर उपलब्ध Android WebView Media Integrity API के व्यवहार को कंट्रोल किया जा सकता है. इसके लिए, एपीआई को पूरी तरह से बंद किया जा सकता है या एपीआई के जवाब में ऐप्लिकेशन की पहचान शेयर करने पर पाबंदी लगाई जा सकती है. इसे सभी ऑरिजिन के लिए और हर ऑरिजिन के हिसाब से टॉगल किया जा सकता है.
वर्शन 1.9
वर्शन 1.9.0
29 नवंबर, 2023
androidx.webkit:webkit:1.9.0 रिलीज़ हो गया है. वर्शन 1.9.0 में ये बदलाव शामिल हैं.
1.8.0 के बाद हुए ज़रूरी बदलाव
- वेबव्यू के लिए, एक नया मल्टी-प्रोफ़ाइल एपीआई जोड़ा गया है.
- प्रोफ़ाइल इंटरफ़ेस में अलग-अलग एपीआई होते हैं. इनका इस्तेमाल करके, इस प्रोफ़ाइल से जुड़ा डेटा पाया जा सकता है. जैसे, इसका नाम, GeoLocationPermissions, ServiceWorkerController, CookieManager, और WebStorage. ये ऑब्जेक्ट, प्रोफ़ाइल के हिसाब से होते हैं. साथ ही, ऐप्लिकेशन में अलग-अलग प्रोफ़ाइलों के बीच जानकारी शेयर नहीं की जाती.
WebViewइंस्टेंस के लिए इस्तेमाल की गई प्रोफ़ाइल को WebViewCompat#setProfile तरीके का इस्तेमाल करके बदला जा सकता है. साथ ही, WebViewCompat#getProfile का इस्तेमाल करके इसे वापस लाया जा सकता है- हाल ही में लॉन्च किए गए ProfileStore की मदद से, अपने ऐप्लिकेशन में उपलब्ध प्रोफ़ाइलों को मैनेज किया जा सकता है. इसमें डिफ़ॉल्ट प्रोफ़ाइल भी शामिल है.
- मौजूदा WebView API, जैसे कि CookieManager#getInstance, डिफ़ॉल्ट प्रोफ़ाइल पर काम करते रहेंगे.
- पेज लोड होने से पहले, JavaScript को इंजेक्ट और चलाने के लिए एक एपीआई जोड़ा गया है.
- WebViewCompat#addDocumentStartJavascript API की मदद से, ऐप्लिकेशन
WebViewमें स्क्रिप्ट इंजेक्ट कर सकते हैं. इन स्क्रिप्ट के, पेज की किसी भी स्क्रिप्ट के लागू होने से पहले लागू होने की गारंटी होती है. इस एपीआई की मदद से, ऐप्लिकेशन उन ऑरिजिन की टारगेट सूची तय कर सकता है जिन पर स्क्रिप्ट को चालू करना है. इससे यह पक्का होता है कि स्क्रिप्ट सिर्फ़ उन पेजों पर चलती है जिन पर इसे चलाना है. WebView#evaluateJavascript के उलट, यह एपीआई एम्बेड किए गए iframe में स्क्रिप्ट को लोड होने पर चलाने की अनुमति देगा. ऐप्लिकेशन, इस नए एपीआई का इस्तेमाल WebViewCompat#addWebMessageListener के साथ कर सकते हैं. इससे पेज में मौजूद JavaScript के साथ भरोसेमंद तरीके से दोनों तरफ़ से कम्यूनिकेशन सेट अप किया जा सकता है.
- WebViewCompat#addDocumentStartJavascript API की मदद से, ऐप्लिकेशन
- Privacy Sandbox Attribution Reporting इवेंट को रजिस्टर करने के तरीके में बदलाव करने के लिए, एपीआई जोड़े गए.
- हमने एक नया एपीआई WebSettingsCompat#setAttributionRegistrationBehavior पेश किया है. इसकी मदद से डेवलपर यह कॉन्फ़िगर कर सकते हैं कि एट्रिब्यूशन सोर्स और ट्रिगर, ऐप्लिकेशन से रजिस्टर किए गए हैं या WebView में मौजूद वेब कॉन्टेंट से. इस तरीके का इस्तेमाल, वेबव्यू में Attribution Reporting को बंद करने के लिए भी किया जा सकता है. इसके अलावा, हमने मौजूदा व्यवहार को पाने के लिए एक नया एपीआई
WebSettingsCompat#getAttributionRegistrationBehaviorजोड़ा है. - ज़्यादा जानकारी के लिए, Privacy Sandbox का दस्तावेज़ देखें.
- हमने एक नया एपीआई WebSettingsCompat#setAttributionRegistrationBehavior पेश किया है. इसकी मदद से डेवलपर यह कॉन्फ़िगर कर सकते हैं कि एट्रिब्यूशन सोर्स और ट्रिगर, ऐप्लिकेशन से रजिस्टर किए गए हैं या WebView में मौजूद वेब कॉन्टेंट से. इस तरीके का इस्तेमाल, वेबव्यू में Attribution Reporting को बंद करने के लिए भी किया जा सकता है. इसके अलावा, हमने मौजूदा व्यवहार को पाने के लिए एक नया एपीआई
- क्लाइंट के संकेतों के लिए, उपयोगकर्ता एजेंट के मेटाडेटा को बदलने वाले एपीआई जोड़े गए.
- हमने एक नया एपीआई, WebSettingsCompat#setUserAgentMetadata लॉन्च किया है. इसका इस्तेमाल, WebView के लिए उपयोगकर्ता-एजेंट मेटाडेटा को बदलने के लिए किया जाता है. WebView का इस्तेमाल, उपयोगकर्ता-एजेंट क्लाइंट हिंट को भरने के लिए किया जाता है. हमने एक और नया एपीआई WebSettingsCompat#getUserAgentMetadata भी जोड़ा है. इसका इस्तेमाल, उपयोगकर्ता-एजेंट के मौजूदा बदलावों को पाने के लिए किया जाता है. हम ऐप्लिकेशन को नए एपीआई का इस्तेमाल करने के लिए प्रोत्साहित करते हैं, ताकि जब भी ऐप्लिकेशन WebSettings.setUserAgentString का इस्तेमाल करके डिफ़ॉल्ट उपयोगकर्ता एजेंट स्ट्रिंग को बदलता है, तो सही ओवरराइड वैल्यू सेट की जा सकें. इससे यह पक्का किया जा सकेगा कि सभी स्थितियों में सही वैल्यू का इस्तेमाल किया जा रहा है.
वर्शन 1.9.0-rc01
15 नवंबर, 2023
androidx.webkit:webkit:1.9.0-rc01 रिलीज़ हो गया है. इस रिलीज़ में, 1.9.0-beta01 रिलीज़ के मुकाबले कोई बदलाव नहीं किया गया है.
वर्शन 1.9.0-beta01
1 नवंबर, 2023
androidx.webkit:webkit:1.9.0-beta01 रिलीज़ हो गया है. वर्शन 1.9.0-beta01 में ये बदलाव शामिल हैं.
एपीआई में हुए बदलाव
- उपयोगकर्ता-एजेंट के मेटाडेटा एपीआई में, शून्य होने की समस्या को ठीक किया गया है. हम बिल्डर पैटर्न का इस्तेमाल करने के लिए,
BrandVersionक्लास को अपडेट करते हैं. साथ ही,UserAgentMetadataक्लास के गेटर और सेटर की नल वैल्यू को एक जैसा बनाते हैं. (Ibf195) @UiThreadकी मदद सेProfileStore,WebViewCompat#setProfile, औरWebViewCompat.getProfileको एनोटेट करना. (I499b2)
वर्शन 1.9.0-alpha01
18 अक्टूबर, 2023
androidx.webkit:webkit:1.9.0-alpha01 रिलीज़ हो गया है. वर्शन 1.9.0-alpha01 में ये बदलाव शामिल हैं.
नई सुविधाएं
- हमने मल्टी-प्रोफ़ाइल एपीआई जोड़ा है. इससे आपको
WebViewsके बीच अलग-अलग ब्राउज़िंग सेशन मिलते हैं. हर प्रोफ़ाइल का अपना डेटा होता है. जैसे, कुकी. आप प्रोफ़ाइलें बना सकते हैं, उन्हेंWebViewइंस्टेंस को असाइन कर सकते हैं, और डेटा का ऐक्सेस पाने के लिए बाद में उन्हें वापस पा सकते हैं. एपीआई की मदद से प्रोफ़ाइलें बनाने या मिटाने के लिए,ProfileStoreनाम की एक सिंगलटन क्लास उपलब्ध है. इसके अलावा,getOrCreateProfile,getProfile,getAllProfileNames, औरdeleteProfileभी उपलब्ध हैं.Profileक्लास में, इस प्रोफ़ाइल से जुड़ा डेटा पाने के लिए अलग-अलग एपीआई होंगे. जैसे, इसका नाम,GeoLocationPermissions,ServiceWorkerController,CookieManager, औरWebStorage. हरWebViewडिफ़ॉल्ट प्रोफ़ाइल के साथ चलता है. हालांकि,WebViewCompat#setProfileका इस्तेमाल करके इसे बदला जा सकता है. इससे जुड़ी जानकारी के लिए,WebViewCompat#getProfileका इस्तेमाल करकेWebViewकी प्रोफ़ाइल को वापस पाया जा सकता है. (I32d22) - Attribution Reporting इवेंट रजिस्टर करने के तरीके में बदलाव करने के लिए, एपीआई जोड़े गए हैं. हमने एक नया एपीआई
WebSettingsCompat#setAttributionRegistrationBehaviorलॉन्च किया है. इसकी मदद से डेवलपर यह कॉन्फ़िगर कर सकते हैं कि सोर्स और ट्रिगर, ऐप्लिकेशन से रजिस्टर किए गए हैं याWebSettingsCompat#setAttributionRegistrationBehaviorमें मौजूद वेब कॉन्टेंट से.WebViewइस तरीके का इस्तेमाल,WebViewमें Attribution Reporting को बंद करने के लिए भी किया जा सकता है. इसके अलावा, हमने मौजूदा व्यवहार को पाने के लिए एक नया एपीआईWebSettingsCompat#getAttributionRegistrationBehaviorजोड़ा है. ज़्यादा जानकारी के लिए, Privacy Sandbox का दस्तावेज़ देखें. (I661f2) - उपयोगकर्ता-एजेंट के मेटाडेटा को बदलने के लिए, एपीआई जोड़ें. हमने WebView के लिए एक नया एपीआई
WebSettingsCompat#setUserAgentMetadataलॉन्च किया है. इसका इस्तेमाल, उपयोगकर्ता-एजेंट मेटाडेटा को बदलने के लिए किया जाता है. इसका इस्तेमाल, उपयोगकर्ता-एजेंट क्लाइंट हिंट को भरने के लिए किया जाता है. हमने मौजूदा उपयोगकर्ता-एजेंट ओवरराइड पाने के लिए, एक और नया एपीआईWebSettingsCompat#getUserAgentMetadataभी जोड़ा है. हम ऐप्लिकेशन को उपयोगकर्ता एजेंट बदलने के बजाय, नई एपीआई का इस्तेमाल करके सही ओवरराइड वैल्यू सेट करने के लिए प्रोत्साहित करते हैं. (I74500) - पेज लोड होने के दौरान JavaScript को इंजेक्ट करने के लिए, एक एपीआई जोड़ें.
WebViewCompat.addDocumentStartJavascriptएपीआई की मदद से, ऐप्लिकेशन किसी वेबव्यू में स्क्रिप्ट इंजेक्ट कर सकते हैं. ये स्क्रिप्ट, पेज की किसी भी स्क्रिप्ट के एक्ज़ीक्यूट होने से पहले चलेंगी. इस एपीआई की मदद से, ऐप्लिकेशन उन ऑरिजिन की टारगेट सूची तय कर सकता है जिन पर स्क्रिप्ट को चालू करना है. इससे यह पक्का होता है कि स्क्रिप्ट सिर्फ़ उन पेजों पर चलती है जिन पर इसे चलाना है.WebView.evaluateJavascriptके उलट, यह एपीआई एम्बेड किए गए iframe में स्क्रिप्ट को लोड होने पर चलाने की अनुमति देगा. (Ide063)
वर्शन 1.8
वर्शन 1.8.0
6 सितंबर, 2023
androidx.webkit:webkit:1.8.0 रिलीज़ हो गया है. वर्शन 1.8.0 में ये बदलाव शामिल हैं.
1.7.0 के बाद हुए ज़रूरी बदलाव
WebMessagePortCompat#postMessage,JavaScriptReplyProxy#postMessage, औरWebViewCompat#postWebMessageके ज़रिएArrayBufferपास करने की सुविधा जोड़ी गई है. साथ ही,WebMessagePortCompatऔरWebMessageListenerके ज़रिए JavaScript सेArrayBufferपाने की सुविधा जोड़ी गई है. इसके अलावा,WebMessagePortCompatके ज़रिए JavaScript से ट्रांसफ़र किए जा सकने वालेArrayBufferपाने की सुविधा जोड़ी गई है. (aosp/2596550, b/251152171)
वर्शन 1.8.0-rc01
9 अगस्त, 2023
androidx.webkit:webkit:1.8.0-rc01 को 1.8.0-beta01 के बाद से बिना किसी बदलाव के रिलीज़ किया गया है. वर्शन 1.8.0-rc01 में ये बदलाव शामिल हैं.
वर्शन 1.8.0-beta01
26 जुलाई, 2023
androidx.webkit:webkit:1.8.0-beta01 को 1.8.0-alpha01 के बाद से बिना किसी बदलाव के रिलीज़ किया गया है. वर्शन 1.8.0-beta01 में ये बदलाव शामिल हैं.
वर्शन 1.8.0-alpha01
7 जून, 2023
androidx.webkit:webkit:1.8.0-alpha01 रिलीज़ हो गया है. वर्शन 1.8.0-alpha01 में ये बदलाव शामिल हैं.
एपीआई में हुए बदलाव
- External Contribution सेक्शन देखें.
बाहरी योगदान
WebMessagePortCompat#postMessage,JsReplyProxy#postMessage, औरWebViewCompat#postWebMessageपरArrayBufferपास करने की सुविधा जोड़ी गई है. साथ ही,WebMessagePortCompatऔरWebMessageListenerपर JavaScript सेArrayBufferपाने की सुविधा जोड़ी गई है. इसके अलावा,WebMessagePortCompatपर JavaScript से ट्रांसफ़र किए जा सकने वालेArrayBufferपाने की सुविधा जोड़ी गई है. कृपया ध्यान दें कि यह एपीआई सिर्फ़WebViewके वर्शन 116 से उपलब्ध होगा. (Ie7567, b/251152171)
वर्शन 1.7
वर्शन 1.7.0
24 मई, 2023
androidx.webkit:webkit:1.7.0 रिलीज़ हो गया है. वर्शन 1.7.0 में ये बदलाव शामिल हैं.
1.6.0 के बाद हुए ज़रूरी बदलाव
- हमने
WebViewमें, इमेज को खींचकर छोड़ने की सुविधा जोड़ी है. अपने ऐप्लिकेशन के मेनिफ़ेस्ट में नयाDropDataContentProviderजोड़कर, उपयोगकर्ताओं कोWebViewसे इमेज बाहर खींचने की सुविधा दी जा सकती है. इसके बारे में क्लास के दस्तावेज़ में बताया गया है. - हमने
ProcessGlobalConfig#setDirectoryBasePaths(Context,File,File)एपीआई जोड़ा है. इसका इस्तेमाल, उन बेस डायरेक्ट्री को सेट करने के लिए किया जा सकता है जिनका इस्तेमालWebViewमौजूदा प्रोसेस के लिए करेगा.ProcessGlobalConfigके सभी तरीकों की तरह, इस तरीके कोWebViewके पहले इंस्टेंस को इंस्टैंटिएट करने से पहले कॉल किया जाना चाहिए. इस तरीके को इसलिए जोड़ा गया है, ताकि Android फ़्रेमवर्क कोWebViewकी सेटिंग में बदलाव करने की सुविधा मिल सके. सामान्य मकसद वाले ऐप्लिकेशन के लिए, इस तरीके का इस्तेमाल करने का सुझाव नहीं दिया जाता.
वर्शन 1.7.0-rc01
10 मई, 2023
androidx.webkit:webkit:1.7.0-rc01 को 1.7.0-beta01 के बाद से बिना किसी बदलाव के रिलीज़ किया गया है. वर्शन 1.7.0-rc01 में ये बदलाव शामिल हैं.
वर्शन 1.7.0-beta01
5 अप्रैल, 2023
androidx.webkit:webkit:1.7.0-beta01 रिलीज़ हो गया है. वर्शन 1.7.0-beta01 में ये बदलाव शामिल हैं.
एपीआई में हुए बदलाव
- फ़ाइल के बजाय स्ट्रिंग स्वीकार करने के लिए, फ़ीचर फ़्लैग और तरीके के नाम में मामूली बदलाव किया गया है (Ib0d0a)
setDirectoryBasePaths()
वर्शन 1.7.0-alpha03
8 मार्च, 2023
androidx.webkit:webkit:1.7.0-alpha03 रिलीज़ हो गया है. वर्शन 1.7.0-alpha03 में ये बदलाव शामिल हैं.
एपीआई में हुए बदलाव
ProcessGlobalConfig#setDirectoryBasePath(String, String)एपीआई जोड़ें. इसका इस्तेमाल उन बेस डायरेक्ट्री को सेट करने के लिए किया जा सकता है जिनका इस्तेमालWebViewमौजूदा प्रोसेस के लिए करेगा. (Ibd1a1, b/250553687)
गड़बड़ियां ठीक की गईं
- अमान्य
ProGuardनियम को ठीक किया गया. इससेDexGuardका इस्तेमाल करते समय, बिल्ड से जुड़ी गड़बड़ियां होती थीं (Ia65c2, b/270034835)
वर्शन 1.7.0-alpha02
8 फ़रवरी, 2023
androidx.webkit:webkit:1.7.0-alpha02 रिलीज़ हो गया है. वर्शन 1.7.0-alpha02 में ये बदलाव शामिल हैं.
गड़बड़ियां ठीक की गईं
DropDataContentProviderके दस्तावेज़ से जुड़ी गड़बड़ियां.
वर्शन 1.7.0-alpha01
25 जनवरी, 2023
androidx.webkit:webkit:1.7.0-alpha01 रिलीज़ हो गया है. वर्शन 1.7.0-alpha01 में ये बदलाव शामिल हैं.
नई सुविधाएं
- हम
WebViewमें, इमेज को खींचकर छोड़ने की सुविधा जोड़ रहे हैं. अपने ऐप्लिकेशन के मेनिफ़ेस्ट में नयाDropDataContentProviderजोड़कर, उपयोगकर्ताओं कोWebViewसे इमेज बाहर खींचने की सुविधा दी जा सकती है. (05a1a6)
वर्शन 1.6
वर्शन 1.6.1
22 मार्च, 2023
androidx.webkit:webkit:1.6.1 रिलीज़ हो गया है. वर्शन 1.6.1 में ये बदलाव शामिल हैं.
गड़बड़ियां ठीक की गईं
- proguard पार्स करने से जुड़ी गड़बड़ी को ठीक किया गया (Ia65c2)
वर्शन 1.6.0
25 जनवरी, 2023
androidx.webkit:webkit:1.6.0 रिलीज़ हो गया है. वर्शन 1.6.0 में ये बदलाव शामिल हैं.
1.5.0 के बाद हुए अहम बदलाव
- एक नया ProcessGlobalConfig एपीआई जोड़ा गया है. इससे ऐप्लिकेशन, कॉन्फ़िगरेशन सेटिंग दे सकते हैं. इन सेटिंग को WebView लोड होने से पहले सेट करना ज़रूरी होता है. जैसे, WebView डेटा डायरेक्ट्री का सफ़िक्स. ऐप्लिकेशन शुरू होने के दौरान, कॉन्फ़िगरेशन को जल्द से जल्द सेट अप और लागू किया जाना चाहिए. इससे यह पक्का किया जा सकेगा कि कोई अन्य थ्रेड,
WebViewको प्रोसेस में लोड करने वाले किसी तरीके को कॉल करने से पहले ऐसा कर ले. - android.webkit.CookieManager को
getCookieInfoनए तरीके से बेहतर बनाने के लिए, नया CookieManagerCompat एपीआई जोड़ा गया है. यह किसी यूआरएल पर सेट की गई सभी कुकी के लिए सभी एट्रिब्यूट वापस लाता है. यहCookieManagerमें मौजूद getCookie API से अलग है. यह सिर्फ़ कुकी के नाम और वैल्यू एट्रिब्यूट दिखाता है. WebSettingsCompatमें,EnterpriseAuthenticationAppLinkPolicyके असर को चालू/बंद करने के नए तरीके हैं. ऐसा तब किया जा सकता है, जब एडमिन नेWebViewमेंEnterpriseAuthenticationAppLinkPolicyको सेट किया हो. साथ ही,WebSettingsCompatमें मौजूदा सेटिंग पाने के नए तरीके भी हैं. इस सुविधा की मदद से, पुष्टि करने वाले यूआरएल को खोलने के बजाय, पुष्टि करने वाले ऐप्लिकेशन को खोला जा सकता है. इस सुविधा का असर उन डिवाइसों पर नहीं पड़ता जिन्हें एंटरप्राइज़ की नीति के तहत मैनेज नहीं किया जाता.WebSettingsCompatमें एक नया एपीआई जोड़ा गया है. इससे ऐप्लिकेशन, अनुमति वाली सूची में शामिल ऑरिजिन कोX-Requested-Withहेडर में ऐप्लिकेशन के पैकेज का नाम साफ़ तौर पर भेज सकेंगे. आम तौर पर,WebViewसे किए गए हर अनुरोध पर यह हेडर भेजा जाता है.
वर्शन 1.6.0-rc01
11 जनवरी, 2023
androidx.webkit:webkit:1.6.0-rc01 रिलीज़ हो गया है. वर्शन 1.6.0-rc01 में ये बदलाव शामिल हैं.
गड़बड़ियां ठीक की गईं
- SDK < L पर चलने पर,
WebViewFeature.isStartupFeatureSupported(Context, String)मेंNullPointerExceptionठीक किया गया. (Ic7292)
वर्शन 1.6.0-beta01
7 दिसंबर, 2022
androidx.webkit:webkit:1.6.0-beta01 रिलीज़ हो गया है. वर्शन 1.6.0-beta01 में ये बदलाव शामिल हैं.
एपीआई में हुए बदलाव
ProcessGlobalConfigको बदलकर, सामान्य कंस्ट्रक्टर और स्टैटिक ऐप्लिकेशन मेथड का इस्तेमाल किया गया है. apply तरीके को हर प्रोसेस के लिए सिर्फ़ एक बार कॉल किया जाना चाहिए. साथ ही, इसे जल्द से जल्द कॉल किया जाना चाहिए. अगर इसे एक से ज़्यादा बार कॉल किया जाता है, तो यहIllegalStateExceptionथ्रो करेगा.ProcessGlobalConfigऑब्जेक्ट के लिए, अब यह पाबंदी नहीं है कि सेटर को कितनी बार कॉल किया जा सकता है. (I456c3)
वर्शन 1.6.0-alpha03
9 नवंबर, 2022
androidx.webkit:webkit:1.6.0-alpha03 रिलीज़ हो गया है. वर्शन 1.6.0-alpha03 में ये बदलाव शामिल हैं.
नई सुविधाएं
ProcessGlobalConfigक्लास जोड़ें. इससे उपयोगकर्ता,WebViewको लोड करने से पहले प्रोसेस ग्लोबल कॉन्फ़िगरेशन सेट कर पाएंगे.WebViewमें कुछ प्रोसेस-ग्लोबल कॉन्फ़िगरेशन पैरामीटर होते हैं.WebViewके लोड होने के बाद, इन्हें बदला नहीं जा सकता. उदाहरण के लिए,WebViewडेटा डायरेक्ट्री. इस क्लास की मदद से, ऐप्लिकेशन इन पैरामीटर को सेट कर सकते हैं. ऐप्लिकेशन शुरू होने के दौरान, कॉन्फ़िगरेशन को जल्द से जल्द सेट अप और लागू किया जाना चाहिए. इससे यह पक्का किया जा सकेगा कि कोई अन्य थ्रेड,WebViewको प्रोसेस में लोड करने वाले किसी तरीके को कॉल करने से पहले ऐसा कर ले. (I7c0e0, b/250553687)- नया एपीआई जोड़ा गया है. इससे ऐप्लिकेशन, अनुमति वाली सूची में शामिल ऑरिजिन को X-Requested-With हेडर में ऐप्लिकेशन के पैकेज का नाम साफ़ तौर पर भेज सकेंगे. आम तौर पर,
WebViewसे किए गए हर अनुरोध पर यह हेडर भेजा जाता है. (I0adfe, b/226552535)
एपीआई में हुए बदलाव
WebSettingsCompat#setAlgorithmicDarkeningAllowedAPI,WebViewके वर्शन 105 और इसके बाद के वर्शन में, Android के सभी वर्शन पर काम करता है.WebViewके पिछले वर्शन में, एपीआई सिर्फ़ Android Q और इसके बाद के वर्शन पर काम करता था. इस वजह से, इस एपीआई को अब@RequiresApi(Build.VERSION_CODES.Q)के तौर पर मार्क नहीं किया गया है. (I3ac1d)
वर्शन 1.6.0-alpha02
24 अक्टूबर, 2022
androidx.webkit:webkit:1.6.0-alpha02 रिलीज़ हो गया है. वर्शन 1.6.0-alpha02 में ये बदलाव शामिल हैं.
नई सुविधाएं
- यह एक नई
CookieManagerCompatक्लास के साथ-साथ एकgetCookieInfoएपीआई जोड़ता है. यह एपीआई, किसी यूआरएल पर सेट की गई सभी कुकी के लिए सभी एट्रिब्यूट को वापस लाता है. यहCookieManagerमें मौजूदgetCookieएपीआई से अलग है. यह सिर्फ़ कुकी के नाम और वैल्यू एट्रिब्यूट दिखाता है. (I07365, b/242161756)
वर्शन 1.6.0-alpha01
24 अगस्त, 2022
androidx.webkit:webkit:1.6.0-alpha01 रिलीज़ हो गया है. वर्शन 1.6.0-alpha01 में ये बदलाव शामिल हैं.
नई सुविधाएं
WebSettingsCompatमें एपीआई जोड़े गए हैं, ताकि एडमिन केWebViewमें सेट किए गएEnterpriseAuthenticationAppLinkPolicyके असर को चालू/बंद किया जा सके. इस सुविधा की मदद से,WebViewपुष्टि करने वाले यूआरएल को खोलने के बजाय, पुष्टि करने वाले ऐप्लिकेशन को खोल सकता है. इस सुविधा का असर उन डिवाइसों पर नहीं पड़ता जिन्हें एंटरप्राइज़ की नीति के तहत मैनेज नहीं किया जाता.
वर्शन 1.5.0
वर्शन 1.5.0
24 अगस्त, 2022
androidx.webkit:webkit:1.5.0 रिलीज़ हो गया है. वर्शन 1.5.0 में ये बदलाव शामिल हैं.
1.4.0 के बाद के मुख्य बदलाव
WebSettingsCompatपर मौजूद नयाsetAlgorithmicDarkeningAllowedएपीआई, पुरानेsetForceDarkऔरsetForceDarkStrategyएपीआई की जगह लेगा. एसडीके 33 और इससे ऊपर के वर्शन (T) को टारगेट करने वाले ऐप्लिकेशन को नए एपीआई का इस्तेमाल करना चाहिए. ऐसा इसलिए, क्योंकि पुराने एपीआई का उन ऐप्लिकेशन पर कोई असर नहीं पड़ेगा.- कॉन्फ़िगर किए गए प्रॉक्सी का इस्तेमाल करने के लिए, यूआरएल की अनुमति वाली सूची को अब
ProxyCofig.Builderके ज़रिए सेट किया जा सकता है. इसके लिए,setReverseBypassEnabledकोtrueपर सेट करें. इस सेटिंग के लागू होने पर, अन्य सभी यूआरएल कॉन्फ़िगर की गई प्रॉक्सी को बायपास कर देंगे.
वर्शन 1.5.0-rc01
10 अगस्त, 2022
androidx.webkit:webkit:1.5.0-rc01 को 1.5.0-beta01 के बाद से बिना किसी बदलाव के रिलीज़ किया गया है. वर्शन 1.5.0-rc01 में ये बदलाव शामिल हैं.
वर्शन 1.5.0-beta01
29 जून, 2022
androidx.webkit:webkit:1.5.0-beta01 रिलीज़ हो गया है. वर्शन 1.5.0-beta01 में ये बदलाव शामिल हैं.
एपीआई में हुए बदलाव
- एल्गोरिदम के हिसाब से अंधेरा करने से जुड़े एपीआई को अब एनोटेट किया गया है, ताकि एपीआई लेवल Q की ज़रूरत हो. एपीआई का असर, एपीआई लेवल < Q पर नहीं पड़ेगा, क्योंकि इन डिवाइसों पर डार्क थीम का विकल्प उपलब्ध नहीं है. (I0905e)
वर्शन 1.5.0-alpha01
18 मई, 2022
androidx.webkit:webkit:1.5.0-alpha01 रिलीज़ हो गया है. वर्शन 1.5.0-alpha01 में ये बदलाव शामिल हैं.
नई सुविधाएं
WebViewसे भेजे गए X-Client-Data हेडर की वैल्यू पाने के लिए,WebViewCompatपर नईgetVariationsHeader()विधि जोड़ें. इस फ़ंक्शन से मिलने वाली वैल्यू, base64 कोड में बदला गया ClientVariations protobuf होगा.WebSettingsCompatपर एपीआई जोड़ें, ताकि targetSdk >= 33 वाले ऐप्लिकेशन के लिए, एल्गोरिथम के हिसाब से स्क्रीन को हल्का या गहरा करने की सुविधा को अनुमति दी जा सके या अनुमति न दी जा सके. (I29597)
एपीआई में हुए बदलाव
- रिवर्स बायपास सेट करने के लिए,
ProxyCofig.Builderमें नया तरीका जोड़ें. रिवर्स बायपास को 'सही है' पर सेट करने का मतलब है कि बायपास सूची में मौजूद सिर्फ़ यूआरएल, प्रॉक्सी सेटिंग का इस्तेमाल करेंगे. (I9eaa2, b/168728599)
गड़बड़ियां ठीक की गईं
- गहरे रंग वाली थीम के दस्तावेज़ में टाइपिंग की गलती को ठीक किया गया. (I36ebf, b/194343633)
- एक गड़बड़ी को ठीक किया गया है. इसमें
WebViewAssetLoader.Builderतरीके, अनजाने में क्रम पर निर्भर थे. (If420d, b/182196765)
वर्शन 1.4.0
वर्शन 1.4.0
16 दिसंबर, 2020
androidx.webkit:webkit:1.4.0 रिलीज़ हो गया है. वर्शन 1.4.0 में ये बदलाव शामिल हैं.
1.3.0 के बाद के मुख्य बदलाव
setSafeBrowsingWhitelist()की जगह लेने के लिए, एक नयाsetSafeBrowsingAllowlist()एपीआई जोड़ा गया है. इससे ऐप्लिकेशन, अपने कोड को अपडेट कर पाते हैं, ताकि वे ऐसे शब्दों का इस्तेमाल न करें जो किसी समुदाय को ठेस पहुंचाते हैं. साथ ही, वे Android SDK और WebView के उसी वर्शन के साथ काम कर पाते हैं जो बंद किए गए एपीआई के साथ काम करते थे.- setProxyOverride में मौजूद एक गड़बड़ी को ठीक किया गया है. इसकी वजह से, फ़ॉलबैक नियमों को सही तरीके से लागू नहीं किया जा रहा था.
वर्शन 1.4.0-rc02
2 दिसंबर, 2020
androidx.webkit:webkit:1.4.0-rc02 रिलीज़ हो गया है. वर्शन 1.4.0-rc02 में ये बदलाव शामिल हैं.
गड़बड़ियां ठीक की गईं
- setProxyOverride का इस्तेमाल करते समय, फ़ॉलबैक के नियमों को सही तरीके से लागू न किए जाने की समस्या ठीक की गई है.
वर्शन 1.4.0-rc01
11 नवंबर, 2020
androidx.webkit:webkit:1.4.0-rc01 को 1.4.0-beta01 के बाद से बिना किसी बदलाव के रिलीज़ किया गया है. वर्शन 1.4.0-rc01 में ये बदलाव शामिल हैं.
वर्शन 1.4.0-beta01
14 अक्टूबर, 2020
androidx.webkit:webkit:1.4.0-beta01 को 1.4.0-alpha01 के बाद से बिना किसी बदलाव के रिलीज़ किया गया है. वर्शन 1.4.0-beta01 में ये बदलाव शामिल हैं.
वर्शन 1.4.0-alpha01
16 सितंबर, 2020
androidx.webkit:webkit:1.4.0-alpha01 रिलीज़ हो गया है. वर्शन 1.4.0-alpha01 में ये बदलाव शामिल हैं.
एपीआई में हुए बदलाव
setSafeBrowsingWhitelist()की जगह इस्तेमाल करने के लिए, नयाWebViewCompat#setSafeBrowsingAllowlist()एपीआई जोड़ा गया. इससे ऐप्लिकेशन, अपने कोड को अपडेट कर पाते हैं, ताकि वे ऐसे शब्दों का इस्तेमाल न करें जो किसी खास समूह के लिए आपत्तिजनक हो. साथ ही, वे Android SDK टूल और वेबव्यू के उसी वर्शन के साथ काम कर पाते हैं जो बंद किए गए एपीआई के साथ काम करते थे. (I8d65d)
वर्शन 1.3.0
वर्शन 1.3.0
19 अगस्त, 2020
androidx.webkit:webkit:1.3.0 रिलीज़ हो गया है. वर्शन 1.3.0 में ये बदलाव शामिल हैं.
1.2.0 के बाद के मुख्य बदलाव
- ForceDarkStrategy API, वेबव्यू को डार्क मोड में दिखाने की सुविधा को ज़्यादा कंट्रोल करता है. जैसे, सीएसएस/वेब कॉन्टेंट को डार्क मोड में दिखाना बनाम अपने-आप डार्क मोड में दिखाना.
- WebMessageListener और इससे जुड़े एपीआई, वेब कॉन्टेंट और WebView एम्बेडर ऐप्लिकेशन के बीच बातचीत करने का आसान और सुरक्षित तरीका उपलब्ध कराते हैं.
isMultiProcessEnabledयह एपीआई यह देखने के लिए है कि WebView, मल्टी प्रोसेस में चल रहा है या नहीं. ऐसा Android O से शुरू किया जा सकता है. इसका मतलब है कि वेब कॉन्टेंट को सैंडबॉक्स किए गए रेंडरर प्रोसेस में रेंडर किया जाता है. यह ऐप्लिकेशन प्रोसेस से अलग होती है. इस सैंडबॉक्स किए गए रेंडरर को एक ही ऐप्लिकेशन में मौजूद अन्य WebView के साथ शेयर किया जा सकता है. हालांकि, इसे अन्य ऐप्लिकेशन प्रोसेस के साथ शेयर नहीं किया जाता.
वर्शन 1.3.0-rc02
5 अगस्त, 2020
androidx.webkit:webkit:1.3.0-rc02 रिलीज़ हो गया है. वर्शन 1.3.0-rc02 में ये बदलाव शामिल हैं.
गड़बड़ियां ठीक की गईं
- इस वर्शन में, कंपैटिबिलिटी से जुड़ी समस्या को ठीक किया गया है. इस समस्या में, अगर आपके ऐप्लिकेशन को Android Studio के इंस्टैंट रन फ़ीचर के साथ शुरू किया गया था, तो लोकल डेवलपमेंट के दौरान
WebMessageListenerकभी-कभी क्रैश हो जाता था.
वर्शन 1.3.0-rc01
24 जून, 2020
androidx.webkit:webkit:1.3.0-rc01 को 1.3.0-beta01 के बाद से बिना किसी बदलाव के रिलीज़ किया गया है. वर्शन 1.3.0-rc01 में ये बदलाव शामिल हैं.
वर्शन 1.3.0-beta01
10 जून, 2020
androidx.webkit:webkit:1.3.0-beta01 रिलीज़ हो गया है. वर्शन 1.3.0-beta01 में ये बदलाव शामिल हैं.
नई सुविधाएं
ForceDarkStrategyWebView को गहरा करने की सुविधा को कंट्रोल करने के लिए एपीआई (सीएसएस/वेब कॉन्टेंट को गहरा करने की सुविधा बनाम अपने-आप गहरा होने की सुविधा).WebMessageListenerएपीआई, वेब कॉन्टेंट और वेबव्यू एम्बेडर ऐप्लिकेशन के बीच बातचीत करने का आसान और सुरक्षित तरीका उपलब्ध कराते हैं.MultiProcessEnabledयह एपीआई यह जांच करता है कि WebView, मल्टी प्रोसेस मोड में चल रहा है या नहीं.
वर्शन 1.3.0-alpha03
27 मई, 2020
androidx.webkit:webkit:1.3.0-alpha03 रिलीज़ हो गया है. वर्शन 1.3.0-alpha03 में ये बदलाव शामिल हैं.
एपीआई में हुए बदलाव
addWebMessageListenerतरीके को अब अनुमति वाले ऑरिजिन के नियमों काSet<String>मिलता है. पहले यहList<String>था.
वर्शन 1.3.0-alpha02
29 अप्रैल, 2020
androidx.webkit:webkit:1.3.0-alpha02 रिलीज़ हो गया है. वर्शन 1.3.0-alpha02 में ये बदलाव शामिल हैं.
नई सुविधाएं
- MultiProcessEnabled API, यह देखने के लिए कि WebView मल्टी प्रोसेस मोड में चल रहा है या नहीं.
एपीआई में हुए बदलाव
- गहरे रंग वाली थीम से जुड़े सभी कॉन्स्टेंट के नाम से पहले अब
DARK_STRATEGYजोड़ा गया है.
वर्शन 1.3.0-alpha01
15 अप्रैल, 2020
androidx.webkit:webkit:1.3.0-alpha01 रिलीज़ हो गया है. वर्शन 1.3.0-alpha01 में ये बदलाव शामिल हैं.
नई सुविधाएं
ForceDarkStrategyWebViewको कंट्रोल करने के लिए एपीआई (सीएसएस/वेब कॉन्टेंट को गहरा करने की सुविधा बनाम अपने-आप गहरा होने की सुविधा).WebMessageListenerएपीआई, वेब कॉन्टेंट और वेबव्यू एम्बेडर ऐप्लिकेशन के बीच बातचीत करने का आसान और सुरक्षित तरीका उपलब्ध कराते हैं.
वर्शन 1.2.0
वर्शन 1.2.0
4 मार्च, 2020
androidx.webkit:webkit:1.2.0 रिलीज़ हो गया है. वर्शन 1.2.0 में ये बदलाव शामिल हैं.
1.1.0 के बाद के मुख्य बदलाव
- ForceDark API जोड़ा गया है. इससे यह कंट्रोल किया जा सकेगा कि WebViews को डार्क मोड में रेंडर किया जाना चाहिए या नहीं.
वर्शन 1.2.0-rc01
19 फ़रवरी, 2020
androidx.webkit:webkit:1.2.0-rc01 को 1.2.0-beta01 के बाद से बिना किसी बदलाव के रिलीज़ किया गया है. वर्शन 1.2.0-rc01 में ये बदलाव शामिल हैं.
वर्शन 1.2.0-beta01
5 फ़रवरी, 2020
androidx.webkit:webkit:1.2.0-beta01 को 1.2.0-alpha01 के बाद से बिना किसी बदलाव के रिलीज़ किया गया है. वर्शन 1.2.0-beta01 में ये बदलाव शामिल हैं.
वर्शन 1.2.0-alpha01
18 दिसंबर, 2019
androidx.webkit:webkit:1.2.0-alpha01 रिलीज़ हो गया है. वर्शन 1.2.0-alpha01 में ये बदलाव शामिल हैं.
नई सुविधाएं
- ForceDark API, यह कंट्रोल करने के लिए कि WebViews को डार्क मोड में रेंडर किया जाना चाहिए या नहीं.
वर्शन 1.1.0
वर्शन 1.1.0
7 नवंबर, 2019
androidx.webkit:webkit:1.1.0 रिलीज़ हो गया है. वर्शन 1.1.0 में ये बदलाव शामिल हैं.
1.0.0 के बाद हुए अहम बदलाव
- setWebViewClient() और setWebChromeClient() के साथ काम करने वाले Getter API.
- ProxyController API का इस्तेमाल करके, किसी ऐप्लिकेशन के WebViews के लिए नेटवर्क का अनुरोध प्रॉक्सी सेट करें.
- WebViewAssetLoader API, अनुरोध इंटरसेप्ट करके ऐप्लिकेशन के डेटा डायरेक्ट्री से APK ऐसेट, संसाधन, और फ़ाइलों को लोड करने की प्रोसेस को आसान बनाता है. इससे सीओआरएस को बंद किए बिना, वेब और स्थानीय संसाधनों को ऐक्सेस किया जा सकता है.
- इस कुकी का इस्तेमाल, डीबग करने के मकसद से WebView की ट्रेसिंग की जानकारी इकट्ठा करने के लिए TracingController API करता है.
- RenderProcess API, वेबव्यू रेंडरर सेवाओं को मैनेज करने के लिए. साथ ही, यह पता लगाने के लिए कि खराब कॉन्टेंट की वजह से, वेबव्यू रेंडरर कब काम नहीं करते.
- मौजूदा एपीआई को अपडेट किया गया है, ताकि उनमें नल वैल्यू (
@NonNull,@Nullable) और थ्रेड (@UiThread,@WorkerThread) के एनोटेशन शामिल किए जा सकें.
वर्शन 1.1.0-rc01
9 अक्टूबर, 2019
androidx.webkit:webkit:1.1.0-rc01 रिलीज़ हो गया है. वर्शन 1.1.0-rc01 में ये बदलाव शामिल हैं.
गड़बड़ियां ठीक की गईं
- उस समस्या को ठीक कर दिया गया है जिसकी वजह से, शून्य क्लाइंट पास करने पर
setWebViewRenderProcessClient()क्रैश हो सकता था.
वर्शन 1.1.0-beta01
5 सितंबर, 2019
androidx.webkit:webkit:1.1.0-beta01 रिलीज़ हो गया है. इस वर्शन में शामिल बदलाव यहां देखे जा सकते हैं.
नई सुविधाएं
- ऐप्लिकेशन की डेटा डायरेक्ट्री से फ़ाइलें लोड करने के लिए,
WebViewAssetLoaderमें नयाInternalStoragePathHandler.
एपीआई में हुए बदलाव
ProxyConfig#getProxyRules()अबProxyRuleइंस्टेंस की ऐसी सूची दिखाता है जिसमें बदलाव नहीं किया जा सकता. यह एक नई क्लास है, जो स्कीम फ़िल्टर और उससे जुड़े प्रॉक्सी यूआरएल को होल्ड करती है.
गड़बड़ियां ठीक की गईं
- जब फ़ाइल पाथ से MIME टाइप का पता नहीं चलता है, तब
WebViewAssetLoaderडिफ़ॉल्ट रूप से "text/plain" MIME टाइप पर सेट हो जाता है. हालांकि, ऐसा तब होता है, जब MIME टाइप शून्य न हो. WebViewAssetLoaderअब पाथ के नामों में खास वर्णों वाली फ़ाइलें लोड करते समयNullPointerExceptionनहीं दिखाता है.
वर्शन 1.1.0-alpha02
7 अगस्त, 2019
androidx.webkit:webkit:1.1.0-alpha02 रिलीज़ हो गया है. इस वर्शन में शामिल बदलाव यहां देखे जा सकते हैं.
नई सुविधाएं
WebViewAssetLoader,PathHandlerइंटरफ़ेस को दिखाता है, ताकि ऐप्लिकेशन पाथ को मैनेज करने की कस्टम सुविधा बना सकें.
एपीआई में हुए बदलाव
WebViewAssetLoaderअब एक फ़ाइनल क्लास है, क्योंकि इसे सब-क्लास नहीं किया जा सकता.WebViewAssetLoader#PathHandlerको लागू करने के तरीके अब सार्वजनिक तौर पर उपलब्ध हैं और इन्हें फ़ाइनल कर दिया गया है.- ProxyConfig के तरीके के नामों में मामूली बदलाव किए गए हैं.
ProxyController: सर्वर से सीधे तौर पर कनेक्ट करने के लिए, नए तरीकेaddDirect()औरaddDirect(String)जोड़े गए; DIRECT स्ट्रिंग हटा दी गई.- मौजूदा एपीआई को अपडेट किया गया है, ताकि उनमें नल वैल्यू (
@NonNull,@Nullable) और थ्रेड (@UiThread,@WorkerThread) के एनोटेशन शामिल किए जा सकें.
वर्शन 1.1.0-alpha01
7 मई, 2019
androidx.webkit:webkit:1.1.0-alpha01 रिलीज़ हो गया है. इस वर्शन में शामिल बदलाव यहां देखे जा सकते हैं.
नई सुविधाएं
setWebViewClient()औरsetWebChromeClient()के साथ काम करने वाले Getter API- ProxyController API का इस्तेमाल करके, किसी ऐप्लिकेशन के WebViews के लिए नेटवर्क का अनुरोध प्रॉक्सी सेट करें.
- AssetLoader API की मदद से, अनुरोध को इंटरसेप्ट करके APK ऐसेट और संसाधनों को आसानी से लोड किया जा सकता है. इससे सीओआरएस को बंद किए बिना, वेब संसाधनों को ऐक्सेस किया जा सकता है.
- इस कुकी का इस्तेमाल, डीबग करने के मकसद से WebView की ट्रेसिंग की जानकारी इकट्ठा करने के लिए TracingController API करता है.
- RenderProcess API, वेबव्यू रेंडरर सेवाओं को मैनेज करने के लिए. साथ ही, यह पता लगाने के लिए कि खराब कॉन्टेंट की वजह से, वेबव्यू रेंडरर कब काम नहीं करते.
गड़बड़ियां ठीक की गईं
- मौजूदा एपीआई के लिए, दस्तावेज़ के फ़ॉर्मैट में मामूली बदलाव किए गए हैं.