Webkit
| नया अपडेट | स्टेबल रिलीज़ | रिलीज़ कैंडिडेट | बीटा रिलीज़ | ऐल्फ़ा रिलीज़ |
|---|---|---|---|---|
| 14 जनवरी, 2026 | 1.15.0 | - | - | 1.16.0-alpha01 |
डिपेंडेंसी का एलान करना
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.16
वर्शन 1.16.0-alpha01
14 जनवरी, 2026
androidx.webkit:webkit:1.16.0-alpha01 रिलीज़ हो गया है. वर्शन 1.16.0-alpha01 में ये बदलाव शामिल हैं.
नई सुविधाएं
onFirstContentfulPaintMillis,onLargestContentfulPaintMillis, औरonPerformanceMarkMillisसेNavigationListenerमें नए वेब परफ़ॉर्मेंस मेट्रिक एपीआई जोड़े गए. इन एपीआई की मदद से डेवलपर, JavaScript का इस्तेमाल करके FCP/LCP और परफ़ॉर्मेंस मार्क को वापस पाने के बजाय, सीधे अपने ऐप्लिकेशन में उन्हें ट्रैक कर सकते हैं. (I50266, b/432696062)- यह कुकी,
NAVIGATION_LISTENER_NON_NULL_PAGE_FOR_SAME_DOCUMENT_NAVIGATIONSकोWebViewFeatureमें जोड़ती है. इसका इस्तेमाल यह तय करने के लिए किया जा सकता है कि एक ही दस्तावेज़ पर नेविगेट करने पर,Navigation#getPageशून्य वैल्यू दिखाएगा या नहीं. (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 और Service Workers के लिए,
shouldInterceptRequestकॉलबैक के हिस्से के तौर पर कुकी ऐक्सेस और सेट करता है. फ़िलहाल, जो ऐप्लिकेशन डेवलपर अपनेshouldInterceptRequestके हिस्से के तौर परCookieManagerAPI को ऐक्सेस करते हैं वे अब सीधे तौर पर कुकी हेडर चालू कर सकते हैं. इसके लिए, उन्हें WebViewCompat#setCookiesIncludedInShouldInterceptRequest को कॉल करना होगा. इसके बाद,WebView, WebResourceRequest.getRequestHeaders() मैप मेंCookieहेडर जोड़ देगा. यह हेडर, अनुरोध पर लागू होने वाली कुकी के बारे में सटीक जानकारी देगा. इससे पार्टिशन्ड कुकी को भी सही तरीके से मैनेज किया जा सकेगा. ऐप्लिकेशन,Set-Cookieहेडर वैल्यू दे सकते हैं. इसके लिए, हाल ही में जोड़े गए WebResourceResponseCompat#setCookies एपीआई का इस्तेमाल करें. जवाब को मैनेज करने के दौरान,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 एपीआई की मदद से बदला नहीं जा सकता. इसका मतलब है कि अब 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) UserAgentफ़ॉर्म फ़ैक्टर को 1.16 रिलीज़ तक छिपाना (Ibac8a, b/430554841, b/454438418)- Navigation API को अपडेट किया गया है, ताकि ऐप्लिकेशन
NavigationListenerइंस्टेंस उपलब्ध करा सकें. इन्हें बैकग्राउंड थ्रेड कॉलबैक के लिए, कस्टम एक्ज़ीक्यूटर के साथ कॉन्फ़िगर किया जा सकता है. अब एकNavigationListenerमें कईNavigationListenerइंस्टेंस जोड़े जा सकते हैं.WebView
इसके अलावा, इस अपडेट में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हाइपरलिंक के कॉन्टेक्स्ट मेन्यू (Idb809, b/382654667) में आइटम को पसंद के मुताबिक बनाने की सुविधा देने के लिए,HyperlinkContextMenuएपीआई जोड़ें- उन मामलों को डीबग करने के लिए
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एपीआई को कॉल करते समय, सिंक किए गए तरीके से लोड करने के लिए प्रोफ़ाइलों का सेट तय किया जा सकता है. इसे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#setProfilesToLoadDuringStartupAPI (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इंटरफ़ेस को हटा दिया गया है. अब इस लाइब्रेरी के लिए,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 लॉन्च किया गया है. ये एपीआई, नेविगेशन इवेंट के बारे में पूरी जानकारी देते हैं. पेज नेविगेशन के बारे में ज़्यादा जानकारी पाने के लिए, नए 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) SpeculativeLoadingConfigAPI (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में सॉकेट टैगिंग एपीआई जोड़ें. यह सुविधा सिर्फ़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)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में सॉकेट टैगिंग एपीआई जोड़ें. यह सुविधा सिर्फ़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,WebViewमेंWebAuthnकॉल को चालू/बंद कर सकता है. इसके लिए,WebSettingsCompat#setWebAuthenticationSupportका इस्तेमाल किया जाता है. (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हेडर को पार्स करने की सुविधा देता है. ये हेडर, RFC 6266 में बताए गएfilename*कोड में बदली गई वैल्यू एट्रिब्यूट का इस्तेमाल करते हैं. साथ ही, Compatibility API सीधे तौर पर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*कोड में बदली गई वैल्यू एट्रिब्यूट का इस्तेमाल करते हैं. साथ ही, Compatibility API सीधे तौर पर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 के उलट, यह एपीआई एम्बेड किए गए Iframes में स्क्रिप्ट को लोड होने पर चलाने की अनुमति देगा. ऐप्लिकेशन, इस नए एपीआई का इस्तेमाल 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 के उपयोगकर्ता-एजेंट मेटाडेटा को बदलने के लिए किया जाता है. हमने एक और नया एपीआई 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में 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में मौजूदा सेटिंग पाने का भी नया तरीका है. इस सुविधा की मदद से, पुष्टि करने वाले यूआरएल को खोलने के बजाय, 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एपीआई,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 टूल और 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 में ये बदलाव शामिल हैं.
नई सुविधाएं
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, वेबव्यू रेंडरर सेवाओं को मैनेज करने के लिए. साथ ही, यह पता लगाने के लिए कि खराब कॉन्टेंट की वजह से, वेबव्यू रेंडरर कब काम नहीं करते.
गड़बड़ियां ठीक की गईं
- मौजूदा एपीआई के लिए, दस्तावेज़ के फ़ॉर्मैट में मामूली बदलाव किए गए हैं.