पब्लिश होने की तारीख: 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
जैसे सिलेक्टर इस्तेमाल किए जा सकते हैं.
वेब एपीआई
Attribution Reporting API की सुविधा (एट्रिब्यूशन के दायरे)
यह बदलाव, विज्ञापन टेक्नोलॉजी से मिले सुझाव, राय या शिकायत के आधार पर किया गया है. साथ ही, एट्रिब्यूशन प्रोसेस शुरू होने से पहले, ज़्यादा बेहतर फ़िल्टर कंट्रोल की ज़रूरत के आधार पर भी किया गया है. इससे एपीआई कॉलर, "एट्रिब्यूशन स्कोप" नाम का एक फ़ील्ड तय कर सकते हैं. इसका इस्तेमाल, सामान्य एट्रिब्यूशन फ़्लो शुरू करने से पहले फ़िल्टर करने के लिए किया जाएगा. इससे एपीआई कॉलर को एट्रिब्यूशन के लेवल पर ज़्यादा बेहतर कंट्रोल मिलता है. साथ ही, जब विज्ञापन देने वाले कई अलग-अलग लोग या कैंपेन एक ही डेस्टिनेशन साइट पर कन्वर्ज़न करते हैं, तो एपीआई कॉलर को सही एट्रिब्यूशन रिपोर्ट मिलती है.
Attribution Reporting API की सुविधा (डीबग पासकोड की निजता को बेहतर बनाना)
इस बदलाव से, डीबग पासकोड की मदद से निजता से जुड़ी संभावित समस्या को कम करने में मदद मिलती है.
फ़िलहाल, एपीआई में सोर्स डीबग पासकोड या ट्रिगर डीबग पासकोड तय करने की अनुमति है. ऐसा तब किया जा सकता है, जब तीसरे पक्ष की कुकी उपलब्ध हों और एपीआई कॉलर उन्हें सेट कर सकें. अगर कोई सोर्स या ट्रिगर डीबग कुंजी दी गई है, तो उसे एट्रिब्यूशन रिपोर्ट में शामिल किया जाएगा. अगर तीसरे पक्ष की कुकी को सिर्फ़ पब्लिशर या विज्ञापन देने वाले की साइट पर अनुमति दी जाती है, लेकिन दोनों पर नहीं, तो निजता का उल्लंघन हो सकता है.
इस बदलाव से, सोर्स डीबग पासकोड और ट्रिगर डीबग पासकोड को एट्रिब्यूशन रिपोर्ट में सिर्फ़ तब शामिल किया जाता है, जब वे सोर्स और ट्रिगर, दोनों पर मौजूद हों. इसका मतलब है कि पब्लिशर और विज्ञापन देने वाली कंपनी, दोनों की साइट पर तीसरे पक्ष की कुकी उपलब्ध थीं. यह बदलाव, इवेंट-लेवल की रिपोर्ट और एग्रीगेट की जा सकने वाली रिपोर्ट, दोनों पर लागू होगा.
शेयर की गई Brotli और शेयर की गई Zstandard के साथ कंप्रेशन डिक्शनरी ट्रांसपोर्ट
इस सुविधा की मदद से, चुने गए पिछले जवाबों को बाहरी डिक्शनरी के तौर पर इस्तेमाल किया जा सकता है. इससे, Brotli या Zstandard की मदद से, कॉन्टेंट को कोड में बदलने के लिए, जवाबों को कंप्रेस किया जा सकता है.
एचटीटीपीएस ट्रैफ़िक को इंटरसेप्ट करने वाले और अनजान कॉन्टेंट कोडिंग के प्रति संवेदनशील एंटरप्राइज़ नेटवर्क इन्फ़्रास्ट्रक्चर के साथ, एंटरप्राइज़ को काम करने से जुड़ी समस्याएं आ सकती हैं. कंप्रेशन डिक्शनरी की ट्रांसपोर्ट वाली सुविधा को बंद करने के लिए, एंटरप्राइज़ नीति CompressionDictionaryTransportEnabled
उपलब्ध है.
एक साथ चलने वाले वीडियो को शानदार लुक देना scrollIntoView()
behavior: "smooth"
के साथ scrollIntoView()
वाला तरीका इस्तेमाल करने पर, डेवलपर ऐसे स्क्रोल कंटेनर बना सकते हैं जो अपने वंशजों पर, धीमे स्क्रोल ऐनिमेशन के साथ स्क्रोल करते हैं. इस सुविधा से, Chrome में एपीआई को लागू करने से जुड़ी समस्या ठीक हो जाती है. इससे, दूसरे स्क्रोल कंटेनर पर होने वाले स्क्रोल से, चल रहे scrollIntoView
ऐनिमेशन बंद नहीं होते.
इस सुविधा की मदद से, उन मामलों को भी ठीक किया जा सकता है जिनमें पेज लोड होने पर, Chrome किसी दूसरे scrollIntoView
की वजह से पेज के फ़्रैगमेंट ऐंकर पर स्क्रोल नहीं कर पाता.
दस्तावेज़ में पिक्चर में पिक्चर: विंडो के बाउंड कैश मेमोरी को अनदेखा करने का विकल्प जोड़ें
इससे, दस्तावेज़ के पिक्चर में पिक्चर वाले एपीआई में एक नया पैरामीटर (preferInitialWindowPlacement
) जुड़ जाता है. इसे 'सही' पर सेट करने पर, उपयोगकर्ता एजेंट को यह संकेत मिलता है कि उसे इस साइट से, दस्तावेज़ के पिक्चर में पिक्चर वाले पिछले विंडो की पोज़िशन या साइज़ का फिर से इस्तेमाल नहीं करना चाहिए.
अक्सर, किसी दस्तावेज़ की पिक्चर में पिक्चर विंडो, एक ही साइट के लिए कई बार बंद और फिर से खुलेगी. जैसे, किसी वीडियो कॉन्फ़्रेंस को पिक्चर में पिक्चर मोड से बाहर और अंदर ले जाना. उपयोगकर्ता एजेंट, PiP विंडो को उसके सबसे हाल के साइज़ और जगह पर फिर से खोल सकता है, ताकि वह वहीं पर रहे जहां उपयोगकर्ता ने आखिरी बार उसे ले जाया था. इससे, PiP विंडो के बीच में कोई रुकावट नहीं आती. हालांकि, अगर नई विंडो, पिछली विंडो से अलग है, जैसे कि यह एक नया वीडियो कॉल है, तो डेवलपर इस पैरामीटर का इस्तेमाल करके, उपयोगकर्ता एजेंट को यह संकेत दे सकता है कि इस विंडो को डिफ़ॉल्ट पोज़िशन और साइज़ में खोला जा सकता है.
विंडो को उसकी डिफ़ॉल्ट पोज़िशन और साइज़ में खोलने का तरीका जानें.
बड़ी वैल्यू को पढ़ने में हुई गड़बड़ियों के लिए, IndexedDB में गड़बड़ी की रिपोर्टिंग को बेहतर बनाया गया
गड़बड़ी के कुछ मामलों की रिपोर्टिंग में बदलाव किया गया है. इन मामलों की रिपोर्टिंग पहले DOMException
और "IndexedDB की बड़ी वैल्यू को पढ़ने में गड़बड़ी हुई" मैसेज के साथ की जाती थी.
जब IDBRequest से पढ़े जा रहे डेटा वाली फ़ाइल डिस्क में मौजूद नहीं होगी, तब Chrome अब "NotFoundError"
नाम वाला DOMException
जनरेट करेगा. इससे, साइटें ठीक करने के लिए सही कार्रवाई कर पाएंगी. सुधार करने वाली कार्रवाइयों में, डीबी से एंट्री मिटाना, उपयोगकर्ता को सूचना देना या सर्वर से डेटा फिर से फ़ेच करना शामिल हो सकता है.
कीबोर्ड की मदद से, स्क्रोल किए जा सकने वाले कंटेनर
इस सुविधा की मदद से, जिन स्क्रोलर के लिए फ़ोकस वाले एलिमेंट शामिल नहीं हैं उन्हें डिफ़ॉल्ट रूप से कीबोर्ड से फ़ोकस किया जा सकता है.
यह एक अहम सुधार है. इससे सभी उपयोगकर्ताओं के लिए, स्क्रोलर और स्क्रोलर में मौजूद कॉन्टेंट को ऐक्सेस करना ज़्यादा आसान हो जाएगा. इस सुविधा के फ़ायदों के बारे में ज़्यादा जानने के लिए, कीबोर्ड की मदद से, इस्तेमाल किए जा सकने वाले स्क्रोलर लेख पढ़ें. Chrome 130 से, कीबोर्ड पर फ़ोकस करने वाले स्क्रोलर डिफ़ॉल्ट रूप से चालू हो जाएंगे. अगर वेबसाइटों को इस नई सुविधा के मुताबिक बदलाव करने में समय लगता है, तो उनके पास ये विकल्प हैं:
- कीबोर्ड फ़ोकस करने वाले स्क्रोलर की सुविधा के बंद होने की ट्रायल से ऑप्ट आउट करने का इस्तेमाल करके, किसी साइट पर सीमित समय के लिए इस सुविधा से फिर से ऑप्ट आउट किया जा सकता है. इसका इस्तेमाल Chrome 132 तक किया जा सकता है. यह सुविधा 18 मार्च, 2025 को बंद हो जाएगी.
- Chrome 127 में उपलब्ध
KeyboardFocusableScrollersEnabled enterprise policy
का इस्तेमाल, इसी काम के लिए किया जा सकता है.
Protected Audience API की बिडिंग और नीलामी से जुड़ी सेवाएं
Protected Audience API, Privacy Sandbox का एक प्रपोज़ल है. इसका इस्तेमाल, रीमार्केटिंग करने और कस्टम ऑडियंस को विज्ञापन दिखाने के लिए होता है. इस टेक्नोलॉजी की खासियत यह है कि साइटों पर ब्राउज़िंग से जुड़ी लोगों की गतिविधियों को तीसरा पक्ष ट्रैक नहीं कर सकता. इसका पुराना नाम FLEDGE था.
सुरक्षित ऑडियंस बिडिंग और नीलामी सेवाओं की इस सुविधा की मदद से, उपयोगकर्ता के डिवाइस पर स्थानीय तौर पर काम करने के बजाय, क्लाउड सर्वर पर सुरक्षित ऑडियंस का हिसाब लगाया जा सकता है. कैलकुलेशन को क्लाउड सर्वर पर ले जाने से, सुरक्षित ऑडियंस की नीलामी को ऑप्टिमाइज़ करने में मदद मिल सकती है. इससे, किसी डिवाइस के लिए कैलकुलेशन साइकल और नेटवर्क बैंडविड्थ खाली हो जाती है.
सामान्य स्कीम वाले यूआरएल के साथ काम करना
पहले, Chrome का यूआरएल पार्स करने वाला टूल, सामान्य यूआरएल के साथ काम नहीं करता था. यह टूल, सामान्य यूआरएल को ऐसे पार्स करता है जैसे उनमें "ओपेक पाथ" हो, जो यूआरएल स्टैंडर्ड के मुताबिक नहीं होता. अब, Chromium का यूआरएल पार्सर, यूआरएल स्टैंडर्ड का पालन करके, सामान्य यूआरएल को सही तरीके से पार्स करता है.
ज़्यादा जानकारी के लिए, bit.ly/url-non-special पर जाएं.
WebAssembly JavaScript स्ट्रिंग के लिए पहले से मौजूद फ़ंक्शन
यह सुविधा, WebAssembly में इंपोर्ट करने के लिए, JavaScript स्ट्रिंग के सामान्य ऑपरेशन दिखाती है. इसकी मदद से, WebAssembly में सहायता के बिना, WebAssembly से JavaScript स्ट्रिंग बनाई जा सकती हैं और उनमें बदलाव किया जा सकता है. इससे अब भी, काम करने वाले स्ट्रिंग रेफ़रंस जैसी ही परफ़ॉर्मेंस मिलती है.
WebGPU: दो सोर्स को ब्लेंड करना
जीपीयू की वैकल्पिक सुविधा "ड्यूअल-सोर्स-ब्लेंडिंग" जोड़ता है. इससे दो फ़्रेगमेंट शेडर आउटपुट को एक फ़्रेमबफ़र में जोड़ा जा सकता है. यह तकनीक, खास तौर पर उन ऐप्लिकेशन के लिए फ़ायदेमंद होती है जिनमें ब्लेंड करने के मुश्किल ऑपरेशन की ज़रूरत होती है. जैसे, Porter-Duff ब्लेंड मोड पर आधारित ऐप्लिकेशन. ड्यूअल सोर्स ब्लेंडिंग की मदद से, परफ़ॉर्मेंस और सुविधाओं को बेहतर बनाया जा सकता है. इसके लिए, ज़रूरी है कि पाइपलाइन स्टेटस ऑब्जेक्ट में बार-बार बदलाव न किए जाएं.
वेब सीरियल: connected
एट्रिब्यूट और RFCOMM कनेक्शन इवेंट
इस सुविधा से, बूलियन SerialPort.connected
एट्रिब्यूट जुड़ जाता है. अगर सीरियल पोर्ट लॉजिकली कनेक्ट है, तो एट्रिब्यूट true
दिखाता है. वायर वाले सीरियल पोर्ट के लिए, अगर पोर्ट सिस्टम से कनेक्ट है, तो उसे लॉजिकली कनेक्ट माना जाता है. वायरलेस सीरियल पोर्ट के लिए, कोई पोर्ट तब लॉजिकली कनेक्ट होता है, जब पोर्ट को होस्ट करने वाले डिवाइस में होस्ट से कोई ओपन कनेक्शन हो.
पहले, सिर्फ़ वायर वाले सीरियल पोर्ट, कनेक्ट और डिसकनेक्ट इवेंट भेजते थे. इस सुविधा की मदद से, ब्लूटूथ RFCOMM सीरियल पोर्ट, ये इवेंट तब भेजेंगे, जब पोर्ट लॉजिकली कनेक्ट या डिसकनेक्ट हो जाएगा.
इस सुविधा की मदद से, ऐप्लिकेशन यह पता लगा सकते हैं कि ब्लूटूथ RFCOMM सिरीयल पोर्ट उपलब्ध है या नहीं. इसके लिए, उन्हें पोर्ट खोलने की ज़रूरत नहीं होती.
ज़्यादा जानने के लिए, वेब सीरियल में ब्लूटूथ 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
एट्रिब्यूट से वेब डेवलपर को पता चलता है कि DelegagedInkTrails API, उनके मौजूदा इंक लेटेंसी में कितना सुधार करेगा. हालांकि, इस एट्रिब्यूट की वजह से फ़िंगरप्रिंट एन्ट्रॉपी में बढ़ोतरी नहीं होती.
Chrome के इस वर्शन में एक सुविधा बंद कर दी गई है.
GPUAdapter requestAdapterInfo()
के गैर-स्टैंडर्ड तरीके को बंद करना
WebGPU में requestAdapterInfo()
असाइनॉन्स तरीका अब काम नहीं करता, क्योंकि डेवलपर पहले से ही GPUAdapter
info
एट्रिब्यूट का इस्तेमाल करके, GPUAdapterInfo
सिंक्रोनस तरीके से पा सकते हैं.