فایرفاکس ۱۰۸ منتشر شد. بهروزرسانی شاخه پشتیبانی بلندمدت، ۱۰۲.۶.۰، نیز منتشر شده است. فایرفاکس ۱۰۹ که قرار است در ۱۷ ژانویه منتشر شود، بهزودی وارد مرحله آزمایش بتا خواهد شد.
ویژگی های جدید فایرفاکس 108:
- یک میانبر صفحه کلید Shift+ESC برای باز کردن سریع صفحه مدیریت فرآیند (about:processes) اضافه شد که به شما امکان میدهد ارزیابی کنید کدام فرآیندها و رشتههای داخلی، حافظه و منابع CPU اضافی را مصرف میکنند.

- بهینهسازی زمانبندی فریم انیمیشن تحت شرایط بارگذاری بالا، که منجر به بهبود نتایج تست MotionMark میشود.
- هنگام چاپ و ذخیره فرمهای PDF، اکنون امکان استفاده از کاراکترها به زبانهای غیر از انگلیسی نیز فراهم شده است.
- پشتیبانی از تصحیح رنگ صحیح تصاویر مطابق با پروفایلهای رنگی ICCv4 پیادهسازی شده است.
- تنظیم «فقط نمایش در برگه جدید» اکنون نوار نشانکها را در برگههای جدید خالی به درستی نمایش میدهد.
- تنظیمات cookiebanners.bannerClicking.enabled و cookiebanners.service.mode به about:config اضافه شدهاند تا به طور خودکار روی بنرهایی که درخواست مجوز کوکی در وبسایتها دارند، کلیک شود. کلیدهایی برای مدیریت کلیکهای خودکار روی بنرهای کوکی مرتبط با دامنههای خاص در رابط کاربری نسخه شبانه پیادهسازی شدهاند.
- رابط برنامهنویسی کاربردی وب MIDI اضافه شده است که به برنامههای وب اجازه میدهد با دستگاههای موسیقی دارای قابلیت MIDI که به رایانه کاربر متصل هستند، تعامل داشته باشند. این رابط برنامهنویسی کاربردی فقط برای صفحاتی که از طریق HTTPS بارگذاری میشوند، در دسترس است. هنگام فراخوانی متد navigator.requestMIDIAccess() با دستگاههای MIDI متصل به رایانه، از کاربر خواسته میشود که "افزونه مجوز سایت" مورد نیاز برای فعالسازی دسترسی را نصب کند (به توضیحات زیر مراجعه کنید).
- یک مکانیزم آزمایشی افزونهی مجوز سایت برای کنترل دسترسی وبسایت به APIها و ویژگیهای بالقوه خطرناک که نیاز به امتیازات بالا دارند، پیشنهاد شده است. ویژگیهای خطرناک به مواردی گفته میشود که میتوانند به سختافزار آسیب فیزیکی برسانند، تغییرات برگشتناپذیر ایجاد کنند، برای نصب کد مخرب روی دستگاهها استفاده شوند یا دادههای کاربر را نشت دهند. به عنوان مثال، در زمینهی API MIDI وب، افزونهی مجوز برای اعطای دسترسی به یک دستگاه سنتز صدا متصل به رایانه استفاده میشود.
- پشتیبانی از نقشه واردات به طور پیشفرض فعال است و به شما امکان میدهد هنگام وارد کردن فایلهای جاوا اسکریپت با استفاده از دستورات import و import() کنترل کنید که کدام URLها بارگیری شوند. نقشه واردات در قالب JSON در عنصر مشخص شده است. с новым атрибутом «importmap». Например: { «imports»: { «moment»: «/node_modules/moment/src/moment.js», «lodash»: «/node_modules/lodash-es/lodash.js» } }
پس از تعریف این نقشهی ورودی در کد جاوا اسکریپت، برای بارگذاری و اجرای ماژول جاوا اسکریپت "/node_modules/moment/src/moment.js" میتوانید از عبارت 'import moment from "moment";' بدون مشخص کردن مسیر (معادل 'import moment from "/node_modules/moment/src/moment.js";') استفاده کنید.
- در عنصر " پشتیبانی از ویژگیهای «ارتفاع» و «عرض» که ارتفاع و عرض یک تصویر را بر حسب پیکسل تعریف میکنند، پیادهسازی شده است. این ویژگیها فقط زمانی معتبر هستند که عنصر ... « درون عنصر » قرار دارد. و وقتی در عناصر تو در تو قرار میگیرند، نادیده گرفته میشوند و برای غیرفعال کردن پردازش «ارتفاع» و «عرض» در تنظیم «dom.picture_source_dimension_attributes.enabled» به about:config اضافه شده است.
- CSS مجموعهای از توابع مثلثاتی sin()، cos()، tan()، asin()، acos()، atan() و atan2() را ارائه میدهد.
- CSS تابع round() را برای انتخاب یک استراتژی گرد کردن پیادهسازی میکند.
- CSS نوع را پیادهسازی میکند که به شما امکان میدهد از ثابتهای ریاضی شناختهشده مانند pi و e و همچنین مقادیر بینهایت و NaN در توابع ریاضی استفاده کنید. برای مثال، "rotate(calc(1rad * pi))".
- کوئری CSS @container که امکان استایلدهی به عناصر را بر اساس اندازه عنصر والدشان فراهم میکند (مشابه کوئری @media، اما به جای کل نمای دید، بر اندازه کانتینر عنصر اعمال میشود)، اکنون شامل پشتیبانی آزمایشی برای واحدهای زیر است: cqw (1% عرض)، cqh (1% ارتفاع)، cqi (1% اندازه درونخطی)، cqb (1% اندازه بلوک)، cqmin (کوچکترین مقدار cqi یا cqb) و cqmax (بزرگترین مقدار cqi یا cqb). این ویژگی به طور پیشفرض غیرفعال است و میتوان آن را از طریق تنظیم layout.css.container-queries.enabled در about:config فعال کرد.
- متد Array.fromAsync برای ایجاد آرایهای از دادههای دریافتی ناهمگام به جاوا اسکریپت اضافه شده است.
- پشتیبانی از دستورالعملهای "style-src-attr"، "style-src-elem"، "script-src-attr" و "script-src-elem" به هدر CSP (خطمشی امنیت محتوا) HTTP، ارائه عملکرد سبک و اسکریپت، اما با قابلیت اعمال آنها به عناصر جداگانه و کنترل کننده رویداد مانند onclick.
- رویداد جدید domContentLoaded اضافه شد که وقتی بارگذاری محتوا تمام شد، اجرا میشود.
- گزینه forceSync برای همگامسازی اجباری به متد .get() اضافه شده است.
- یک پنل جداگانه برای قرار دادن ویجتهای افزونههای WebExtension پیادهسازی شده است.
- منطق لیست سیاه تغییر کرده است. Linuxدرایورها با WebRender سازگار نیستند. به جای نگهداری لیست سفید درایورهای فعال، به نگهداری لیست سیاه درایورهای مشکلدار روی آوردهایم.
- پشتیبانی از پروتکل Wayland بهبود یافته است. مدیریت متغیر محیطی XDG_ACTIVATION_TOKEN با توکن فعالسازی برای پروتکل xdg-activation-v1 اضافه شده است که به یک برنامه اجازه میدهد تا تمرکز را به برنامه دیگر تغییر دهد. مشکلات مربوط به جابجایی تبها با ماوس برطرف شده است.
- روی اکثر سیستمها Linux انیمیشن پنل فعال است.
- About:config تنظیمات gfx.display.max-frame-rate را برای محدود کردن حداکثر نرخ فریم ارائه میدهد.
- پشتیبانی از ایموجی با مشخصات ۱۴ کاراکتر اضافه شد.
- افزونهی WebGL با شناسهی OES_draw_buffers_indexed به طور پیشفرض فعال است.
- قابلیت استفاده از پردازنده گرافیکی (GPU) برای تسریع فرآیند رسترسازی Canvas2D پیادهسازی شد.
- بر روی پلت فرم Windows جداسازی Sandbox فرآیندهای در تعامل با GPU فعال شده است.
- پشتیبانی از دستورالعملهای SIMD FMA3 (ضرب-جمع با یک بار گرد کردن) اضافه شد.
- فرآیندهای مورد استفاده برای مدیریت تبهای پسزمینه در پلتفرم Windows اکنون ۱۱ در حالت «کارایی» اجرا میشوند که باعث میشود برنامهریز وظایف، اولویت اجرا را کاهش دهد تا مصرف CPU کاهش یابد.

