Chrome 127 बीटा

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

सीएसएस

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

सीएसएस font-size-adjust

font-size-adjust सीएसएस प्रॉपर्टी की मदद से, अंग्रेज़ी के बड़े अक्षरों के साइज़ के हिसाब से अंग्रेज़ी के छोटे अक्षरों के साइज़ में बदलाव किया जा सकता है. इससे फ़ॉन्ट के साइज़ के बारे में पता चलता है. यह प्रॉपर्टी उन स्थितियों में काम आती है जहां फ़ॉन्ट फ़ॉलबैक हो सकता है.

Chrome 127 में, एक फ़ॉन्ट मेट्रिक और एक वैल्यू को पास करने के लिए, दो वैल्यू सिंटैक्स शामिल होते हैं.

सीएसएस से जनरेट किए गए कॉन्टेंट में, कई तर्क वाले वैकल्पिक लेख

सीएसएस content प्रॉपर्टी की मदद से, इस सिंटैक्स के साथ सुलभता के लिए वैकल्पिक टेक्स्ट तय किया जा सकता है:

.has-before-content::before {
    content: url("cat.jpg") / "A cute cat";
  }

Chrome में जिस सिंटैक्स का इस्तेमाल किया जा सकता है वह पहले से ही Chrome में काम करता है. इसमें किसी एक स्ट्रिंग में वैकल्पिक टेक्स्ट दिया जाता है. Chrome 127 से, वैकल्पिक टेक्स्ट कई एलिमेंट की मदद से दिया जा सकता है. इनमें, स्ट्रिंग के अलावा attr() फ़ंक्शन या काउंटर भी हो सकते हैं. उदाहरण के लिए:

.has-before-content::before {
  content: url("cat.jpg") / "A cute " attr(data-animal);
}

ध्यान दें कि इस सुविधा की एंट्री में, काउंटर सपोर्ट की सुविधा शामिल नहीं है.

iframe में व्यू ट्रांज़िशन के लिए सहायता

Chrome 127 से, एक ही दस्तावेज़ वाले व्यू से मुख्य फ़्रेम में ट्रांज़िशन किए जा सकेंगे. साथ ही, एक ही ऑरिजिन वाले iframe का इस्तेमाल किया जा सकेगा.

पहले, अगर मुख्य फ़्रेम में एक ही समय में ट्रांज़िशन चल रहा था, तो एक ही ऑरिजिन वाले iframe में document.startViewTransition का इस्तेमाल करके, व्यू ट्रांज़िशन चलाने की सुविधा काम नहीं करेगी. iframe का ट्रांज़िशन अपने-आप स्किप हो जाएगा. अब, दोनों ट्रांज़िशन लागू होंगे.

किसी iframe में, एक ही ऑरिजिन वाले क्रॉस-दस्तावेज़ नेविगेशन पर ट्रांज़िशन देखें भी काम करेगा.

वेब एपीआई

एट्रिब्यूशन रिपोर्टिंग में जोड़े गए

Chrome 127 में एट्रिब्यूशन रिपोर्टिंग के लिए दो और सुविधाएं जोड़ी गई हैं. एग्रीगेट डीबग रिपोर्टिंग की मदद से, तीसरे पक्ष की कुकी के बंद होने के बाद भी, एपीआई कॉलर को डीबग करने की जानकारी मिलती रहेगी. एट्रिब्यूशन स्कोप, एट्रिब्यूशन फ़िल्टर करने पर ज़्यादा कंट्रोल देता है.

फ़ुलस्क्रीन कॉन्टेंट अपने-आप चालू होने की सेटिंग

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

इसके साथ, विंडो मैनेजमेंट की अनुमति और अनब्लॉक किए गए पॉप-अप का इस्तेमाल करके, फ़ुलस्क्रीन की जा सकने वाली अहम सुविधाएं मिलती हैं:

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

सेगमेंट में बांटी गई कुकी की CookiePartitionKey के लिए क्रॉस-साइट एंसेस्टर चेन बिट

Chrome 127, सेगमेंट में बांटी गई कुकी की CookiePartitionKey की कीरिंग में क्रॉस-साइट ऐन्सेस्टर बिट जोड़ता है. यह बदलाव, पार्टिशन कुंजी को स्टोरेज के पार्टीशन में इस्तेमाल होने वाली पार्टिशन 'की' वैल्यू के साथ जोड़ता है. साथ ही, क्रॉस-साइट एम्बेड किए गए फ़्रेम को टॉप-लेवल की पार्टिशन वाली कुकी का ऐक्सेस करने से रोकता है और क्लिकजैकिंग हमलों से सुरक्षा जोड़ता है.

