প্রকাশিত: ১ অক্টোবর, ২০২৫
অন্যথায় উল্লেখ না থাকলে, এই পরিবর্তনগুলি Android, ChromeOS, Linux, macOS, এবং Windows-এর জন্য Chrome 142 বিটা চ্যানেল রিলিজে প্রযোজ্য। প্রদত্ত লিঙ্কগুলি থেকে অথবা ChromeStatus.com থেকে এই বৈশিষ্ট্যগুলি সম্পর্কে আরও জানুন। ডেস্কটপের জন্য Google.com থেকে অথবা Android-এর জন্য Google Play Store থেকে Chrome 142 বিটা ডাউনলোড করুন।
CSS এবং UI
:target-before এবং :target-after ছদ্ম-শ্রেণী
এই সিউডো-ক্লাসগুলি ফ্ল্যাট ট্রি অর্ডার দ্বারা নির্ধারিত একই স্ক্রল মার্কার গ্রুপের মধ্যে সক্রিয় মার্কারের ( :target-current সাথে মেলে) আগে বা পরের স্ক্রল মার্কারগুলিকে ম্যাচ করে:
-
:target-before: গ্রুপের মধ্যে ফ্ল্যাট ট্রি ক্রম অনুসারে সক্রিয় মার্কারের আগে থাকা সমস্ত স্ক্রোল মার্কারের সাথে মেলে। -
:target-after: গ্রুপের মধ্যে ফ্ল্যাট ট্রি ক্রম অনুসারে সক্রিয় মার্কারের পরে আসা সমস্ত স্ক্রোল মার্কারকে মেলায়।
::view-transition এলিমেন্টের জন্য অ্যাবসোলিউট পজিশনিং
ভিউ ট্রানজিশনগুলো এলিমেন্টের একটি ছদ্ম-উপবৃক্ষ ব্যবহার করে, যেখানে ::view-transition হলো সেই ট্রানজিশনের মূল। পূর্বে, ::view-transition এলিমেন্টটির position: fixed নির্দিষ্ট করা ছিল। CSS ওয়ার্কিং গ্রুপ এটিকে position: absolute করার সিদ্ধান্ত নিয়েছে এবং তাই Chrome এখন সেই পরিবর্তনটি প্রতিফলিত করে।
এই পরিবর্তনটি লক্ষণীয় হওয়ার কথা নয়, কারণ এই এলিমেন্টটির ধারণকারী ব্লকটি অ্যাবসোলিউট বা ফিক্সড উভয় ক্ষেত্রেই স্ন্যাপশট ধারণকারী ব্লক হিসেবেই থাকে। একমাত্র লক্ষণীয় পার্থক্যটি হলো getComputedStyle এ।
ডকুমেন্টে activeViewTransition প্রপার্টি
ভিউ ট্রানজিশনস এপিআই ডেভেলপারদের বিভিন্ন স্টেটের মধ্যে ভিজ্যুয়াল ট্রানজিশন শুরু করার সুযোগ দেয়। এর প্রধান এসপিএ এন্ট্রি পয়েন্ট হলো startViewTransition() , যা একটি ট্রানজিশন অবজেক্ট রিটার্ন করে। এই অবজেক্টটিতে ট্রানজিশনের অগ্রগতি ট্র্যাক করার জন্য বেশ কিছু প্রমিস ও কার্যকারিতা থাকে এবং এটি আপনাকে ট্রানজিশন ম্যানিপুলেট করার সুযোগ দেয়, যেমন—ট্রানজিশনটি স্কিপ করা বা এর টাইপ পরিবর্তন করা।
ক্রোম ১৪২ থেকে, ডেভেলপারদের আর এই অবজেক্টটি সংরক্ষণ করার প্রয়োজন নেই। একটি document.activeViewTransition প্রপার্টি এই অবজেক্টটিকে প্রতিনিধিত্ব করে, অথবা কোনো ট্রানজিশন চলমান না থাকলে null ।
এটি এমপিএ ট্রানজিশনের ক্ষেত্রেও প্রযোজ্য, যেখানে অবজেক্টটি শুধুমাত্র pageswap এবং pagereveal ইভেন্টের মাধ্যমে উপলব্ধ থাকে। এই আপডেটে, ট্রানজিশন চলাকালীন document.activeViewTransition এই অবজেক্টটিতে সেট করা হয়।
স্টাইল কন্টেইনার কোয়েরি এবং if() এর জন্য রেঞ্জ সিনট্যাক্স
ক্রোম রেঞ্জ সিনট্যাক্সের সমর্থন যোগ করার মাধ্যমে CSS স্টাইল কোয়েরি এবং if() ফাংশনকে উন্নত করেছে।
এটি স্টাইল কোয়েরিকে শুধু সঠিক মান মেলানোর (যেমন, style(--theme: dark) ) বাইরেও প্রসারিত করে। ডেভেলপাররা কাস্টম প্রোপার্টি, আক্ষরিক মান (যেমন, 10px বা 25%), এবং attr() ও env() এর মতো সাবস্টিটিউশন ফাংশন থেকে আসা মান তুলনা করার জন্য কম্প্যারিসন অপারেটর (যেমন > এবং < ) ব্যবহার করতে পারেন। একটি বৈধ তুলনার জন্য, উভয় পক্ষকে অবশ্যই একই ডেটা টাইপে পরিণত হতে হবে। এটি নিম্নলিখিত নিউমেরিক টাইপগুলোর মধ্যে সীমাবদ্ধ: <length> , <number> , <percentage> , <angle> , <time> , <frequency> , এবং <resolution> ।
উদাহরণ:
একটি কাস্টম প্রপার্টিকে একটি আক্ষরিক দৈর্ঘ্যের সাথে তুলনা করুন:
@container style(--inner-padding > 1em) {
.card {
border: 2px solid;
}
}
দুটি আক্ষরিক মানের তুলনা করুন
@container style(1em < 20px) {
/* ... */
}
if() ফাংশনে স্টাইল রেঞ্জ ব্যবহার করা:
.item-grid {
background-color: if(style(attr(data-columns, type<number>) > 2): lightblue; else: white);
}
ইন্টারেস্ট ইনভোকার ( interestfor অ্যাট্রিবিউট)
ক্রোম <button> এবং <a> এলিমেন্টে একটি interestfor অ্যাট্রিবিউট যোগ করে। এই অ্যাট্রিবিউটটি এলিমেন্টটিতে "আগ্রহ" প্রকাশকারী আচরণ যুক্ত করে। যখন কোনো ব্যবহারকারী এলিমেন্টটির প্রতি "আগ্রহ প্রকাশ করে", তখন টার্গেট এলিমেন্টটিতে বিভিন্ন অ্যাকশন সক্রিয় হয়, যেমন—একটি পপওভার দেখানো। ইউজার এজেন্ট বিভিন্ন পদ্ধতির মাধ্যমে এলিমেন্টটির প্রতি ব্যবহারকারীর "আগ্রহ" প্রকাশ শনাক্ত করে, যেমন—এলিমেন্টের উপর পয়েন্টার ধরে রাখা, কিবোর্ডের বিশেষ হটকি চাপ দেওয়া, অথবা টাচস্ক্রিনে এলিমেন্টটি লং-প্রেস করা। যখন আগ্রহ প্রকাশ করা হয় বা আগ্রহ হারিয়ে যায়, তখন টার্গেট এলিমেন্টে একটি InterestEvent ফায়ার হয়, যেখানে পপওভারের জন্য ডিফল্ট অ্যাকশনগুলো থাকে, যেমন—পপওভারটি দেখানো এবং লুকানো।
font-language-override প্রপার্টি
ক্রোম এখন font-language-override CSS প্রপার্টির জন্য সমর্থন চালু করেছে। এই প্রপার্টিটি ডেভেলপারদের সরাসরি CSS-এ একটি চার-অক্ষরের ল্যাঙ্গুয়েজ ট্যাগ উল্লেখ করে OpenType গ্লিফ সাবস্টিটিউশনের জন্য ব্যবহৃত সিস্টেম ল্যাঙ্গুয়েজকে ওভাররাইড করার সুযোগ দেয়।
এটি সূক্ষ্ম টাইপোগ্রাফিক নিয়ন্ত্রণ সক্ষম করে, যা বহুভাষিক বিষয়বস্তু বা ভাষা-নির্দিষ্ট গ্লিফ বৈচিত্র্যযুক্ত ফন্টের জন্য বিশেষভাবে উপযোগী।
SVG <a> এলিমেন্টের download অ্যাট্রিবিউট
SVG 2 স্পেসিফিকেশনের সাথে সামঞ্জস্য রেখে, ক্রোম SVGAElement ইন্টারফেসে download অ্যাট্রিবিউটের জন্য সমর্থন চালু করেছে। download অ্যাট্রিবিউটটি লেখকদেরকে নির্দিষ্ট করতে দেয় যে, এটি কোনো SVG হাইপারলিংকের গন্তব্যে নেভিগেট করার পরিবর্তে সেটিকে ডাউনলোড করবে। এটি HTMLAnchorElement এ ইতোমধ্যে সমর্থিত আচরণেরই অনুরূপ। এটি প্রধান ব্রাউজারগুলোর মধ্যে আন্তঃকার্যক্ষমতা বাড়ায় এবং HTML ও SVG <a> এলিমেন্টগুলোর মধ্যে সামঞ্জস্যপূর্ণ আচরণ নিশ্চিত করে, এবং ডেভেলপার অভিজ্ঞতা ও ব্যবহারকারীর প্রত্যাশা উন্নত করে।
নির্বাচিত এলিমেন্ট রেন্ডারিং মোডগুলির জন্য মোবাইল এবং ডেস্কটপ সমতা
size এবং multiple অ্যাট্রিবিউট ব্যবহার করে, ` <select> ` এলিমেন্টটিকে একটি ইন-পেজ লিস্টবক্স অথবা পপআপসহ একটি বাটন হিসেবে রেন্ডার করা যায়। তবে, এই মোডগুলো মোবাইল এবং ডেস্কটপ ক্রোমে একইভাবে উপলব্ধ নয়। ` multiple অ্যাট্রিবিউটটি উপস্থিত থাকলে, মোবাইলে ইন-পেজ লিস্টবক্স রেন্ডারিং এবং ডেস্কটপে পপআপসহ বাটন রেন্ডারিং উপলব্ধ থাকে না।
এই আপডেটে মোবাইলের জন্য লিস্টবক্স এবং ডেস্কটপের জন্য একটি মাল্টি-সিলেক্ট পপআপ যোগ করা হয়েছে, এবং এটি নিশ্চিত করা হয়েছে যে size ও multiple অ্যাট্রিবিউট সহ অপ্ট-ইনগুলো মোবাইল এবং ডেস্কটপ জুড়ে একই রেন্ডারিং মোডে প্রদর্শিত হবে। পরিবর্তনগুলো সংক্ষেপে নিম্নরূপ:
- যখন
sizeঅ্যাট্রিবিউটের মান1এর বেশি হয়, তখন সর্বদা ইন-পেজ রেন্ডারিং ব্যবহৃত হয়। মোবাইল ডিভাইসগুলো আগে এটি উপেক্ষা করত। - যখন
sizeঅ্যাট্রিবিউট ছাড়াmultipleঅ্যাট্রিবিউট সেট করা হয়, তখন ইন-পেজ রেন্ডারিং ব্যবহৃত হয়। মোবাইল ডিভাইসগুলো আগে ইন-পেজ লিস্টবক্সের পরিবর্তে একটি পপআপ ব্যবহার করত। - যখন
multipleঅ্যাট্রিবিউটটিsize=1দিয়ে সেট করা হয়, তখন একটি পপআপ ব্যবহৃত হয়। ডেস্কটপ ডিভাইসগুলোতে আগে একটি ইন-পেজ লিস্টবক্স ব্যবহৃত হতো।
একই-অরিজিন রেন্ডারার-প্রবর্তিত নেভিগেশন জুড়ে ব্যবহারকারীর স্থায়ী সক্রিয়করণ
একটি পৃষ্ঠা থেকে একই-অরিজিনের অন্য কোনো পৃষ্ঠায় নেভিগেট করার পরেও ক্রোম ব্যবহারকারীর অ্যাক্টিভেশন অবস্থাটি অপরিবর্তিত রাখে। নেভিগেশন-পরবর্তী পৃষ্ঠায় ব্যবহারকারীর অ্যাক্টিভেশন না থাকার কারণে কিছু ব্যবহারের ক্ষেত্র বাধাগ্রস্ত হয়, যেমন—অটো-ফোকাসের সময় ভার্চুয়াল কিবোর্ড দেখানো। এর ফলে সেইসব ডেভেলপাররা আটকে গেছেন যারা এসপিএ-এর ওপর এমপিএ তৈরি করতে চান।
এর আওতায় ব্রাউজার-প্রবর্তিত নেভিগেশন অনুরোধগুলি (যেমন রিলোড, হিস্ট্রি নেভিগেশন, অ্যাড্রেস বারে টাইপ করা ইউআরএল ইত্যাদি) অন্তর্ভুক্ত নয়।
ওয়েব এপিআই
WebGPU: primitive_index বৈশিষ্ট্য
WebGPU একটি নতুন ঐচ্ছিক সক্ষমতা যোগ করেছে যা primitive_index একটি নতুন WGSL শেডার বিল্টইন প্রকাশ করে। এটি vertex_index এবং instance_index বিল্টইনগুলোর মতোই, সমর্থিত হার্ডওয়্যারের ফ্র্যাগমেন্ট শেডারগুলোর জন্য প্রতি-প্রিমিটিভ ইনডেক্স প্রদান করে। প্রিমিটিভ ইনডেক্সটি ভার্চুয়ালাইজড জিওমেট্রির মতো উন্নত গ্রাফিক্যাল কৌশলগুলোর জন্য উপযোগী।
WebGPU: টেক্সচার ফরম্যাট টিয়ার১ এবং টিয়ার২
রেন্ডার অ্যাটাচমেন্ট, ব্লেন্ডিং, মাল্টিস্যাম্পলিং, রিজলভ এবং স্টোরেজ_বাইন্ডিং-এর মতো সক্ষমতা ব্যবহার করে জিপিইউ টেক্সচার ফরম্যাট সমর্থন প্রসারিত করুন।
insertFromPaste , insertFromDrop এবং insertReplacementText ইনপুট ইভেন্টগুলির জন্য DataTransfer প্রপার্টি
contenteditable এলিমেন্টগুলিতে সম্পাদনার সময় ক্লিপবোর্ড এবং ড্র্যাগ-অ্যান্ড-ড্রপ ডেটা অ্যাক্সেস দেওয়ার জন্য, ইনপুট ইভেন্টগুলিতে dataTransfer প্রপার্টিতে inputType ভ্যালু হিসেবে insertFromPaste , insertFromDrop , এবং insertReplacementText যোগ করুন।
dataTransfer অবজেক্টটিতে সেই একই ডেটা থাকে যা beforeinput ইভেন্টের সময় উপলব্ধ ছিল।
এই বৈশিষ্ট্যটি শুধুমাত্র কন্টেন্টএডিটেবল এলিমেন্টগুলোর ক্ষেত্রে প্রযোজ্য। ফর্ম কন্ট্রোলগুলোর (textarea , input ) ক্ষেত্রে এর আচরণ অপরিবর্তিত থাকে।
এই বৈশিষ্ট্যটি ক্রোমকে সাফারি এবং ফায়ারফক্সের সাথে আন্তঃকার্যক্ষম করে তোলে।
মিডিয়া সেশন: enterpictureinpicture অ্যাকশনের বিবরণে কারণ যোগ করুন
মিডিয়া সেশন এপিআই-তে enterpictureinpicture অ্যাকশনে পাঠানো MediaSessionActionDetails এ enterPictureInPictureReason যোগ করে। এর ফলে ডেভেলপাররা ব্যবহারকারীর দ্বারা সুস্পষ্টভাবে ট্রিগার করা enterpictureinpicture অ্যাকশন (উদাহরণস্বরূপ, ইউজার এজেন্টের কোনো বাটন থেকে) এবং কন্টেন্ট আড়াল হয়ে যাওয়ার কারণে ইউজার এজেন্ট দ্বারা স্বয়ংক্রিয়ভাবে ট্রিগার হওয়া enterpictureinpicture অ্যাকশনের মধ্যে পার্থক্য করতে পারেন।
ওয়েব স্পিচ এপিআই প্রাসঙ্গিক পক্ষপাত
এই আপডেটটি ওয়েব স্পিচ এপিআই-তে একটি রিকগনিশন ফ্রেজ লিস্ট যুক্ত করার মাধ্যমে ওয়েবসাইটগুলোকে স্পিচ রিকগনিশনের জন্য কনটেক্সচুয়াল বায়াসিং সমর্থন করতে সক্ষম করে।
ডেভেলপাররা বাক্যাংশের একটি তালিকা প্রদান করতে এবং স্পিচ রিকগনিশন মডেলগুলিতে সেই বাক্যাংশগুলির প্রতি পক্ষপাতিত্ব প্রয়োগ করার জন্য তালিকাটি আপডেট করতে পারেন। এটি ডোমেন-নির্দিষ্ট এবং ব্যক্তিগতকৃত স্পিচ রিকগনিশনের ক্ষেত্রে নির্ভুলতা এবং প্রাসঙ্গিকতা উন্নত করতে সহায়তা করে।
JSON মডিউলগুলির জন্য আরও কঠোর *+json MIME টোকেন যাচাইকরণ
*+json এর সাথে মেলানোর সময়, সেইসব JSON মডিউল স্ক্রিপ্ট প্রতিক্রিয়া প্রত্যাখ্যান করুন, যাদের MIME টাইপের টাইপ বা সাবটাইপে নন-HTTP টোকেন কোড পয়েন্ট (যেমন, স্পেস) থাকে। এটি MIME স্নিফিং স্পেসিফিকেশন এবং অন্যান্য ইঞ্জিনের সাথে সামঞ্জস্যপূর্ণ। এটি Interop2025 মডিউল ফোকাস এলাকার একটি অংশ।
FedCM—UI-তে তৃতীয় পক্ষের আইফ্রেম অরিজিন দেখানোর সুবিধা।
ক্রোম ১৪২-এর আগে, ফেডসিএম তার ইউআই-তে সবসময় শীর্ষ-স্তরের সাইটটি দেখাতো।
এটি তখন ভালোভাবে কাজ করে যখন আইফ্রেমটি ধারণাগতভাবে ফার্স্ট-পার্টি হয় (উদাহরণস্বরূপ, foo.com একটি foostatic.com আইফ্রেম থাকতে পারে, যা ব্যবহারকারীর কাছে অর্থবহ নয়)।
কিন্তু আইফ্রেমটি যদি প্রকৃতপক্ষে কোনো তৃতীয় পক্ষের হয়, তবে ইউজার ইন্টারফেসে (UI) আইফ্রেমটির উৎস দেখানোই শ্রেয়, যাতে ব্যবহারকারীরা আরও ভালোভাবে বুঝতে পারেন যে তারা কার সাথে তাদের ক্রেডেনশিয়াল শেয়ার করছেন। উদাহরণস্বরূপ, একটি বই প্রকাশনা ওয়েব অ্যাপে একটি ফটো এডিটর এমবেড করা থাকতে পারে এবং এটি ব্যবহারকারীদেরকে সেই ফাইলগুলো অ্যাক্সেস করার সুযোগ দিতে চাইতে পারে, যা তারা আগে ফটো এডিটর দিয়ে সংরক্ষণ করেছিল। এই সুবিধাটি এখন উপলব্ধ।
উৎস-ভিত্তিক প্রক্রিয়া বিচ্ছিন্নকরণ
প্রসেস আইসোলেশন পলিসিকে কোনো একটি সাইটে (যেমন, example.com ) প্রসেস লক করার পরিবর্তে একটি নির্দিষ্ট অরিজিনে (যেমন, foo.example.com ) লক করার জন্য পরিবর্তন করে।
নিরাপত্তা আরও জোরদার করতে, ক্রোম 'অরিজিন আইসোলেশন' নামক একটি আরও সূক্ষ্ম প্রসেস আইসোলেশন মডেলে স্থানান্তরিত হচ্ছে। ক্রোম আগে 'সাইট আইসোলেশন' ব্যবহার করত, যা একই সাইটের বিভিন্ন অরিজিনকে, যেমন a.example.com এবং b.example.com , একটিমাত্র রেন্ডারার প্রসেসের অধীনে একত্রিত করত।
অরিজিন আইসোলেশনের মাধ্যমে, প্রতিটি স্বতন্ত্র অরিজিন (যেমন https://foo.example.com ) তার নিজস্ব রেন্ডারার প্রসেসে বিচ্ছিন্ন থাকে। এটি ওয়েবের মৌলিক অরিজিন-ভিত্তিক নিরাপত্তা মডেলের সাথে প্রসেসের সীমানাগুলোকে সামঞ্জস্যপূর্ণ করে ক্রোমের নিরাপত্তা কাঠামোকে শক্তিশালী করে, যা সাইটগুলোর সম্ভাব্য দুর্বলতার বিরুদ্ধে অধিকতর সুরক্ষা প্রদান করে।
শুধুমাত্র সুরক্ষিত প্রেক্ষাপটে উন্মুক্ত আন্তঃকার্যকরী pointerrawupdate ইভেন্টসমূহ
২০২০ সালে PointerEvents স্পেসিফিকেশন pointerrawupdate শুধুমাত্র সুরক্ষিত প্রেক্ষাপটের জন্য সীমাবদ্ধ করে দেয়, যার ফলে অসুরক্ষিত প্রেক্ষাপট থেকে ইভেন্ট ফায়ারিং এবং গ্লোবাল ইভেন্ট লিসেনার উভয়ই আড়াল হয়ে যায়। এই আপডেটের মাধ্যমে, Chrome হালনাগাদকৃত স্পেসিফিকেশনের সাথে সামঞ্জস্যপূর্ণ হয়েছে এবং অন্যান্য প্রধান ব্রাউজারগুলোর সাথে আন্তঃকার্যক্ষম হয়ে উঠেছে।
উৎপত্তির পরীক্ষা-নিরীক্ষা চলছে
ক্রোম ১৪২-এ আপনি নিম্নলিখিত নতুন অরিজিন ট্রায়ালগুলিতে অংশগ্রহণ করতে পারেন।
ডিভাইস আবদ্ধ সেশন প্রমাণপত্র
ওয়েবসাইটগুলোর জন্য একটি সেশনকে নিরাপদে একটিমাত্র ডিভাইসের সাথে সংযুক্ত করার একটি উপায়।
এটি সার্ভারকে নিরাপদে একটি ডিভাইসের সাথে সেশন সংযুক্ত করতে দেয়। প্রাইভেট কী-এর অধিকারের প্রমাণ সাপেক্ষে, সার্ভারের অনুরোধে ব্রাউজার পর্যায়ক্রমে সেশনটি নবায়ন করে।
প্রতি-শীর্ষ-স্তরের-সাইটে টিসিপি সকেট পুল
এই পরীক্ষাটি প্রতি-প্রোফাইল TCP সকেট পুলের আকার ২৫৬ (ডিফল্ট) থেকে ৫১৩-তে পরিবর্তন করার প্রভাব মূল্যায়ন করে, এবং এর সাথে প্রতি-টপ-লেভেল-সাইটের জন্য ২৫৬-এর একটি সীমা যুক্ত করে (যাতে কোনো দুটি ট্যাব পুলের সম্পূর্ণ ব্যবহার শেষ করে ফেলতে না পারে)। প্রতি-প্রোফাইল সীমা ৫১২ পর্যন্ত বাড়ানোর সম্ভাব্যতা যাচাই করা হয়েছিল এবং তাতে কোনো নেতিবাচক ফলাফল পাওয়া যায়নি। প্রতি-টপ-লেভেল-সাইটের জন্য নির্ধারিত ২৫৬ সীমাটি ডিফল্ট প্রতি-প্রোফাইল সীমার সমান, তাই এটি পারফরম্যান্সে কোনো নেতিবাচক প্রভাব ফেলবে না। এই সীমাগুলো WebSocket পুল এবং সাধারণ (HTTP) সকেট পুলের জন্য আলাদাভাবে আরোপ করা হয়েছে।
যদি কোনো নেতিবাচক প্রভাব না ঘটে, তবে সরাসরি এই পরীক্ষাটি চালু করার উদ্দেশ্য রয়েছে।