Chrome 119 बीटा वर्शन

Chrome 119 बीटा वर्शन में आपको सीएसएस रिलेटिव कलर सिंटैक्स, नई स्यूडो क्लास वगैरह की सुविधा मिलती है.

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

सीएसएस

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

:user-मान्य और :user-अमान्य सीएसएस स्यूडो क्लास

:user-invalid और :user-valid का स्यूडो क्लास, गलत या सही इनपुट वाले एलिमेंट को दिखाती हैं. हालांकि, ऐसा सिर्फ़ तब किया जाता है, जब उपयोगकर्ता ने सही इनपुट वाले एलिमेंट का इस्तेमाल किया हो. यह :valid और :invalid की तरह है, लेकिन जोड़े गए कंस्ट्रेंट के साथ, ये स्यूडो-क्लास सिर्फ़ तब मैच करती हैं, जब उपयोगकर्ता एलिमेंट के साथ इंटरैक्ट करता है.

सीएसएस रिलेटिव कलर सिंटैक्स (आरसीएस)

रिलेटिव कलर सिंटैक्स की मदद से डेवलपर, अन्य कलर के पैरामीटर में बदलाव करके कलर तय कर सकते हैं.

उदाहरण के लिए: oklab(from magenta calc(l * 0.8) a b); से 80% हल्का oklab मजेंटा मिलता है.

CSS क्लिप-पाथ ज्यामिति-बॉक्स मान

अब सीएसएस 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 खरीदीTypeSurfaces

getDisplayMedia() शुरू होने पर ब्राउज़र, उपयोगकर्ता को टैब, विंडो या मॉनिटर जैसे डिसप्ले प्लैटफ़ॉर्म का विकल्प देता है. monitorTypeSurfaces विकल्प का इस्तेमाल करने से, वेब ऐप्लिकेशन अब ब्राउज़र को संकेत दे सकता है. ऐसा तब होगा, जब वह उन डिसप्ले प्लैटफ़ॉर्म को शामिल करना चाहता हो जिनका टाइप, उपयोगकर्ता को दिए जाने वाले विकल्पों में से एक है.

फ़ेंस किए गए फ़्रेम की सुविधा से जुड़े अपडेट

Chrome 119 में फ़ेंस किए गए फ़्रेम में नीचे दिए गए सुधार शामिल हैं.

प्राइवसी सैंडबॉक्स के Protected Audience API में, Protected Audience API के लिए, Protected Audience विज्ञापन साइज़ मैक्रो के लिए अन्य फ़ॉर्मैट का विकल्प मौजूद होता है. ऑप्ट-इन सुविधा की मदद से, नीलामी में जीतने वाले विज्ञापन के यूआरएल को बड़ा करने में मदद मिलती है, उदाहरण के लिए:

https://ad.com?width={/%AD_WIDTH%}&height={/%AD_HEIGHT%}

सुरक्षित ऑडियंस में मौजूद मैक्रो के अन्य टाइप (जैसे, deprecatedReplaceInURN और registerAdMacro में इस्तेमाल होने वाले मैक्रो) से ज़्यादा मेल खाने के लिए, हम Chrome 119 में मौजूदा फ़ॉर्मैट के साथ-साथ मैक्रो के लिए, ${AD_WIDTH} और ${AD_HEIGHT} को फ़ॉर्मैट के तौर पर इस्तेमाल करने की सुविधा जोड़ रहे हैं.

अपने-आप तैयार होने वाले बीकन, अब रजिस्टर किए गए सभी यूआरएल पर भेजे जाएंगे. पहले सिर्फ़ setReportEventDataForAutomaticBeacons() को कॉल करते समय तय किए गए डेस्टिनेशन को ही अपने-आप बीकन मिलेगा, भले ही वह डेस्टिनेशन उनके वर्कलेट में "reserved.top_navigation" के लिए registerAdBeacon() नाम का हो. अब, "reserved.top_navigation" के लिए registerAdBeacon() नाम वाले किसी भी डेस्टिनेशन को अपने-आप बीकन मिलेगा, लेकिन सिर्फ़ setReportEventDataForAutomaticBeacons() में बताए गए डेस्टिनेशन को ही बीकन के साथ अपने-आप बीकन डेटा मिलेगा. पूरा बीकन एक बार भेजा जाए या नहीं, यह तय करने के बजाय अब setReportEventDataForAutomaticBeacons() में "once" पैरामीटर यह तय करेगा कि डेटा एक बार भेजा जाएगा या नहीं.

इंटरसेक्शन ऑब्ज़र्वर का स्क्रोल मार्जिन

'इंटरसेक्शन ऑब्ज़र्वर scrollMargin' प्रॉपर्टी की मदद से, डेवलपर नेस्ट किए गए स्क्रोल कंटेनर में मौजूद उन टारगेट को देख सकते हैं जो फ़िलहाल स्क्रोल कंटेनर से क्लिप किए गए हैं. चौराहे की गणना करते समय, कंटेनर के क्लिपिंग रेक्टैंगल को scrollMargin से बड़ा करके ऐसा किया जाता है.

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

