Chrome 132 बीटा

पब्लिश होने की तारीख: 13 नवंबर, 2024

यहां दिए गए बदलाव, Android, ChromeOS, Linux, macOS, और Windows के लिए Chrome के बीटा चैनल की सबसे नई रिलीज़ पर लागू होते हैं. हालांकि, अगर किसी बदलाव के बारे में अलग से जानकारी दी गई है, तो वह जानकारी लागू होगी. यहां दी गई सुविधाओं के बारे में ज़्यादा जानने के लिए, दिए गए लिंक पर क्लिक करें या ChromeStatus.com पर मौजूद सूची देखें. 13 नवंबर, 2024 तक Chrome 132 बीटा वर्शन में उपलब्ध है. डेस्कटॉप के लिए, Google.com से या Android पर Google Play Store से, सबसे नया वर्शन डाउनलोड किया जा सकता है.

सीएसएस

इस रिलीज़ में, सीएसएस की दो नई सुविधाएं जोड़ी गई हैं.

सीएसएस ऐंकर पोज़िशनिंग: inset और margin प्रॉपर्टी में anchor-size() की अनुमति दें

शुरुआत में, anchor-size() को सिर्फ़ साइज़िंग प्रॉपर्टी में इस्तेमाल करने की अनुमति थी. इस स्पेसिफ़िकेशन में बदलाव किया गया है, ताकि इनसेट और मार्जिन में भी anchor-size() का इस्तेमाल किया जा सके.

सीएसएस के साइडवेज़ राइटिंग मोड

writing-mode CSS प्रॉपर्टी के लिए, sideways-rl और sideways-lr कीवर्ड इस्तेमाल किए जा सकते हैं. sideways-rl और sideways-lr, नॉन-सीजेके टेक्स्ट को वर्टिकल तरीके से लिखने में मदद करते हैं. इनमें vertical-rl और vertical-lr की तरह, CJK भाषाओं के लिए फ़ायदेमंद व्यवहार नहीं होते.

Web APIs

सभी स्क्रीन कैप्चर करना

getAllScreensMedia() का इस्तेमाल करके, डिवाइस से कनेक्ट की गई सभी स्क्रीन कैप्चर करें.

getDisplayMedia() को कई बार कॉल करने के लिए, उपयोगकर्ता को कई बार जेस्चर करने पड़ते हैं. साथ ही, हर बार अगली स्क्रीन चुनने की ज़िम्मेदारी उपयोगकर्ता पर आ जाती है. इसके अलावा, ऐप्लिकेशन को यह गारंटी नहीं मिलती कि सभी स्क्रीन चुनी गई हैं. getAllScreensMedia() तरीके से इन सभी पहलुओं में सुधार होता है.

यह सुविधा सिर्फ़ डेस्कटॉप पर उपलब्ध है.

डायलॉग टॉगल इवेंट

<dialog> एलिमेंट कब खुलते और बंद होते हैं, यह जानना ज़रूरी है. साथ ही, popover में पहले से ही ToggleEvent मौजूद है, जो पॉपओवर के खुलने या बंद होने पर भेजा जाता है. पहले, <dialog> के खुलने का पता लगाने के लिए, आपको म्यूटेशन ऑब्ज़र्वर रजिस्टर करना पड़ता था. इससे यह पता चलता था कि <dialog> खुला है या नहीं. हालांकि, यह काफ़ी मुश्किल काम है. इसके बजाय, इवेंट का इस्तेमाल करना ज़्यादा आसान होगा.

इस बदलाव में, पॉपओवर से भेजे जाने वाले ToggleEvent को शामिल किया गया है. हालांकि, यह <dialog> एलिमेंट के लिए है: जब showModal या show को कॉल किया जाता है, तब <dialog>, newState=open के साथ ToggleEvent भेजता है. जब कोई <dialog> बंद किया जाता है (फ़ॉर्म, बटन या closewatcher का इस्तेमाल करके), तो उसे newState=closed के साथ ToggleEvent भेजना चाहिए.

तत्व कैप्चर करने की सुविधा

