Chrome 131 का बीटा वर्शन

पब्लिश होने की तारीख: 16 अक्टूबर, 2024

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

सीएसएस

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

सीएसएस ऐंकर पोज़िशनिंग: anchor-scope

anchor-scope प्रॉपर्टी की मदद से, किसी सबट्री में ही ऐंकर के नाम दिखाए जा सकते हैं.

​सीएसएस font-variant-emoji

font-variant-emoji सीएसएस प्रॉपर्टी से, रंगीन (इमोजी स्टाइल) और एक रंग वाले (टेक्स्ट स्टाइल) इमोजी ग्लिफ़ के बीच स्विच करने का विकल्प मिलता है. ऐसा करने के लिए, हर इमोजी कोडपॉइंट के बाद इमोजी वैरिएशन सिलेक्टर जोड़ा जा सकता है. जैसे, टेक्स्ट के लिए U+FE0E और इमोजी के लिए U+FE0F.

सीएसएस हाइलाइट इनहेरिटेंस

सीएसएस हाइलाइट इनहेरिटेंस की मदद से, ::selection और ::highlight जैसे सीएसएस हाइलाइट सूडो-क्लास, एलिमेंट चेन के बजाय सूडो हाइलाइट चेन की मदद से अपनी प्रॉपर्टी इनहेरिट करते हैं. इससे हाइलाइट में प्रॉपर्टी को इनहेरिट करने के लिए, ज़्यादा आसान तरीका मिलता है.

ज़्यादा जानने के लिए, Igalia के स्टीफ़न चेनी की लिखी ब्लॉग पोस्ट सीएसएस सिलेक्शन स्टाइल के लिए इनहेरिटेंस में हुए बदलाव पढ़ें.

<details> और <summary> एलिमेंट के स्टाइल स्ट्रक्चर में सुधार

<details> और <summary> एलिमेंट के स्ट्रक्चर के लिए, ज़्यादा सीएसएस स्टाइल का इस्तेमाल किया जा सकता है. इससे, इन एलिमेंट का इस्तेमाल उन ज़्यादा मामलों में किया जा सकता है जहां वेब पर डिसक्लोज़र विजेट या अकॉर्डियन विजेट बनाए जाते हैं. खास तौर पर, इस बदलाव से उन पाबंदियों को हटा दिया गया है जिनकी वजह से इन एलिमेंट पर डिसप्ले प्रॉपर्टी सेट नहीं की जा सकती थी. साथ ही, इस बदलाव से ::details-content स्यूडो-एलिमेंट जोड़ा गया है, ताकि उस हिस्से के लिए कंटेनर को स्टाइल किया जा सके जो बड़ा और छोटा होता है.

@page मार्जिन बॉक्स

वेब दस्तावेज़ को प्रिंट करते समय या PDF के तौर पर एक्सपोर्ट करते समय, पेज मार्जिन बॉक्स के लिए सहायता जोड़ें.

@page मार्जिन बॉक्स की मदद से, किसी पेज के मार्जिन एरिया में कॉन्टेंट तय किया जा सकता है. उदाहरण के लिए, ब्राउज़र से जनरेट किए गए हेडर और फ़ुटर का इस्तेमाल करने के बजाय, पसंद के मुताबिक हेडर और फ़ुटर जोड़े जा सकते हैं.

मार्जिन बॉक्स को सीएसएस @page नियम के अंदर at-rule का इस्तेमाल करके तय किया जाता है. मार्जिन बॉक्स के दिखने के तरीके और कॉन्टेंट को, at-rule में मौजूद सीएसएस प्रॉपर्टी की मदद से तय किया जाता है. इनमें content प्रॉपर्टी भी शामिल है. पेज नंबर डालने के लिए, काउंटर का भी इस्तेमाल किया जा सकता है. स्पेसिफ़िकेशन में दो खास काउंटर के नाम तय किए गए हैं: मौजूदा पेज नंबर के लिए page और कुल पेजों की संख्या के लिए pages.

@property के साथ <string> सिंटैक्स का इस्तेमाल करना

रजिस्टर की गई कस्टम प्रॉपर्टी के लिए, <string> सिंटैक्स कॉम्पोनेंट के नाम के साथ काम करता है.

रिलेटिव कलर सिंटैक्स में currentcolor का इस्तेमाल करना

currentcolor को बेस के तौर पर इस्तेमाल करने के लिए, सीएसएस में रिलेटिव कलर (from कीवर्ड का इस्तेमाल करके) की अनुमति दें. इसकी मदद से, किसी एलिमेंट के बॉर्डर, शैडो या बैकग्राउंड के लिए, एलिमेंट के टेक्स्ट के रंग के आधार पर, एक-दूसरे के साथ मैच होने वाले रंग सेट किए जा सकते हैं.