- بهبودهای نسخه برای Android:
- قابلیت ذخیره صفحات وب به صورت فایل PDF اضافه شد.
- پشتیبانی از گروهبندی تبها در پنلها پیادهسازی شده است (تبها را میتوان با نگه داشتن یک تب، جابهجا کرد).
- دکمهای برای باز کردن همه نشانکها از بخش مشخصشده در برگههای جدید در یک پنجره جدید یا در حالت ناشناس فراهم شده است.
علاوه بر ویژگیهای جدید و رفع اشکالات، فایرفاکس ۱۰۸، ۲۰ آسیبپذیری را نیز برطرف میکند. شانزده آسیبپذیری به عنوان شدید علامتگذاری شدهاند که ۱۴ مورد از آنها (که تحت CVE-2022-46879 و CVE-2022-46878 جمعآوری شدهاند) ناشی از مشکلات مدیریت حافظه، مانند سرریز بافر و دسترسی به حافظه پس از آزادسازی آن هستند. این مشکلات میتوانند به طور بالقوه منجر به اجرای کد مهاجم هنگام باز کردن صفحات دستکاریشده خاص شوند. آسیبپذیری CVE-2022-46871 مربوط به استفاده از کد از نسخه قدیمی کتابخانه libusrsctp است که حاوی آسیبپذیریهای وصله نشده است. آسیبپذیری CVE-2022-46872 به مهاجمی که به فرآیند رندر صفحه دسترسی دارد، اجازه میدهد تا از انزوای جعبه شنی عبور کند. Linux و با دستکاری پیامهای IPC مرتبط با کلیپبورد، محتویات فایلهای دلخواه را بخواند.
منبع: opennet.ru