टैब-कैप्चर शुरू करने के लिए, पहले से मौजूद किसी तरीके से MediaStreamTrack वीडियो दिया जाता है. एलिमेंट कैप्चर की मदद से, ट्रैक में बदलाव किया जा सकता है, ताकि सिर्फ़ दिए गए एलिमेंट से शुरू होने वाले DOM के सबट्री को कैप्चर किया जा सके.

यह एपीआई, रीजन कैप्चर एपीआई से मिलता-जुलता है. हालांकि, यह ऐप्लिकेशन के लिए ज़्यादा फ़्लेक्सिबल है, क्योंकि इसमें कैप्चर किए जाने वाले कॉन्टेंट और कैप्चर नहीं किए जाने वाले कॉन्टेंट, दोनों को कैप्चर से बाहर रखा जाता है.

FedCM की अनुमति देने से जुड़ी सुविधाएं

इसमें कुछ ऐसी सुविधाएं शामिल हैं जिनका इस्तेमाल आइडेंटिटी प्रोवाइडर (आईडीपी) कर सकते हैं. इससे वे अनुमति देने के फ़्लो लागू कर सकते हैं. जैसे, किसी उपयोगकर्ता को किसी Relying Party (आरपी) को अपने कैलेंडर का ऐक्सेस देने की अनुमति देना. खास तौर पर:

  • IdP को अनुमति (जारी रखने वाला एपीआई) के लिए कस्टम प्रॉम्प्ट दिखाने की सुविधा देनी होगी.
  • आरपी को IdP से यह बताने के लिए एक एक्सटेंसिबल तरीके की ज़रूरत होती है कि उसे किस चीज़ का ऐक्सेस चाहिए (पैरामीटर एपीआई).
  • आरपी को, IdP के साथ "नाम, ईमेल पता, और प्रोफ़ाइल फ़ोटो" शेयर करने के बारे में बताने वाले टेक्स्ट को पसंद के मुताबिक बनाने या छिपाने की सुविधा मिलनी चाहिए. ऐसा इसलिए, क्योंकि इस स्थिति में वे अलग-अलग जानकारी (फ़ीड एपीआई) मांग रहे हैं.
  • आईडीपी, ऑथराइज़ेशन फ़्लो (कई configURL) को लागू करने के लिए किसी दूसरे एंडपॉइंट का इस्तेमाल कर सकता है.
  • कुछ खाते, पुष्टि करने और अनुमति देने के सिर्फ़ एक फ़्लो के लिए ज़रूरी शर्तें पूरी कर सकते हैं. इसलिए, दोनों फ़्लो में अलग-अलग खातों को दिखाने का तरीका होना चाहिए (खाता लेबल एपीआई).

FedCM Mode API और Use Other Account API

FedCM के लिए दो नए एक्सटेंशन:

  • मोड: active मोड की मदद से वेबसाइटें, बटन क्लिक के दौरान FedCM को कॉल कर सकती हैं. उदाहरण के लिए, आईडीपी में साइन-इन करें बटन पर क्लिक करना. इसके लिए, FedCM को यह गारंटी देनी होगी कि वह हमेशा दिखने वाले उपयोगकर्ता इंटरफ़ेस के साथ जवाब देगा. जब उपयोगकर्ता लॉग आउट होते हैं, तब FedCM API को ऐक्टिव मोड में कॉल करने पर, उपयोगकर्ताओं को IdentityProvider (IdP) में लॉग इन करने के लिए कहा जाता है. इसके अलावा, ऐक्टिव मोड को उपयोगकर्ता के साफ़ तौर पर किए गए जेस्चर के अंदर कॉल किया जाता है. इसलिए, यूज़र इंटरफ़ेस (यूआई) भी पैसिव मोड के यूज़र इंटरफ़ेस (यूआई) की तुलना में ज़्यादा प्रमुख होता है. उदाहरण के लिए, यह बीच में और मॉडल होता है. पैसिव मोड के यूज़र इंटरफ़ेस (यूआई) के लिए, उपयोगकर्ता के जेस्चर की ज़रूरत नहीं होती है और इसे पेज लोड होने पर कॉल किया जा सकता है.
  • Use Other Account: इस एक्सटेंशन की मदद से, IdP उपयोगकर्ताओं को दूसरे खातों में साइन इन करने की अनुमति दे सकता है.

फ़ेच: Request.bytes() और Response.bytes()