इस सुविधा में ऐसे इस्तेमाल के उदाहरण भी शामिल हैं जहां कलर फ़ंक्शन, currentcolor पर निर्भर होने के साथ नेस्ट किए गए हैं. उदाहरण के लिए, color-mix(in srgb, rgb(from currentcolor r g b), white)) या rgb(from rgb(from currentcolor 1 g b) b g r).

clip-path, fill, stroke, और marker-* प्रॉपर्टी के लिए, बाहरी SVG संसाधनों का इस्तेमाल किया जा सकता है

इस सुविधा की मदद से, क्लिप पाथ, मार्कर, और 'फ़िल' और 'स्ट्रोक' प्रॉपर्टी के लिए, पेंट सर्वर के बाहरी रेफ़रंस जोड़े जा सकते हैं. उदाहरण के लिए, clip-path: url("resources.svg#myPath").

वेब एपीआई

Direct Sockets API

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

Speculation-Rules हेडर को सीएसपी की पाबंदियों से छूट देना

अनुमान लगाने से जुड़े नियमों और सीएसपी के बीच इंटिग्रेशन को अपडेट करता है, ताकि सीएसपी सिर्फ़ <script type=speculationrules> पर लागू हो, न कि Speculation-Rules हेडर पर. सीएसपी की स्क्रिप्ट नीतियां, एचटीएमएल में स्क्रिप्ट इंजेक्शन से बचाने के लिए बनाई गई हैं. साथ ही, सीएसपी का खतरा मॉडल, एचटीटीपी हेडर से जुड़ा नहीं है. इससे, सीडीएन और अन्य एज सर्वर से अनुमान लगाने से जुड़े नियमों को आसानी से डिप्लॉय किया जा सकता है.

Storage Access API के लिए, भरोसे के सिग्नल के तौर पर FedCM

यह FedCM और Storage Access API को मिलान करता है. इसके लिए, यह पहले से मौजूद FedCM को स्टोरेज ऐक्सेस के अनुरोध को अपने-आप मंज़ूरी देने के लिए, मान्य वजह बताता है.

जब कोई उपयोगकर्ता, किसी भरोसेमंद पक्ष (आरपी) पर तीसरे पक्ष के आइडेंटिटी प्रोवाइडर (आईडीपी) के साथ अपनी पहचान का इस्तेमाल करने की अनुमति देता है, तो कई आईडीपी को सही और सुरक्षित तरीके से काम करने के लिए, तीसरे पक्ष की कुकी की ज़रूरत होती है. इस प्रस्ताव का मकसद, Storage Access API (SAA) की अनुमति की जांच को अपडेट करके, निजी और सुरक्षित तरीके से इस ज़रूरी शर्त को पूरा करना है. इससे, स्टोरेज ऐक्सेस करने के लिए प्रॉम्प्ट से मिली अनुमति के साथ-साथ, FedCM प्रॉम्प्ट से मिली अनुमति भी स्वीकार की जा सकेगी.

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

सीओओपी वैल्यू noopener-allow-popups

कुछ ऑरिजिन में, सुरक्षा से जुड़ी अलग-अलग लेवल की ज़रूरी शर्तों वाले अलग-अलग ऐप्लिकेशन हो सकते हैं. ऐसे मामलों में, एक ही ऑरिजिन वाले किसी दूसरे ऐप्लिकेशन के पेजों को खोलने और स्क्रिप्ट करने से, एक ऐप्लिकेशन में चल रही स्क्रिप्ट को रोका जा सकता है.

ऐसे मामलों में, किसी दस्तावेज़ के लिए यह पक्का करना फ़ायदेमंद हो सकता है कि उसे खोलने वाला व्यक्ति उस पर स्क्रिप्ट न लिख पाए. भले ही, खोलने वाला दस्तावेज़ एक ही ऑरिजिन का हो. noopener-allow-popups क्रॉस-ओरिजिन-ओपनर-पॉलिसी वैल्यू की मदद से, दस्तावेज़ों के व्यवहार को तय किया जा सकता है.

Private Aggregation API: Protected Audience कॉलर के लिए, योगदान की सीमा को 100 तक बढ़ाना

Protected Audience स्क्रिप्ट चलाने वाले लोग, हर निजी एग्रीगेशन रिपोर्ट में 100 योगदान दे सकते हैं. फ़िलहाल, यह संख्या 20 है.

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

पैडिंग की वजह से, सुरक्षित ऑडियंस की हर रिपोर्ट का पेलोड बड़ा होगा. भले ही, उसे योगदान की ज़्यादा सीमा की ज़रूरत न हो. हमें उम्मीद है कि इन बड़ी रिपोर्ट की वजह से, एग्रीगेशन सेवा को चलाने की लागत बढ़ जाएगी.

पार्सर रिलैक्सेशन चुनना

इस बदलाव की वजह से, एचटीएमएल पार्सर <option>, <optgroup>, और <hr> के अलावा, <select> में अन्य टैग की अनुमति देता है.

