Webkit

Android 5 और इसके बाद के वर्शन पर, मॉडर्न WebView API के साथ काम करें.
नया अपडेट स्टेबल रिलीज़ रिलीज़ कैंडिडेट बीटा रिलीज़ ऐल्फ़ा रिलीज़
17 दिसंबर, 2025 1.15.0 - - -

डिपेंडेंसी का एलान करना

Webkit पर डिपेंडेंसी जोड़ने के लिए, आपको अपने प्रोजेक्ट में Google Maven रिपॉज़िटरी जोड़नी होगी. ज़्यादा जानकारी के लिए, Google की Maven रिपॉज़िटरी पढ़ें.

अपने ऐप्लिकेशन या मॉड्यूल के लिए, build.gradle फ़ाइल में उन आर्टफ़ैक्ट की डिपेंडेंसी जोड़ें जिनकी आपको ज़रूरत है:

ग्रूवी

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

Kotlin

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

डिपेंडेंसी के बारे में ज़्यादा जानने के लिए, बिल्ड डिपेंडेंसी जोड़ना लेख पढ़ें.

सुझाव/राय दें या शिकायत करें

आपके सुझाव, शिकायत या राय से Jetpack को बेहतर बनाने में मदद मिलती है. अगर आपको कोई नई समस्या मिलती है या आपके पास इस लाइब्रेरी को बेहतर बनाने के लिए सुझाव हैं, तो हमें बताएं. कृपया नई समस्या सबमिट करने से पहले, इस लाइब्रेरी में शामिल मौजूदा समस्याओं को देखें. स्टार बटन पर क्लिक करके, किसी मौजूदा समस्या के लिए वोट किया जा सकता है.

नई समस्या दर्ज करने का तरीका

ज़्यादा जानकारी के लिए, Issue Tracker का दस्तावेज़ देखें.

वर्शन 1.15

वर्शन 1.15.0

17 दिसंबर, 2025

androidx.webkit:webkit:1.15.0 रिलीज़ हो गया है. वर्शन 1.15.0 में ये बदलाव शामिल हैं.

1.14.0 के बाद हुए ज़रूरी बदलाव