Request और Response इंटरफ़ेस में bytes() मेथड जोड़ें. यह एक ऐसा प्रॉमिस दिखाता है जो Uint8Array के साथ रिज़ॉल्व होता है. Request और Response में arrayBuffer() तरीका है, लेकिन बफ़र से सीधे नहीं पढ़ा जा सकता. इसे पढ़ने के लिए, आपको Uint8Array जैसा व्यू बनाना होगा. bytes() तरीके से, अनुरोध और जवाब के मुख्य हिस्से को पाने की एर्गोनॉमिक्स बेहतर होती है.

Android और WebView के लिए File System Access API

इस एपीआई की मदद से डेवलपर, ऐसे बेहतरीन ऐप्लिकेशन बना सकते हैं जो उपयोगकर्ता के डिवाइस पर मौजूद अन्य (नॉन-वेब) ऐप्लिकेशन के साथ इंटरैक्ट करते हैं. इसके लिए, वे डिवाइस के फ़ाइल सिस्टम का इस्तेमाल करते हैं. जब कोई उपयोगकर्ता किसी वेब ऐप्लिकेशन को ऐक्सेस करने की अनुमति देता है, तब यह एपीआई उस ऐप्लिकेशन को उपयोगकर्ता की चुनी गई फ़ाइलों और फ़ोल्डर में सीधे तौर पर बदलाव करने या उन्हें सेव करने की अनुमति देता है. यह एपीआई, फ़ाइलों को पढ़ने और लिखने के अलावा, डायरेक्ट्री खोलने और उसके कॉन्टेंट को गिनने की सुविधा भी देता है. साथ ही, फ़ाइल और डायरेक्ट्री के हैंडल को IndexedDB में सेव करता है, ताकि बाद में उसी कॉन्टेंट को फिर से ऐक्सेस किया जा सके.

फ़ाइल सिस्टम ऐक्सेस की सुविधा, Chrome 86 में डेस्कटॉप पर उपलब्ध कराई गई थी. Chrome 132 में यह सुविधा Android और WebView पर उपलब्ध है.

लोकल होस्ट के लिए, Strict-Transport-Security को अनदेखा करें

Strict-Transport-Security (एसटीएस) रिस्पॉन्स हेडर, लोकल होस्ट वेब सर्वर के लिए समस्याएं पैदा कर सकते हैं. ऐसा इसलिए, क्योंकि एसटीएस पूरे होस्ट पर लागू होता है. साथ ही, यह सभी पोर्ट पर भी लागू होता है. इससे वेब डेवलपर को, स्थानीय तौर पर जांच करने में समस्याएं आती हैं. इससे उन असली उपयोगकर्ताओं पर भी असर पड़ता है जो ऐसे सॉफ़्टवेयर पैकेज का इस्तेमाल करते हैं जो कुछ समय के लिए लोकलहोस्ट वेब सर्वर शुरू करते हैं. उदाहरण के लिए, वेब लॉगिन से स्थानीय सॉफ़्टवेयर पैकेज में पुष्टि करने वाले टोकन का कम्यूनिकेशन. अगर कोई लोकल लिसनर, लोकल होस्ट के जवाब पर Strict-Transport-Security सेट करता है, तो यह बाद के सभी लोकल होस्ट अनुरोधों पर लागू होता है. भले ही, पोर्ट कुछ भी हो.

Chrome 132 इस समस्या को ठीक करता है. इसके लिए, वह लोकल होस्ट यूआरएल से मिले जवाबों में मौजूद Strict-Transport-Security हेडर को अनदेखा करता है.

कीबोर्ड की मदद से, इस्तेमाल किए जा सकने वाले स्क्रोल कंटेनर

सुलभता से जुड़ी समस्या की वजह से, इस सुविधा को Chrome 130 में रोल आउट नहीं किया गया. इस समस्या को ठीक कर दिया गया है. साथ ही, Chrome 132 के साथ यह सुविधा रोल आउट होती रहेगी.

Private State Token API की अनुमतियों से जुड़ी नीति के लिए, अनुमति वाली सूची में शामिल डिफ़ॉल्ट वाइल्डकार्ड

