पब्लिश होने की तारीख: 18 सितंबर, 2024
यहां दिए गए बदलाव, Android, ChromeOS, Linux, macOS, और Windows के लिए Chrome के बीटा चैनल की सबसे नई रिलीज़ पर लागू होते हैं. हालांकि, अगर किसी बदलाव के बारे में अलग से जानकारी दी गई है, तो वह जानकारी लागू होगी. यहां दी गई सुविधाओं के बारे में ज़्यादा जानने के लिए, दिए गए लिंक पर क्लिक करें या ChromeStatus.com पर मौजूद सूची देखें. 18 सितंबर, 2024 तक Chrome 130 का बीटा वर्शन उपलब्ध है. डेस्कटॉप के लिए, Google.com से या Android पर Google Play Store से, सबसे नया वर्शन डाउनलोड किया जा सकता है.
सीएसएस
इस रिलीज़ में, सीएसएस की चार नई सुविधाएं जोड़ी गई हैं.
सीएसएस कंटेनर क्वेरी के फ़्लैट ट्री में लुकअप
कंटेनर क्वेरी के स्पेसिफ़िकेशन में बदलाव किया गया है, ताकि फ़्लैट ट्री के पूर्वजों को ढूंढा जा सके.
यह बदलाव सिर्फ़ शैडो DOM के लिए है. इसमें कोई एलिमेंट, शैडो ट्री के अंदर मौजूद ऐसे कंटेनर को देख पाएगा जिन्हें नाम नहीं दिया गया है. भले ही, सीएसएस के नियम में ::part() या ::slotted() का इस्तेमाल न किया गया हो. साथ ही, एलिमेंट या उसके किसी पूर्वज को स्लॉट किया गया हो.
सीएसएस नेस्टिंग: नेस्ट किए गए एलान का नियम
यह नेस्ट किए गए नियम के बाद, सामान्य तौर पर किए गए एलान को अपनी जगह पर रखता है. इसके लिए, पार्सिंग के दौरान उन एलान को CSSNestedDeclarations नियमों में रैप किया जाता है.
box-decoration-break प्रॉपर्टी के लिए, पूरी तरह से और बिना प्रीफ़िक्स के काम करने की सुविधा
यह box-decoration-break: clone के लिए सहायता जोड़ता है. यह सहायता, इनलाइन फ़्रैगमेंटेशन (लाइन लेआउट) और ब्लॉक फ़्रैगमेंटेशन (प्रिंटिंग और मल्टीकॉल के लिए पेज नंबर) दोनों के लिए है.
Chrome में, ब्लॉक फ़्रैगमेंटेशन के लिए पहले सिर्फ़ box-decoration-break:slice (शुरुआती वैल्यू) काम करता था. वहीं, इनलाइन फ़्रैगमेंटेशन के लिए,box-decoration-break:clone भी काम करता था. हालांकि, ऐसा सिर्फ़ -webkit-box-decoration-break प्रॉपर्टी का इस्तेमाल करते समय होता था.
::part() के बाद ज़्यादा स्यूडो-एलिमेंट और स्यूडो-क्लास इस्तेमाल करने की अनुमति दें
::part() सूडो-एलिमेंट का इस्तेमाल करने वाले सीएसएस सिलेक्टर, ::part() को छोड़कर अन्य सीएसएस सूडो-एलिमेंट और उनके बाद कई तरह के अन्य सीएसएस सूडो-क्लास का इस्तेमाल कर सकते हैं. ::part() के बाद भी कॉम्बिनेटर इस्तेमाल करने की अनुमति नहीं है. साथ ही, ट्री स्ट्रक्चर पर निर्भर रहने वाली सूडो-क्लास इस्तेमाल करने की अनुमति नहीं है.
इससे पहले, Chrome में ::part() के बाद सिर्फ़ कुछ छद्म क्लास और छद्म एलिमेंट इस्तेमाल किए जा सकते थे. इस बदलाव से, उन सभी सूडो-क्लास और सूडो-एलिमेंट को अनुमति मिलती है जिनकी अनुमति दी जानी चाहिए. इसका मतलब है कि अब ::part(part-name):enabled और ::part(part-name)::marker जैसे सिलेक्टर इस्तेमाल किए जा सकते हैं.
Web APIs
Attribution Reporting API की सुविधा (एट्रिब्यूशन स्कोप)
यह बदलाव, विज्ञापन टेक्नोलॉजी से मिले सुझाव और एट्रिब्यूशन प्रोसेस शुरू होने से पहले, ज़्यादा बेहतर फ़िल्टरिंग कंट्रोल की ज़रूरत के आधार पर किया गया है. इसकी मदद से, एपीआई कॉल करने वाले लोग "एट्रिब्यूशन स्कोप" नाम का फ़ील्ड तय कर सकते हैं. इसका इस्तेमाल, सामान्य एट्रिब्यूशन फ़्लो शुरू करने से पहले फ़िल्टर करने के लिए किया जाएगा. इससे एपीआई कॉलर को एट्रिब्यूशन ग्रैन्युलैरिटी पर ज़्यादा कंट्रोल मिलता है. साथ ही, जब विज्ञापन देने वाले कई अलग-अलग लोग या कंपनियां या कैंपेन, एक ही डेस्टिनेशन साइट पर कन्वर्ज़न करते हैं, तब उन्हें सही एट्रिब्यूशन रिपोर्ट मिलती हैं.
Attribution Reporting API की सुविधा (डबग कुंजी की निजता में सुधार)
इस बदलाव से, डीबग कुंजियों के साथ निजता से जुड़ी संभावित समस्या को कम करने में मदद मिलती है.
फ़िलहाल, अगर तीसरे पक्ष की कुकी उपलब्ध हैं और उन्हें एपीआई कॉलर सेट कर सकते हैं, तो एपीआई, सोर्स डीबग कुंजी या ट्रिगर डीबग कुंजी को सेट करने की अनुमति देता है. अगर सोर्स या ट्रिगर, दोनों में से किसी एक की भी डीबग कुंजी तय की गई है, तो उसे एट्रिब्यूशन रिपोर्ट में शामिल किया जाएगा. अगर तीसरे पक्ष की कुकी को सिर्फ़ पब्लिशर या विज्ञापन देने वाले व्यक्ति या कंपनी की साइट पर अनुमति दी जाती है, लेकिन दोनों पर नहीं, तो इससे निजता से जुड़ी जानकारी लीक हो सकती है.
इस बदलाव से इस समस्या को कम किया जा सकता है. इसके तहत, सोर्स डीबग कुंजियों और ट्रिगर डीबग कुंजियों को एट्रिब्यूशन रिपोर्ट में सिर्फ़ तब शामिल किया जाता है, जब वे सोर्स और ट्रिगर, दोनों पर मौजूद हों. इसका मतलब है कि तीसरे पक्ष की कुकी, पब्लिशर और विज्ञापन देने वाले व्यक्ति या कंपनी की साइट, दोनों पर उपलब्ध थीं. यह बदलाव, इवेंट-लेवल की रिपोर्ट और एग्रीगेट की जा सकने वाली रिपोर्ट, दोनों पर लागू होगा.
शेयर किए गए Brotli और शेयर किए गए Zstandard के साथ कंप्रेशन डिक्शनरी ट्रांसपोर्ट
इस सुविधा की मदद से, पिछले जवाबों को बाहरी डिक्शनरी के तौर पर इस्तेमाल किया जा सकता है. इससे Brotli या Zstandard की मदद से, कॉन्टेंट एन्कोड करने और जवाबों को कंप्रेस करने में मदद मिलती है.
ऐसा हो सकता है कि एंटरप्राइज़ को एंटरप्राइज़ नेटवर्क इंफ़्रास्ट्रक्चर के साथ काम करने से जुड़ी समस्याएं आएं. यह इंफ़्रास्ट्रक्चर, एचटीटीपीएस ट्रैफ़िक को इंटरसेप्ट करता है और अनजान कॉन्टेंट एन्कोडिंग के लिए संवेदनशील होता है. कंप्रेशन डिक्शनरी की ट्रांसपोर्ट वाली सुविधा को बंद करने के लिए, एंटरप्राइज़ नीति CompressionDictionaryTransportEnabled उपलब्ध है.
एक साथ स्मूद करने की सुविधा scrollIntoView()
scrollIntoView()
मेथड के साथ behavior: "smooth" का इस्तेमाल करके, डेवलपर ऐसे स्क्रोल कंटेनर बना सकते हैं जो स्क्रोल करने पर, अपने डिसेंडेंट को हल्के स्क्रोल ऐनिमेशन के साथ स्क्रोल करते हैं. इस सुविधा से, Chrome में एपीआई को लागू करने से जुड़ी समस्या ठीक हो जाती है. इससे, अन्य स्क्रोल कंटेनर पर किए गए स्क्रोल से, चल रहे scrollIntoView ऐनिमेशन रद्द नहीं होते.
यह सुविधा उन मामलों को भी ठीक करती है जहां Chrome, पेज लोड होने पर शुरू होने वाले scrollIntoView की वजह से, पेज के फ़्रैगमेंट ऐंकर तक स्क्रोल नहीं कर पाता.
दस्तावेज़ में पिक्चर-इन-पिक्चर की सुविधा: विंडो की सीमाओं की कैश मेमोरी को अनदेखा करने का विकल्प जोड़ें
इससे document picture-in-picture API में एक नया पैरामीटर (preferInitialWindowPlacement) जुड़ जाता है. इसे सही पर सेट करने पर, उपयोगकर्ता एजेंट को यह जानकारी मिलती है कि इस साइट से इस दस्तावेज़ को खोलते समय, पिछले दस्तावेज़ के picture-in-picture की पोज़िशन या साइज़ का फिर से इस्तेमाल नहीं किया जाना चाहिए.
अक्सर, किसी दस्तावेज़ की पिक्चर-इन-पिक्चर विंडो, एक ही साइट के लिए कई बार बंद और फिर से खुलती है. जैसे, वीडियो कॉन्फ़्रेंस को PiP में ले जाना और फिर से वापस लाना. उपयोगकर्ता एजेंट के पास, PiP विंडो को उसकी पिछली जगह और साइज़ में फिर से खोलने का विकल्प होता है. इससे PiP विंडो उसी जगह पर रहती है जहां उपयोगकर्ता ने उसे आखिरी बार रखा था. साथ ही, PiP विंडो के बीच में कोई रुकावट नहीं आती. हालांकि, अगर नई विंडो का कॉन्टेंट पिछली विंडो से अलग है, जैसे कि यह एक नया वीडियो कॉल है, तो डेवलपर इस पैरामीटर का इस्तेमाल करके, उपयोगकर्ता एजेंट को यह जानकारी दे सकता है कि इस विंडो को डिफ़ॉल्ट पोज़िशन और साइज़ में खोलना बेहतर हो सकता है.
विंडो को उसकी डिफ़ॉल्ट पोज़िशन और साइज़ में खोलने का तरीका जानें.
IndexedDB में, बड़ी वैल्यू को पढ़ने में हुई गड़बड़ियों की रिपोर्टिंग को बेहतर बनाया गया
गड़बड़ी के कुछ ऐसे मामलों के लिए रिपोर्टिंग में बदलाव किया गया है जिन्हें पहले DOMException के साथ रिपोर्ट किया गया था. साथ ही, "Failed to read large IndexedDB value" मैसेज दिखाया गया था.
जब IDBRequest से पढ़े जा रहे डेटा वाली फ़ाइल डिस्क में मौजूद नहीं होगी, तब Chrome "NotFoundError" नाम की DOMException दिखाएगा. इससे साइटें, ठीक न हो पाने वाली गड़बड़ी होने पर ज़रूरी कार्रवाई कर सकेंगी. सुधार वाली कार्रवाइयों में, डेटाबेस से एंट्री मिटाना, उपयोगकर्ता को सूचना देना या सर्वर से डेटा को फिर से फ़ेच करना शामिल हो सकता है.
कीबोर्ड की मदद से, इस्तेमाल किए जा सकने वाले स्क्रोल कंटेनर
इस सुविधा की मदद से, जिन स्क्रोलर के लिए फ़ोकस वाले एलिमेंट शामिल नहीं हैं उन्हें डिफ़ॉल्ट रूप से कीबोर्ड से फ़ोकस किया जा सकता है.
यह एक अहम सुधार है. इससे सभी उपयोगकर्ताओं के लिए, स्क्रोलर और स्क्रोलर में मौजूद कॉन्टेंट को ऐक्सेस करना आसान हो जाएगा. इसके फ़ायदों के बारे में ज़्यादा जानने के लिए, कीबोर्ड की मदद से, इस्तेमाल किए जा सकने वाले स्क्रोलर पर जाएं. कीबोर्ड पर फ़ोकस करने वाले स्क्रोलर, Chrome 130 से डिफ़ॉल्ट रूप से चालू होंगे. अगर वेबसाइटों को इस नई सुविधा के साथ काम करने में समय लगता है, तो यहां कुछ विकल्प दिए गए हैं:
- Keyboard focusable scrollers opt out deprecation trial का इस्तेमाल करके, किसी साइट पर सीमित समय के लिए इस सुविधा से फिर से ऑप्ट आउट किया जा सकता है. इसका इस्तेमाल Chrome 132 के ज़रिए किया जा सकता है. यह सुविधा 18 मार्च, 2025 को बंद हो जाएगी.
- इसी काम के लिए, Chrome 127 में उपलब्ध
KeyboardFocusableScrollersEnabled enterprise policyका इस्तेमाल किया जा सकता है.
Protected Audience API की बिडिंग और नीलामी से जुड़ी सेवाएं
Protected Audience API को पहले FLEDGE कहा जाता था. यह Privacy Sandbox का एक प्रपोज़ल है. इसका इस्तेमाल, रीमार्केटिंग करने और कस्टम ऑडियंस को विज्ञापन दिखाने के लिए होता है. इस टेक्नोलॉजी की खासियत यह है कि साइटों पर ब्राउज़िंग से जुड़ी लोगों की गतिविधियों को तीसरा पक्ष ट्रैक नहीं कर सकता.
इस सुविधा, सुरक्षित ऑडियंस बिडिंग और नीलामी सेवाओं में, उपयोगकर्ता के डिवाइस पर स्थानीय तौर पर चलने के बजाय, भरोसेमंद एक्ज़ीक्यूशन एनवायरमेंट में क्लाउड सर्वर पर, सुरक्षित ऑडियंस का हिसाब लगाने का तरीका बताया गया है. कैलकुलेशन को क्लाउड सर्वर पर ले जाने से, किसी डिवाइस के लिए कैलकुलेशन साइकल और नेटवर्क बैंडविड्थ खाली हो जाती है. इससे, सुरक्षित ऑडियंस की नीलामी को ऑप्टिमाइज़ करने में मदद मिलती है.
सामान्य स्कीम वाले यूआरएल के लिए सपोर्ट
इससे पहले, Chrome का यूआरएल पार्सर, सामान्य यूआरएल के साथ काम नहीं करता था. पार्सर, सामान्य यूआरएल को इस तरह से पार्स करता है जैसे कि उनमें "ओपेक पाथ" हो. यह यूआरएल स्टैंडर्ड के मुताबिक नहीं है. अब Chromium का यूआरएल पार्सर, यूआरएल स्टैंडर्ड के मुताबिक सामान्य यूआरएल को सही तरीके से पार्स करता है.
ज़्यादा जानकारी के लिए, bit.ly/url-non-special पर जाएं.
WebAssembly JavaScript स्ट्रिंग बिल्टिन
इस सुविधा से, JavaScript स्ट्रिंग के सामान्य ऑपरेशन को WebAssembly में इंपोर्ट किया जा सकता है. इसकी मदद से, WebAssembly में JavaScript स्ट्रिंग बनाई और उनमें बदलाव किया जा सकता है. इसके लिए, WebAssembly में सहायता की ज़रूरत नहीं होती. इससे, स्ट्रिंग रेफ़रंस की तरह ही परफ़ॉर्मेंस मिलती है.
WebGPU: ड्यूअल सोर्स ब्लेंडिंग
यह "dual-source-blending" नाम की वैकल्पिक जीपीयू सुविधा जोड़ता है. इससे दो फ़्रैगमेंट शेडर आउटपुट को एक फ़्रेमबफ़र में जोड़ा जा सकता है. यह तकनीक, खास तौर पर उन ऐप्लिकेशन के लिए मददगार है जिनमें ब्लेंडिंग की मुश्किल कार्रवाइयां करनी होती हैं. जैसे, पोर्टर-डफ़ ब्लेंड मोड पर आधारित ऐप्लिकेशन. डुअल सोर्स ब्लेन्डिंग की मदद से, परफ़ॉर्मेंस और लचीलेपन को बेहतर बनाया जा सकता है. ऐसा इसलिए, क्योंकि इससे पाइपलाइन के स्टेट ऑब्जेक्ट में बार-बार बदलाव करने की ज़रूरत कम हो जाती है.
वेब सीरियल: connected एट्रिब्यूट और RFCOMM कनेक्शन इवेंट
इस सुविधा से, बूलियन SerialPort.connected एट्रिब्यूट जोड़ा जाता है. अगर सीरियल पोर्ट लॉजिकली कनेक्ट है, तो एट्रिब्यूट true दिखाता है. वायर्ड सीरियल पोर्ट के लिए, पोर्ट को लॉजिकली तब कनेक्ट किया जाता है, जब पोर्ट को सिस्टम से फ़िज़िकली अटैच किया जाता है. वायरलेस सीरियल पोर्ट के लिए, पोर्ट को लॉजिकली तब कनेक्ट किया जाता है, जब पोर्ट को होस्ट करने वाले डिवाइस के पास होस्ट से कोई खुला कनेक्शन हो.
इससे पहले, सिर्फ़ वायर्ड सीरियल पोर्ट, कनेक्ट और डिसकनेक्ट इवेंट भेजते थे. इस सुविधा की मदद से, ब्लूटूथ RFCOMM सीरियल पोर्ट इन इवेंट को तब भेजेंगे, जब पोर्ट लॉजिकली कनेक्ट या डिसकनेक्ट हो जाएगा.
इस सुविधा का मकसद, ऐप्लिकेशन को यह पता लगाने की अनुमति देना है कि ब्लूटूथ RFCOMM सीरियल पोर्ट कब उपलब्ध है. इसके लिए, पोर्ट को खोलने की ज़रूरत नहीं होती.
ज़्यादा जानने के लिए, Web Serial में Bluetooth RFCOMM से जुड़े अपडेट लेख पढ़ें.
ऑरिजिन ट्रायल चल रहे हैं
Chrome 130 में, यहां दिए गए नए ऑरिजिन ट्रायल में ऑप्ट इन किया जा सकता है.
Language Detector API
यह JavaScript API, टेक्स्ट की भाषा का पता लगाने के लिए है. इसमें भरोसे के लेवल भी शामिल होते हैं.
WebAuthn attestationFormats
WebAuthn लेवल 3 से attestationFormats फ़ील्ड के साथ काम करता है.
WebAuthn लेवल 3, किसी साइट को नए attestationFormats फ़ील्ड में क्रेडेंशियल अटेस्टेशन फ़ॉर्मैट के लिए, क्रम से प्राथमिकता तय करने की सुविधा देता है. इस सुविधा की मदद से, Android पर पासकी का इस्तेमाल किया जा सकता है. पासकी की सुविधा देने वाली कंपनियां, कई फ़ॉर्मैट के साथ काम कर सकती हैं.
WebAuthn attestationFormats की सुविधा को बिना किसी शुल्क के आज़माने के लिए रजिस्टर करें.
बंद की गई और हटाई गई सुविधाएं
Chrome के इस वर्शन में, इन सुविधाओं को बंद कर दिया गया है और इन्हें हटा दिया गया है. प्लान की गई सुविधाओं को बंद करने, मौजूदा समय में बंद की गई सुविधाओं, और पहले हटाई गई सुविधाओं की सूचियां देखने के लिए, ChromeStatus.com पर जाएं.
Chrome के इस वर्शन में, एक सुविधा हटा दी गई है.
DelegatedInkTrailPresenter में मौजूद expectedImprovement को हटाना
expectedImprovement एट्रिब्यूट से वेब डेवलपर को यह पता चलता है कि DelegatedInkTrails API, इंक की मौजूदा लेटेन्सी को कितना बेहतर बनाएगा. हालांकि, इस एट्रिब्यूट से फ़िंगरप्रिंटिंग एंट्रॉपी में बढ़ोतरी नहीं होती.
Chrome के इस वर्शन में, एक सुविधा को बंद कर दिया गया है.
नॉन-स्टैंडर्ड GPUAdapter requestAdapterInfo() तरीके को बंद करना
WebGPU में requestAdapterInfo() एसिंक्रोनस तरीके की ज़रूरत नहीं है, क्योंकि डेवलपर GPUAdapter
info एट्रिब्यूट का इस्तेमाल करके, GPUAdapterInfo को सिंक्रोनस तरीके से पहले ही पा सकते हैं.