Chrome 138 বিটা

প্রকাশিত: ২৮ মে, ২০২৫

অন্যথায় উল্লেখ না থাকলে, নিম্নলিখিত পরিবর্তনগুলি Android, ChromeOS, Linux, macOS, এবং Windows-এর জন্য Chrome বিটা চ্যানেলের নতুনতম সংস্করণে প্রযোজ্য। এখানে তালিকাভুক্ত বৈশিষ্ট্যগুলি সম্পর্কে আরও জানতে প্রদত্ত লিঙ্কগুলি অথবা ChromeStatus.com- এর তালিকা দেখুন। Chrome 138, ২৮ মে, ২০২৫ তারিখ থেকে বিটা সংস্করণে রয়েছে। আপনি ডেস্কটপের জন্য Google.com থেকে অথবা Android-এর জন্য Google Play Store থেকে সর্বশেষ সংস্করণটি ডাউনলোড করতে পারেন।

CSS এবং UI

এই রিলিজে ছয়টি নতুন CSS এবং UI ফিচার যোগ করা হয়েছে।

CSS stretch সাইজিং কীওয়ার্ড

CSS সাইজিং প্রোপার্টি (যেমন, width এবং height )-এর জন্য একটি কীওয়ার্ড, যা এলিমেন্টকে তার ধারণকারী ব্লকের উপলব্ধ স্থান পুরোপুরি পূরণ করার জন্য বড় হতে সাহায্য করে। এটি 100% -এর মতোই, তবে পার্থক্য হলো এর ফলে প্রাপ্ত সাইজটি box-sizing দ্বারা নির্দেশিত বক্সের পরিবর্তে এলিমেন্টের মার্জিন বক্সে প্রয়োগ করা হয়। এই কীওয়ার্ডটি ব্যবহার করলে এলিমেন্টটি তার মার্জিন বজায় রেখেও যথাসম্ভব বড় হতে পারে।

চিহ্ন-সম্পর্কিত ফাংশন abs() এবং sign() তাদের আর্গুমেন্টের চিহ্নের সাথে সম্পর্কিত বিভিন্ন কাজ গণনা করে।

OS-স্তরের ফন্ট স্কেলের জন্য CSS এনভায়রনমেন্ট ভেরিয়েবল

ব্যবহারকারীর পছন্দের ফন্ট স্কেল CSS-এ প্রকাশ করে। বর্তমানে, ব্যবহারকারী অপারেটিং সিস্টেমের প্রেফারেন্সের মাধ্যমে তার পছন্দের ফন্ট সাইজ পরিবর্তন করেছেন কিনা, তা কোনো পেজের পক্ষে শনাক্ত করা বাস্তবসম্মত নয়। এই CSS এনভায়রনমেন্ট ভেরিয়েবলটি ব্যবহারকারীর নির্বাচিত স্কেলটি প্রতিফলিত করবে।

CSS sibling-index() এবং sibling-count()

sibling-index() এবং sibling-count() ফাংশনগুলো CSS প্রপার্টি ভ্যালুতে ইন্টিজার হিসেবে ব্যবহার করে যথাক্রমে কোনো এলিমেন্টকে তার সিবলিংদের মধ্যে অবস্থানের উপর ভিত্তি করে, অথবা মোট সিবলিং সংখ্যার উপর ভিত্তি করে স্টাইল করা যায়। এই ফাংশনগুলো সরাসরি ইন্টিজার ভ্যালু হিসেবে ব্যবহার করা যায়, তবে আরও আকর্ষণীয়ভাবে calc() এক্সপ্রেশনের ভিতরে ব্যবহার করা যায়।

li {
  animation-delay: calc(0.1s * sibling-index());
}

ইন্টারপোলেশন অগ্রগতির কার্যকরী সংকেত: CSS progress() ফাংশন

` progress() ` ফাংশনাল নোটেশনটি একটি গাণিতিক ফাংশন যা একটি <number> ভ্যালু রিটার্ন করে, যা অন্য দুটি গণনার (progress start value এবং progress end value) মধ্যে একটি গণনার (progress value) অবস্থানকে নির্দেশ করে।

