Aegisub 3.5.0 Changelog

Released: October 4, 2026

Video

  • Allow panning the video display using middle-click dragging or Shift+Scroll, as well as zooming it using Ctrl+Scroll or touchpad gestures. The behavior of scrolling while holding Control, Shift, or no modifier can be configured in the settings, e.g. to make touchpad scrolling map to panning without holding Shift. There is also a command to reset the pan.
  • Add a way to copy or save the rendered subtitles as an image with a transparent background.
  • Show the video’s color space in the Video Details dialog.

Script Resolution and Color Matrix

  • Add the ability to edit an .ass file’s LayoutRes headers, and properly adjust them when resampling resolution.
  • Show prompts when a file’s PlayRes, LayoutRes, or YCbCr Matrix is unset or may need to be updated to reflect a new video file. All prompts can be enabled or disabled in the settings, but the defaults should catch all the common instances where action needs to be taken while not annoying the user when the headers can stay as is. In particular, there is no real need for a subtitle file’s PlayRes and LayoutRes to match the video’s resolution, as long as the aspect ratios match. Each prompt has a help button linking to the relevant documentation.
  • Warn when a video’s color matrix is untagged, and when a video is HDR or uses a wide color gamut.
  • Add a “From Video” button for the YCbCr Matrix in the script properties, and stop setting YCbCr Matrix: None for new files.
  • When resampling, no longer scale \blur and \be, and do not quantize drawing coordinates more coarsely than necessary.

Audio

  • Rework the “current video position” marker in the audio display to allow safely snapping subtitle lines to it. The marker now shows a white line at the current video frame’s exact start time, which can be used to visually judge whether a subtitle line is visible on the current frame. Additionally, two semi-transparent areas (with configurable colors and transparency) are drawn to indicate the durations of the previous and current frames, and subtitle times can be snapped to the middle of either of the areas.
  • Add hotkeyable commands to scroll the audio display to the start or end of the current line.

Editing

  • Add syntax highlighting for drawings and vector clips.
  • Allow inserting a hard space (\h) in the subtitle edit box using Ctrl+Shift+Space on Windows and Linux and Option+Space on macOS.
  • Add an option to make Shift+Enter add a \n rather than \N in the subtitle edit box. \n only inserts a line break when the line’s wrap style is 2 (i.e. manual wrapping), and does nothing when automatic line wrapping is enabled. This can be used to insert explicit line breaks but allow viewers to disable them by setting a style override for the script’s WrapStyle.
  • Allow binding the individual modes of the visual vector clip tool to hotkeys.
  • Add a handful of features to the style editor:
    • Allow higher decimal precision for some style parameters.
    • Allow setting the style’s font encoding to -1. This is a libass-only feature that can make text layout for right-to-left and bidirectional text easier. Being a libass-only feature, it should not be used for distributed softsubs, but can be used when hardsubbing.
    • Allow setting the style’s border style to 4. This is a libass-only feature that draws an opaque box around the entire event rather than drawing one box per line. The same advice about libass-only features as for the previous point also applies here.
  • Fix Unicode whitespace handling in the translation assistant.

Fonts Collector

  • Make the fonts collector on Windows faster and more reliable.
  • Fix the handling of style resets (\r) and \fn0.
  • Group the fonts collector’s usage messages to make its output easier to read.

Automation

  • Prompt the user before loading a subtitle file’s associated automation scripts.
  • Update the bundled MoonScript to 0.7.0.
  • Deprecate the luabins Lua library, which, to our knowledge, has never actually been used by any existing automation script.
  • Stop bundling Yutils, luajson, and the ffi-experiments libraries with DependencyControl in the Windows installer. DependencyControl now installs these, or its own equivalents, on demand.
  • Make lfs.dir raise an error when the directory cannot be opened, matching the behavior of the standard lfs library.
  • Fix lfs.attributes not seeing directories with non-ASCII characters in their name on Windows.
  • Fix util.deep_copy for tables with circular references.
  • Fix memory leaks in clipboard.get and when re.compile fails.
  • Fix crashes when computing text metrics (e.g. in karaoke templaters) on Linux and macOS.

Security

This release fixes CVE-2026-92705: opening a crafted subtitle file could run arbitrary code through Automation scripts it references. Aegisub now asks before loading a subtitle file’s associated Automation scripts. Thanks to shavitush for reporting it.

It also hardens Aegisub against other maliciously crafted files and paths. In particular:

  • Ask for confirmation before loading an AviSynth script linked from a subtitle file, since AviSynth scripts can run arbitrary code. Opening and editing the subtitle file does not require loading the script.
  • Only load AviSynth from the application directory or the system directory on Windows.
  • Always load Aegisub’s built-in Lua support modules from the installation, so that files next to an automation script cannot replace them.
  • Do not allow extracting attachments to paths outside of the selected folder, and ask before overwriting existing files.
  • Harden the parsing of ASS attachments, SRT files, Matroska files, YUV4MPEG videos, timecode files, dummy video parameters, linked video metadata in project files, and font name tables.

Platform Support

Windows

  • Sign the installer and executable.
  • Mark the application as High-DPI aware, and improve the DPI scaling of various icons and controls.

macOS

  • Provide native builds for both Apple Silicon and Intel Macs. The builds are signed and notarized, and require macOS 13 or newer.
  • Fix the screen color picker on newer versions of macOS.
  • Make the subtitle edit control (mostly) work again when using an IME.
  • Make the Hide, Hide Others, and Show All menu items work.
  • Fix a crash when deleting a hotkey.

Linux

  • Add a screen color picker that works on Wayland, using XDG Desktop Portals.
  • Fall back to X11 when EGL is not available, and respect an explicitly set GDK_BACKEND.
  • Fix the video display being wrongly scaled on High-DPI displays.
  • Fix various crashes involving the PulseAudio audio output.

Bugfixes

  • Always detect valid UTF-8 subtitle files as UTF-8 (fixing an issue where uchardet would sometimes incorrectly detect UTF-8 files as, say, Windows-1252). If a subtitle file really does use a different charset, it can be opened using File > Open Subtitles with Charset.
  • Do not show a prompt whether to open a subtitle file’s associated audio/video/keyframe/timecode files when the linked files do not exist. When configured to always load associated files, Aegisub still tries to load them and reports any that are missing.
  • Fix project properties after loading subtitles embedded in a video file, and update the relative paths to associated files when saving to a different directory.
  • Properly parse SRT subtitles in Matroska files.
  • Fix a crash when saving a file fails.
  • Fix the grid in the 3D rotation tool and mirrored coordinates in the cross tool with detached video.
  • Fix the system language not being listed first in the language selection on first launch for some locales, e.g. Korean and Turkish on Windows.
  • Fix an out-of-memory loop in the CSRI subtitle provider when the path contains special characters.
  • Various other small GUI fixes and adjustments. Most notably, increase the subtitle grid’s default font size to 9 (from 8) to adhere to Windows’s UI guidelines, and use the system UI font by default. Both can be configured in the settings.
  • Add “FHD vertical” to the list of video resolutions.

Translations

  • Add Lithuanian and Thai translations.
  • Update the Bulgarian, Catalan, Chinese (Simplified and Traditional), French, German, Indonesian, Italian, Korean, Portuguese (Brazil and Portugal), Russian, Spanish, and Turkish translations.

Development

  • Update various dependencies, including Libass 0.17.5, FFmpeg 8.1, FFMS2 5.0, and Hunspell 1.7.2.