यह बदलाव, पसंद के मुताबिक बनाई जा सकने वाली <select> सुविधा के लिए किया गया है. हालांकि, इसे पहले इसलिए शिप किया जा रहा है, क्योंकि इसे अलग से किया जा सकता है. साथ ही, इसमें कुछ समस्याएं आ सकती हैं. Chrome की टीम इस बारे में सुझाव/राय/शिकायत/राय देना चाहती है.

WebGPU: क्लिप की दूरियां

वैकल्पिक GPU सुविधा clip-distances जोड़ी गई. इससे उपयोगकर्ता, वर्टिक्स शेडर आउटपुट में, क्लिप करने की अपनी तय की गई दूरियां सेट कर सकते हैं. यह तकनीक, खास तौर पर उन ऐप्लिकेशन के लिए काम की है जिन्हें किसी सीन में, उपयोगकर्ता के तय किए गए प्लैन के बाहर मौजूद सभी वर्टिसेस को क्लिप करना होता है. जैसे, कई सीएडी ऐप्लिकेशन.

WebGPU: GPUCanvasContext getConfiguration()

कॉन्फ़िगरेशन डायक्शनरी के साथ GPUCanvasContext configure() को कॉल करने के बाद, कैनवस कॉन्टेक्स्ट कॉन्फ़िगरेशन की जांच करने के लिए, GPUCanvasContext getConfiguration() तरीके का इस्तेमाल किया जा सकता है. इसमें जीपीयू device, format, usage, viewFormats, colorSpace, toneMapping, और alphaMode शामिल हैं. जैसा कि समस्या 4828 में बताया गया है, वेब ऐप्लिकेशन इसका इस्तेमाल करके यह पता लगा सकते हैं कि WebGPU में एचडीआर कैनवस काम करता है या नहीं.

खास तौर पर काम करने वाले वर्कर के लिए WebHID

यह खास वर्कर्स कॉन्टेक्स्ट में WebHID को चालू करता है. इसकी मदद से, किसी अलग थ्रेड में HID डिवाइस से ज़्यादा I/O और डेटा प्रोसेसिंग की जा सकती है. इससे मुख्य थ्रेड पर परफ़ॉर्मेंस पर पड़ने वाले असर को कम करने में मदद मिलती है.

WebRTC RTCRtpEncodingParameters.scaleResolutionDownTo

यह एक ऐसा एपीआई है जो WebRTC एन्कोडर को कॉन्फ़िगर करता है, ताकि वे इनपुट फ़्रेम को तय किए गए maxWidth और maxHeight से ज़्यादा होने पर स्केल कर सकें. यह एपीआई scaleResolutionDownBy से मिलता-जुलता है. हालांकि, रिज़ॉल्यूशन की पाबंदियों को रिलेटिव टर्म (उदाहरण के लिए, दो गुना छोटा करें) के बजाय, एब्सोलूट टर्म (उदाहरण के लिए, 640x360) में दिखाया जाता है. इससे, इनपुट फ़्रेम के साइज़ को फ़्लाइट पर बदलने से जुड़ी रेस कंडीशन से बचा जा सकता है.

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

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

WebAudio के लिए, वीडियो चलाने के आंकड़े

AudioContext.playoutStats सुविधा की मदद से, ऐप्लिकेशन WebAudio का इस्तेमाल करके ऑडियो चलाने की क्वालिटी और देरी को मेज़र कर सकता है.

Summarizer API

इनपुट टेक्स्ट की खास जानकारी देने के लिए JavaScript API. यह एआई लैंग्वेज मॉडल पर आधारित है.

बंद किए गए और हटाए गए वर्शन

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

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

सीएसएस एंकर पोज़िशनिंग प्रॉपर्टी inset-area को हटाना

सीएसएस वर्किंग ग्रुप ने inset-area प्रॉपर्टी का नाम बदलकर position-area करने का फ़ैसला लिया है. इस प्रॉपर्टी को हटाने से, Chromium में इस सुविधा को लागू करने की प्रोसेस को बेहतर बनाया जा सकेगा.

BeforeunloadEventCancelByPreventDefault को बंद करने की सुविधा हटाना

सुविधा BeforeunloadEventCancelByPreventDefault को Chrome 117 में लॉन्च किया गया था. हालांकि, एक एंटरप्राइज़ नीति के तहत, इस फ़्लैग को जबरदस्ती बंद किया जा सकता है. Chrome 131 में, एंटरप्राइज़ नीति हटा दी जाएगी.

GPUAdapter requestAdapterInfo() का नॉन-स्टैंडर्ड तरीका हटाना

WebGPU वर्किंग ग्रुप ने फ़ैसला लिया है कि requestAdapterInfo() के लिए अनुमति का अनुरोध ट्रिगर करना व्यावहारिक नहीं है. इसलिए, उन्होंने उस विकल्प को हटा दिया है और उसे GPUAdapter info एट्रिब्यूट से बदल दिया है, ताकि वेब डेवलपर को एक ही समय पर GPUAdapterInfo की वैल्यू मिल सके.