ভিউপোর্ট সেগমেন্ট গণনা এপিআই

ভিউপোর্ট সেগমেন্টস এপিআই ডেভেলপারদের তাদের ওয়েব লেআউটকে ফোল্ডেবল ডিভাইসের উপযোগী করে তোলার সুযোগ দেয়। ভিউপোর্ট সেগমেন্টগুলো ভিউপোর্টের একটি যৌক্তিকভাবে পৃথক অঞ্চলের অবস্থান এবং মাত্রা নির্ধারণ করে। যখন ভিউপোর্টটি এক বা একাধিক হার্ডওয়্যার ফিচারের (যেমন পৃথক ডিসপ্লের মধ্যে একটি ভাঁজ বা হিঞ্জ) মাধ্যমে বিভাজক হিসেবে বিভক্ত হয়, তখন ভিউপোর্ট সেগমেন্ট তৈরি হয়; সেগমেন্টগুলো হলো ভিউপোর্টের সেই অঞ্চল, যেগুলোকে ডেভেলপার যৌক্তিকভাবে স্বতন্ত্র হিসেবে বিবেচনা করতে পারেন।

ওয়েব এপিআই

WebCodecs-এ ভিডিও ফ্রেম ওরিয়েন্টেশন মেটাডেটার জন্য সমর্থন যোগ করুন

WebCodecs-এর বিভিন্ন ভিডিও-সম্পর্কিত ইন্টারফেসে rotation: int এবং flip: bool ভ্যালু যুক্ত করা হয়েছে, যাতে ডেভেলপাররা ওরিয়েন্টেশনযুক্ত ফ্রেম সোর্স (যেমন, অ্যান্ড্রয়েড ক্যামেরা এবং নির্দিষ্ট কিছু মিডিয়া) নিয়ে কাজ করতে পারেন। VideoFrame ইন্টারফেসটি ইচ্ছামতো রোটেশন ও ফ্লিপ সহ VideoFrame তৈরি করার ক্ষমতা বাড়ায় এবং VideoFrame অবজেক্টে এই তথ্যের জন্য অ্যাক্সেসরও যুক্ত করে। VideoDecoderConfig অবজেক্টে rotation এবং flip ফিল্ড যুক্ত হয়েছে, যা ডিকোড করা VideoFrame অবজেক্টে স্বয়ংক্রিয়ভাবে নির্গত হয়। VideoEncoder ক্লাসে encode() থেকে EncodedVideoChunkMetadata এর অংশ হিসেবে নির্গত VideoDecoderConfig এ রোটেশন এবং ফ্লিপ তথ্য পাস করার জন্য মেকানিজম যুক্ত হয়েছে। যদি encode() ফাংশনটি ভিন্ন ওরিয়েন্টেশনযুক্ত ফ্রেম দিয়ে কল করা হয়, তবে একটি nonfatal এক্সেপশন থ্রো করা হবে। অনুমোদিত ওরিয়েন্টেশন রিসেট করার জন্য configure() মেথডটি ব্যবহার করা যেতে পারে।

ক্র্যাশ রিপোর্টিং এপিআই: is_top_level এবং visibility_state

এই ফিচারটি ক্র্যাশ রিপোর্টের জন্য ডিফল্ট রিপোর্টিং এন্ডপয়েন্টে পাঠানো ক্র্যাশ রিপোর্টিং এপিআই বডিতে is_top_level এবং visibility_state স্ট্রিং ফিল্ড যুক্ত করে।

সিরিয়ালাইজেশনের সময় অ্যাট্রিবিউটে < এবং > এস্কেপ করুন।

সিরিয়ালাইজেশনের সময় অ্যাট্রিবিউটের মান থেকে < এবং > চিহ্ন এস্কেপ করুন। এটি মিউটেশন XSS আক্রমণের ঝুঁকি হ্রাস করে, যা তখন ঘটে যখন কোনো অ্যাট্রিবিউটের মান সিরিয়ালাইজ এবং পুনরায় পার্স করার পর একটি স্টার্ট ট্যাগ টোকেন হিসাবে ব্যাখ্যা করা হয়।