यह सुविधा, स्क्रोल कंटेनर को क्रम से फ़ोकस किए जाने वाले नेविगेशन का इस्तेमाल करके फ़ोकस करने लायक बनाती है. इससे सुलभता को बेहतर बनाया जाता है. पहले, Tab बटन की मदद से स्क्रोल करने वाले लोगों पर तब तक फ़ोकस नहीं किया जाता था, जब तक TabIndex को 0 या इससे ज़्यादा पर सेट नहीं किया जाता. स्क्रोलर को डिफ़ॉल्ट रूप से फ़ोकस करने लायक बनाने से, जो उपयोगकर्ता माउस का इस्तेमाल नहीं कर सकते (या नहीं करना चाहते) वे कीबोर्ड के टैब और ऐरो बटन का इस्तेमाल करके, क्लिप किए गए कॉन्टेंट पर फ़ोकस कर पाएंगे. यह तरीका सिर्फ़ तब चालू होता है, जब स्क्रोलर में कीबोर्ड पर फ़ोकस करने लायक कोई भी बच्चे मौजूद न हो.

वाहन संबंधित निजी नेटवर्क के ऐक्सेस से जुड़ी पाबंदियां

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

Chrome डिवाइस के एट्रिब्यूट को पढ़ सकता है

Device Attributes Web API, Managed Device Web API का एक सबसेट है, जो वेब ऐप्लिकेशन को डिवाइस की जानकारी से क्वेरी करने की सुविधा देता है. उदाहरण के लिए, डिवाइस आईडी, सीरियल नंबर, और जगह की जानकारी.

टारगेट के नाम में लटकने वाले मार्कअप को _blank से बदलें

इस बदलाव से, नेविगेट किए जा सकने वाले टारगेट नाम (आम तौर पर, टारगेट एट्रिब्यूट में सेट किया जाता है) को _blank से बदल दिया जाता है. ऐसा तब होता है, जब इसमें कोई लटकने वाला मार्कअप (उदाहरण के लिए, \n और <) होता है. इससे लटकने वाले मार्कअप इंजेक्शन के दौरान होने वाले बायपास को ठीक किया जाता है.

Sec-CH-Prefers- उपयोगकर्ताओं की प्राथमिकता के तौर पर सेट की गई उपयोगकर्ता की पसंद के मीडिया फ़ीचर क्लाइंट हिंट का हेडर

उपयोगकर्ता की पसंद के मीडिया फ़ीचर क्लाइंट हिंट हेडर, मीडिया क्वेरी लेवल 5 के मुताबिक उपयोगकर्ता की पसंद के मीडिया सुविधाओं के आस-पास एचटीटीपी क्लाइंट हिंट हेडर का एक सेट तय करता है. अगर इन हेडर का इस्तेमाल ज़रूरी क्लाइंट संकेतों के तौर पर किया जाता है, तो सर्वर को सीएसएस इनलाइनिंग के बारे में स्मार्ट विकल्प चुनने की सुविधा मिलती है. Sec-CH-Prefers-Reduced-Transparency, उपयोगकर्ता की prefers-reduced-transparency पसंद के बारे में बताता है. यह Chrome 119 पर उपलब्ध है.

मानक अनुपालन URL होस्ट विराम चिह्न वर्ण

Chrome के यूआरएल होस्ट में विराम चिह्न के वर्णों को मैनेज करने के तरीके को यूआरएल स्टैंडर्ड के मुताबिक बनाएं. उदाहरण के लिए:

पहले:

> const url = new URL("http://exa(mple.com;");
> url.href
'http://exa%28mple.com/&apos;