इस रिलीज़ में, minSdk को एपीआई 21 से बढ़ाकर एपीआई 23 कर दिया गया है. इसमें एपीआई की ये नई सुविधाएं भी जोड़ी गई हैं:

  • WebView और Service Workers के लिए, shouldInterceptRequest कॉलबैक के हिस्से के तौर पर कुकी ऐक्सेस और सेट करता है. फ़िलहाल, जो ऐप्लिकेशन डेवलपर अपने CookieManager के हिस्से के तौर पर CookieManager API को ऐक्सेस करते हैं वे अब सीधे तौर पर कुकी हेडर चालू कर सकते हैं. इसके लिए, उन्हें WebViewCompat#setCookiesIncludedInShouldInterceptRequest को कॉल करना होगा.shouldInterceptRequest इसके बाद, WebView, WebResourceRequest.getRequestHeaders() मैप में Cookie हेडर जोड़ देगा. यह हेडर, अनुरोध पर लागू होने वाली कुकी के बारे में सटीक जानकारी देगा. इससे पार्टिशन्ड कुकी को भी सही तरीके से मैनेज किया जा सकेगा. ऐप्लिकेशन, नई जोड़ी गई WebResourceResponseCompat#setCookies एपीआई के ज़रिए Set-Cookie हेडर वैल्यू दे सकते हैं. जवाब को मैनेज करने के दौरान, WebView वहां जोड़ी गई Set-Cookie वैल्यू को प्रोसेस करेगा.
  • अनुरोध के लिए, पसंद के मुताबिक हेडर सेट करें. 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 जोड़ा गया. इससे Chromium को स्टार्टअप करने के दौरान 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)
  • HyperlinkContextMenu API जोड़ें, ताकि WebView हाइपरलिंक के कॉन्टेक्स्ट मेन्यू (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 एपीआई जोड़ा गया है. इससे ऐप्लिकेशन, वेबव्यू में यूआरएल दिखने से पहले ही उन्हें प्रीरेंडर कर सकते हैं.
    प्रीरेंडरिंग की मदद से, पेज को पहले से फ़ेच करके लोड करने की परफ़ॉर्मेंस को बेहतर बनाया जा सकता है. जब उपयोगकर्ता यूआरएल पर जाता है, तो उसे पहले से रेंडर किया गया पेज तुरंत दिखता है.
    इन एपीआई को पहले एक्सपेरिमेंट के तौर पर रिलीज़ किया गया था. अब इनका इस्तेमाल @OptIn एनोटेशन के बिना किया जा सकता है. (Ie14f5)
  • अब startUpWebView API को कॉल करते समय, सिंक किए गए तरीके से लोड करने के लिए प्रोफ़ाइलों का सेट तय किया जा सकता है. इसे 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)
  • आधिकारिक androidx.core.os.OutcomeReceiverCompat वर्शन के लिए, OutcomeReceiverCompat इंटरफ़ेस को हटा दिया गया है. अब इस लाइब्रेरी के लिए, compileSdk 35 या इसके बाद का वर्शन ज़रूरी है. (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 के तहत CookieManager API को ऐक्सेस करने वाले ऐप्लिकेशन डेवलपर, अब सीधे 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() का दस्तावेज़ देखें.
  • पेश है एक्सपेरिमेंट के तौर पर उपलब्ध Navigation API. इसकी मदद से, WebView में वेब नेविगेशन को बेहतर तरीके से ट्रैक और मैनेज किया जा सकता है. ये एपीआई, नेविगेशन इवेंट के बारे में पूरी जानकारी देते हैं. पेज नेविगेशन के बारे में ज़्यादा जानकारी पाने के लिए, नए WebNaviagationClient इंटरफ़ेस को लागू करके, WebViewCompat.setNavigationClient को कॉल करें. नेविगेशन के लाइफ़साइकल के बारे में ज़्यादा जानने के लिए, कृपया नेविगेशन प्रज़ेंटेशन का लाइफ़साइकल देखें.

वर्शन 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() एपीआई (Ic29cd, b/406701301) में कॉन्टेक्स्ट को पैरामीटर के तौर पर जोड़ा गया

वर्शन 1.14.0-alpha01

9 अप्रैल, 2025

androidx.webkit:webkit:1.14.0-alpha01 रिलीज़ हो गया है. वर्शन 1.14.0-alpha01 में ये बदलाव शामिल हैं.

नई सुविधाएं

  • पेश है PaymentRequest एपीआई. इसकी मदद से, org.chromium.intent.action.PAY इंटेंट के ज़रिए Android के नेटिव पेमेंट ऐप्लिकेशन को चालू किया जा सकता है. 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)
  • यह WebViewCompat#saveState की तरह ही काम करता है. हालांकि, इससे वापस लाए गए स्टेट का साइज़ सीमित किया जा सकता है. साथ ही, यह तय किया जा सकता है कि आगे के इतिहास की एंट्री सेव करनी हैं या नहीं.WebView#saveState (Iea7d6)
  • SpeculativeLoadingConfig API (I67245) में maxPrerenders कॉन्फ़िगरेशन जोड़ा गया