স্ক্রিপ্টের জন্য অখণ্ডতা নীতি

সাবরিসোর্স-ইন্টিগ্রিটি (SRI) ডেভেলপারদের এটা নিশ্চিত করতে সাহায্য করে যে, তারা যে অ্যাসেটগুলো লোড করতে চাইছেন, সেগুলো আসলেই সেই অ্যাসেট। কিন্তু বর্তমানে ডেভেলপারদের জন্য এটা নিশ্চিত করার কোনো উপায় নেই যে, তাদের সমস্ত স্ক্রিপ্ট SRI ব্যবহার করে ভ্যালিডেট করা হয়েছে। Integrity-Policy হেডারটি ডেভেলপারদের এই ক্ষমতা দেয় যে, একটি নির্দিষ্ট ধরনের প্রতিটি রিসোর্সের ইন্টিগ্রিটি চেক করা প্রয়োজন। যদি ইন্টিগ্রিটি মেটাডেটা ছাড়া সেই ধরনের কোনো রিসোর্স লোড করার চেষ্টা করা হয়, তবে সেই প্রচেষ্টা ব্যর্থ হবে এবং একটি ভায়োলেশন রিপোর্ট তৈরি করবে।

পূর্বাভাসযোগ্য রিপোর্টকৃত স্টোরেজ কোটা

যেসব সাইটের সীমাহীন স্টোরেজ অনুমতি নেই, সেগুলোর জন্য StorageManager-এর Estimate API থেকে একটি অনুমানযোগ্য স্টোরেজ কোটা রিপোর্ট করুন। রিপোর্ট করা স্টোরেজ কোটা ব্যবহার করে একজন ব্যবহারকারীর ব্রাউজিং মোড শনাক্ত করা সম্ভব, কারণ সাধারণ মোডের তুলনায় ইনকগনিটো মোডে উপলব্ধ স্টোরেজ স্পেস উল্লেখযোগ্যভাবে কম থাকে।

এটি এমন একটি প্রশমন ব্যবস্থা যা সীমিত স্টোরেজ অনুমতিযুক্ত সাইটগুলির জন্য সমস্ত ব্রাউজিং মোডে ব্যবহার + ন্যূনতম (১০ জিআইবি, ডিস্ক নিকটতম ১ জিআইবি-তে রাউন্ড আপ করা) এর সমান একটি কৃত্রিম কোটা রিপোর্ট করার মাধ্যমে স্টোরেজ এপিআই ব্যবহার করে ব্যবহারকারীর ব্রাউজিং মোড সনাক্তকরণ প্রতিরোধ করে। সীমাহীন স্টোরেজ অনুমতিযুক্ত সাইটগুলি প্রভাবিত হবে না। বাধ্যতামূলক কোটাও প্রভাবিত হবে না।

পুনরায় সাবস্ক্রিপশন করার সময় pushsubscriptionchange ইভেন্ট

সার্ভিস ওয়ার্কারগুলিতে pushsubscriptionchange ইভেন্টটি তখন ফায়ার হয়, যখন এমন কোনো অরিজিনকে পুনরায় নোটিফিকেশন পারমিশন দেওয়া হয়, যার জন্য অতীতে একটি পুশ সাবস্ক্রিপশন ছিল, কিন্তু পারমিশন পরিবর্তনের (granted থেকে deny/default-এ) কারণে তা বাতিল করা হয়েছিল। ইভেন্টটি একটি খালি oldSubscription এবং newSubscription সাথে ফায়ার হবে।

অনুমানের নিয়মাবলী: Clear-Site-Data হেডারে prefetchCache এবং prerenderCache যোগ করুন।

ডেভেলপারদের প্রি-রেন্ডার এবং প্রি-ফেচ ক্যাশে পরিষ্কার করতে সাহায্য করার জন্য Clear-Site-Data হেডারের দুটি নতুন ভ্যালু হলো: prefetchCache এবং prerenderCache । এগুলো যেকোনো রিকোয়েস্টে পাঠানো যেতে পারে এবং ডকুমেন্ট রিকোয়েস্টেই পাঠানোর প্রয়োজন নেই (উদাহরণস্বরূপ, স্টেট পরিবর্তনের অনুমান দূর করতে এগুলো add-to-basket, অথবা login এবং logout API কলের রেসপন্সে রিটার্ন করা যেতে পারে)।