( एक निषिद्ध वर्ण है, हालांकि, Chrome इसे गलत तरीके से अनुमति देता है.

बाद में:

> const url = new URL("http://exa(mple.com;");
> => throws TypeError: Invalid URL.

WebCodecs AudioEncoder बिटरेट मोड

कुछ ऑडियो कोडेक, ऑडियो एन्कोडर के बिटरेट मोड तय करने की सुविधा देते हैं. यह सुविधा WebCodec के AudioEncoderConfig में, "variable" की डिफ़ॉल्ट वैल्यू के साथ "bitrateMode" फ़्लैग जोड़ती है. यह कॉन्फ़िगरेशन विकल्प की डुप्लीकेट कॉपी बनाती है और VideoEncoderConfig के लिए डिफ़ॉल्ट तौर पर पहले से मौजूद होती है.

इस फ़्लैग की मदद से डेवलपर, ऑडियो को वैरिएबल बिटरेट या स्थिर बिटरेट के साथ एन्कोड कर पाएंगे. खास कोडेक एन्कोडर पर लागू होने वाली शब्दावली थोड़ी अलग हो सकती है (उदाहरण के लिए, Opus के लिए CBR बनाम VBR), लेकिन उन सभी को "कॉन्सटेंट" बनाम "वैरिएबल" बिटरेट के सामान्य सिद्धांत से मैप करना चाहिए.

दोनों विकल्पों के ये नतीजे होते हैं:

  • वैरिएबल: इस सुविधा से, ऑडियो एन्कोडर को रिकॉर्ड किए जा रहे ऑडियो के कॉन्टेंट के हिसाब से बिटरेट बढ़ाने या कम करने में मदद मिलती है. इससे बैंडविथ/बाइनरी साइज़ को बनाए रखने के साथ-साथ, टारगेट की क्वालिटी भी बनी रहती है. उदाहरण के लिए, हो सकता है कि कोई एन्कोडर, साइलेंस को कोड में बदलते समय बिटरेट को कम कर दे और बोली को एन्कोड करते समय फ़ुल बिटरेट पर सेट हो.
  • कॉन्सटेंट : यह ऑडियो एन्कोडर को वही बिटरेट बनाए रखता है, भले ही ऑडियो कॉन्टेंट कुछ भी हो. यह तब उपयोगी हो सकता है, जब अनुमानित बैंडविड्थ के इस्तेमाल को प्राथमिकता दी जाए.

Chrome 119 से, यह फ़्लैग Chromium पर दो कोडेक पर असर डालेगा: Opus और AAC.

TLS के लिए, X25519Kyber768 की कुंजी को एन्क्रिप्ट (सुरक्षित) करने की सुविधा

Kyber768 क्वांटम-रेसिस्टेंट की-एग्रीमेंट एल्गोरिदम को डिप्लॉय करके, आने वाले समय में क्वांटम क्रिप्ट एनालिसिस से बचने के लिए, Chrome TLS के मौजूदा ट्रैफ़िक को सुरक्षित रखें. यह हाइब्रिड X25519 और Kyber768 का मुख्य कानूनी समझौता है. यह आईईटीएफ़ स्टैंडर्ड पर आधारित है. यह स्पेसिफ़िकेशन और लॉन्च, W3C के दायरे से बाहर है. इस मुख्य कानूनी समझौते को TLS साइफ़र के तौर पर लॉन्च किया जाएगा और यह उपयोगकर्ताओं के लिए पारदर्शी होगा.

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

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

पॉप-अप को फ़ुलस्क्रीन विंडो के तौर पर खोलना

नया ऑरिजिन ट्रायल, window.open() JavaScript API में fullscreen windowFeatures पैरामीटर जोड़ता है. इससे कॉलर को सीधे डिसप्ले पर फ़ुल-स्क्रीन पर पॉप-अप खोलने की सुविधा मिलती है, जिसमें पॉप-अप शामिल होगा (screenX और screenY के आधार पर). इससे डेवलपर को मैन्युअल तरीके से पॉप-अप को फ़ुल-स्क्रीन में नहीं बदलना पड़ता. इसके लिए, नए उपयोगकर्ता को ऐक्टिवेशन सिग्नल की ज़रूरत पड़ सकती है.

सेवा बंद करना और हटाना

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

Chrome के इस वर्शन में चार सुविधाएं बंद हो गई हैं.

वेब एसक्यूएल हटाएं

हमने पहले वेब एसक्यूएल को बंद करने और हटाने का एलान किया था. Chrome के वर्शन 119 में इस सुविधा को पूरी तरह से हटा दिया गया है. रिवर्स ऑरिजिन ट्रायल की मदद से डेवलपर, Chrome 123 तक WebSQL का इस्तेमाल कर सकते हैं.

Sanitizer API हटाएं

Sanitizer API का मकसद, प्लैटफ़ॉर्म के लिए इस्तेमाल में आसान, हमेशा सुरक्षित, ब्राउज़र की मदद से बनाए गए एचटीएमएल सैनिटाइज़र को बनाना है. Chrome ने उस समय के स्पेसिफ़िकेशन ड्राफ़्ट के आधार पर, Chrome 105 का शुरुआती वर्शन शिप किया था. हालांकि, इस बीच चर्चा आगे बढ़ गई है और प्रस्तावित एपीआई के आकार में काफ़ी बदलाव हुए हैं.

मौजूदा एपीआई को हैक होने से बचाने के लिए, हम मौजूदा तरीके को हटा रहे हैं. बताई गई जानकारी के फिर से स्थिर होने पर, हम Sanitizer API को फिर से लागू करने की उम्मीद करते हैं.

डेटा हटाएं: SVGUseElement में यूआरएल

SVGUseElement में data: URL असाइन करने से XSS बन सकता है. और इसकी वजह से एक 'भरोसेमंद टाइप' को बायपास भी हुआ. इसलिए, हम इसके लिए मिलने वाली सुविधा का बहिष्कार करने और उसे हटाने की योजना बना रहे हैं.

डिक्लेरेटिव शैडो डीओएम के लिए, नॉन-स्टैंडर्ड shadowroot एट्रिब्यूट हटाएं

स्टैंडर्ड-ट्रैक shadowrootmode एट्रिब्यूट, Chrome 111 में शिप किया गया. इस एट्रिब्यूट की मदद से, डिक्लेरेटिव Shadow DOM को चालू किया जाता है. पुराना, नॉन-स्टैंडर्ड shadowroot एट्रिब्यूट Chrome 119 से हटाया जा रहा है. माइग्रेशन का आसान पाथ है: shadowroot को shadowrootmode से बदलें.