अगर किसी एंटरप्राइज़ को एम्बेड किए गए iframe में कोई गड़बड़ी मिलती है, तो वह CookiesAllowedForUrls नीति का इस्तेमाल कर सकता है या Partitioned एट्रिब्यूट के बिना SameSite=None कुकी का इस्तेमाल कर सकता है और फिर Storage Access API (SAA) को शुरू करके यह पक्का कर सकता है कि एम्बेड किए गए iframe के पास टॉप लेवल डोमेन वाली कुकी का ही ऐक्सेस है.

डॉक्यूमेंट पिक्चर में पिक्चर: उपयोगकर्ता को ऐक्टिवेट करें

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

इंपोर्ट मैप इंटिग्रिटी

इंपोर्ट किए गए ES मॉड्यूल की फ़िलहाल जांच नहीं की जा सकती. इसलिए, इन्हें ऐसे एनवायरमेंट में नहीं चलाया जा सकता जहां सबरिसॉर्स इंटिग्रिटी या require-sri-for के सीएसपी डायरेक्टिव के साथ इसे चलाने की ज़रूरत हो.

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

कीबोर्ड के फ़ोकस करने लायक स्क्रोल कंटेनर

इस सुविधा में ये बदलाव किए गए हैं:

स्क्रोलर, डिफ़ॉल्ट रूप से क्लिक पर फ़ोकस करने और प्रोग्राम के हिसाब से फ़ोकस करने लायक होते हैं. जिन स्क्रोलर पर फ़ोकस नहीं किया जा सकता वे डिफ़ॉल्ट रूप से कीबोर्ड पर फ़ोकस करते हैं.

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

प्रीरेंडरिंग के लिए No-Vary-Search सहायता

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

स्नैप इवेंट

Snap इवेंट की मदद से डेवलपर, किसी स्क्रोलर के स्नैप टारगेट में बदलाव होने और स्टाइल में बदलाव होने पर उसे भरोसेमंद तरीके से सुन पाते हैं.

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

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

MediaMetadata में वीडियो चैप्टर की सुविधा

अब चैप्टर की अलग-अलग जानकारी जोड़ी जा सकती है. जैसे, सेक्शन का टाइटल, उसका टाइमस्टैंप, और मीडिया मेटाडेटा में स्क्रीनशॉट की इमेज. इसकी मदद से, उपयोगकर्ता मीडिया के कॉन्टेंट में नेविगेट कर सकते हैं.

यह विकल्प सिर्फ़ ChromeOS में मीडिया की सूचनाओं में दिखेगा, न कि Chrome ब्राउज़र के ग्लोबल मीडिया कंट्रोल में.

WebGPU: जीपीयू अडैप्टर की जानकारी देने वाला एट्रिब्यूट

फ़िज़िकल अडैप्टर के बारे में वही जानकारी वापस पाने के लिए, सिंक्रोनस जीपीयू अडैप्टर जानकारी एट्रिब्यूट जोड़ता है. यह जानकारी, एसिंक्रोनस जीपीयू अडैप्टर requestAdapterInfo() तरीके के बारे में होती है.

ऑरिजिन ट्रायल चल रहा है

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

Shared Brotli और Shared Zstandard के साथ कंप्रेशन डिक्शनरी भेजने की सुविधा

यह सुविधा, पहले से तय किए गए जवाबों को इस्तेमाल करने की सुविधा देती है. Brotli (या Zstandard) को कंप्रेस करने वाले एचटीटीपी रिस्पॉन्स के लिए एक्सटर्नल डिक्शनरी.

निजी नेटवर्क ऐक्सेस (पीएनए) के लिए 0.0.0.0 का इस्तेमाल बंद करें

हमारा सुझाव है कि PNA को पूरी तरह से रोल आउट करने से पहले, 0.0.0.0 आईपी पते के ऐक्सेस को ब्लॉक कर दिया जाए.