Private State Token API का ऐक्सेस, Permissions Policy की सुविधाओं के ज़रिए कंट्रोल किया जाता है. Chrome 132, private-state-token-issuance और private-state-token-redemption, दोनों सुविधाओं के लिए डिफ़ॉल्ट तौर पर अनुमति वाली सूची को self से * (वाइल्डकार्ड) पर अपडेट करता है.

PushMessageData::bytes()

PushMessageData इंटरफ़ेस, Body इंटरफ़ेस की तरह काम करता है. इसमें इस साल की शुरुआत में, bytes() का नया तरीका जोड़ा गया था. इसका सिद्धांत यह है कि एपीआई को आम तौर पर, बाइट बफ़र को Uint8Arrays के तौर पर बेचना चाहिए. Chrome 132, Body इंटरफ़ेस के साथ फिर से अलाइन हो जाता है. इसके लिए, यह PushMessageData इंटरफ़ेस पर bytes() ऐक्सेसर उपलब्ध कराता है.

sharedStorage.selectURL में सेव की गई क्वेरी

sharedStorage.selectURL() अब हर पेज के हिसाब से क्वेरी सेव करने और उनका दोबारा इस्तेमाल करने की अनुमति देता है. इसमें, हर पेज लोड के लिए दो बजट तब लिए जाते हैं, जब पहली बार कोई सेव की गई क्वेरी चलाई जाती है. हालांकि, उसी पेज लोड के दौरान सेव की गई क्वेरी को दोबारा चलाने पर बजट नहीं लिया जाता. ऐसा selectURL() के विकल्पों में मौजूद savedQuery पैरामीटर की मदद से किया जाता है. यह पैरामीटर, क्वेरी का नाम बताता है.

जो दस्तावेज़ चालू नहीं हैं उनमें पॉप-ओवर और डायलॉग के लिए अपवाद जनरेट करना

पहले, किसी ऐसे पॉपओवर या डायलॉग पर showPopover() या showModal() को कॉल करने पर कोई गड़बड़ी नहीं होती थी जो बंद किए गए दस्तावेज़ में मौजूद होता था. कोई अपवाद नहीं दिखेगा. हालांकि, दस्तावेज़ के चालू न होने की वजह से, कोई पॉपओवर या डायलॉग नहीं दिखेगा. Chrome 132 के बाद से, इन स्थितियों में InvalidStateError दिखता है.

WebAuthn Signal API

इस कुकी की मदद से, WebAuthn पर भरोसा करने वाली पार्टियां, क्रेडेंशियल स्टोरेज की सुविधा देने वाली कंपनियों को मौजूदा क्रेडेंशियल के बारे में जानकारी भेज सकती हैं. इससे, गलत या रद्द किए गए क्रेडेंशियल को अपडेट किया जा सकता है या उन्हें क्रेडेंशियल स्टोरेज की सुविधा देने वाली कंपनी और सिस्टम यूज़र इंटरफ़ेस (यूआई) से हटाया जा सकता है.

Chrome के डेस्कटॉप वर्शन पर पासकी के लिए Signal API के बारे में ज़्यादा जानें.

WebGPU: 32-बिट फ़्लोट टेक्सचर ब्लेंडिंग

float32-blendable जीपीयू की सुविधा की मदद से, r32float, rg32float, और rgba32float फ़ॉर्मैट वाले जीपीयू टेक्सचर को ब्लेंड किया जा सकता है.

WebGPU: GPUDevice से GPUAdapterInfo को दिखाएं

GPUDevice adapterInfo एट्रिब्यूट, GPUAdapter ऑब्जेक्ट की तरह ही GPUAdapterInfo को दिखाता है.

WebGPU: Texture view का इस्तेमाल

WebGPU टेक्सचर व्यू बनाने के लिए, एक वैकल्पिक फ़ील्ड जोड़ता है. इससे सोर्स टेक्सचर से इस्तेमाल के फ़्लैग के सबसेट का अनुरोध किया जा सकता है.

डिफ़ॉल्ट रूप से, टेक्सचर व्यू का इस्तेमाल, सोर्स टेक्सचर से इनहेरिट होता है. हालांकि, ऐसे व्यू फ़ॉर्मैट होते हैं जो इनहेरिट किए गए इस्तेमाल के पूरे सेट के साथ काम नहीं कर सकते. टेक्सचर व्यू बनाने के लिए, इस्तेमाल का फ़ील्ड जोड़ने से उपयोगकर्ता, सोर्स टेक्सचर के इस्तेमाल के ऐसे सबसेट का अनुरोध कर सकता है जो व्यू फ़ॉर्मैट के साथ मान्य हों. साथ ही, टेक्सचर व्यू के इस्तेमाल के लिए खास तौर पर बनाए गए हों.

