Aegisub 3.4.0 Changelog
Released: December 18, 2024On this page
Note: Aegisub 3.4.0 released ten years after the previous stable release 3.2.2., so there have been a very large number of assorted small changes. This changelog summarizes the more important ones.
Development
- Port the build system to meson for all operating systems. Missing dependencies can be downloaded and built as subprojects, and builds can be run on the GitHub CI.
- Various big internal refactors and C++ modernization that should make future development easier. In particular, switch to C++20.
- Update various links (to the bug tracker, the update checker, etc.) in the application
- Update various dependencies
- Add an AppData file for linux packaging
Features
- Add backends based on GDI and CoreText to the fonts collector
- Update the default config to better reflect modern timing conventions
- Remove the “Force BT.601” option and update the color matrix guessing. Color matrices should instead be forced using the
YCbCr Matrix
header. - Make the translation assistant skipping whitespace an explicit setting
- Add configuration options for colors in the visual typesetting tools
- Add DependencyControl, a package manager for automation scripts, to the Windows installer, but disable it by default due to the added security risk
- Remove ASSDraw from the toolbar and the installer. For creating drawings in Aegisub, it is recommended to use the vector clip tool together with a “Clip to Shape” automation script.
- Add
.webm
,.h264
,.hevc
,.opus
, and.eac3
to the list of supported formats - Increase the default font size and update the list of resolutions
- Handle flipped and rotated video in the FFMS2 video provider
- Respect BOMs in subtitle files
- Feed the entire subtitle file to uchardet to improve charset detection
- Allow setting negative margins, which can be useful for positioning text without disabling libass’s style overrides
- Make scrolling the subtitle grid with a touch pad smoother
- Save the state of the “Show Original” toggle across restarts
- Add an “Apply” button to the “Select Lines” dialog
- Allow reading compressed subtitles from mkv files
- Also collect fonts that are only used for drawings in the fonts collector
Lua API
- Update moonscript to commit
491f235
(past version 0.5.0) - Add an argument type checker to Aegisub’s built-in modules
- Add
subtitles.script_resolution()
, which returns the effective script resolution (falling back to defaults if the headers are not present) - Add
aegisub.get_audio_selection()
to get the current (possibly uncommitted) selection in the audio display - Add
aegisub.set_status_text()
to set the status bar text - Cancel karaoke templater execution immediately when an error occurs
- Sort Automation menu items by their display name
- Add automatic scrolling to Lua dialogs that are too large to fit on the screen
- Fix some Lua dialogs being way too wide
- Fix some crashes when cancelling scripts or when scripts fail
- Fix a memory leak when cancelling scripts
- Fix crashes when opening file open/save dialogs on Linux
- Fix interacting with the clipboard on Linux
- Fix the cleantags script/module for
\k
tags with noninteger durations - Fix dialog dropdowns that are empty by default on Mac
Bugfixes
- Fix crash when deleting the last dialogue line from an automation script
- Fix crash when splitting lines by karaoke
- Fix issues with pasting unicode text
- Fix a crash when opening a new file when the grid is not scrolled to the top
- Fix the color picker’s cursor sometimes appearing in the wrong place in RGB modes
- Fix a crash when reattaching video
- Fix joining as karaoke
- Fix the line order when splitting after current frame
- Properly ignore ASS whitespace characters (newlines and non-breaking spaces) in the character counter
- Fix crash when picking a language
- Fix millisecond to centisecond conversion
- Improve the UI layout on high DPI
- Fix the audio scroll speed depending on the width of the audio display
- Fix Move Down button in Export dialog
- Fix some bugs in the PCM audio provider
- Fix subtitle rendering with libass when the video resolution does not match the script resolution
- Make the update checker use https via libcurl rather than manual http
- Fix some false permission errors, e.g. in the fonts collector when copying fonts to a samba share
- Fix the time-to-frame computation for constant frame rates (e.g. in dummy video)
- Fix the overscan mask when using DPI scaling
- Fix the overscan mask being half as thick as it should be
- Fix a rare crash when interacting with the hotkey settings dialog
- Fix automation scripts being loaded twice on e.g. portable builds
- Fix a crash when a video provider reports an FPS denominator of zero
- Fix webm and wmv files not being able to be opened by dragging them into Aegisub
- Fix adding lead-in or lead-out being broken before first clicking into the audio display
- Fix the descriptions for toolbar or context menu items being mismatched
Internationalization
- Updates to the following translations:
- Catalan
- French
- German
- Italian
- Polish
- Simplified Chinese
- Spanish
- Traditional Chinese
- Vietnamese