वर्शन 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)
  • setPartitionedCookiesEnabled एपीआई जोड़ें. इससे डेवलपर, WebView में पार्टीशन की गई कुकी को चालू और बंद कर सकेंगे. (Ic506a, b/364904765)
  • NetworkStatsManager/TrafficStats का इस्तेमाल करके, WebView के नेटवर्क ट्रैफ़िक का हिसाब रखने के लिए, WebView में सॉकेट टैगिंग एपीआई जोड़ें. यह सुविधा सिर्फ़ WebView M133 से उपलब्ध होगी. (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)
  • setPartitionedCookiesEnabled एपीआई जोड़ें. इससे डेवलपर, 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 में सॉकेट टैगिंग एपीआई जोड़ें. यह सुविधा सिर्फ़ WebView M133 से उपलब्ध होगी. (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)
  • इस WebSettings के लिए, स्पेकुलेटिव लोडिंग के व्यवहार को कंट्रोल करने के लिए, WebSettingsCompat में एक नया एपीआई जोड़ें. फ़िलहाल, सिर्फ़ प्रीरेंडरिंग उपलब्ध है. फ़िलहाल, इस एपीआई पर एक्सपेरिमेंट किया जा रहा है. आने वाले समय में, इसमें बदलाव हो सकता है. (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 के बाद हुए अहम बदलाव

  • ऐप्लिकेशन को WebView में ऑडियो चलाने की सुविधा कंट्रोल करने की अनुमति दें. इसके लिए, नए setAudioMuted और isAudioMuted एपीआई का इस्तेमाल करें. ये एपीआई, Chrome में किसी टैब को म्यूट करने के जैसे ही होते हैं.
  • URLUtilCompat को लॉन्च किया गया है. यह Content-Disposition हेडर को पार्स करने की सुविधा देता है. ये हेडर, RFC 6266 में बताए गए filename* कोड में बदली गई वैल्यू एट्रिब्यूट का इस्तेमाल करते हैं. कॉम्पैटिबिलिटी एपीआई, 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 हेडर को पार्स करने की सुविधा देता है. ये हेडर, filename* कोड में बदली गई वैल्यू एट्रिब्यूट का इस्तेमाल करते हैं. इसे आरएफ़सी 6266 में तय किया गया है. कॉम्पैटिबिलिटी एपीआई, 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 की मदद से, अपने ऐप्लिकेशन में उपलब्ध प्रोफ़ाइलों को मैनेज किया जा सकता है. इसमें डिफ़ॉल्ट प्रोफ़ाइल भी शामिल है.
    • CookieManager#getInstance जैसे मौजूदा WebView API, डिफ़ॉल्ट प्रोफ़ाइल पर काम करते रहेंगे.
  • पेज लोड होने से पहले, JavaScript को इंजेक्ट और चलाने के लिए एक एपीआई जोड़ा गया है.
    • WebViewCompat#addDocumentStartJavascript API की मदद से, ऐप्लिकेशन WebView में स्क्रिप्ट इंजेक्ट कर सकते हैं. इन स्क्रिप्ट के, पेज की किसी भी स्क्रिप्ट के लागू होने से पहले चलने की गारंटी होती है. इस एपीआई की मदद से, ऐप्लिकेशन उन ऑरिजिन की टारगेट सूची तय कर सकता है जिन पर स्क्रिप्ट को चालू करना है. इससे यह पक्का होता है कि स्क्रिप्ट सिर्फ़ उन पेजों पर चलती है जिन पर इसे चलाना है. WebView#evaluateJavascript के उलट, यह एपीआई एम्बेड किए गए Iframes में स्क्रिप्ट को लोड होने पर चलाने की अनुमति देगा. ऐप्लिकेशन, इस नए एपीआई का इस्तेमाल WebViewCompat#addWebMessageListener के साथ कर सकते हैं. इससे, पेज में मौजूद JavaScript के साथ भरोसेमंद तरीके से दोनों तरफ़ से कम्यूनिकेशन सेट अप किया जा सकता है.
  • Privacy Sandbox Attribution Reporting इवेंट रजिस्टर करने के तरीके में बदलाव करने के लिए, एपीआई जोड़े गए.
    • हमने एक नया एपीआई WebSettingsCompat#setAttributionRegistrationBehavior पेश किया है. इसकी मदद से डेवलपर यह कॉन्फ़िगर कर सकते हैं कि एट्रिब्यूशन सोर्स और ट्रिगर, ऐप्लिकेशन से रजिस्टर किए गए हैं या WebView में मौजूद वेब कॉन्टेंट से. इस तरीके का इस्तेमाल, वेबव्यू में Attribution Reporting को बंद करने के लिए भी किया जा सकता है. इसके अलावा, हमने मौजूदा व्यवहार को समझने के लिए एक नया एपीआई WebSettingsCompat#getAttributionRegistrationBehavior जोड़ा है.
    • ज़्यादा जानकारी के लिए, Privacy Sandbox का दस्तावेज़ देखें.
  • क्लाइंट के संकेतों के लिए, उपयोगकर्ता एजेंट के मेटाडेटा को बदलने वाले एपीआई जोड़े गए.
    • हमने एक नया एपीआई, WebSettingsCompat#setUserAgentMetadata लॉन्च किया है. इसका इस्तेमाल, उपयोगकर्ता-एजेंट क्लाइंट हिंट को भरने के लिए इस्तेमाल किए गए 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 लॉन्च किया है. इसकी मदद से डेवलपर यह कॉन्फ़िगर कर सकते हैं कि सोर्स और ट्रिगर, ऐप्लिकेशन से रजिस्टर किए गए हैं या WebView में मौजूद वेब कॉन्टेंट से. इस तरीके का इस्तेमाल, WebView में एट्रिब्यूशन रिपोर्टिंग की सुविधा बंद करने के लिए भी किया जा सकता है. इसके अलावा, हमने मौजूदा व्यवहार को समझने के लिए एक नया एपीआई 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 में ये बदलाव शामिल हैं.

एपीआई में हुए बदलाव

  • 'बाहरी योगदान' सेक्शन देखें.

बाहरी योगदान

  • 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 को लोड करने वाले किसी तरीके को कॉल करने से पहले ऐसा हो.
  • CookieManagerCompat नाम का नया एपीआई जोड़ा गया है. इससे android.webkit.CookieManager को getCookieInfo नाम के नए तरीके के साथ बढ़ाया जा सकता है. यह तरीका, किसी यूआरएल पर सेट की गई सभी कुकी के सभी एट्रिब्यूट को वापस लाता है. यह CookieManager में मौजूद getCookie API से अलग है. यह सिर्फ़ कुकी के नाम और वैल्यू एट्रिब्यूट दिखाता है.
  • WebSettingsCompat में, EnterpriseAuthenticationAppLinkPolicy के असर को चालू/बंद करने के नए तरीके हैं. ऐसा तब होता है, जब एडमिन ने WebView में EnterpriseAuthenticationAppLinkPolicy को सेट किया हो. साथ ही, मौजूदा सेटिंग पाने के नए तरीके भी हैं. इस सुविधा की मदद से, पुष्टि करने वाले यूआरएल को खोलने के बजाय, WebView में पुष्टि करने वाले ऐप्लिकेशन को खोला जा सकता है. इस सुविधा का असर उन डिवाइसों पर नहीं पड़ता जिन्हें एंटरप्राइज़ की नीति के तहत मैनेज नहीं किया जाता.
  • 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#setAlgorithmicDarkeningAllowed एपीआई, Android के सभी वर्शन पर काम करता है. इसके लिए, WebView का वर्शन 105 या इसके बाद का वर्शन होना चाहिए. 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 पर एपीआई जोड़ें, ताकि टारगेट एसडीके >= 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 टूल और WebView के उसी वर्शन के साथ काम कर सकें जो बंद किए गए एपीआई के साथ काम करते थे. (I8d65d)

वर्शन 1.3.0

वर्शन 1.3.0

19 अगस्त, 2020

androidx.webkit:webkit:1.3.0 रिलीज़ हो गया है. वर्शन 1.3.0 में ये बदलाव शामिल हैं.

1.2.0 के बाद के मुख्य बदलाव

  • ForceDarkStrategy API, WebView को डार्क मोड में दिखाने की सुविधा को ज़्यादा कंट्रोल करता है. जैसे, सीएसएस/वेब कॉन्टेंट को डार्क मोड में दिखाना बनाम अपने-आप डार्क मोड में दिखाना.
  • WebMessageListener और इससे जुड़े एपीआई, वेब कॉन्टेंट और WebView एम्बेडर ऐप्लिकेशन के बीच बातचीत करने का एक आसान और सुरक्षित तरीका उपलब्ध कराते हैं.
  • isMultiProcessEnabled यह एपीआई, यह देखने के लिए है कि WebView मल्टी प्रोसेस में चल रहा है या नहीं. ऐसा Android O से शुरू किया जा सकता है. इसका मतलब है कि वेब कॉन्टेंट को सैंडबॉक्स किए गए रेंडरर प्रोसेस में रेंडर किया जाता है. यह ऐप्लिकेशन प्रोसेस से अलग होती है. इस सैंडबॉक्स किए गए रेंडरर को एक ही ऐप्लिकेशन में मौजूद अन्य WebView के साथ शेयर किया जा सकता है. हालांकि, इसे अन्य ऐप्लिकेशन प्रोसेस के साथ शेयर नहीं किया जाता.

वर्शन 1.3.0-rc02

5 अगस्त, 2020

androidx.webkit:webkit:1.3.0-rc02 रिलीज़ हो गया है. वर्शन 1.3.0-rc02 में ये बदलाव शामिल हैं.

गड़बड़ियां ठीक की गईं

  • इस वर्शन में, WebMessageListener के साथ काम करने से जुड़ी समस्या को ठीक किया गया है. इस समस्या में, अगर आपके ऐप्लिकेशन को 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 में ये बदलाव शामिल हैं.

नई सुविधाएं

  • ForceDarkStrategy WebView को गहरा करने की सुविधा को कंट्रोल करने के लिए एपीआई (सीएसएस/वेब कॉन्टेंट को गहरा करने की सुविधा बनाम अपने-आप गहरा होने की सुविधा).
  • 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 में ये बदलाव शामिल हैं.

नई सुविधाएं

  • ForceDarkStrategy WebView को कंट्रोल करने के लिए एपीआई (सीएसएस/वेब कॉन्टेंट को गहरा करने की सुविधा बनाम अपने-आप गहरा होने की सुविधा).
  • 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, वेबव्यू रेंडरर सेवाओं को मैनेज करने के लिए. साथ ही, यह पता लगाने के लिए कि खराब कॉन्टेंट की वजह से, वेबव्यू रेंडरर कब काम नहीं करते.

गड़बड़ियां ठीक की गईं

  • मौजूदा एपीआई के लिए, दस्तावेज़ के फ़ॉर्मैट में मामूली बदलाव किए गए हैं.