# changelog

author: Paul Howarth <paul@city-fan.org> - 2.2.18-1
changelog:
  - Update to 2.2.18 (rhbz#2407559)
    - Much better CSS language support
    - The color editor now also supports hsl() and rgb() style colors
    - Show colors by just hovering the mouse over a color code
    - Reinstate feature to dynamically change a shortcut key by hovering the
      mouse over a menu item and pressing a new shortcut key again; this feature
      was present in all gtk2 applications and has not been working for bluefish
      gtk3 builds until now
    - Remove the infobrowser from the build since it no longer compiles with new
      libxml versions; this plugin was already deprecated and disabled by default
      for years


author: Paul Howarth <paul@city-fan.org> - 2.2.19-1
changelog:
  - Update to 2.2.19 (rhbz#2416526)
    - Fix a regression in 2.2.18 that could cause a crash when right clicking in
      a document of type Text
    - The dynamic shortcut key setting that was re-introduced in 2.2.18 for the
      main menu is now also working in the snippets menu


author: Paul Howarth <paul@city-fan.org> - 2.4.0-1
changelog:
  - Update to 2.4.0 (rhbz#2435810)
    - Bluefish 2.4.0 has some new features and many small improvements; it is no
      longer  a 2.2 release because backwards compatibility with the 2.0 series
      of Bluefish has been removed
    - If you upgrade from 2.0 straight to 2.4, your config files and project
      files are no longer 100% correctly loaded
    - Starting from 2.4, Bluefish will place config files no longer in ~/.bluefish
      - On Linux it will be ~/.config and ~/.local/
      - On Windows it will be LocalAppData and RoamingAppData
      - On OSX it will be ~/Library/Application Support
    - The biggest new feature, still experimental, is that you can edit two
      documents side-by-side
    - You can change opening and ending tags in XML or HTML simultaneously if you
      hit [ctrl][t]
    - You can more easily save the current contents to a template
    - For new users, and also active in new projects, is a UI selection dialog,
      where you can choose between a UI optimised for web development,
      programming or just have everything enabled or disabled; this will help
      new Bluefish users to customize Bluefish in an easier way
    - There are a few fixes as well:
      - Selecting lines by dragging in the margin works more reliably
      - Paste special works more reliably
      - Line comments in Python are better detected, which is visible in the
        syntax highlighting
      - The toggle comment function is improved
      - The Windows build has better error messages when starting external
        commands fails


author: Paul Howarth <paul@city-fan.org> - 2.4.1-1
changelog:
  - Update to 2.4.1
    - Bluefish 2.4.1 is a minor maintenance release with a few notable changes
    - The experimental "side by side" feature that was introduced in 2.4.0 is no
      longer experimental and is fully stable now
    - A new feature is that Bluefish will automatically adjust the text colours
      for people that use a dark desktop theme
    - Translations for Ελληνικά (Greek) and தமிழ் (Tamiḻ) have been completely
      renewed
    - A critical bug and a regression in the split view function has been fixed
    - The windows build has some minor improvements
    - Several translations are updated


author: Paul Howarth <paul@city-fan.org> - 2.4.2-1
changelog:
  - Update to 2.4.2 (rhbz#2501999)
    - Bluefish 2.4.2 has a few new features and a few fixes
    - The most visible change is that Bluefish detects icon themes, and has
      built-in icon themes for "Breeze" and "Breeze-dark"; this is a big
      improvement for the visual integration of Bluefish on a KDE desktop
    - The most important fix is for a segfault that could occur if a filename on
      disk has a specific broken UTF-8 encoding
    - Some small improvements are reduced memory usage when working with 100+
      files simultaneously, some translation improvements, and the <meta>
      author field is now configurable


author: Than Ngo <than@redhat.com> - 149.0.7827.155-1
changelog:
  - Update to 149.0.7827.155
    * CVE-2026-12437: Use after free in WebShare
    * CVE-2026-12438: Inappropriate implementation in WebView
    * CVE-2026-12439: Use after free in Digital Credentials
    * CVE-2026-12440: Use after free in DigitalCredentials
    * CVE-2026-12441: Use after free in File Input
    * CVE-2026-12442: Use after free in Passwords
    * CVE-2026-12443: Use after free in Web Authentication
    * CVE-2026-12444: Out of bounds read in Chromoting
    * CVE-2026-12445: Use after free in Extensions
    * CVE-2026-12446: Insufficient data validation in Passwords
    * CVE-2026-12447: Heap buffer overflow in WebRTC
    * CVE-2026-12448: Inappropriate implementation in WebView
    * CVE-2026-12449: Use after free in Chromoting
    * CVE-2026-12450: Inappropriate implementation in Media
    * CVE-2026-12451: Use after free in DigitalCredentials
    * CVE-2026-12452: Use after free in Downloads
    * CVE-2026-12453: Insufficient validation of untrusted input in Input
    * CVE-2026-12454: Race in Safe Browsing
    * CVE-2026-12455: Use after free in Tab Strip
    * CVE-2026-12456: Insufficient validation of untrusted input in Extensions
    * CVE-2026-12457: Insufficient data validation in Extensions
    * CVE-2026-12458: Incorrect security UI in Passwords
    * CVE-2026-12459: Inappropriate implementation in Serial
    * CVE-2026-12460: Insufficient policy enforcement in File System Access
    * CVE-2026-12461: Out of bounds read in WebRTC
    * CVE-2026-12462: Use after free in Media
    * CVE-2026-12463: Inappropriate implementation in Views
    * CVE-2026-12464: Use after free in Browser
    * CVE-2026-12465: Insufficient validation of untrusted input in Metrics
    * CVE-2026-12466: Heap buffer overflow in WebRTC
    * CVE-2026-12467: Use after free in Extensions
    * CVE-2026-12468: Inappropriate implementation in Updater
    * CVE-2026-12469: Uninitialized Use in GPU


author: Than Ngo <than@redhat.com> - 149.0.7827.196-1
changelog:
  - Update to 149.0.7827.196
    * CVE-2026-13028: Use after free in WebGL
    * CVE-2026-13032: Use after free in WebGL
    * CVE-2026-13033: Out of bounds read in Blink>InterestGroups
    * CVE-2026-13038: Use after free in Autofill
    * CVE-2026-13021: Inappropriate implementation in DeviceBoundSessionCredentials
    * CVE-2026-13022: Inappropriate implementation in Autofill
    * CVE-2026-13023: Uninitialized Use in GPU
    * CVE-2026-13024: Insufficient validation of untrusted input in Navigation
    * CVE-2026-13025: Insufficient validation of untrusted input in DevTools
    * CVE-2026-13026: Use after free in Digital Credentials
    * CVE-2026-13027: Use after free in FileSystem
    * CVE-2026-13029: Use after free in Web Authentication
    * CVE-2026-13030: Uninitialized Use in GPU
    * CVE-2026-13031: Use after free in Blink
    * CVE-2026-13034: Inappropriate implementation in Passwords
    * CVE-2026-13035: Use after free in Bluetooth
    * CVE-2026-13036: Use after free in Blink
    * CVE-2026-13037: Use after free in WebView
  - Upstream patch, Make dark mode apply filter to images irrespective of layout zoom


author: Than Ngo <than@redhat.com> - 149.0.7827.200-1
changelog:
  - Update to 149.0.7827.200
     CVE-2026-13281: Integer overflow in Mojo
     CVE-2026-13282: Use after free in Payments
     CVE-2026-13283: Use after free in AdFilter


author: Than Ngo <than@redhat.com> - 150.0.7871.46-1
changelog:
  - Update to 150.0.7871.46
    * CVE-2026-13774: Use after free in Extensions
    * CVE-2026-13775: Use after free in GPU
    * CVE-2026-13776: Type Confusion in Dawn
    * CVE-2026-13777: Insufficient validation of untrusted input in iOSWeb
    * CVE-2026-13778: Use after free in WebUSB
    * CVE-2026-13779: Use after free in Chromoting
    * CVE-2026-13780: Insufficient validation of untrusted input in ANGLE
    * CVE-2026-13781: Insufficient validation of untrusted input in Skia
    * CVE-2026-13782: Use after free in Browser
    * CVE-2026-13783: Use after free in Views
    * CVE-2026-13784: Use after free in Views
    * CVE-2026-13785: Use after free in Bluetooth
    * CVE-2026-13786: Use after free in Ozone
    * CVE-2026-13787: Use after free in Chromoting
    * CVE-2026-13788: Use after free in Fullscreen
    * CVE-2026-13789: Use after free in GPU
    * CVE-2026-13790: Side-channel information leakage in Scroll
    * CVE-2026-13791: Insufficient validation of untrusted input in Downloads
    * CVE-2026-13792: Use after free in Touchbar
    * CVE-2026-13793: Insufficient policy enforcement in SVG
    * CVE-2026-13794: Insufficient validation of untrusted input in WebAppInstalls
    * CVE-2026-13795: Insufficient policy enforcement in Chrome for iOS
    * CVE-2026-13796: Integer overflow in Chromecast
    * CVE-2026-13797: Insufficient validation of untrusted input in Chromecast
    * CVE-2026-13798: Heap buffer overflow in Chromecast
    * CVE-2026-13799: Use after free in QUIC
    * CVE-2026-13800: Inappropriate implementation in Updater
    * CVE-2026-13801: Integer overflow in Chromecast
    * CVE-2026-13802: Use after free in Views
    * CVE-2026-13803: Type Confusion in Chrome Tabs
    * CVE-2026-13804: Use after free in Chromecast
    * CVE-2026-13805: Use after free in GFX
    * CVE-2026-13806: Insufficient validation of untrusted input in Accessibility
    * CVE-2026-13807: Use after free in Import
    * CVE-2026-13808: Insufficient data validation in Chrome for iOS
    * CVE-2026-13809: Side-channel information leakage in Safe Browsing
    * CVE-2026-13810: Inappropriate implementation in Input
    * CVE-2026-13811: Use after free in IME
    * CVE-2026-13812: Insufficient validation of untrusted input in Chrome for iOS
    * CVE-2026-13813: Insufficient validation of untrusted input in Chrome for iOS
    * CVE-2026-13814: Use after free in Views
    * CVE-2026-13815: Use after free in Blink
    * CVE-2026-13816: Insufficient validation of untrusted input in File Input
    * CVE-2026-13817: Insufficient validation of untrusted input in Glic
    * CVE-2026-13818: Inappropriate implementation in Passwords
    * CVE-2026-13819: Out of bounds read in ANGLE
    * CVE-2026-13820: Out of bounds read in Skia
    * CVE-2026-13821: Use after free in Canvas
    * CVE-2026-13822: Inappropriate implementation in Extensions
    * CVE-2026-13823: Use after free in Glic
    * CVE-2026-13824: Insufficient validation of untrusted input in Extensions
    * CVE-2026-13825: Uninitialized Use in Dawn
    * CVE-2026-13826: Inappropriate implementation in Autofill
    * CVE-2026-13827: Use after free in Updater
    * CVE-2026-13828: Inappropriate implementation in Enterprise
    * CVE-2026-13829: Insufficient validation of untrusted input in Settings
    * CVE-2026-13830: Use after free in Chromoting
    * CVE-2026-13831: Use after free in GPU
    * CVE-2026-13832: Use after free in Headless
    * CVE-2026-13833: Uninitialized Use in ANGLE
    * CVE-2026-13834: Insufficient validation of untrusted input in ANGLE
    * CVE-2026-13835: Inappropriate implementation in XML
    * CVE-2026-13836: Inappropriate implementation in CSS
    * CVE-2026-13837: Inappropriate implementation in CSS
    * CVE-2026-13838: Inappropriate implementation in CSS
    * CVE-2026-13839: Inappropriate implementation in CSS
    * CVE-2026-13840: Insufficient policy enforcement in Canvas
    * CVE-2026-13841: Integer overflow in Skia
    * CVE-2026-13842: Incorrect security UI in Chrome for iOS
    * CVE-2026-13843: Insufficient validation of untrusted input in Chrome for iOS
    * CVE-2026-13844: Use after free in Updater
    * CVE-2026-13845: Use after free in DOM
    * CVE-2026-13846: Use after free in USB
    * CVE-2026-13847: Insufficient validation of untrusted input in Chrome for iOS
    * CVE-2026-13848: Use after free in Forms
    * CVE-2026-13849: Insufficient validation of untrusted input in Chromoting
    * CVE-2026-13850: Insufficient validation of untrusted input in Chrome for iOS
    * CVE-2026-13851: Insufficient validation of untrusted input in WebAppInstalls
    * CVE-2026-13852: Insufficient validation of untrusted input in WebAppInstalls
    * CVE-2026-13853: Use after free in Journeys
    * CVE-2026-13854: Use after free in Ozone
    * CVE-2026-13855: Use after free in Ozone
    * CVE-2026-13856: Insufficient validation of untrusted input in Speech
    * CVE-2026-13857: Inappropriate implementation in Geometry
    * CVE-2026-13858: Out of bounds read in FFmpeg
    * CVE-2026-13859: Inappropriate implementation in ANGLE
    * CVE-2026-13860: Incorrect security UI in Autofill
    * CVE-2026-13861: Use after free in Core
    * CVE-2026-13862: Insufficient policy enforcement in Web Authentication (Passkeys & Security Keys)
    * CVE-2026-13863: Insufficient validation of untrusted input in CustomTabs
    * CVE-2026-13864: Insufficient policy enforcement in WebHID
    * CVE-2026-13865: Insufficient validation of untrusted input in Enterprise
    * CVE-2026-13866: Insufficient validation of untrusted input in Input
    * CVE-2026-13867: Inappropriate implementation in Geolocation
    * CVE-2026-13868: Inappropriate implementation in Network
    * CVE-2026-13869: Use after free in Device
    * CVE-2026-13870: Use after free in WebView
    * CVE-2026-13871: Insufficient data validation in GuestView
    * CVE-2026-13872: Insufficient validation of untrusted input in WebAppInstalls
    * CVE-2026-13873: Out of bounds memory access in Layout
    * CVE-2026-13874: Inappropriate implementation in DataTransfer
    * CVE-2026-13875: Insufficient validation of untrusted input in GPU
    * CVE-2026-13876: Inappropriate implementation in Network
    * CVE-2026-13877: Insufficient validation of untrusted input in ANGLE
    * CVE-2026-13878: Use after free in Bluetooth
    * CVE-2026-13879: Use after free in Bluetooth
    * CVE-2026-13880: Use after free in USB
    * CVE-2026-13881: Insufficient data validation in WebAppInstalls
    * CVE-2026-13882: Inappropriate implementation in USB
    * CVE-2026-13883: Type Confusion in ANGLE
    * CVE-2026-13884: Heap buffer overflow in Chromecast
    * CVE-2026-13885: Use after free in Skia
    * CVE-2026-13886: Policy bypass in Isolated Web Apps
    * CVE-2026-13887: Insufficient policy enforcement in NFC
    * CVE-2026-13888: Use after free in Extensions
    * CVE-2026-13889: Insufficient validation of untrusted input in WebAuthentication
    * CVE-2026-13890: Out of bounds read in Chromecast
    * CVE-2026-13891: Insufficient validation of untrusted input in Extensions
    * CVE-2026-13892: Inappropriate implementation in Chrome for iOS
    * CVE-2026-13893: Insufficient validation of untrusted input in WebUI
    * CVE-2026-13894: Insufficient policy enforcement in Network
    * CVE-2026-13895: Inappropriate implementation in Autofill
    * CVE-2026-13896: Insufficient policy enforcement in Glic
    * CVE-2026-13897: Insufficient policy enforcement in Chromecast
    * CVE-2026-13898: Use after free in Cast Receiver
    * CVE-2026-13899: Use after free in HTML
    * CVE-2026-13900: Insufficient validation of untrusted input in Chromecast
    * CVE-2026-13901: Insufficient validation of untrusted input in Serial
    * CVE-2026-13902: Inappropriate implementation in Chrome for iOS
    * CVE-2026-13903: Insufficient policy enforcement in Bluetooth
    * CVE-2026-13904: Incorrect security UI in Safe Browsing
    * CVE-2026-13905: Incorrect security UI in Chrome for iOS
    * CVE-2026-13906: Out of bounds read in Codecs
    * CVE-2026-13907: Inappropriate implementation in iOSWeb
    * CVE-2026-13908: Insufficient validation of untrusted input in Omnibox
    * CVE-2026-13909: Insufficient policy enforcement in DevTools
    * CVE-2026-13910: Insufficient policy enforcement in WebXR
    * CVE-2026-13911: Insufficient data validation in Spellcheck
    * CVE-2026-13912: Incorrect security UI in Safe Browsing
    * CVE-2026-13913: Insufficient policy enforcement in Autofill
    * CVE-2026-13914: Inappropriate implementation in Passwords
    * CVE-2026-13915: Use after free in Chrome for iOS
    * CVE-2026-13916: Inappropriate implementation in Chrome for iOS
    * CVE-2026-13917: Insufficient validation of untrusted input in Chrome for iOS
    * CVE-2026-13918: Use after free in Chrome for iOS
    * CVE-2026-13919: Insufficient data validation in Extensions
    * CVE-2026-13920: Insufficient validation of untrusted input in Media
    * CVE-2026-13921: Insufficient validation of untrusted input in DeviceBoundSessionCredentials
    * CVE-2026-13922: Side-channel information leakage in Paint
    * CVE-2026-13923: Uninitialized Use in GPU
    * CVE-2026-13924: Insufficient validation of untrusted input in WebView
    * CVE-2026-13925: Inappropriate implementation in Downloads
    * CVE-2026-13926: Insufficient validation of untrusted input in Network
    * CVE-2026-13927: Insufficient validation of untrusted input in UI
    * CVE-2026-13928: Insufficient validation of untrusted input in Enterprise
    * CVE-2026-13929: Insufficient validation of untrusted input in DevTools
    * CVE-2026-13930: Insufficient policy enforcement in Actor
    * CVE-2026-13931: Inappropriate implementation in Media
    * CVE-2026-13932: Inappropriate implementation in Sharing
    * CVE-2026-13933: Insufficient policy enforcement in Passwords
    * CVE-2026-13934: Insufficient validation of untrusted input in Dawn
    * CVE-2026-13935: Side-channel information leakage in ComputePressure
    * CVE-2026-13936: Inappropriate implementation in Passwords
    * CVE-2026-13937: Insufficient policy enforcement in Passwords
    * CVE-2026-13938: Integer overflow in Fonts
    * CVE-2026-13939: Insufficient validation of untrusted input in WebShare
    * CVE-2026-13940: Uninitialized Use in Cast
    * CVE-2026-13941: Inappropriate implementation in SiteSettings
    * CVE-2026-13942: Insufficient validation of untrusted input in Video Capture
    * CVE-2026-13943: Uninitialized Use in CSS
    * CVE-2026-13944: Inappropriate implementation in DataTransfer
    * CVE-2026-13945: Insufficient policy enforcement in Extensions
    * CVE-2026-13946: Inappropriate implementation in ScriptInjections
    * CVE-2026-13947: Uninitialized Use in XR
    * CVE-2026-13948: Insufficient policy enforcement in Extensions
    * CVE-2026-13949: Insufficient policy enforcement in Payments
    * CVE-2026-13950: Uninitialized Use in GPU
    * CVE-2026-13951: Policy bypass in USB
    * CVE-2026-13952: Inappropriate implementation in PerformanceAPIs
    * CVE-2026-13953: Inappropriate implementation in SplitView
    * CVE-2026-13954: Insufficient policy enforcement in XML
    * CVE-2026-13955: Insufficient validation of untrusted input in CustomTabs
    * CVE-2026-13956: Incorrect security UI in PageInfo
    * CVE-2026-13957: Incorrect security UI in Extensions
    * CVE-2026-13958: Uninitialized Use in Codecs
    * CVE-2026-13959: Insufficient validation of untrusted input in Blink
    * CVE-2026-13960: Inappropriate implementation in Passwords
    * CVE-2026-13961: Insufficient validation of untrusted input in DevTools
    * CVE-2026-13962: Insufficient data validation in PDF
    * CVE-2026-13963: Inappropriate implementation in DevTools
    * CVE-2026-13964: Insufficient policy enforcement in WebView
    * CVE-2026-13965: Use after free in Oilpan
    * CVE-2026-13966: Inappropriate implementation in History
    * CVE-2026-13967: Type Confusion in V8
    * CVE-2026-13968: Insufficient validation of untrusted input in DevTools
    * CVE-2026-13969: Uninitialized Use in UI
    * CVE-2026-13970: Uninitialized Use in Media
    * CVE-2026-13971: Uninitialized Use in Skia
    * CVE-2026-13972: Inappropriate implementation in Paint
    * CVE-2026-13973: Inappropriate implementation in UI
    * CVE-2026-13974: Integer overflow in Safe Browsing
    * CVE-2026-13975: Out of bounds read in ANGLE
    * CVE-2026-13976: Heap buffer overflow in Storage
    * CVE-2026-13977: Inappropriate implementation in HTMLParser
    * CVE-2026-13978: Insufficient policy enforcement in PageInfo
    * CVE-2026-13979: Inappropriate implementation in Paint
    * CVE-2026-13980: Incorrect security UI in Chrome for iOS
    * CVE-2026-13981: Inappropriate implementation in Chrome for iOS
    * CVE-2026-13982: Incorrect security UI in Passwords
    * CVE-2026-13983: Incorrect security UI in Chrome for iOS
    * CVE-2026-13984: Incorrect security UI in TabStrip
    * CVE-2026-13985: Inappropriate implementation in MediaCapture
    * CVE-2026-13986: Inappropriate implementation in Media UI
    * CVE-2026-13987: Incorrect security UI in Mobile
    * CVE-2026-13988: Inappropriate implementation in Paint
    * CVE-2026-13989: Insufficient policy enforcement in PageInfo
    * CVE-2026-13990: Insufficient validation of untrusted input in DataTransfer
    * CVE-2026-13991: Insufficient validation of untrusted input in Chrome for iOS
    * CVE-2026-13992: Inappropriate implementation in UI
    * CVE-2026-13993: Incorrect security UI in WebAppInstalls
    * CVE-2026-13994: Inappropriate implementation in Credential Management
    * CVE-2026-13995: Insufficient validation of untrusted input in Autofill
    * CVE-2026-13996: Incorrect security UI in Permissions
    * CVE-2026-13997: Incorrect security UI in Extensions
    * CVE-2026-13998: Incorrect security UI in File Input
    * CVE-2026-13999: Inappropriate implementation in Extensions
    * CVE-2026-14000: Inappropriate implementation in XML
    * CVE-2026-14001: Inappropriate implementation in Network
    * CVE-2026-14002: Inappropriate implementation in Geolocation
    * CVE-2026-14003: Insufficient policy enforcement in Extensions
    * CVE-2026-14004: Inappropriate implementation in CSS
    * CVE-2026-14005: Use after free in Omnibox
    * CVE-2026-14006: Use after free in Navigation
    * CVE-2026-14007: Insufficient policy enforcement in PermissionsPolicy
    * CVE-2026-14008: Uninitialized Use in WebXR
    * CVE-2026-14009: Insufficient data validation in Passwords
    * CVE-2026-14010: Uninitialized Use in Codecs
    * CVE-2026-14011: Out of bounds read in SurfaceCapture
    * CVE-2026-14012: Side-channel information leakage in CSS
    * CVE-2026-14013: Inappropriate implementation in SVG
    * CVE-2026-14014: Inappropriate implementation in Paint
    * CVE-2026-14015: Inappropriate implementation in WebRTC
    * CVE-2026-14016: Insufficient policy enforcement in SVG
    * CVE-2026-14017: Inappropriate implementation in Navigation
    * CVE-2026-14018: Use after free in Updater
    * CVE-2026-14019: Inappropriate implementation in Passwords
    * CVE-2026-14020: Insufficient validation of untrusted input in WebXR
    * CVE-2026-14021: Insufficient validation of untrusted input in StorageAccessAPI
    * CVE-2026-14022: Insufficient validation of untrusted input in Network
    * CVE-2026-14023: Insufficient validation of untrusted input in SanitizerAPI
    * CVE-2026-14024: Use after free in Ozone
    * CVE-2026-14025: Use after free in Views
    * CVE-2026-14026: Incorrect security UI in SplitView
    * CVE-2026-14027: Use after free in SignIn
    * CVE-2026-14028: Incorrect security UI in Chrome for iOS
    * CVE-2026-14030: Incorrect security UI in SplitView
    * CVE-2026-14031: Incorrect security UI in File Input
    * CVE-2026-14032: Use after free in Bluetooth
    * CVE-2026-14033: Insufficient policy enforcement in Media
    * CVE-2026-14034: Inappropriate implementation in WebXR
    * CVE-2026-14035: Insufficient policy enforcement in Bluetooth
    * CVE-2026-14036: Insufficient policy enforcement in Bluetooth
    * CVE-2026-14037: Insufficient policy enforcement in GPU
    * CVE-2026-14038: Insufficient validation of untrusted input in New Tab Page
    * CVE-2026-14039: Insufficient policy enforcement in GetUserMedia
    * CVE-2026-14040: Use after free in BrowserTag
    * CVE-2026-14041: Insufficient policy enforcement in Serial
    * CVE-2026-14042: Inappropriate implementation in Isolated Web Apps
    * CVE-2026-14043: Use after free in GetUserMedia
    * CVE-2026-14044: Use after free in ANGLE
    * CVE-2026-14045: Insufficient validation of untrusted input in Network
    * CVE-2026-14046: Inappropriate implementation in CustomTabs
    * CVE-2026-14047: Insufficient policy enforcement in Extensions
    * CVE-2026-14048: Use after free in Chromecast
    * CVE-2026-14049: Inappropriate implementation in GPU
    * CVE-2026-14050: Insufficient policy enforcement in Passwords
    * CVE-2026-14051: Uninitialized Use in GamepadAPI
    * CVE-2026-14052: Insufficient policy enforcement in FileSystem
    * CVE-2026-14053: Insufficient policy enforcement in Extensions
    * CVE-2026-14054: Insufficient policy enforcement in Network
    * CVE-2026-14055: Insufficient validation of untrusted input in Device Trust
    * CVE-2026-14056: Insufficient validation of untrusted input in Media
    * CVE-2026-14057: Insufficient policy enforcement in FedCM
    * CVE-2026-14058: Policy bypass in Parser
    * CVE-2026-14059: Insufficient policy enforcement in Related-Website-Sets
    * CVE-2026-14060: Insufficient validation of untrusted input in Chromoting
    * CVE-2026-14061: Inappropriate implementation in Dawn
    * CVE-2026-14062: Inappropriate implementation in Views
    * CVE-2026-14063: Out of bounds memory access in Chromecast
    * CVE-2026-14064: Use after free in PageInfo
    * CVE-2026-14065: Insufficient validation of untrusted input in PageInfo
    * CVE-2026-14066: Insufficient validation of untrusted input in Chrome for iOS
    * CVE-2026-14067: Use after free in Chrome for iOS
    * CVE-2026-14068: Inappropriate implementation in Omnibox
    * CVE-2026-14069: Integer overflow in WebNN
    * CVE-2026-14070: Uninitialized Use in WebNN
    * CVE-2026-14071: Side-channel information leakage in WebAudio
    * CVE-2026-14072: Incorrect security UI in SplitView
    * CVE-2026-14073: Insufficient policy enforcement in WebXR
    * CVE-2026-14074: Side-channel information leakage in WebAuthentication
    * CVE-2026-14075: Policy bypass in Chrome for iOS
    * CVE-2026-14076: Policy bypass in Network
    * CVE-2026-14077: Incorrect security UI in Select
    * CVE-2026-14078: Policy bypass in WebRTC
    * CVE-2026-14079: Policy bypass in Network
    * CVE-2026-14080: Insufficient validation of untrusted input in TabSwitcher
    * CVE-2026-14081: Insufficient policy enforcement in DevTools
    * CVE-2026-14082: Race in Storage
    * CVE-2026-14083: Insufficient validation of untrusted input in HTML
    * CVE-2026-14084: Insufficient validation of untrusted input in Chromoting
    * CVE-2026-14085: Side-channel information leakage in CSS
    * CVE-2026-14086: Insufficient policy enforcement in HID
    * CVE-2026-14087: Insufficient validation of untrusted input in WebNN
    * CVE-2026-14088: Uninitialized Use in Canvas
    * CVE-2026-14089: Insufficient validation of untrusted input in PopupBlocker
    * CVE-2026-14090: Out of bounds read in CameraCapture
    * CVE-2026-14091: Use after free in DevTools
    * CVE-2026-14092: Insufficient policy enforcement in Privacy
    * CVE-2026-14093: Use after free in Cast
    * CVE-2026-14094: Use after free in Installer
    * CVE-2026-14095: Insufficient validation of untrusted input in Browser
    * CVE-2026-14096: Object lifecycle issue in Input
    * CVE-2026-14097: Inappropriate implementation in WebAppInstalls
    * CVE-2026-14098: Inappropriate implementation in CSS
    * CVE-2026-14099: Use after free in Chrome for iOS
    * CVE-2026-14100: Insufficient data validation in NetworkCache
    * CVE-2026-14101: Insufficient policy enforcement in Sandbox
    * CVE-2026-14102: Use after free in Passwords
    * CVE-2026-14103: Use after free in SSL
    * CVE-2026-14104: Insufficient validation of untrusted input in WebAppInstalls
    * CVE-2026-14105: Insufficient policy enforcement in Speech
    * CVE-2026-14106: Insufficient validation of untrusted input in Text
    * CVE-2026-14107: Use after free in Scheduling
    * CVE-2026-14108: Use after free in PDFium
    * CVE-2026-14109: Insufficient policy enforcement in Mojo
    * CVE-2026-14110: Inappropriate implementation in DarkMode
    * CVE-2026-14111: Use after free in WebProtect
    * CVE-2026-14112: Inappropriate implementation in Enterprise
    * CVE-2026-14113: Use after free in Updater
    * CVE-2026-14114: Inappropriate implementation in WebAppInstalls
    * CVE-2026-14115: Insufficient validation of untrusted input in Cast
    * CVE-2026-14116: Insufficient validation of untrusted input in DevTools
    * CVE-2026-14117: Insufficient validation of untrusted input in DevTools
    * CVE-2026-14118: Insufficient data validation in DevTools
    * CVE-2026-14119: Type Confusion in Bluetooth
    * CVE-2026-14120: Inappropriate implementation in DevTools
    * CVE-2026-14121: Use after free in Chromoting
    * CVE-2026-14122: Insufficient validation of untrusted input in WebAppInstalls
    * CVE-2026-14123: Incorrect security UI in Chrome for iOS
    * CVE-2026-14124: Inappropriate implementation in CredentialProvider
    * CVE-2026-14125: Uninitialized Use in ANGLE
    * CVE-2026-14126: Incorrect security UI in UI
    * CVE-2026-14127: Inappropriate implementation in Printing
    * CVE-2026-14128: Insufficient data validation in Chrome for iOS
    * CVE-2026-14129: Incorrect security UI in PreviewTab
    * CVE-2026-14130: Incorrect security UI in Omnibox
    * CVE-2026-14131: Insufficient validation of untrusted input in WebAppInstalls
    * CVE-2026-14132: Inappropriate implementation in WebXR
    * CVE-2026-14133: Race in History Embeddings
    * CVE-2026-14134: Inappropriate implementation in Autofill
    * CVE-2026-14135: Insufficient validation of untrusted input in Network
    * CVE-2026-14136: Incorrect security UI in Chrome for iOS
    * CVE-2026-14137: Insufficient validation of untrusted input in Chrome for iOS
    * CVE-2026-14138: Inappropriate implementation in WebAppInstalls
    * CVE-2026-14139: Inappropriate implementation in TabStrip
    * CVE-2026-14140: Insufficient validation of untrusted input in Input
    * CVE-2026-14141: Incorrect security UI in Document Picture-in-Picture
    * CVE-2026-14142: Inappropriate implementation in Extensions
    * CVE-2026-14143: Incorrect security UI in Passwords
    * CVE-2026-14144: Incorrect security UI in Views
    * CVE-2026-14145: Inappropriate implementation in CSS
    * CVE-2026-14146: Inappropriate implementation in CSS
    * CVE-2026-14147: Inappropriate implementation in CSS
    * CVE-2026-14148: Type Confusion in CSS
    * CVE-2026-14149: Use after free in Audio
    * CVE-2026-14150: Insufficient validation of untrusted input in Speech
    * CVE-2026-14151: Inappropriate implementation in AI
    * CVE-2026-14152: Out of bounds write in ANGLE
    * CVE-2026-14153: Inappropriate implementation in Glic
    * CVE-2026-14154: Inappropriate implementation in DevTools
    * CVE-2026-14155: Insufficient policy enforcement in StorageAccessAPI
    * CVE-2026-14156: Policy bypass in StorageAccessAPI
  - Remove Darkmode patches, which are already included in v150
  - Refresh patches for v150
  - Fix FTBFS with system ffmpeg
  - Backport upstream patches to fix FTBFS


author: Than Ngo <than@redhat.com> - 150.0.7871.114-1
changelog:
  - Update to 150.0.7871.114
    * CVE-2026-15112: Use after free in Ozone
    * CVE-2026-15129: Use after free in Views
    * CVE-2026-15132: Uninitialized Use in V8
    * CVE-2026-15133: Use after free in InterestGroups
    * CVE-2026-15108: Integer overflow in Extensions API
    * CVE-2026-15109: Uninitialized Use in ANGLE
    * CVE-2026-15110: Use after free in Extensions
    * CVE-2026-15111: Use after free in Views
    * CVE-2026-15113: Use after free in Autofill
    * CVE-2026-15114: Out of bounds read and write in Codecs
    * CVE-2026-15115: Insufficient validation of untrusted input in WebAppInstalls
    * CVE-2026-15116: Use after free in Actor
    * CVE-2026-15117: Use after free in Payments
    * CVE-2026-15118: Use after free in Input
    * CVE-2026-15119: Inappropriate implementation in GetUserMedia
    * CVE-2026-15120: Use after free in Core
    * CVE-2026-15121: Use after free in WebRTC
    * CVE-2026-15122: Insufficient validation of untrusted input in Codecs
    * CVE-2026-15123: Insufficient data validation in DOM
    * CVE-2026-15124: Insufficient policy enforcement in Passwords
    * CVE-2026-15125: Inappropriate implementation in Forms
    * CVE-2026-15126: Use after free in Forms
    * CVE-2026-15127: Inappropriate implementation in WebGL
    * CVE-2026-15128: Inappropriate implementation in Forms
    * CVE-2026-15130: Insufficient policy enforcement in Navigation
    * CVE-2026-15107: Use after free in IndexedDB
    * CVE-2026-15131: Insufficient data validation in Navigation


author: Than Ngo <than@redhat.com> - 150.0.7871.124-1
changelog:
  - Update to 150.0.7871.124
    * CVE-2026-15764: Use after free in Ozone
    * CVE-2026-15765: Use after free in Ozone
    * CVE-2026-15766: Uninitialized Use in Skia
    * CVE-2026-15767: Heap buffer overflow in libyuv
    * CVE-2026-15768: Insufficient policy enforcement in HTML-in-Canvas
    * CVE-2026-15769: Insufficient validation of untrusted input in Linux Toolkit Theming
    * CVE-2026-15770: Uninitialized Use in V8
    * CVE-2026-15771: Insufficient validation of untrusted input in Media
    * CVE-2026-15772: Use after free in GPU
    * CVE-2026-15773: Use after free in Core
    * CVE-2026-15774: Use after free in Skia
    * CVE-2026-15775: Insufficient policy enforcement in V8
    * CVE-2026-15776: Type Confusion in V8
    * CVE-2026-15777: Use after free in UI
    * CVE-2026-15778: Insufficient validation of untrusted input in Navigation
  - Backport patches to improve auto darkmode


author: Than Ngo <than@redhat.com> - 150.0.7871.128-1
changelog:
  - Update to 150.0.7871.128
    * CVE-2026-15899: Use after free in CameraCapture
    * CVE-2026-15900: Use after free in GPU
    * CVE-2026-15901: Use after free in Network
    * CVE-2026-15902: Use after free in Cast
    * CVE-2026-15903: Out of bounds read and write in V8
    * CVE-2026-15904: Use after free in Ozone
    * CVE-2026-15905: Use after free in Aura
  - Fix rhbz#2501811, Drop AI policy which breaks DoH settings
  - Improve auto darkmode


author: Than Ngo <than@redhat.com> - 150.0.7871.181-1
changelog:
  - Update to 150.0.7871.181
    * CVE-2026-16413: Out of bounds write in ANGLE
    * CVE-2026-16414: Insufficient validation of untrusted input in Chromecast
    * CVE-2026-16415: Insufficient validation of untrusted input in Extensions
    * CVE-2026-16416: Integer overflow in Chromecast
    * CVE-2026-16417: Uninitialized Use in Skia
    * CVE-2026-16418: Stack buffer overflow in V8
    * CVE-2026-16419: Out of bounds read and write in ANGLE
    * CVE-2026-16420: Type Confusion in WebAudio
    * CVE-2026-16421: Inappropriate implementation in WebAudio
    * CVE-2026-16422: Insufficient validation of untrusted input in Certificate
    * CVE-2026-16423: Use after free in UI
    * CVE-2026-16424: Use after free in GPU


author: Jaroslav Škarvada <jskarvad@redhat.com> - 4.98.1-1
changelog:
  - New version
    Resolves: rhbz#2346977
  - Fixed possible remote SQL injection
    Resolves: CVE-2025-26794
  - Updated exim maintainers keyring


author: Paul Howarth <paul@city-fan.org> - 3.3.122-1
changelog:
  - Update to 3.3.122
    - Buffer warning fix in fstVcdIDForFwrite
    - Warning fixes in vzt_read.c and fstapi.c
    - Prototype fixes for port to gcc15
    - Fixes for tcl9 compatibility
    - Added fixes for --saveonexit command line option
    - Fix for convert_real for TR_REAL traces
    - Fix for popen_san() in vcd2fst using fsdb binaries
    - Added fstWriterGetFlushContextPending() to fstapi.c/.h
    - Reenable wayland code for primary and baseline markers in wavewindow.c
    - Unnamed scope fix for fstReader
    - Opaque pointer warning fix for fstapi.c
    - Remove broken pseudo-2D array support in fst.c
    - Fix in fst.c for signals whose MSB/LSB/len mismatch
    - libfst #15: fstReaderOpen should not fail on empty FST file
    - Fix crash introduced in 3.3.120 with legacy VCD loader caused by
      "Fix case of missing newline at EOF for VCD loaders"
    - Fix fstminer not handling string transitions correctly (GH#423)
    - Fix in fst.c for duplicate string values
    - Remove duplicate string values from adjacent value changes
    - libghw: Add from upstream for ghdl_rtik_type_i64
    - Fix inconsistent handling of invalid vector bounds in VCD and FST loaders
      (GH#428)
  - Use %{make_build} and %{make_install}


author: Paul Howarth <paul@city-fan.org> - 3.3.123-1
changelog:
  - Update to 3.3.123
    - Fix broken autocoalesce of bitblasted vectors that fix for GH#428 in
      3.3.122 introduced
    - Fix improper autocoalesce of adjacent duplicate symbols
    - Preserve dimension on integer array element when expanded


author: Paul Howarth <paul@city-fan.org> - 3.3.124-1
changelog:
  - Update to 3.3.124
    - Ensure type name in $var for VCD saver is >0 length
    - Preserve bitblasted vector ordering with VCD saver.
    - Use full type names in VCD saver instead of abbreviations
    - Dump all bits for a bitblasted vector in VCD saver in order to ensure
      stray bit extractions do not cause a failure to reconstruct vectors in
      proper order in the extracted file


author: Paul Howarth <paul@city-fan.org> - 3.3.125-1
changelog:
  - Update to 3.3.125
    - Added json2stems to distribution to support newer versions of Verilator
    - VCD parser fix for colon in VCD variable name
    - Parameter size 0 fix for Vivado: backs out very old fix (for MTI) that
      converts 0 size signals to reals
    - Update vcd2fst so that it handles MTI 0 size conversion


author: Paul Howarth <paul@city-fan.org> - 3.3.126-1
changelog:
  - Update to 3.3.126
    - Added -H --noheader command line option for GTK3
    - Added headerbar rc variable to disable GTK3 headerbars
    - Fix for rendering multiline string constants in dumps
    - Add warning message for missing XPM loader
    - Updated libghw to current version
    - Changed behaviour of X search in pattern search so it is matched by a
      single X bit


author: Paul Howarth <paul@city-fan.org> - 3.3.127-1
changelog:
  - Update to 3.3.127
    - Fix for fixed point shift that does not disable it on the specify value
      change menu option
    - Changed ps2pdf to pstopdf on Mac as ps removed by Sonoma
    - Warnings fix in vcd2fst for missing string.h include
    - Added FST_ST_SV_ARRAY (FST) and "sv_array" (VCD) for arrays
      (gtkwave/libfst#17)
    - Wrote replacement for gdk_pixbuf_new_from_xpm_data
    - Update FSDB to handle FST_ST_SV_ARRAY (VCS emits this),
      FSDB_ST_SV_INTERFACEPORT_REF, and FSDB_VT_STRING
    - Added "SV_ST_ARRAY" to exclude file parsing on init
    - Fix use after free of GLOBALS->entrybox_text in regexp_highlight_generic()
  - Drop dependency on gdk-pixbuf2-modules-extra, XPM support now done locally


author: Jirka Hladky <hladky.jiri@gmail.com> - 1.9.21-1
changelog:
  - Update to 1.9.21
  - Security fix: CVE-2026-41054 — privilege escalation via command socket
  - Fix semaphore error handling (SEM_FAILED vs NULL)
  - Fix /dev/shm permissions (use 01777 with sticky bit)


author: Jirka Hladky <hladky.jiri@gmail.com> - 1.9.23-1
changelog:
  - Update to 1.9.23
  - Security: use O_EXCL with sem_open to prevent semaphore pre-planting attacks
  - Security: fix OOB memory access in safein()/safeout() on socket errors
  - Security: reject command socket connections from different user namespaces
  - Security: use O_NOFOLLOW for PID file to prevent symlink attacks
  - Harden: open random device with O_CLOEXEC, restrict semaphore to 0600
  - Fix stale semaphore recovery after SIGKILL
  - Fix compilation when NO_COMMAND_MODE is defined


author: Jirka Hladky <hladky.jiri@gmail.com> - 1.9.23-2
changelog:
  - Add SELinux policy module to allow semaphore creation in /dev/shm
  - Add rpminspect.yaml to waive pre-existing annocheck false positive


author: Jirka Hladky <hladky.jiri@gmail.com> - 1.9.23-3
changelog:
  - Fix rpminspect.yaml: use annocheck failure_severity instead of inspections toggle
    (annocheck is a security inspection and cannot be disabled via inspections section)


author: Jirka Hladky <hladky.jiri@gmail.com> - 1.9.24-1
changelog:
  - Update to 1.9.24
  - Disable command mode in long-running service (--no-command flag)
  - Enable PrivateNetwork=true in systemd service
  - Remove SELinux policy module (no longer needed without command mode)


author: Jirka Hladky <hladky.jiri@gmail.com> - 1.9.25-1
changelog:
  - Update to 1.9.25
  - Fix initramfs switch-root failure caused by --no-command (BZ#2491739)
  - Add haveged-initramfs.service for use inside the initramfs


author: Filipe Rosset <filiperosset@fedoraproject.org> - 5.4.3-1
changelog:
  - update to 5.4.3 fixes rhbz#2492868
  - a bunch of other bugs were fixed and will be backported to all supported
    Fedora / EPEL versions


author: Paul Howarth <paul@city-fan.org> - 1.3.8b-8
changelog:
  - Drop EL-7 support
    - Drop mod_geoip support
    - Drop mod_wrap support
    - Always build mod_proxy
    - Always use libpcre2
    - Always use maridb client library in preference to mysql
    - Always use libpq client library in preference to postgresql
    - Always use OpenSSL Cipher Profiles
  - Explicitly switch from libmemcached to libmemcached-awesome from Fedora 35
    onwards


author: Paul Howarth <paul@city-fan.org> - 1.3.9-0.1.rc2
changelog:
  - Update to 1.3.9rc2
    - Fix mod_tls build failing for OpenSSL before 1.1.x (Bug #4494)
    - Fix mod_sftp not advertising standard extensions for protocol version 3
      (GH#1570)
    - Fix mod_sftp "check-file" extension using wrong block size when offset and
      length are specified (GH#1569)
    - Use JSON for Controls protocol messages (GH#379)
    - Provide richer exit status values for ftpdctl for better scripting (GH#1114)
    - Enforce requirement of preceding RewriteCondition for RewriteRule directives
      to avoid confusion (Bug #4495)
    - Implement LogFormat variable for data transfer average speed (GH#535)
    - Optimize per-connection file I/O when reading SFTPHostKey from disk
      (GH#1596)
    - ProFTPD did not detect FIPS when using OpenSSL 3.x built with FIPS support
      (GH#1610)
    - Reduce latency due to signal handling in the daemon process (GH#1623)
    - SSH key exchange requests should be classified into the "SEC" ExtendedLog
      class (GH#1626)
    - Update mod_exec to use the Jot API for resolving variables (GH#1630)
    - Use system TCP backlog value by default (GH#1636)
    - Gracefully handle directory creation requests when the directory already
      exists (GH#1639)
    - Remove asynchronous FTP responses emitted while computing digest values
      (GH#1661)
    - Support terminating connection after USER command when TLS is required
      (GH#1640)
    - Support OPTS commands for querying configured policy for resumed uploads,
      downloads (GH#1676)
    - MaxStoreFileSize for single user was not properly honored for SFTP uploads
      (GH#1686)
    - DisplayChdir using absolute path should work properly with DefaultRoot
      (GH#1688)
    - Clients should be disconnected when unable to be added to the
      ScoreboardFile (GH#1700)
    - Support injecting random delay when clients connect via DelayOnEvent
      (GH#1701)
    - Support OpenSSH FIDO security keys in mod_sftp (GH#1118)
    - Support obtaining default UID/GID values for AD directories in mod_ldap
      (GH#1716)
    - Update upload progress in scoreboard when throttling (GH#1433)
    - Null pointer reference encountered for FTPS connection due to config
      parser ignoring Include file problem (GH#1721)
    - Support the chacha20-poly1305@openssh.com SSH cipher (GH#456)
    - mod_auth_otp should require per-user OTP entries by default (GH#1562)
    - 1.3.9rc1 mod_sftp failed to compile if EVP_chacha20 was unavailable, as
      when using older OpenSSL versions (GH#1730)
    - Error resolving DNS name for implicit "server config" vhost lead to
      DelayTable not being found (GH#1746)
    - Log message for exceeding quota did not include the user/group/class quota
      type (GH#1749)
    - Build system failed for specific module names (GH#1756)
    - "Terrapin" Prefix Truncation Attacks in SSH Specification affected mod_sftp
      (CVE-2023-48795, GH#1760)
  - Additional C compatibility fix


author: Paul Howarth <paul@city-fan.org> - 1.3.9-0.2.rc3
changelog:
  - Update to 1.3.9rc3
    - Bad handling of lack of extended attributes lead to SFTP out of memory
      error (GH#1785)
    - Using mod_facl and mod_vroot at same time caused unexpected permissions
      issues (GH#1780)
    - mod_sftp_sql logged "header value too long" due to unexpected key header
      text (GH#1529)
    - SFTP statvfs extension failed when mod_vroot was in use (GH#1792)
    - Implement limits@openssh.com SFTP extension (GH#1798)
    - Implement SFTPAuthPublicKeys directive for configuring the list of public
      key algorithms allowed for authentication (GH#1806)
    - Fix stack trace changing to directory with DisplayChdir file using %F
      variable on a large filesystem (GH#1819)
    - Remove inherited supplemental groups when started with root privileges
      (GH#1836)
    - SSH ECDSA host key algorithms were not being used as expected despite
      configuring appropriate key (GH#1839)
    - RADIUS Message-Authenticator verification failed with ProFTPD mod_radius
      (GH#1840)
    - Supplemental group inheritance granted unintended access to GID 0 due to
      lack of supplemental groups from mod_sql (GH#1830)


author: Paul Howarth <paul@city-fan.org> - 1.3.9-0.3.rc3
changelog:
  - Update mod_vroot to 0.9.12
    - Implement a realpath(3) callback for the FSIO API, for better
      interoperability of other modules when mod_vroot is in effect


author: Paul Howarth <paul@city-fan.org> - 1.3.9-1
changelog:
  - Update to 1.3.9
    - Use of HideNoAccess for SFTP sessions could lead to segfault and/or
      unexpected behavior (GH#1855)
    - Avoid NULL pointer dereferences in mod_ls (GH#1866, CVE-2024-57392)
    - Added Polish translation (Bug #4511)
    - SFTP channel allocations can lead to high memory utilization over time
      (GH#1876)
    - Update libtool.m4 for better MacOSX support (GH#1878)
  - Update mod_proxy to 0.9.5
    - Implemented new IgnoreForeignAddress ProxyOption
    - Fixed passive data transfers to backend IPv4 address when IPv6 support is
      enabled


author: Paul Howarth <paul@city-fan.org> - 1.3.9a-1
changelog:
  - Update to 1.3.9a
    - SCP transfers failed for files with spaces in their names (GH#1886)
    - LDAPDefaultGID ignored since 1.3.9 (GH#1898)
    - Compilation of mod_wrap2 failed when the --enable-wrapper-options configure
      option was used (Bug #4512)
    - mod_sftp failed to parse authorized user/host public keys with CRLF line
      endings (GH#1904)
    - Uploads using MODE Z sometimes resulted in corrupted files or broken
      transfers (GH#1896)
    - Remove usage of the deprecated MySQL_OPT_RECONNECT option for newer MySQL
      versions (GH#1911)
    - Update usage of MySQL API for SSL/TLS connections to server (GH#340)
    - mod_sftp leaked file descriptor when reading SFTPHostKey file (GH#1959)
    - Large/slow SCP downloads could be unnecessarily truncated by TimeoutStalled
      (GH#1964)
    - Handling of CRLs in mod_tls was incorrect, leading to confusing errors
      (GH#1960)
    - Resumed SSL_SESSION management in mod_tls lead to memory growth, infinite
      loop using newer OpenSSL versions (GH#1963)
    - mod_quotatab_ldap interactions could lead to segfault due to stale pointer
      (GH#1984)
    - RNTO before authentication lead to out-of-order response codes (GH#2003)
    - MaxLoginAttemptsFromUser event never triggered in mod_ban for SFTP sessions
      (GH#2009)
    - Using toupper(3) on non-ASCII FTP command bytes might cause remote DoS
      (GH#2019)
    - Out-of-bounds single byte read when FTP command input buffer starts with LF
      (GH#2020)
    - FTP command LIST/NLST -B could cause buffer overflow when listing certain
      crafted filenames (GH#2030)
    - Memory exhaustion with mod_log_forensic when downloading very large files
      via SFTP (GH#2043)
    - Setting process groups during authentication crashed when using mod_radius
      and <IfGroup> (GH#2046)
    - SQL injection possible via mod_sql because of is_escaped_text() logic error
      (GH#2052, CVE-2026-42167)


author: Paul Howarth <paul@city-fan.org> - 1.3.9a-2
changelog:
  - Additional escaping for avoidance of SQL injection issues with %{note:...}
    and %{env:...}; these are on top of the existing fix for CVE-2026-42167 in
    1.3.9a
  - Fix for SQL Injection in mod_wrap2_sql via reverse DNS hostname
    (CVE-2026-44331, rhbz#2466899, https://github.com/proftpd/proftpd/issues/2057)


author: Paul Howarth <paul@city-fan.org> - 1.3.9b-1
changelog:
  - Update to 1.3.9b
    - Fix SQL Injection in mod_wrap2_sql via reverse DNS hostname (GH#2057,
      CVE-2026-44331)
    - Additional fix for session management with OpenSSL 3.2.x or later, when
      using TLSv1.2 or earlier; this complements the fix for GH#1963 (GH#2096)
    - Hard quota limits on uploads do not cause SFTP WRITE requests to fail as
      expected (GH#2098)
    - Fix SSH payload length underflow calculation for ETM/ChaChaPoly algorithms
      in mod_sftp (GH#2102)
    - SSH packet with empty payload triggered null pointer dereference in
      mod_sftp (GH#2104)
    - Bad DSA signatures could lead to out-of-bounds read of heap memory in
      mod_sftp (GH#2106)
    - Mismatched RSA/DSA algorithm signatures could lead to null dereference in
      mod_sftp (GH#2108)
    - SFTP request payload length underflow calculation in mod_sftp
      (GH#2115, CVE-2026-53994)
    - Several modules failed to build using OpenSSL 4.0 (GH#2120)
  - Update mod_proxy to 0.9.7
    - Add a check on the maximum allowed SSH payload (vs. packet) length (GH#291)
    - Set the payload_len field before checking its value (GH#292)
    - Keep the SSH packet reading code in mod_proxy more in line with what is
      done in mod_sftp, for legibility (GH#294)
    - Implement support for the OpenSSH-specific ChaChaPoly SSH algorithm
      (GH#295, GH#296)
    - Correct misspellings noted by codespell (GH#297)
    - Use clang-tidy to start polishing the codebase (GH#298)
    - Disable the Nagle algorithm by default on our TCP connections to back-end
      servers (GH#299)
    - Require OpenSSL for building (GH#249, GH#300)
    - Documentation fixes
    - Implement a limit on the number of EXT_INFO extensions we'll be willing to
      accept (GH#303)
    - Comparison of expected/provided MAC data should be done in a constant-time
      manner
    - Support PKCS11-stored private keys
    - Implement the "mlkem768x25519-sha256" and "sntrup761x25519-sha512"
      post-quantum SSH key exchange mechanisms (GH#306)
    - Add sanity check for SRV record lengths
    - Ensure that the SSH payload length computation, for ETM/ChaChaPoly packets,
      does not underflow
    - If we detect a bad DSA signature length, properly error out
    - Ensure that RSA/DSA signatures match their expected algorithm types, and
      avoid null pointer dereferences
    - Update to build against OpenSSL 4.x (GH#313)


author: Paul Howarth <paul@city-fan.org> - 1.3.9c-1
changelog:
  - Update to 1.3.9c
    - ExecEnviron values not passed due to regression since 1.3.8.d (GH#2135)
    - Stack buffer overflow in MLSD/MLST handling for long path names (GH#2146)
    - MaxTransfersPerUser no longer enforces configured limits (GH#2158)
    - AdminControlsACLs for config, get actions not honored as they should be
      (GH#2163)
    - Memcached/Redis-cached JSON TLS session/OCSP entries decoded into fixed
      buffers without bounds checking (GH#2166)
    - RewriteMap unescape builtin use causes one-byte out-of-bounds write, fails
      to reject illegal characters (GH#2173)
    - SQL group name lookup concatenates client-provided group names without
      escaping (GH#2188)
    - Authenticated SFTP sessions can overflow the SFTP packet buffer
      (GH#2190, CVE-2026-63090)
    - Default Controls socket ACLs unintentionally allow all users access for
      sending Controls requests (GH#2210)
    - Exercise caution when reading the client-provided file size for SCP
      uploads, as it could possibly overflow our size type (CVE-2026-63091)


author: Paul Howarth <paul@city-fan.org> - 1.3.9c-3
changelog:
  - Add mod_procfs, enabled by default, to address CVE-2026-35025 (ACL bypass via
    /proc/self/root path prefix); this module disallows file accesses via procfs
    filesystems


author: Robert Scheck <robert@fedoraproject.org> 1.11.2-4
changelog:
  - Use 'systemctl try-reload-or-restart' in logrotate postrotate
    script (#2371326, thanks to Marcos Mello)


author: Mikel Olasagasti Uranga <mikel@olasagasti.info> - 0.18.0-1
changelog:
  - Update to 0.18.0 - Closes rhbz#2355627 rhbz#2354447 rhbz#2352331
    rhbz#2350845 rhbz#2348839 rhbz#2331990


author: Bojan Smojver <bojan@rexursive com> - 4.5.1-5
changelog:
  - Drop unknown configure option --enable-tcpreplay-edit
  - Change tcpdump dependency to package
  - Remove checks for TX_RING support to avoid build problems


author: Dimitris Soumis <dsoumis@redhat.com> - 1:2.0.14-2
changelog:
  - The old description is from the 1.x era when tomcat-native provided broad
    APR integration. In 2.x it's focused solely on TLS/OpenSSL.