Chrome, PNA स्पेसिफ़िकेशन के तहत, सार्वजनिक वेबसाइटों से निजी नेटवर्क एंडपॉइंट का सीधा ऐक्सेस बंद कर रहा है. इस खास जानकारी में, लोकलहोस्ट (127.0.0.0/8) पर सुनने वाली सेवाओं को निजी माना जाता है. macOS और Linux पर लोकल होस्ट पर सुनी जा रही सेवाओं को ऐक्सेस करने के लिए, Chrome की पीएनए सुरक्षा (https://chromestatus.com/feature/5436853517811712 के हिस्से के तौर पर रोल आउट की गई) को बायपास किया जा सकता है. इसके लिए, आईपी पते 0.0.0.0 का इस्तेमाल किया जा सकता है.

इसका गलत इस्तेमाल, डीएनएस रीबाइंडिंग हमलों में भी हो सकता है. ये हमले, लोकल होस्ट पर मौजूद वेब ऐप्लिकेशन को टारगेट करने वाले होते हैं.

0.0.0.0 का इस्तेमाल, व्यावहारिक तौर पर नहीं किया जाता है और न ही किया जाना चाहिए. इसलिए, हम इसे अन्य निजी नेटवर्क अनुरोधों से अलग रखते हुए रोक रहे हैं.

तीसरे पक्ष की कुकी का इस्तेमाल बंद करें

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

Privacy Sandbox की पहल का मुख्य मकसद, तीसरे पक्ष की कुकी के इस्तेमाल को बंद करना है. इसका मकसद, नई टेक्नोलॉजी के ज़रिए वेब और दूसरी जगहों पर क्रॉस-साइट ट्रैकिंग को कम करना है. साथ ही, इसका इस्तेमाल करने में भी मदद करना है.

पार्टीशनिंग स्टोरेज, सर्विस वर्कर, और कम्यूनिकेशन एपीआई

Chrome 115 से, स्टोरेज, सर्विस वर्कर, और कम्यूनिकेशन एपीआई तीसरे पक्ष के कॉन्टेक्स्ट में बांट दिए जाते हैं. Chrome 113 से लेकर 126 तक, साइटें कुछ समय के लिए बंद करने के ट्रायल में हिस्सा ले पाई थीं और स्टोरेज, सर्विस वर्कर, और कम्यूनिकेशन एपीआई के पिछले व्यवहार को कुछ समय के लिए बंद कर सकती थीं.

Chrome 125 से, Storage Access API में बिना कुकी वाला स्टोरेज काम करता है. इससे स्टोरेज के इस्तेमाल के ज़्यादातर उदाहरणों को पूरा किया जा सकता है. अगर इस्तेमाल के ये उदाहरण पूरे नहीं होते हैं, तो अब Chrome 127 से लेकर 132 वर्शन का इस्तेमाल करने वाले उपयोगकर्ताओं के लिए, DisableThirdPartyStoragePartitioning के बंद होने के ट्रायल को रिन्यू करने का अनुरोध किया जा सकता है. इसके लिए, छह मील और अतिरिक्त हो सकता है.

ज़्यादा जानकारी के लिए, स्टोरेज के बंटवारे की सुविधा को बंद करने के ट्रायल को रिन्यू करने से जुड़ी ब्लॉग पोस्ट पढ़ें.

कीबोर्ड पर फ़ोकस करने लायक स्क्रोल कंटेनर को बंद करने का ट्रायल

इस सुविधा में ये बदलाव किए गए हैं:

  • स्क्रोलर, डिफ़ॉल्ट रूप से क्लिक पर फ़ोकस करने और प्रोग्राम के हिसाब से फ़ोकस करने लायक होते हैं.
  • जिन स्क्रोलर पर फ़ोकस नहीं किया जा सकता वे डिफ़ॉल्ट रूप से कीबोर्ड पर फ़ोकस करते हैं.

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

बंद करना और हटाना

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

Chrome की इस रिलीज़ में तीन सुविधाएं हटाई गई हैं.

म्यूटेशन इवेंट

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

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

सुरक्षित कॉन्टेक्स्ट के लिए, सार्वजनिक वेबसाइटों से "निजी नेटवर्क अनुरोधों" को प्रतिबंधित करें

यह ज़रूरी है कि सार्वजनिक वेबसाइटों से सबरिसॉर्स के लिए निजी नेटवर्क अनुरोध सिर्फ़ सुरक्षित कॉन्टेक्स्ट से किए जाएं. उदाहरण के लिए, इंटरनेट से इंट्रानेट के अनुरोधों और इंटरनेट से लूपबैक के अनुरोधों तक.

प्राइवेट नेटवर्क ऐक्सेस को पूरी तरह से लागू करने की दिशा में, यह पहला कदम है.

पुराना सीएसएस कस्टम स्टेट सिंटैक्स हटाएं

सीएसएस की कस्टम स्टेट pseudo-class का नाम बदलकर, :--foo से :state(foo) किया जा रहा है. नया सिंटैक्स, :state(foo) डिफ़ॉल्ट रूप से चालू कर दिया गया है. इसलिए, हम :--foo सिंटैक्स को हटा रहे हैं.

Firefox और Safari ने कभी भी पुराना सिंटैक्स लागू नहीं किया है और दोनों ने नया सिंटैक्स भेजा है.

Enterprise के जिन ग्राहकों को ज़्यादा समय की ज़रूरत होती है वे CSSCustomStateDeprecatedSyntaxEnabled नीति का इस्तेमाल कर सकते हैं. यह नीति Chrome के वर्शन 131 से हटा दी जाएगी.