অনুমানের নিয়মাবলী: target_hint ক্ষেত্র

এটি স্পেকুলেশন রুলস সিনট্যাক্সকে প্রসারিত করে ডেভেলপারদের target_hint ফিল্ডটি নির্দিষ্ট করার সুযোগ দেয়। এই ফিল্ডটি একটি টার্গেট নেভিগেবল নির্দেশ করার জন্য একটি হিন্ট প্রদান করে, যেখানে অবশেষে একটি প্রি-রেন্ডার করা পেজ অ্যাক্টিভেট করা হবে। যখন হিন্ট হিসেবে _blank নির্দিষ্ট করা হয়, তখন window.open() দ্বারা খোলা একটি নেভিগেবলের জন্য একটি প্রি-রেন্ডার করা পেজ অ্যাক্টিভেট করা যেতে পারে। প্রিফেচিং-এর জন্য এই ফিল্ডটি সমর্থিত নয়।

স্টোরেজ অ্যাক্সেস এপিআই-এর জন্য কঠোর একই উৎস নীতি

নিরাপত্তার ক্ষেত্রে, স্টোরেজ অ্যাক্সেস এপিআই-এর অর্থগত দিকটি কঠোরভাবে সেম অরিজিন পলিসি অনুসরণ করার জন্য সামঞ্জস্য করা হয়েছে। অর্থাৎ, একটি ফ্রেমে document.requestStorageAccess() ব্যবহার করলে ডিফল্টরূপে শুধুমাত্র আইফ্রেমটির অরিজিনে (সাইটে নয়) করা অনুরোধের সাথেই কুকি সংযুক্ত হয়।

সামারাইজার এপিআই

ইনপুট টেক্সটের সারাংশ তৈরির জন্য একটি জাভাস্ক্রিপ্ট এপিআই, যা একটি এআই ল্যাঙ্গুয়েজ মডেল দ্বারা সমর্থিত। ব্রাউজার এবং অপারেটিং সিস্টেমগুলো থেকে একটি ল্যাঙ্গুয়েজ মডেলে অ্যাক্সেস পাওয়ার প্রত্যাশা ক্রমশ বাড়ছে। এই বিল্ট-ইন মডেলটিকে উন্মুক্ত করার মাধ্যমে, আমরা প্রতিটি ওয়েবসাইটকে তাদের নিজস্ব মাল্টি-গিগাবাইট ল্যাঙ্গুয়েজ মডেল ডাউনলোড করা বা থার্ড-পার্টি এপিআই-তে ইনপুট টেক্সট পাঠানোর প্রয়োজনীয়তা এড়াতে পারি। বিশেষ করে সামারাইজার এপিআইটি একটি ল্যাঙ্গুয়েজ মডেলের সাথে ইন্টারফেস করার জন্য একটি হাই-লেভেল এপিআই উন্মুক্ত করে, যার মাধ্যমে বিভিন্ন ব্যবহারের ক্ষেত্রে ইনপুটগুলোর সারাংশ এমনভাবে তৈরি করা যায় যা নির্দিষ্ট ল্যাঙ্গুয়েজ মডেলের উপর নির্ভরশীল নয়। একটি এন্টারপ্রাইজ পলিসি ( GenAILocalFoundationalModelSettings ) রয়েছে যা অন্তর্নিহিত মডেল ডাউনলোড নিষ্ক্রিয় করতে পারে, যার ফলে এই এপিআইটি অনুপলব্ধ হয়ে যাবে।

অন্তর্নির্মিত এআই-এর সাহায্যে কীভাবে সংক্ষিপ্ত সারাংশ তৈরি করা যায় সে সম্পর্কে আরও জানুন।

ভাষা ডিটেক্টর এপিআই