WebGPU को लागू करने से, लो लेवल के रिसॉर्स बनाने की प्रोसेस को ऑप्टिमाइज़ किया जा सकता है. साथ ही, ज़्यादा खास इस्तेमाल के फ़्लैग के साथ व्यू का इस्तेमाल करने पर परफ़ॉर्मेंस को बेहतर बनाया जा सकता है.

नए ऑरिजिन ट्रायल

Chrome 132 में, इन नई ऑरिजिन ट्रायल के लिए ऑप्ट इन किया जा सकता है.

Document-Isolation-Policy

Document-Isolation-Policy की मदद से, कोई दस्तावेज़ अपने लिए crossOriginIsolation चालू कर सकता है. इसके लिए, उसे COOP या COEP को डिप्लॉय करने की ज़रूरत नहीं होती. साथ ही, पेज के crossOriginIsolation स्टेटस से भी कोई फ़र्क़ नहीं पड़ता. यह नीति, प्रोसेस आइसोलेशन पर आधारित है. इसके अलावा, दस्तावेज़ के नॉन-सीओआरएस क्रॉस-ऑरिजिन सब-रिसोर्स, क्रेडेंशियल के बिना लोड किए जाएंगे या उनके लिए CORP हेडर की ज़रूरत होगी.

मैजिक कॉमेंट्स की मदद से, कंपाइल करने के लिए साफ़ तौर पर दिए गए सुझाव

इस सुविधा की मदद से, JavaScript फ़ाइलों में यह जानकारी अटैच की जा सकती है कि किन फ़ंक्शन को तुरंत पार्स और कंपाइल किया जाना चाहिए. जानकारी को मैजिक कमेंट के तौर पर कोड में बदला जाएगा.

बंद की गई और हटाई गई सुविधाएं

Chrome के इस वर्शन में, इन सुविधाओं को बंद कर दिया गया है और इन्हें हटा दिया गया है. प्लान की गई सुविधाओं को बंद करने, अभी बंद की गई सुविधाओं, और पहले हटाई गई सुविधाओं की सूचियों के लिए, ChromeStatus.com पर जाएं.

Chrome के इस वर्शन से दो सुविधाएं हटा दी गई हैं.

navigator.storage को स्टोरेज प्रेशर इवेंट के लिए EventTarget बनाया गया था. हालांकि, यह कभी प्रोटोटाइप फ़ेज़ से आगे नहीं बढ़ पाया. इस डेड कोड को हटाया जा रहा है. इस वजह से, navigator.storage अब EventTarget को नहीं बढ़ाएगा.

प्रीफ़िक्स किए गए HTMLVideoElement फ़ुलस्क्रीन एपीआई हटाएं

Chrome से, प्रीफ़िक्स किए गए HTMLVideoElement के फ़ुलस्क्रीन एपीआई को बंद कर दिया गया है

इनकी जगह Element.requestFullscreen() एपीआई ने ले ली है. इसे पहली बार 2018 में Chrome 71 में बिना प्रीफ़िक्स के शिप किया गया था. साल 2024 तक, ज़्यादातर ब्राउज़र में बिना प्रीफ़िक्स वाले एपीआई का इस्तेमाल किया जा रहा है.

Chrome 132, HTMLVideoElement से इन्हें हटा देता है:

  • webkitSupportsFullscreen एट्रिब्यूट.
  • webkitDisplayingFullscreen एट्रिब्यूट.
  • webkitEnterFullscreen() तरीका.
  • webkitExitFullscreen() तरीका. ध्यान दें कि FullScreen में "S" को अलग-अलग तरीके से कैपिटल किया गया है.
  • webkitEnterFullScreen() तरीका.
  • webkitExitFullScreen() तरीका.

ये तरीके अब सिर्फ़ आधुनिक एपीआई के लिए एलियास हैं. इनका इस्तेमाल पिछले कुछ सालों में लगातार कम हुआ है.