Chrome 119 के बीटा वर्शन में, आपके लिए सीएसएस रिलेटिव कलर सिंटैक्स, नई pseudo-classes वगैरह मिलती हैं.
जब तक अलग से न बताया जाए, तब तक बताए गए बदलाव Android, ChromeOS, Linux, macOS, और Windows के लिए, Chrome बीटा चैनल के नए रिलीज़ पर लागू होते हैं. यहां दिए गए लिंक की मदद से या ChromeStatus.com पर दी गई सूची से सुविधाओं के बारे में ज़्यादा जानें. Chrome 119, 4 अक्टूबर, 2023 से बीटा वर्शन में उपलब्ध है. आप डेस्कटॉप के लिए Google.com या Android पर Google Play Store पर जाकर नया वर्शन डाउनलोड कर सकते हैं.
सीएसएस
इस रिलीज़ में चार नई सीएसएस सुविधाएं जोड़ी गई हैं.
:उपयोगकर्ता-मान्य और :उपयोगकर्ता के लिए अमान्य सीएसएस pseudo-classes
:user-invalid
और :user-valid
pseudo-classes, ऐसे एलिमेंट को दिखाती हैं जिसमें गलत या सही इनपुट मौजूद है. हालांकि, ऐसा सिर्फ़ तब होता है, जब उपयोगकर्ता ने उससे अहम इंटरैक्शन किया हो. यह :valid
और :invalid
की तरह है. हालांकि, इस बात की अतिरिक्त शर्त है कि ये असली क्लास तब ही मैच होती हैं, जब उपयोगकर्ता एलिमेंट से इंटरैक्ट करता है.
सीएसएस रिलेटिव कलर सिंटैक्स (आरसीएस)
रिलेटिव कलर सिंटैक्स की मदद से डेवलपर, अन्य कलर के पैरामीटर में बदलाव करके कलर तय कर सकते हैं.
उदाहरण के लिए: oklab(from magenta calc(l * 0.8) a b);
से, 80% हल्का ओकेलैब मैजेंटा मिलता है.
सीएसएस क्लिप-पाथ ज्यामिति-बॉक्स की वैल्यू
क्लिप के रेफ़रंस बॉक्स को कंट्रोल करने के लिए, अब सीएसएस clip-path
प्रॉपर्टी में <geometry-box>
वैल्यू इस्तेमाल की जा सकती हैं. इससे clip-path
का इस्तेमाल करना आसान हो जाता है. इन बॉक्स वैल्यू का इस्तेमाल, सामान्य आकारों (जैसे, clip-path: circle(50%) margin-box
) के साथ किया जा सकता है या इन्हें अलग से तय किए गए बॉक्स में क्लिप करने के लिए इस्तेमाल किया जा सकता है (जैसे, clip-path: content-box
).
सीएसएस क्लिप-पाथ xywh() और rect() वैल्यू
Chrome में अब clip-path
प्रॉपर्टी की xywh()
और rect()
वैल्यू इस्तेमाल की जा सकती हैं. इससे आयताकार या गोल आकार की गोल क्लिप की जानकारी देना आसान हो जाता है.
वेब एपीआई
कुकी खत्म होने की तारीख/ज़्यादा से ज़्यादा उम्र वाले एट्रिब्यूट में जोड़े गए स्टोरेज की ऊपरी सीमा
Chrome 104 पर हाल ही में बनाई गई कुकी या जिन कुकी को अपडेट करने के लिए समयसीमा खत्म होने की तारीख सेट की गई है उनके लिए, आने वाले समय में 400 दिनों से ज़्यादा यह तारीख नहीं तय की गई है. स्टोरेज की यह सीमा, अब पहले से मौजूद कुकी पर लागू हो जाएगी. इन कुकी के खत्म होने की तारीख, पहली बार Chrome 119+ के चालू होने और एक बार किए जाने वाले डेटाबेस माइग्रेशन के बाद ज़्यादा से ज़्यादा 400 दिनों तक सीमित की जाएगी. उपयोगकर्ताओं पर, Chrome 119 के रिलीज़ होने के कम से कम 400 दिनों तक, इस बदलाव का असर नहीं दिखेगा. इसके बाद, यह असर सिर्फ़ उन मौजूदा कुकी के लिए होगा जिन्हें इस अवधि में अपडेट नहीं किया गया था.
DisplayMediaStreamOptions MonitorTypeSurfaces
getDisplayMedia()
शुरू होने पर ब्राउज़र, उपयोगकर्ता को डिसप्ले प्लैटफ़ॉर्म का विकल्प देता है: टैब, विंडो या मॉनिटर. monitorTypeSurfaces
विकल्प का इस्तेमाल करने पर, वेब ऐप्लिकेशन अब ब्राउज़र को संकेत दे सकता है कि वह ऐसे डिसप्ले प्लैटफ़ॉर्म को शामिल करना चाहता है जिसका टाइप, उपयोगकर्ता को दिए जाने वाले विकल्पों में से मॉनिटर होता है.
फ़ेंस किए गए फ़्रेम की सुविधा से जुड़े अपडेट
Chrome 119 में, फ़ेंस किए गए फ़्रेम में ये सुधार शामिल किए गए हैं.
प्राइवसी सैंडबॉक्स में, Protected Audience API में, Protected Audience से जुड़े विज्ञापन के साइज़ के मैक्रो के लिए एक और फ़ॉर्मैट विकल्प मौजूद है. ऑप्ट-इन सुविधा की मदद से, नीलामी में जीत हासिल करने वाले विज्ञापन के यूआरएल को बड़ा किया जा सकता है. उदाहरण के लिए:
https://ad.com?width={/%AD_WIDTH%}&height={/%AD_HEIGHT%}
Protected Audience में deprecatedReplaceInURN
और registerAdMacro
में इस्तेमाल किए जाने वाले मैक्रो जैसे अन्य तरह के मैक्रो के साथ बेहतर तालमेल बनाए रखने के लिए, Chrome 119 में हम मौजूदा फ़ॉर्मैट के साथ-साथ, ${AD_WIDTH}
और ${AD_HEIGHT}
को मैक्रो फ़ॉर्मैट में इस्तेमाल करने की सुविधा जोड़ रहे हैं.
अपने-आप काम करने वाले बीकन अब रजिस्टर किए गए सभी यूआरएल पर भेजे जाएंगे. पहले, setReportEventDataForAutomaticBeacons()
को कॉल करते समय सिर्फ़ उन डेस्टिनेशन को अपने-आप बीकन मिलते हैं, जिन्हें उनके वर्कलेट में "reserved.top_navigation"
के लिए registerAdBeacon()
कहा जाता है. अब, "reserved.top_navigation"
के लिए registerAdBeacon()
नाम से किसी भी डेस्टिनेशन को अपने-आप बीकन मिलेगा, लेकिन सिर्फ़ setReportEventDataForAutomaticBeacons()
में बताए गए डेस्टिनेशन को ही बीकन के साथ ऑटोमैटिक बीकन डेटा मिलेगा. setReportEventDataForAutomaticBeacons()
में मौजूद "once"
पैरामीटर से अब यह तय होगा कि डेटा को एक बार भेजा जाएगा या नहीं. इससे यह तय नहीं होगा कि पूरा बीकन एक बार भेजा गया है या नहीं.
इंटरसेक्शन ऑब्ज़र्वर स्क्रोल मार्जिन
इंटरसेक्शन ऑब्ज़र्वर scrollMargin
प्रॉपर्टी की मदद से, डेवलपर नेस्ट किए गए ऐसे स्क्रोल कंटेनर के अंदर टारगेट देख सकते हैं जिन्हें मौजूदा समय में स्क्रोल कंटेनर से हटा दिया गया है. इसके लिए, इंटरसेक्शन को कैलकुलेट करते समय, scrollMargin
की मदद से कंटेनर के क्लिपिंग रेक्ट को बड़ा किया जाता है.
कीबोर्ड पर फ़ोकस करने लायक स्क्रोल कंटेनर
यह सुविधा, क्रम से फ़ोकस करने वाले नेविगेशन का इस्तेमाल करके, स्क्रोल कंटेनर को फ़ोकस करने लायक बनाती है. इससे सुलभता को बेहतर बनाया जाता है. पहले, टैब कुंजी तब तक स्क्रोलर पर फ़ोकस नहीं करती थी जब तक कि tabIndex को साफ़ तौर पर 0 या ज़्यादा पर सेट नहीं किया जाता था. स्क्रोलर को डिफ़ॉल्ट रूप से फ़ोकस करने लायक बनाने से, जो उपयोगकर्ता माउस का इस्तेमाल नहीं कर सकते या नहीं करना चाहते वे कीबोर्ड के टैब और ऐरो बटन का इस्तेमाल करके, क्लिप किए गए कॉन्टेंट पर फ़ोकस कर पाएंगे. यह सेटिंग सिर्फ़ तब चालू होती है, जब स्क्रोलर में कोई ऐसा चाइल्ड पब्लिशर न हो जिस पर फ़ोकस किया जा सके.
वाहन संबंधित कारोबारों के लिए, निजी नेटवर्क के ऐक्सेस से जुड़ी पाबंदियां
Android Automotive (अगर BuildInfo::is_automotive
) के लिए Chrome पर निजी नेटवर्क ऐक्सेस प्रतिबंध लागू करें (सिर्फ़ चेतावनी देने के बजाय). इसमें, सबरिसॉर्स के लिए प्राइवेट नेटवर्क ऐक्सेस प्रीफ़्लाइट अनुरोध और वर्कर के लिए प्राइवेट नेटवर्क ऐक्सेस शामिल हैं.
Chrome डिवाइस की विशेषताएं पढ़ें
Device Attributes Web API, 'मैनेज किए जा रहे डिवाइस वेब एपीआई' का एक सबसेट है. यह वेब ऐप्लिकेशन को डिवाइस की जानकारी खोजने की सुविधा देता है. उदाहरण के लिए, डिवाइस आईडी, सीरियल नंबर, और जगह की जानकारी.
टारगेट के नाम में हैंगिंग मार्कअप को _blank
से बदलें
अगर इसमें डेंगलिंग मार्कअप (उदाहरण के लिए, \n
और <
) मौजूद है, तो यह बदलाव नेविगेट किए जा सकने वाले टारगेट नाम (जो आम तौर पर टारगेट एट्रिब्यूट की मदद से सेट होता है) को _blank
में बदल देता है. ऐसा करने से, हैंगलिंग मार्कअप इंजेक्शन कम करने की प्रक्रिया में बायपास को ठीक किया जाता है.
Sec-CH-Prefers- आरामदेह-पारदर्शिता उपयोगकर्ता की प्राथमिकता मीडिया सुविधाएं क्लाइंट हिंट हेडर
उपयोगकर्ता की प्राथमिकता वाला मीडिया फ़ीचर क्लाइंट हिंट हेडर, एचटीटीपी क्लाइंट हिंट हेडर के एक सेट के बारे में बताता है. यह हेडर, उपयोगकर्ता की पसंद की मीडिया सुविधाओं के सेट के बारे में बताता है, जैसा कि मीडिया क्वेरी लेवल 5 के मुताबिक तय किया गया है. अगर ज़रूरी क्लाइंट हिंट के रूप में इस्तेमाल किया जाता है, तो ये हेडर सर्वर को सीएसएस इनलाइनिंग जैसे बेहतर फ़ैसले लेने की सुविधा देते हैं. Sec-CH-Prefers-Reduced-Transparency
से, उपयोगकर्ता की prefers-reduced-transparency
के हिसाब से सेटिंग का पता चलता है. यह सुविधा Chrome 119 में उपलब्ध है.
मानक अनुपालन यूआरएल होस्ट विराम चिह्न वर्ण
Chrome के यूआरएल होस्ट विराम चिह्न का इस्तेमाल, यूआरएल के स्टैंडर्ड के हिसाब से करें. उदाहरण के लिए:
पहले:
> const url = new URL("http://exa(mple.com;");
> url.href
'http://exa%28mple.com/'
(
एक प्रतिबंधित वर्ण है, हालांकि Chrome इसकी अनुमति गलत तरीके से देता है.
बाद में:
> const url = new URL("http://exa(mple.com;");
> => throws TypeError: Invalid URL.
WebCodecs ऑडियो एन्कोडर बिटरेट मोड
कुछ ऑडियो कोडेक, ऑडियो एन्कोडर बिटरेट मोड को तय करने की सुविधा देते हैं. यह सुविधा, WebCodec के AudioEncoderConfig
में "variable"
की डिफ़ॉल्ट वैल्यू वाला "bitrateMode"
फ़्लैग जोड़ती है. यह कॉन्फ़िगरेशन विकल्प का डुप्लीकेट वर्शन बनाती है, जो VideoEncoderConfig
के लिए डिफ़ॉल्ट रूप से पहले से मौजूद होती है.
इस फ़्लैग की मदद से डेवलपर, ऑडियो को बदलने वाले बिटरेट या स्थिर बिटरेट के साथ एन्कोड करने का विकल्प चुन पाएंगे. कुछ कोडेक एन्कोडर इस्तेमाल करने के तरीके में थोड़ी अलग शब्दावली हो सकती हैं (उदाहरण के लिए, Opus के लिए CBR
बनाम VBR
), लेकिन उन सभी को "कॉन्सटेंट" के सामान्य कॉन्सेप्ट से मैप करना चाहिए बनाम "वैरिएबल" बिटरेट.
दोनों विकल्पों के ये असर होते हैं:
- वैरिएबल: इससे ऑडियो एन्कोडर, कोड में बदले गए ऑडियो की कॉन्टेंट के हिसाब से बिटरेट को बढ़ा या घटा सकता है. ऐसा इसलिए किया जाता है, ताकि बैंडविथ/बाइनरी साइज़ बनाए रखा जा सके और टारगेट क्वालिटी में कोई बदलाव न हो. उदाहरण के लिए, बिना आवाज़ वाले कॉन्टेंट को कोड में बदलते समय, एन्कोडर अपना बिटरेट कम कर सकता है. इसके अलावा, बोली को कोड में बदलते समय, पूरे बिटरेट का इस्तेमाल कर सकता है.
- कॉन्सटेंट : इसकी वजह से ऑडियो एन्कोडर को वही बिटरेट मिलता है, चाहे ऑडियो कॉन्टेंट कुछ भी हो. यह तब उपयोगी हो सकता है जब अनुमानित बैंडविथ उपयोग को प्राथमिकता दी जाती हो.
Chrome 119 के बाद से, यह फ़्लैग Chromium पर दो कोडेक पर असर डालेगा: Opus और AAC.
TLS के लिए X25519Kyber768 की एनकैप्सुलेशन
Kyber768 के क्वांटम रेज़िस्टेंस की-एग्रीमेंट एल्गोरिदम का इस्तेमाल करके, मौजूदा Chrome टीएलएस ट्रैफ़िक को सुरक्षित रखें. इससे आने वाले समय में, क्वांटम क्रिप्ट एनालिसिस से बचा जा सकता है. यह एक हाइब्रिड X25519 + Kyber768 की-एग्रीमेंट है, जो आईईटीएफ़ स्टैंडर्ड पर आधारित है. यह स्पेसिफ़िकेशन और लॉन्च, W3C के दायरे से बाहर है. इस मुख्य समझौते को TLS साइफ़र के तौर पर लॉन्च किया जाएगा. साथ ही, इसे उपयोगकर्ताओं के लिए पारदर्शी होना चाहिए.
ऑरिजिन ट्रायल चल रहा है
Chrome 119 में, यहां दिए गए नए ऑरिजिन ट्रायल के लिए ऑप्ट इन किया जा सकता है.
पॉप-अप को फ़ुलस्क्रीन विंडो के तौर पर खोलना
ऑरिजिन ट्रायल का यह नया वर्शन, window.open()
JavaScript API में fullscreen
windowFeatures पैरामीटर जोड़ता है. इससे कॉलर को सीधे डिसप्ले पर फ़ुल-स्क्रीन में पॉप-अप खोलने की अनुमति मिलती है. यह पॉप-अप (screenX और screenY पर आधारित) है. इससे डेवलपर को मैन्युअल तरीके से पॉप-अप को फ़ुल-स्क्रीन में बदलने की ज़रूरत नहीं होती. इसके लिए, नए उपयोगकर्ता के ऐक्टिवेशन सिग्नल की ज़रूरत पड़ सकती है.
बंद करना और हटाना
Chrome के इस वर्शन में, सुविधाओं को बंद करने और हटाने के बारे में नीचे बताया गया है. पहले से तय, बंद हो चुके, और पहले से हटाए गए तरीकों की सूची के लिए ChromeStatus.com पर जाएं.
Chrome की इस रिलीज़ में चार सुविधाएं हटा दी गई हैं.
वेब एसक्यूएल हटाएं
हमने पहले वेब एसक्यूएल की सुविधा को बंद करने और हटाने का एलान किया था. यह सुविधा, Chrome के वर्शन 119 के बाद से पूरी तरह से हट गई है. रिवर्स ऑरिजिन ट्रायल की मदद से, डेवलपर Chrome 123 तक WebSQL का इस्तेमाल जारी रख सकते हैं.
सैनिटाइज़र एपीआई हटाएं
सैनिटाइज़र एपीआई का मकसद, प्लैटफ़ॉर्म में ब्राउज़र की मदद से मैनेज किया जाने वाला, इस्तेमाल में आसान, सुरक्षित, एचटीएमएल सैनिटाइज़र बनाना है. Chrome ने Chrome 105 का शुरुआती वर्शन शिप किया था. यह वर्शन, उस समय के स्पेसिफ़िकेशन के ड्राफ़्ट के हिसाब से भेजा गया था. हालांकि, इस दौरान चर्चा आगे बढ़ गई है और प्रस्तावित एपीआई के आकार में काफ़ी बदलाव हुए हैं.
मौजूदा एपीआई को अतिरिक्त स्पेस में होने से रोकने के लिए, हम मौजूदा एपीआई को हटा रहे हैं. सुझाए गए स्पेसिफ़िकेशन के फिर से स्थिर हो जाने पर, हम सैनिटाइज़र एपीआई को फिर से लागू करने की उम्मीद करते हैं.
डेटा हटाएं: SVGUseElement में यूआरएल
SVGUseElement
में data: URL
असाइन करने से XSS हो सकता है. इस वजह से, ट्रस्टेड टाइप को बायपास करना पड़ा. इसलिए, हमारी योजना है कि अब इस सुविधा को खत्म किया जाए और इसका समर्थन वापस लिया जाए.
डिक्लेरेटिव शैडो डीओएम के लिए, नॉन-स्टैंडर्ड shadowroot
एट्रिब्यूट हटाएं
स्टैंडर्ड-ट्रैक shadowrootmode
एट्रिब्यूट, Chrome 111 में शिप किया गया. यह एट्रिब्यूट, Shadow DOM को चालू करता है. Chrome 119 से पुराना, नॉन-स्टैंडर्ड shadowroot
एट्रिब्यूट हटाया जा रहा है. माइग्रेशन का एक आसान पाथ है: shadowroot
को shadowrootmode
से बदलें.