নির্দিষ্ট টেক্সটে কোন ভাষা ব্যবহৃত হয়েছে তা বিভিন্ন মাত্রার নিশ্চয়তার সাথে শনাক্ত করার জন্য একটি জাভাস্ক্রিপ্ট এপিআই। এটি ভাষা শনাক্তকরণের ক্ষেত্রে অনুবাদের একটি গুরুত্বপূর্ণ পরিপূরক এবং ট্রান্সলেটর এপিআই-এর সাথে একত্রে ব্যবহার করা যেতে পারে। উদাহরণস্বরূপ, ব্যবহারকারীর কাছ থেকে একটি অজানা ভাষায় ইনপুট নিয়ে, তার ভাষা নির্ধারণ করে, তারপর সেটিকে একটি নির্দিষ্ট লক্ষ্য ভাষায় অনুবাদ করা। যদিও ব্রাউজারগুলিতে প্রায়শই ভাষা শনাক্ত করার ক্ষমতা থাকে, এই জাভাস্ক্রিপ্ট এপিআইটি ওয়েব ডেভেলপারদের অনুবাদ এপিআই-এর পরিপূরক হিসেবে একই ক্ষমতা প্রদান করে।

একটি এন্টারপ্রাইজ পলিসি ( GenAILocalFoundationalModelSettings ) রয়েছে যা অন্তর্নিহিত মডেলের ডাউনলোড নিষ্ক্রিয় করতে পারে, যার ফলে এই API-টি অনুপলব্ধ হয়ে পড়বে।

বিল্ট-ইন এআই দিয়ে কোন ভাষা ব্যবহৃত হয় তা শনাক্ত করা সম্পর্কে আরও জানুন।

অনুবাদক এপিআই

ওয়েব পেজগুলিতে ভাষা অনুবাদের সুবিধা দেওয়ার জন্য একটি জাভাস্ক্রিপ্ট এপিআই। যদিও ব্রাউজারগুলি তাদের ব্যবহারকারীদের জন্য ক্রমবর্ধমানভাবে ভাষা অনুবাদের সুবিধা দিচ্ছে, এই ধরনের অনুবাদ ক্ষমতা ওয়েব ডেভেলপারদের জন্যও উপযোগী হতে পারে। বিশেষ করে যখন ব্রাউজারের অন্তর্নির্মিত অনুবাদ ক্ষমতা সাহায্য করতে পারে না, যেমন লাইভ এবং ইন্টারেক্টিভ পরিষেবাগুলির ক্ষেত্রে, তখন এটি বিশেষভাবে কার্যকর। একটি এন্টারপ্রাইজ পলিসি ( GenAILocalFoundationalModelSettings ) রয়েছে যা অন্তর্নিহিত মডেল ডাউনলোড নিষ্ক্রিয় করতে পারে, যার ফলে এই এপিআইটি অনুপলব্ধ হয়ে যাবে।

অন্তর্নির্মিত এআই-সহ অনুবাদ সম্পর্কে আরও জানুন।

ওয়েব অ্যাপ স্কোপ এক্সটেনশন

একটি "scope_extensions" ওয়েব অ্যাপ ম্যানিফেস্ট ফিল্ড যোগ করে, যা ওয়েব অ্যাপগুলোকে অন্যান্য অরিজিনে তাদের পরিধি প্রসারিত করতে দেয়। এর ফলে, একাধিক সাবডোমেইন এবং টপ-লেভেল ডোমেইন নিয়ন্ত্রণকারী সাইটগুলোকে একটি একক ওয়েব অ্যাপ হিসেবে উপস্থাপন করা যায়। তালিকাভুক্ত অরিজিনগুলোকে একটি .well-known/web-app-origin-association কনফিগারেশন ফাইল ব্যবহার করে ওয়েব অ্যাপটির সাথে তাদের অ্যাসোসিয়েশন নিশ্চিত করতে হয়।

অ্যান্ড্রয়েডে ব্লুটুথের মাধ্যমে ওয়েব সিরিয়াল

