فایرفاکس 85

در دسترس فایرفاکس 85.

  • زیر سیستم گرافیک:
    • WebRender مشمول در دستگاه‌هایی که از ترکیب «GNOME+Wayland+Intel/AMD» استفاده می‌کنند (به استثنای نمایشگرهای 4K، که در فایرفاکس 86 از آن پشتیبانی می‌شود). علاوه بر این، WebRender مشمول در دستگاه هایی که از گرافیک استفاده می کنند Iris Pro Graphics P580 (موبایل Xeon E3 v5)، که توسعه دهندگان آن را فراموش کردند، و همچنین در دستگاه های دارای درایور Intel HD Graphics 23.20.16.4973 (این راننده خاص در لیست سیاه قرار گرفت). در دستگاه های دارای درایور AMD 8.56.1.15/16 WebRender معلول.
    • در سیستم هایی که از Wayland استفاده می کنند، ایجاد شتاب ویدئوی سخت افزاری در فرمت های VP8/VP9.
    • مکانیسم غیرفعال است لایه های پیشرفته. اکنون WebRender این کار را انجام می دهد.
    • به طور موقت معلول شتاب Canvas 2D با استفاده از GPU، باعث ایجاد مصنوعات در برخی منابع می شود.
  • فعال شده است اشتراک شبکه. از این پس، حافظه پنهان (HTTP، تصاویر، فاویکون ها، ادغام اتصال، CSS، DNS، مجوز HTTP، Alt-Svc، پیش اتصالات احتمالی، فونت ها، HSTS، OCSP، تگ های Prefetch و Preconnect، CORS و غیره) به طور جداگانه برای هر دامنه ذخیره می شود. این امر ردیابی کاربران را برای CDN های بزرگ و شبکه های تبلیغاتی بسیار دشوار می کند، زیرا می توانند وجود فایل های خاصی را در حافظه پنهان مرورگر تجزیه و تحلیل کنند و در مورد تاریخچه مرور نتیجه گیری کنند. اشتراک گذاری شبکه برای اولین بار هشت سال پیش در سافاری ظاهر شد (با کش HTTP شروع شد، سپس اپل به تدریج دسته های دیگر را اضافه کرد)، و در اواخر سال 2020 در کروم ظاهر شد. یک هزینه اجتناب ناپذیر افزایش جزئی در ترافیک (هر منبع محتوا را از CDN دانلود می کند، حتی اگر این محتوا قبلاً توسط منبع دیگری دانلود شده باشد) و زمان بارگذاری خواهد بود، اما طبق تخمین های گوگل این مقدار بسیار ناچیز است (4٪ از ترافیک، کاهش سرعت بارگذاری 0.09-0.75٪ برای اکثر سایت ها، 1.3٪ در بدترین موارد). متأسفانه، در وب مدرن هیچ راه دیگری برای مبارزه با سوپرکوکی ها وجود ندارد (افزونه هایی مانند Decentraleyes نمی توانند به عنوان جایگزین عمل کنند، زیرا آنها فقط بخش کوچکی از محتوای کش ذکر شده در بالا را پوشش می دهند).
  • اکنون می توان نوار نشانک ها را فقط در صفحه برگه جدید نشان داد (نمایش → نوار ابزار → نوار نشانک ها → فقط برگه جدید) و نه در همه صفحات. علاوه بر این، فایرفاکس یاد گرفته است که پوشه را برای نشانک‌های اضافه شده به خاطر بسپارد، و نوار نشانک‌ها اکنون پوشه «نشانک‌های دیگر» (browser.toolbars.bookmarks.showOtherBookmarks) را نشان می‌دهد. پس از وارد کردن نشانک ها از سایر مرورگرها، نوار نشانک ها به طور خودکار در همه برگه ها فعال می شود. اضافه تله متری برای اندازه گیری رشد تعداد تعاملات با نوار نشانک ها، رشد تعداد کاربران جدیدی که نشانک ها را وارد می کنند، و همچنین کاربرانی که نوار نشانک ها را به طور کلی غیرفعال می کنند.
  • بهبودهای بیشتر در نوار آدرس:
    • در گفتگوی تنظیمات موتور جستجو اضافه نشانک‌ها، تاریخچه و باز کردن برگه‌ها، که به شما امکان می‌دهد نام‌های کوتاه را به آنها اختصاص دهید.
    • اکنون هر یک از موتورهای جستجو می تواند باشد پنهان کردن از نوار آدرس
    • اضافه زمینه، که به شما امکان می دهد موتورهای جستجو را در نتایج جستجو پیشنهاد نکنید (به عنوان مثال، با فایرفاکس 83 شروع کنید، زمانی که اولین چیزی را تایپ کنید "bing" ارایه شده به موتور جستجوی بینگ بروید).
  • ظاهر شد چاپ انتخابی صفحه (به عنوان مثال، نه 1-5، بلکه 1-3,5)، و همچنین چاپ چندین صفحه در یک برگه. این توابع فقط در گفتگوی پیش‌نمایش چاپ جدید موجود هستند که با تنظیم print.tab_modal.enabled فعال می‌شود.
  • به مدیر رمز عبور ذخیره شده اضافه پاک کردن تمام رمزهای عبور ذخیره شده (قبل از این، آنها باید یکی یکی حذف می شدند).
  • قابلیت اضافه شده است انتخاب صفحه اصلی و صفحه برگه جدید، حتی اگر افزونه ای نصب شده باشد که این صفحات را تغییر دهد. قبلاً کاربر فقط داشت انتخاب بین «پذیرفتن» و «غیرفعال کردن افزونه».
  • ممکن شد نمایش PID در راهنمای برگه (browser.tabs.tooltipsShowPid).
  • حداکثر مقیاس صفحه ممکن افزایش یافت از 300٪ تا 500٪ برای همگام شدن با سایر مرورگرها.
  • تکمیل آدرس (زمانی که کاربر کلمه ای را در نوار آدرس وارد می کند و Ctrl+Enter را فشار می دهد) اکنون پیشوند https:// را به جای http:// اضافه می کند.
  • به روز شد لوگوی موتور جستجوی بینگ خود موتور جستجو به مایکروسافت بینگ تغییر نام داده است.
  • برای جلوگیری از خرابی، حداکثر طول ممکن هر پیوند در یک داستان به 2000 کاراکتر محدود شده است.
  • حداکثر اندازه مجاز ذخیره سازی محلی (LocalStorage) که یک منبع وب خاص می تواند استفاده کند، افزایش یافت از 5 تا 25 مگابایت در فایرفاکس 84 تغییراتی در الگوریتم محاسبه میزان داده های ذخیره شده ایجاد شد که در نتیجه مشخص شد که 5 مگابایت دیگر برای برخی وب سایت ها کافی نیست. از آنجایی که توسعه دهندگان قصد دارند در آینده نزدیک کد مسئول LocalStorage (LocalStorage NextGen) را به طور کامل بازنویسی کنند، فعلاً تصمیم گرفته شد که به جای اتلاف زمان برای تعمیر کد که عمر بسیار کمی دارد، به سادگی محدودیت را افزایش دهند.
  • درست شد ناتوانی در بازیابی چندین برگه بسته در صورتی که توسط کاربر بسته شده باشند، بلکه توسط یک افزونه بسته شده باشند (فقط آخرین برگه های بسته بازیابی شد و نه همه).
  • درستی هنگام دانلود فایل های حجیم از سرویس میزبانی فایل مگا فریز می شود.
  • حذف شد مشکلی که در آن فایرفاکس به عنوان Flatpak نصب شده بود، نتوانست آدرس localhost:port را باز کند.
  • یک اکتشافی که سعی می کند پسوند فایل صحیح را بر اساس نوع MIME ارائه شده توسط سرور حدس بزند اکنون میکند استثناهایی برای فرمت‌های zip، json و xml (این باعث ایجاد مشکلاتی در هنگام دانلود فایل‌هایی مانند rwp. و .t5script می‌شود که اساساً بایگانی‌های فشرده هستند اما پسوند متفاوتی دارند). اکتشافی ضروری است زیرا بسیاری از سرورهای پیکربندی نادرست وجود دارند که فایل‌ها را با نوع MIME صحیح اما پسوند اشتباه ارائه می‌دهند، و به همان اندازه سرورهایی وجود دارند که فایل‌هایی با پسوند صحیح اما نوع MIME اشتباه ارائه می‌دهند (به عنوان مثال، در مورد . rwp ( دایرکتوری فشرده Train Simulator 2021) سرور نباید به مرورگر سیگنال می داد که یک آرشیو ZIP است). کاربران، به نوبه خود، نمی خواهند به این واقعیت بپردازند که یک سرور با پیکربندی نادرست مقصر است و نه مرورگر، بنابراین، برای مثال، کروم مجبور است برای حل کردن، لیست عظیمی از انواع MIME را در پایگاه کد خود نگه دارد. چنین موقعیت هایی
  • درست شد اشکالی که باعث می شود یک اعلان بی پایان مبنی بر شناسایی یک پورتال در شبکه محلی ایجاد شود. کاربری که از دامنه firefox.com بازدید می کند اطلاعات HSTS را دریافت می کند و باعث می شود که مرورگر اکنون از HTTPS برای اتصال به آن دامنه استفاده کند. این به نوبه خود مکانیسم تشخیص پورتال اسیر (که در دسترس بودن آدرس را بررسی می کند) را شکست http://detectportal.firefox.com از طریق HTTP، زیرا در صورت وجود یک پورتال واقعی، درخواست های HTTPS بی فایده هستند.
  • درست شد عدم امکان اتصال به دامنه های موجود در شبکه محلی با استفاده از نام های NetBIOS.
  • کاملا حذف شده پشتیبانی از فلش به جای عناصر и که از نوع x-shockwave-flash یا x-test هستند، یک ناحیه شفاف نمایش می دهند.
  • متوقف شد پشتیبانی از SNI رمزگذاری شده (eSNI)، مورد استفاده برای رمزگذاری فیلد SNI (شامل نام میزبان در هدر بسته های HTTPS است، برای سازماندهی عملکرد چندین منبع HTTPS در یک آدرس IP استفاده می شود، و همچنین توسط ارائه دهندگان برای فیلتر کردن انتخابی استفاده می شود. ترافیک و تجزیه و تحلیل منابع بازدید شده). تمرین نشان داده است که این امر محرمانه بودن کافی را فراهم نمی کند، زیرا نام دامنه، به عنوان مثال، در پارامترهای PSK (Pre-Shared Key) هنگام از سرگیری یک جلسه، و همچنین در برخی زمینه های دیگر ظاهر می شود. ایجاد آنالوگ های eSNI برای هر یک از این زمینه ها غیرعملی به نظر می رسد. استانداردی برای جایگزینی eSNI پیشنهاد شده است ECH (Encrypted Client Hello)، که در آن نه فیلدهای جداگانه، بلکه کل پیام ClientHello رمزگذاری شده است (تنظیمات network.dns.echconfig.enabled و network.dns.use_https_rr_as_altsvc مسئول فعال کردن آن هستند).
  • متوقف شد پشتیبانی از موتورهای جستجوی نصب شده در دایرکتوری توزیع یا دایرکتوری بسته زبان. چنین موتورهایی نباید بعد از فایرفاکس 78 باقی می ماندند (و اگر باقی می ماندند، پس این یک اشتباه آشکار است و نباید استفاده شود).
  • اضافه شده:
    • مقدار تنظیم «حالت فقط HTTPS» اکنون توسط افزونه‌ها قابل خواندن است تا افزونه‌هایی مانند HTTPS Everywhere بتوانند بخش‌هایی از عملکرد خود را که با این حالت مغایرت دارند غیرفعال کنند.
    • افزونه ها اکنون به API دسترسی دارند مرور داده ها (به همین دلیل افزونه ها می توانند داده های ذخیره شده در مرورگر را پاک کنند).
  • HTML:
    • پشتیبانی گنجانده شده است (بارگیری محتوا حتی قبل از درخواست صریح توسط مرورگر).
    • پشتیبانی عنصر غیرفعال است .
  • CSS:
    • پشتیبانی از کلاس شبه فعال شد :focus-visible.
    • پشتیبانی از مقدار ویژگی pinch-zoom فعال شد اکشن لمسی.
  • JavaScript: ویژگی collation اکنون می تواند به عنوان یک گزینه به سازنده منتقل شود Intl.Collator() (به جای let pinyin = new Intl.Collator(["zh-u-co-pinyin"])؛ می توانید let pinyin = new Intl.Collator("zh", {collator: "pinyin"}) را بنویسید).
  • ابزارهای توسعه دهنده:

منبع: linux.org.ru