نسخه 95 کروم

گوگل از نسخه مرورگر وب کروم 95 رونمایی کرد. همزمان، نسخه پایدار پروژه رایگان کرومیوم که اساس کروم است، در دسترس است. مرورگر کروم با استفاده از آرم های گوگل، وجود سیستمی برای ارسال اعلان ها در صورت خرابی، ماژول هایی برای پخش محتوای ویدیویی محافظت شده (DRM)، سیستمی برای نصب خودکار به روز رسانی ها و انتقال پارامترهای RLZ هنگام جستجو متمایز می شود. طبق چرخه توسعه 4 هفته ای جدید، انتشار بعدی کروم 96 برای 16 نوامبر برنامه ریزی شده است. برای کسانی که به زمان بیشتری برای به روز رسانی نیاز دارند، یک شاخه Extended Stable جداگانه وجود دارد و پس از آن 8 هفته، یک به روز رسانی برای نسخه قبلی کروم 94 ایجاد می کند.

تغییرات کلیدی در کروم 95:

  • برای کاربران لینوکس، ویندوز، macOS و ChromeOS، یک نوار کناری جدید ارائه شده است که در سمت راست محتوا نشان داده شده و با کلیک کردن بر روی نماد خاصی در پانل نوار آدرس فعال می شود. پانل خلاصه ای را با نشانک ها و لیست خواندن نمایش می دهد. این تغییر برای همه کاربران فعال نیست؛ برای فعال کردن آن، می‌توانید از تنظیمات «chrome://flags/#side-panel» استفاده کنید.
    نسخه 95 کروم
  • خروجی یک درخواست صریح برای مجوزهای ذخیره آدرس‌های وارد شده در فرم‌های وب برای استفاده بعدی در سیستم تکمیل خودکار فرم را پیاده‌سازی کرد. هنگام تعیین وجود آدرس ها در فرم ها، اکنون یک گفتگو به کاربر نشان داده می شود که به او اجازه می دهد آدرس را ذخیره کند، ویرایش کند، آدرس ذخیره شده قبلی را به روز کند یا از ذخیره آن امتناع کند.
  • کد برای پشتیبانی از پروتکل FTP حذف شد. در کروم 88، ​​پشتیبانی از FTP به طور پیش فرض غیرفعال بود، اما یک پرچم برای بازگرداندن آن باقی مانده بود.
  • ما دیگر از نشانی‌های وب با نام میزبان که به یک عدد ختم می‌شوند اما با آدرس‌های IPv4 مطابقت ندارند، پشتیبانی نمی‌کنیم. به عنوان مثال، URL های "http://127.1/"، "http://foo.127.1/" و "http://127.0.0.0.1" اکنون نامعتبر در نظر گرفته می شوند.
  • WebAssembly اکنون این توانایی را دارد که کنترل کننده های استثنا ایجاد کند که در صورت بروز استثنا در هنگام اجرای کد خاص، می توانند اجرا را متوقف کنند. هم از موارد استثنایی که برای ماژول WebAssembly شناخته شده است و هم از استثناها در فرآیند فراخوانی توابع وارد شده پشتیبانی می کند. برای گرفتن استثناها، ماژول WebAssembly باید با یک کامپایلر آگاه از استثنا مانند Emscripten کامپایل شود.

    خاطرنشان می شود که مدیریت استثنا در سطح WebAssembly می تواند اندازه کد تولید شده را در مقایسه با مدیریت استثنا با استفاده از جاوا اسکریپت به میزان قابل توجهی کاهش دهد. به عنوان مثال، ساخت بهینه ساز Binaryen با استفاده از جاوا اسکریپت باعث افزایش 43 درصدی کد و افزایش 9 درصدی کد با استفاده از WebAssembly می شود. علاوه بر این، هنگام استفاده از حالت بهینه‌سازی «-O3»، مدیریت کد با استثنا با استفاده از WebAssembly عملاً هیچ تفاوتی با کنترل‌کننده‌های کد بدون استثنا ندارد، در حالی که مدیریت استثناها با استفاده از جاوا اسکریپت منجر به کاهش سرعت 30 درصدی اجرا می‌شود.

  • به اشتراک گذاری ماژول های WebAssembly بین دامنه های مختلف (مبدأ متقابل) هنگام پردازش یک سایت ممنوع است.
  • چندین API جدید به حالت Origin Trials (ویژگی های آزمایشی که نیاز به فعال سازی جداگانه دارند) اضافه شده است. Origin Trial به معنای توانایی کار با API مشخص شده از برنامه های دانلود شده از localhost یا 127.0.0.1 یا پس از ثبت نام و دریافت یک توکن خاص است که برای مدت محدودی برای یک سایت خاص معتبر است.
    • برش اطلاعات در سرصفحه User-Agent HTTP و پارامترهای جاوا اسکریپت navigator.userAgent، navigator.appVersion و navigator.platform فعال شد. هدر فقط حاوی اطلاعاتی درباره نام مرورگر، نسخه مهم مرورگر، پلتفرم و نوع دستگاه (تلفن همراه، رایانه شخصی، تبلت) است. برای به دست آوردن داده های اضافی، مانند نسخه دقیق و داده های پلتفرم توسعه یافته، باید از User Agent Client Hints API استفاده کنید. شروع قطع کردن User-Agent در سیستم های کاربران عادی برای انتشار کروم 102 برنامه ریزی شده است که تا نیم سال دیگر منتشر خواهد شد.
    • امکان ایجاد Access Handles برای File System Access API وجود دارد که به برنامه‌های کاربردی وب اجازه می‌دهد تا داده‌ها را مستقیماً در فایل‌ها و دایرکتوری‌های دستگاه کاربر بخوانند و بنویسند. برای کاهش دسترسی برنامه های کاربردی وب به سیستم فایل، گوگل قصد دارد API های File System Access و Storage Foundation را ترکیب کند. به عنوان مرحله مقدماتی برای چنین یکپارچگی، پشتیبانی از توصیفگرهای دسترسی پیشنهاد شده است، که تکمیل کننده روش های کار بر اساس توصیفگرهای فایل با قابلیت های پیشرفته، مانند تنظیم قفل نوشتن برای سایر فرآیندها و ایجاد رشته های جداگانه برای نوشتن و خواندن، از جمله پشتیبانی برای خواندن و نوشتن از کارگران در حالت همزمان.
  • Secure Payment Confirmation API تثبیت شده و به طور پیش‌فرض با اجرای یک برنامه افزودنی «پرداخت» جدید ارائه شده است که تأیید اضافی تراکنش پرداخت را ارائه می‌کند. یک طرف متکی، مانند بانک، توانایی ایجاد یک کلید عمومی PublicKeyCredential را دارد که می‌تواند توسط تاجر برای تأیید پرداخت امن اضافی از طریق API درخواست پرداخت با استفاده از روش پرداخت «تأیید پرداخت امن» درخواست کند.
  • تماس‌های برگشتی که از طریق سازنده PerformanceObserver نصب شده‌اند، انتقال ویژگی dropppedEntriesCount را اجرا می‌کنند، که به شما امکان می‌دهد بفهمید که چه تعداد از معیارهای عملکرد سایت به دلیل این واقعیت که در بافر ارائه‌شده قرار نمی‌گیرند، کنار گذاشته شده‌اند.
  • EyeDropper API اضافه شده است که به شما امکان می دهد رابط ارائه شده توسط مرورگر را فراخوانی کنید تا رنگ پیکسل های دلخواه روی صفحه را تعیین کنید، که می تواند به عنوان مثال در ویرایشگرهای گرافیکی اجرا شده به عنوان برنامه های کاربردی وب مورد استفاده قرار گیرد. const eyeDropper = new EyeDropper(); const result = await eyeDropper.open(); // نتیجه = {sRGBHex: '#160731'}
  • تابع self.reportError() اضافه شده است که به اسکریپت ها اجازه می دهد خطاها را در کنسول چاپ کنند و از وقوع یک استثنای غیرقابل تقلید شبیه سازی کنند.
  • URLPattern API اضافه شده است تا بررسی شود آیا یک URL با یک الگوی خاص مطابقت دارد یا خیر، که برای مثال می‌تواند برای تجزیه پیوندها و هدایت درخواست‌ها به کنترل‌کننده‌ها در سرویس‌کار استفاده شود. const p = new URLPattern({ پروتکل: 'https', hostname: 'example.com', pathname: '/:folder/*/:fileName.jpg', });
  • Intl.DisplayNames API گسترش یافته است که از طریق آن می توانید نام های محلی زبان ها، کشورها، ارزها، عناصر تاریخ و غیره را دریافت کنید. نسخه جدید انواع جدیدی از نام‌ها "calendar" و "dateTimeField" را اضافه می‌کند که از طریق آنها می‌توانید نام‌های محلی تقویم و فیلدهای تاریخ و زمان (به عنوان مثال، نام ماه‌ها) را پیدا کنید. برای نوع "زبان"، پشتیبانی از استفاده از گویش های زبان اضافه شده است.
  • Intl.DateTimeFormat API پشتیبانی از مقادیر جدید پارامتر timeZoneName را اضافه کرده است: "shortGeneric" برای نمایش شناسه منطقه زمانی کوتاه (به عنوان مثال، "PT"، "ET")، "longGeneric" برای نمایش منطقه زمانی طولانی شناسه ("زمان اقیانوس آرام"، "زمان کوهستان")، "shortOffset" - با افست کوتاه نسبت به GMT ("GMT+5") و "longOffset" با افست طولانی نسبت به GMT ("GMT+0500").
  • U2F (Cryptotoken) API منسوخ شده است و باید به جای آن از Web Authentication API استفاده شود. U2F API به طور پیش‌فرض در Chrome 98 غیرفعال می‌شود و در Chrome 104 به طور کامل حذف می‌شود.
  • بهبودهایی در ابزارهای توسعه دهندگان وب ایجاد شده است. پانل Styles تنظیم ویژگی های CSS مربوط به اندازه (ارتفاع، بالشتک و غیره) را آسان تر می کند. تب Issues امکان پنهان کردن مسائل فردی را فراهم می کند. در کنسول وب و پنل‌های منابع و ویژگی‌ها، نمایش ویژگی‌ها بهبود یافته است (ویژگی‌های شخصی اکنون با پررنگ برجسته شده و در بالای لیست نشان داده شده‌اند).
    نسخه 95 کروم

علاوه بر نوآوری ها و رفع اشکال، نسخه جدید 19 آسیب پذیری را از بین می برد. بسیاری از آسیب‌پذیری‌ها در نتیجه آزمایش خودکار با استفاده از ابزارهای AddressSanitizer، MemorySanitizer، Control Flow Integrity، LibFuzzer و AFL شناسایی شدند. هیچ مشکل مهمی شناسایی نشده است که به شخص اجازه می دهد تمام سطوح حفاظت مرورگر را دور بزند و کد را در سیستم خارج از محیط سندباکس اجرا کند. به عنوان بخشی از برنامه پاداش نقدی برای کشف آسیب‌پذیری‌ها برای نسخه فعلی، گوگل 16 جایزه به ارزش 74 هزار دلار (یک جایزه 20000 دلاری، دو جایزه 10000 دلاری، یک جایزه 7500 دلاری، یک جایزه 6000 دلاری، سه جایزه 5000 دلاری و یک جایزه 3000 دلاری) پرداخت کرد. و 2000 دلار). اندازه 1000 جایزه هنوز مشخص نشده است.

منبع: opennet.ru

اضافه کردن نظر