এই ফিচারটি ওয়েব পেজ এবং ওয়েব অ্যাপগুলোকে অ্যান্ড্রয়েড ডিভাইসে ব্লুটুথের মাধ্যমে সিরিয়াল পোর্টের সাথে সংযোগ স্থাপন করতে দেয়। অ্যান্ড্রয়েডের ক্রোম এখন ব্লুটুথ RFCOMM-এর মাধ্যমে ওয়েব সিরিয়াল এপিআই সমর্থন করে। অন্যান্য প্ল্যাটফর্মে বিদ্যমান এন্টারপ্রাইজ পলিসিগুলো ( DefaultSerialGuardSetting , SerialAllowAllPortsForUrls , SerialAllowUsbDevicesForUrls , SerialAskForUrls , এবং SerialBlockedForUrls ) অ্যান্ড্রয়েডের জন্য 'future_on' অবস্থায় সক্রিয় করা হয়েছে। ফিচারটি চালু হওয়ার পর SerialAllowUsbDevicesForUrls ছাড়া বাকি সব পলিসি সক্রিয় করা হবে। অ্যান্ড্রয়েড যখন তারযুক্ত সিরিয়াল পোর্টের জন্য সিস্টেম লেভেল সমর্থন প্রদান করবে, তার পরবর্তী কোনো সংস্করণে SerialAllowUsbDevicesForUrls সক্রিয় করা হবে।

অবচয় এবং অপসারণ

ক্রোমের এই সংস্করণে নিম্নলিখিত বিষয়গুলো বাতিল ও অপসারণ করা হয়েছে। পরিকল্পিত বাতিলকরণ, বর্তমান বাতিলকরণ এবং পূর্ববর্তী অপসারণের তালিকার জন্য ChromeStatus.com দেখুন।

ক্রোমের এই সংস্করণে দুটি ফিচার বাতিল করা হয়েছে।

মিডিয়া সোর্স এক্সটেনশনের জন্য অ্যাসিঙ্ক্রোনাস রেঞ্জ অপসারণ অপ্রচলিত করা হয়েছে।

অ্যাসিঙ্ক্রোনাস রেঞ্জ রিমুভালের সাথে জড়িত অস্পষ্টভাবে সংজ্ঞায়িত আচরণকে নিষিদ্ধ করার জন্য মিডিয়া সোর্স স্ট্যান্ডার্ডটি অনেক আগেই পরিবর্তিত হয়েছে:

  • SourceBuffer.abort() এখন আর SourceBuffer.remove() অপারেশনগুলো বাতিল করে না।
  • MediaSource.duration সেট করলে বর্তমানে বাফার করা মিডিয়া আর সংক্ষিপ্ত করা যাবে না।

এখন থেকে এই উভয় ক্ষেত্রেই এক্সেপশন থ্রো করা হবে।

SwiftShader ফলব্যাক অপসারণ করুন

সফটওয়্যার রেন্ডারার SwiftShader দ্বারা সমর্থিত WebGL-এ স্বয়ংক্রিয়ভাবে ফিরে যাওয়ার সুবিধাটি এখন অপ্রচলিত এবং SwiftShader-এ ফিরে যাওয়ার পরিবর্তে WebGL কনটেক্সট তৈরি করা ব্যর্থ হবে। এটি দুটি প্রধান কারণে করা হয়েছে:

  1. ক্রোমিয়ামের জিপিইউ প্রসেসে JIT-করা কোড চলার কারণে সুইফটশেডার একটি উচ্চ নিরাপত্তা ঝুঁকি।
  2. উচ্চ-ক্ষমতাসম্পন্ন GPU-সমর্থিত WebGL থেকে CPU-সমর্থিত বাস্তবায়নে ফিরে গেলে ব্যবহারকারীরা একটি খারাপ অভিজ্ঞতার সম্মুখীন হন। এই আচরণের উপর ব্যবহারকারীদের কোনো নিয়ন্ত্রণ থাকে না এবং বাগ রিপোর্টে এটি বর্ণনা করা কঠিন।

ডিপ্রিকেশন পিরিয়ড চলাকালীন, যখন একটি WebGL কনটেক্সট তৈরি করা হবে এবং SwiftShader দ্বারা ব্যাক করা হবে, তখন Chrome DevTools কনসোলে একটি সতর্কবার্তা দেখা যাবে। --enable-unsafe-swiftshader পাস করলে এই সতর্কবার্তাটি দূর হয়ে যাবে।