This is a small update that contains fixes for some bugs and that were discovered in 5.1, as well as a new Fill option in the Image -> Canvas Size dialog. It also has workarounds for some bugs in Sentinel One (antivirus) that were causing crashes in the installer and hangs during app startup.
Get the Update
There are two releases of Paint.NET:
Microsoft Store release (recommended)
You can purchase it here. This helps fund development and is an alternative or supplement to sending in a donation. In addition, updates happen automatically in the background when youโre not using the app.
If you already have it installed, the update should happen automatically once Microsoft certifies the update, usually within the next day or so. To get the update immediately (once itโs certified), you can follow the instructions listed here.
If you already have it installed, you should be offered the update automatically within the next few days, but you can also get it immediately by going to Settings -> Updates -> Check Now.
Added the ability to choose the fill color when expanding the image with Image->Canvas Size
Fixed the ability to paste images with transparency from Firefox
Fixed the ability to paste certain types of images with transparency from Microsoft Office applications
Changed Edit->Cut and Edit->Crop to Selection to completely zero out pixels outside of the selected area, which could otherwise be a privacy issue.
Fixed the inability to load an image with a bad ICC color profile. The color profile will now be ignored and the image will be treated as if it had an sRGB color profile.
Fixed the titlebar text being drawn in the active text color when the window is not active when using Light or Blue themes
Reverted the removal of the Settings checkbox that lets you disable overscroll
Fixed a crash in the Levels adjustment UI due to a rounding error
Fixed a race condition in resource loading that sometimes caused the zoom level in the status bar to display as โScaleFactor.Percentage.Formatโ
Fixed some graphical corruption, hang, or crash issues caused by Nahimic A-Volute malware
Worked around a crash (โ0xc000007bโ) in the installer caused by Sentinel One antivirus.
Worked around a hang at app startup if Sentinel One antivirus.
Fixed many cases of screen blanking, rendering glitches, and crashes on systems with certain NVIDIA GeForce GPUs, and certain displays with support for overlays and/or VRR (FreeSync, GSYNC). This appears to be a bug in NVIDIAโs driver.
Fixed effects calling Dispose() on the IServiceProvider when they shouldnโt have been. This affected plugins like CodeLab and Plugin Browser.
Updated the bundled AVIF FileType to version 3.11.0.0 (thanks @null54!)
This fix will hopefully further soothe the issues some have been reporting with blanking screens and GPU crashes.
After a multi-day investigation involving performance profiling and discussions with some subject matter experts (DirectX Discord Server), I believe whatโs happening is a result of multi-plane outputs (MPOs, aka overlays) intersecting with VRR (variable refresh rate, FreeSync, GSYNC) and PDNโs use of multiple on-screen flip-model swapchains. Each swapchain was rendering unthrottled, and they were not synchronized.
The solution, Iโm hoping, is that Iโve applied VSync to everything except the canvas. Only the canvas is latency sensitive enough to warrant using an unthrottled framerate (akin to NVIDIAโs โFast VSyncโ).
The screen blanking issue appears to be a bug in NVIDIAโs GPU driver, but may also be a bug in the firmware of some displays. I have not yet been able to test this on an AMD GPU to see if it happens there, but Iโm planning to do that next.
Improved (hopefully fixed) the screen blanking issue that is happening mostly on systems with NVIDIA GeForce GPUs on displays with high refresh rates and/or VRR support (GSYNC/FreeSync)
Download and Install
This build is available via the built-in updater as long as you have opted-in to pre-release updates. From within Settings -> Updates, enable โAlso check for pre-release (beta) versions of paint.netโ and then click on the Check Now button. You can also use the links below to download an offline installer or portable ZIP.
You can also download the installer here (for any supported CPU and OS), which is also where you can find downloads for offline installers, portable ZIPs, and deployable MSIs.
Fixed Edit->Cut and Edit->Crop to Selection not zeroing out transparent pixels, which could be a privacy issue.
Fixed swapchain valid rect propagation, which may fix some cases of flickering or trails that have been reported.
Fixed some crashes and blanking screen issues related to GSYNC/FreeSync/VRR on some NVIDIA GPUs. The NVAPI profile was not being created which caused VRR to still be active for the app. This also appears to be a bug in NVIDIAโs GPU driver.
Download and Install
This build is available via the built-in updater as long as you have opted-in to pre-release updates. From within Settings -> Updates, enable โAlso check for pre-release (beta) versions of paint.netโ and then click on the Check Now button. You can also use the links below to download an offline installer or portable ZIP.
You can also download the installer here (for any supported CPU and OS), which is also where you can find downloads for offline installers, portable ZIPs, and deployable MSIs.
Fixed the inability to load an image with a bad ICC color profile. The color profile will now be ignored and the image will be treated as if it had an sRGB color profile.
Fixed the crash in the โanycpuโ installer if Sentinel One is installed (โ0xc000007bโ).
Fixed the hang at app startup if Sentinel One is installed. If S1 is detected then Async Present will be disabled, which negatively affects input latency/lag (it wonโt be worse than PDN 5.0). This is temporary until Sentinel One itself is fixed.
Fixed (maybe/hopefully) some rendering glitches on some systems. Symptoms include mouse trails and a flickering canvas. This was done by disabling swapchain valid rect propagation, which did not seem to be working anyway. The /disableSwapChainValidRectPropagation command-line parameter has been removed as a result.
Added the /disableSwapChainPresent1 command-line parameter for troubleshooting purposes (will be removed in a future version).
Download and Install
This build is available via the built-in updater as long as you have opted-in to pre-release updates. From within Settings -> Updates, enable โAlso check for pre-release (beta) versions of paint.netโ and then click on the Check Now button. You can also use the links below to download an offline installer or portable ZIP.
You can also download the installer here (for any supported CPU and OS), which is also where you can find downloads for offline installers, portable ZIPs, and deployable MSIs.
This is a small update that contains fixes for some bugs that were discovered in 5.1, as well as a new Fill option in the Image->Canvas Size dialog. It also adds back the Settings checkbox that allows for disabling overscroll.
Hereโs what the updated Canvas Size dialog looks like:
Added the ability to choose the fill color when expanding the image with Image->Canvas Size
Fixed the ability to paste images with transparency from Firefox
Fixed the ability to paste certain types of images with transparency from Microsoft Office applications
Fixed a crash in the Levels adjustment UI due to a rounding error
Fixed some graphical corruption, hang, or crash issues caused by Nahimic A-Volute malware
Reverted the removal of the Settings checkbox that lets you disable overscroll
Fixed effects calling Dispose() on the IServiceProvider when they shouldnโt have been. This affected plugins like CodeLab and Plugin Browser.
Updated the bundled AVIF FileType to version 3.11.0.0 (thanks @null54!)
Download and Install
This build is available via the built-in updater as long as you have opted-in to pre-release updates. From within Settings -> Updates, enable โAlso check for pre-release (beta) versions of paint.netโ and then click on the Check Now button. You can also use the links below to download an offline installer or portable ZIP.
You can also download the installer here (for any supported CPU and OS), which is also where you can find downloads for offline installers, portable ZIPs, and deployable MSIs.
This is a major update to Paint.NET that includes a raft of technology upgrades including full color management, support for HDR and Wide Color Gamut displays, major improvements to input latency and memory usage, and new and revamped blur effects. In addition, the migration of effects and adjustments to the GPU has been completed, further improving their performance and quality. There are also some new canvas customization settings.
Color Management
Paint.NET finally has full color management support, a feature commonly found in more expensive or complicated imaging software. This ensures that images with embedded color profiles look the way theyโre supposed to, as originally captured by a camera or as intended by the author. Most cellphone cameras nowadays will take photos in a wide gamut color space like Display P3, and now those photos will have correct colors, brightness, and saturation when opened in Paint.NET.
Hereโs an example using a NASA photograph of the Cosmic Cliffs nebula taken by the James Webb telescope (source). It was captured in infrared and then shifted to the visible light spectrum, and the final result uses the ProPhoto RGB color space so as to utilize a very large spectrum of colors.
(Note that this screenshotโs color is clamped to sRGB. The real image looks even better on an actual HDR or WCG display!)
On the left is how the image looks if the color profile is ignored, as youโd see in Paint.NET 5.0 and earlier. On the right, however, the color profile is being applied in real-time to ensure that everything looks exactly as NASA intended it to.
Color Management is configured in Settings, but there isnโt much that needs to be configured. Windows Advanced Color, enabled by default, is used to provide one-click color management support for your display. When the display is configured for High Dynamic Range (HDR) or Wide Color Gamut (WCG) mode, this enables high bit-depth output (e.g. 10-bits or more) and use of the displayโs full color gamut. Windows then ensures accurate and consistent color reproduction, based on what the display itself tells the system via EDID.
Displays configured for Standard Dynamic Range (SDR) do not support Windows Advanced Color, so Paint.NET will run in sRGB mode which ensures consistent color reproduction. Color accuracy is then dependent on the display itself being configured for sRGB color output.
There are instructions to guide you through enabling HDR or WCG for your display over in Windows Display Settings. A status section gives clear information about the state of color management and the display:
Wide Color Gamut mode is new for Windows 11 v24H2, and is essentially an upgraded SDR mode with high bit-depth output support, automatic color management, desktop composition in linear gamma and at FP16 precision, and none of the fussiness of HDR mode. Your monitor does not transition to HDR mode when this is enabled โ it is still operating in SDR mode. I highly recommend checking this out if it is available on your system!
The new Image -> Color Profile dialog replaces the Image -> Apply Embedded Color Profile command introduced in 5.0, which was a one-way โdestructiveโ process that converted the image to the sRGB color space and then removed the embedded color profile.
Here you can select from the imageโs current color profile, as well as sRGB, Adobe RGB, Display P3, and ProPhoto RGB. Or, you can import a color profile from any *.icc/*.icm file. You can also export the current imageโs color profile to a file. Iโm planning to revise and expand this dialog as I received feedback about it from the community.
The Convert button will transform the image from its current color profile to the newly selected one. It will still appear the same on-screen, modulo any precision or gamut limitations. You will then be able to edit the image in the new color space defined by the new color profile.
The Assign button will change the color profile but not transform the colors of the image, usually resulting in it looking very different. This is useful when you have an image that has the wrong color profile embedded in it, or where the color profile was removed (such as when using โimage crushersโ that remove all metadata). Another possible use of this is to assign the Display P3 profile to an image to increase its saturation in a way that many people like (some feel that sRGB is undersaturated when displayed correctly).
GPU effects and plugins will automatically participate in color management unless they opt-out of it. The default WorkingSpaceLinear color context will convert the image to linear gamma in a way that is correct for the imageโs color profile. The linearized image is then fed into the effect, which will do its rendering, and then the output of that effect will be converted back to the (non-linearized) color space defined by the imageโs color profile. There are also many new APIs for working with colors and color profiles, for both GPU and CPU effects.
Iโd like to give a special mention and big thanks to Clinton Ingram (aka @saucecontrol), not only for his PhotoSauce library, but for the hours and hours and hours of time he patiently discussed color management with me on Discord. This dialogue spanned several months, during which I slowly learned to crawl and then eventually walk in this extremely complicated, highly technical, and difficult problem space. This feature would not have been possible without his guidance!
New and Updated Effects
There are two new blur effects, some updates to existing effects, and all* built-in adjustments and effects have now been fully migrated to run on the GPU.
Sketch Blur is a new blur effect unique to Paint.NET. It was adapted from Andrey Akinshinโs (website, twitter) implementation of the Pยฒ Quantile Estimator algorithm, which is used to calculate an approximation of the median for a stream of values. You can read more about this effect over here, where I released it as a plugin for 5.0 under the name Median Sketch. It has been further optimized since the release of the plugin, with respect to both performance and quality.
Square Blur is a very simple blur effect that computes the average color of the surrounding square area around each pixel. It could even be considered a very high-performance, but very inaccurate approximation, of the Bokeh Blur effect (which averages out the surrounding circular area).
Median Blur is a rewrite of the old Noise->Median effect. It accomplishes the same thing but uses the GPU for rendering. It is based on @_koh_โs โHi-Loโ algorithm which cleverly uses a binary search approach to calculating the median at a specific precision. You can fine-tune the precision (quality) for the result you want to achieve; lower values produce an interesting posterized look. This effect is also Paint.NETโs first foray into the realm of compute shaders, the use of which unlocked more than a 3x performance improvement over the original pixel shader implementation!
Auto-Level, Curves, Levels, Oil Painting, Reduce Noise, Surface Blur, and Outline have also been converted to run on the GPU. This completes the transition to a fully GPU-enabled effect system that was started with last yearโs 5.0 release.
ALL of the built-in GPU effects are available for use by GPU effect plugins, where you can use them as part of a larger Direct2D effect graph to do all sorts of sophisticated and creative image processing. I highly recommend checking out CodeLab, which has been updated to support GPU effect development. @BoltBaitโs GPU Accelerated Plugin Pack is also a rich source of useful and interesting GPU effects (and some non-GPU effects!), and has always been an essential addition to Paint.NET. There is also source code (on GitHub) for a set of sample effects that I wrote to illustrate how to work with the GPU effect system, which has now been updated for 5.1. Lastly, there is API documentation for both the built-in GPU effects and the set of built-in and extended Direct2D effects.
In addition, plugins can now make use of the HistogramEffect2 analysis effect. Compared to Direct2Dโs built-in HistogramEffect, it is more precise, can calculate up to 4096 bins (vs. 256), and works on any image size (vs. a max of 4096ร4096).
* There are actually 2 effects that still do not run on the GPU. The first is Colors->Quantize, whose algorithm isnโt amenable to running on the GPU. The second is Photo->Red Eye Removal, which is actually just a wrapper for a GDI+ effect.
Canvas Customization
The new Canvas settings section has two new settings to let you customize the canvas to your liking. The first is a simple toggle for the drop shadow, and the second is the ability to change the border color (sometimes called the โbackgroundโ color). In addition, the Transparency Checkerboard Brightness setting has found a new home here.
You might be wondering โฆ why? Well, there are 3 big reasons for adding these, and Iโll list them in decreasing order of importance:
Accessibility. Being able to customize the color of the canvas border is important for some people who are using high-contrast themes. Paint.NET doesnโt really know what to do with these for some of its theme colors, and this allows folks to set a color that is comfortable for their eyes and lighting conditions.
Contrast. Sometimes when youโre editing an image, the drop shadow can trick your eyes into thinking the image is a slightly different size than it actually is. In addition, it can be important to have the ability to change the canvas border color because light bleeds. Whether you realize it or not, the color of the canvas border can slightly and subtly affect your perception of the colors in the image. Changing that allows you to choose a color that is neutral for the images you are working on.
Fun. Some people just want a purple canvas ยฏ\_(ใ)_/ยฏ This is a bonus/corollary feature and was not the primary motivation for developing it.
Memory Usage and Input Latency
Last but not least, letโs talk about two important fundamentals: memory usage and input latency (or โlagโ). Iโve been chipping away at these little by little over the years, but in 5.1 there have been breakthrough improvements for both of them.
With regard to memory usage, there are two big optimizations that have came through. The first changes the canvas tile cache so that it now moves tiles to the GPU instead of copying them, which saves quite a lot of CPU memory. The second optimization changes how swapchains are handled: instead of 1 per image tab, there are only 2 that are shared between all of the them: one for the visible tab, and a spare to help prevent flickering when switching tabs. The more images you open, the more GPU memory is saved โ sometimes several gigabytes! More information on these two optimizations can be found in the release notes for a beta build released back in August.
With regard to input latency, there are two upgrades that greatly improve things here. The first is the adoption of DXGI Flip Model, which is the presentation technology designed by Microsoft to reduce input latency and power consumption for DirectX games and applications. The second is something I call Async Present, which moves the call to IDXGISwapChain::Present() (or IDXGISwapChain1::Present1()) to a dedicated, high-priority background thread. In simple terms, this means that the CPU and GPU work are better parallelized: while the GPU is busy finalizing and pushing pixels over to the display, the CPU (specifically the UI thread) can continue receiving and processing input. This has produced very noticeable improvements to input latency and smoothness on most systems.
Further Reading
If youโd like to learn more about DXGI Flip Model, Windows Advanced Color, Automatic Color Management, etc. then here are some links:
You can purchase it here. This helps fund development and is an alternative or supplement to sending in a donation. In addition, updates happen automatically in the background when youโre not using the app.
If you already have it installed, the update should happen automatically once Microsoft certifies the update, usually within the next day or so. To get the update immediately (once itโs certified), you can follow the instructions listed here.
If you already have it installed, you should be offered the update automatically within the next few days, but you can also get it immediately by going to Settings -> Updates -> Check Now.
Images with embedded color profiles will now be displayed correctly using real-time color conversion built on PhotoSauce and Direct2D.
On HDR and WCG (Wide Color Gamut) displays, Paint.NET will make use of Windows Advanced Color which then enables high bit-depth output and use of the displayโs full color gamut. Windows ensures color consistency and accuracy for the whole desktop.
On SDR displays, Paint.NET will operate in sRGB mode and provide consistent color reproduction. If the display is configured for sRGB then colors will also be accurate.
New: Image->Color Profile replaces Image->Apply Embedded Color Profile, and provides the ability to change the imageโs color profile via Assign and Convert actions.
New: Fully modernized canvas presentation engine that utilizes DXGI Flip Model, Advanced Color, and Windows.UI.Composition.
Improved: Input latency has been significantly reduced by using DXGI Flip Model and Async Present.
New: Canvas section in Settings provides the ability to customize the canvas brightness, border color, and shadow
Improved the canvas rendering quality by using linear gamma. This improves overall performance and also improves the appearance of selection handles and other canvas UI elements.
Updated: All remaining effects and adjustments have been ported to use the GPU
Newly converted in 5.1 are: Auto-Level, Curves, Levels, Oil Painting, Surface Blur, Reduce Noise, and Outline.
The two exceptions to this are Effects->Color->Quantize and Effects->Photo->Red Eye Removal. The first is not amenable to running on the GPU, and the second is actually a wrapper around an old GDI+ effect.
New:Effects->Blur->Sketch Blur is a new blur effect that gives the appearance of a painting drawn with a coarse brush.
New: Effects->Blur->Median Blur replaces Effects->Noise->Median, and now runs on the GPU with much higher quality.
New:Effects->Blur->Square Blur
Changed: Gaussian Blur and Bokeh Blur now have a โGamma Boostโ slider instead of a โGammaโ property. This is now used to configure the change in gamma rather than specifying the gamma that the image should be assumed to have. The intent is still to provide something of a brightness/highlights amplifier for creative purposes.
Changed: Effects -> Blur -> Motion Blur now uses a Gaussian kernel.
New: Effects->Render->Clouds now has a Colors tab for configuring the colors that are used
Changed: Image->Canvas Size will no longer use the secondary color to fill in new areas for the โbackgroundโ layer. It will always fill with transparent black (#00000000).
Improved dithering quality when saving an image at 8-bit or lower color depth, and when using Effects->Color->Quantize
New: Updated to use Mica effects in the title bar on Windows 11
Fixed some more scrollbars to respect dark theme (thanks @toe_head2001!)
Fixed: The Move Selected Pixels tool will no longer finish (commit) when toggling layer visibility. This was a workaround for a bug during an early beta of 4.0 that does not seem to be necessary anymore.
Improved: Greatly reduced CPU memory usage by maintaining the tile cache only on the GPU instead of having a copy on the CPU-side as well.
Improved: Significantly reduced GPU memory usage by consolidating down to 2 swapchains that are shared among image tabs, instead of each image tab having its own private swapchain.
Improved: GPU effects now use a smaller tile size on GPUs with less RAM, which should enable faster updates and cancellation response on older GPUs. This also significantly lowers the probability of TDR events, particularly for expensive effects like Median Blur.
Fixed: The Save Configuration dialog sometimes looked like it was having a seizure when panning after zooming (w/ Ctrl + Mouse Wheel)
Fixed: The Line/Curve and Shapes tools would cancel instead of commit (Finish) when pressing ESC too soon after using the arrow keys to move the shape
Improved the performance of the portable release by reducing how often the JSON settings file is flushed.
New: CMYK64 images can now be loaded. Note that CMYK images are always transformed to Adobe RGB.
New: Added the ExponentialScale double property for IndirectUI. The default value is 2.0. It goes along with the UseExponentialScale boolean property.
New: GPU effect plugins can now use compute shaders. Note that this is โrawโ support by providing access to the necessary Direct2D interfaces (e.g. ID2D1ComputeInfo).
Deprecated: The classic/legacy effect system has been marked as [Obsolete]. Compiling a classic/legacy effect will produce a compile-time warning along with a message about migrating to the new GpuEffect or BitmapEffect systems. This will be changed to a compile-time error in a future update (either v5.2 or v6.0, whichever is next).
Removed: Settings -> UI -> Show image previews in the Windows taskbar.
Removed: Settings -> UI -> Enable scrolling past the edge of the canvas (overscroll). This is now always enabled.
Updated to use .NET 9.0 (previously this was .NET 7.0)
Updated the minimum OS requirement to Windows 10 v21H2 (previously this was Windows 10 v1809)
Updated the bundled AVIF FileType to version 3.10.0.0. Thanks @null54!
Updated the bundled DDS FileType Plus to version 1.12.11.0. Thanks @null54!
Updated the bundled WebP FileType to version 1.4.0.0. Thanks @null54!
Fixed a few more cases where tool shortcuts and tooltips were not working after certain actions.
Fixed: PNGs are now correctly saved with the โSoftwareโ tEXt metadata indicating they were created with Paint.NET.
Improved performance in various parts of the rendering and effects engines: CPU usage has been reduced which permits higher GPU utilization.
Download and Install
This build is available via the built-in updater as long as you have opted-in to pre-release updates. From within Settings -> Updates, enable โAlso check for pre-release (beta) versions of paint.netโ and then click on the Check Now button. You can also use the links below to download an offline installer or portable ZIP.
You can also download the installer here (for any supported CPU and OS), which is also where you can find downloads for offline installers, portable ZIPs, and deployable MSIs.
This update fixes a few longstanding issues with copy/paste, tool shortcut keys, and tooltips in the Tools window. Iโve also changed the capitalization of โpaint.netโ to be โPaint.NET.โ
Fixed: Copy/Paste has been hardened against short-term intermittent errors and should no longer show spurious error dialogs (e.g. ERROR_ACCESS_DENIED) except in legitimate cases.
Fixed: Certain shortcut keys, especially for switching tools, will no longer stop functioning if a floating window (e.g. Tools) is hidden and then shown by clicking on the button at the top right of the main window.
Fixed: Tooltips in the Tools window will no longer stop functioning if a floating window (e.g. Tools) is hidden and then shown by clicking on the button at the top right of the main window.
Removed the โScrolling past the edge of the image (overscroll)โ checkbox from Settings. This was enabled by default, and now it is always enabled.
Fixed: The installer was occasionally showing an error about an InvalidGraphConfigurationException on some systems
Added a KnownColorSpace API for plugins so they can create IColorContexts and IDeviceColorContexts for the Display P3 and ProPhoto RGB color spaces
Download and Install
This build is available via the built-in updater as long as you have opted-in to pre-release updates. From within Settings -> Updates, enable โAlso check for pre-release (beta) versions of paint.netโ and then click on the Check Now button. You can also use the links below to download an offline installer or portable ZIP.
You can also download the installer here (for any supported CPU and OS), which is also where you can find downloads for offline installers, portable ZIPs, and deployable MSIs.
Fixed:@BoltBaitโs TextFunFactory plugin was not working on Windows 10 due to the lack of support for IDWriteFontFace6 (despite what Microsoftโs documentation states)
Download and Install
This build is available via the built-in updater as long as you have opted-in to pre-release updates. From within Settings -> Updates, enable โAlso check for pre-release (beta) versions of paint.netโ and then click on the Check Now button. You can also use the links below to download an offline installer or portable ZIP.
You can also download the installer here (for any supported CPU and OS), which is also where you can find downloads for offline installers, portable ZIPs, and deployable MSIs.
Fixed: Clicking in the color wheel was not setting the active color
Fixed: Retrieving an 8-bit bitmap from the clipboard with IClipboardService.TryGetImageBgra32() was not working
Download and Install
This build is available via the built-in updater as long as you have opted-in to pre-release updates. From within Settings -> Updates, enable โAlso check for pre-release (beta) versions of paint.netโ and then click on the Check Now button. You can also use the links below to download an offline installer or portable ZIP.
You can also download the installer here (for any supported CPU and OS), which is also where you can find downloads for offline installers, portable ZIPs, and deployable MSIs.
+ Windows: Windows Explorer context menu and tooltip on Windows 11 (thanks to cjee21)
+ Windows: native ARM64 library for an overall improved performance (thanks to cjee21)
+ Windows: implement signing of uninstaller (thanks to cjee21)
+ Windows: add legacy stream display option (thanks to cjee21)
+ Windows: ARM64X DLL is available separately
+ AVC: Chroma Subsampling Position
+ PNG: adapt cLLi/mdCv letter case due to spec draft update
+ Windows: enforce more security compilation flags (thanks to cjee21)
x Windows: text output is editable again (thanks to cjee21)
x RIFF: fix bad seek in big chunks e.g. aXML with odd size
x ADM: fix buffer over-read
x FFV1: MaxSliceCount was not in XML or JSON report
NVIDIA Kepler (600 and 700 series) GPUs are no longer supported for NVENC.
Note
NVIDIA users may need to update their GPU drivers to 551.76 (Windows) / 550.54.14 (Linux) or newer.
Important
The code signing certificate for OBS has been updated. This may impact game capture compatibility with some anti-cheat solutions with this OBS update. If you are a game or anti-cheat developer please see https://obsproject.com/kb/capture-hook-certificate-update for more information.
31.0 New Features
Added NVIDIA Blur Filter and Background Blur [pkviet]
Added preview scrollbars and zoom/scale indicator [cg2121/Warchamp7]
Added v210 format support for AJA device capture [paulh-aja]
Added Amazon IVS service integration [palana]
Added QSV AV1 Screen Content Coding [thyintel]
Enabled first-party YouTube Chat features [msuman-google]
31.0 Changes
Updated the browser source/docks CEF (Chromium) to version 127 (6533) on all platforms [reitowo/WizardCM/PatTheMav/tytan652/pkviet/kkartaltepe/Lain-B]
Changed scene items to use relative coordinates [derrod]
Existing scene collections will be automatically converted to use relative coordinates if the scene collection has a known output resolution set.
Split NVIDIA Audio Effects from Noise Suppression [pkviet]
Existing filters will be automatically migrated.
Changed the Image Slideshow's Playback Mode property from radio buttons to a dropdown [derrod]
Disabled the (currently unsupported) built-in Automatic Scene Switcher when using Wayland on Linux [tytan652]
Improved error messages for macOS Virtual Camera [jcm93]
Changed Display and Window capture on Windows to not capture the first found display or window [Lain-B]
Changed display and window capture on Linux to not capture implicitly [Lain-B]
Added a warning to Window Capture when trying to capture WinUI 3 applications with BitBlt [qhy040404]
Refactored the NVENC implementation with various improvements [derrod]
SDK 12.2 features, such as split encoding, are now supported.
Additional features from old SDKs are supported:
B-Frames as reference
Target Quality VBR mode (CQVBR)
A custom options field has been added to allow setting more options that don't warrant their own UI elements.
Improved screensaver inhibit functions on Linux in Flatpak
Changed scripts to correctly pass settings to modified callbacks on reload [Penwy]
Removed legacy QSV code for old devices (Haswell or older) [RytoEX]
Removed legacy QSV code for Windows 7 [RytoEX]
Removed default desktop audio device on macOS 13+ [jcm93]
Removed NVIDIA Kepler GPU support for NVENC [derrod]
Removed FTL support [derrod]
Removed legacy migrations from OBS Studio 28.1 and earlier [derrod]
If updating from these older versions, you may wish to update to OBS Studio 30.2 first, and then update to OBS Studio 31.
Removed support for Ubuntu 22.04 [derrod]
Removed legacy YouTube chat [gxalpha]
Blocked TikTok Virtual Camera from loading in OBS due to known issues [notr1ch]
Application settings have been split into "app" configuration and "user" configuration, rather than storing everything in global.ini [PatTheMav]
31.0 Bug Fixes
Fixed two crashes with the QSV encoder on Linux [kkartaltepe]
Fixed a crash with a race condition involving multitrack video output reconnect [dsaedtler]
Fixed two potential crashes in Linux Window Capture [Lain-B]
Fixed a crash on macOS that could occur if an audio device was disconnected [jcm93]
Fixed a crash on Windows when capturing D3D12 games [confusionattack/Lain-B]
Fixed a crash on Linux when importing a scene collection created on Windows [SarenDev]
Fixed a crash on Windows when capturing a Vulkan application [Charlese2]
Fixed a deadlock in MP4 muxer [derrod/notr1ch]
Fixed a deadlock when shutting down muxer [exeldro]
Fixed a potential deadlock when stopping an encoder [derrod]
Fixed a potential memory error and crash in text parser [fzwoch]
Fixed a couple minor memory leaks [pkviet]
Fixed a memory leak in PipeWire plugin [dimtpap]
Fixed a memory leak when playing an HDR media file [tt2468]
Fixed an issue on FreeBSD with handling SSL certificates [emaste]
Fixed an issue with pressed button color in the Rachni theme [shiina424]
Fixed an issue with some missing icons in the System theme [shiina424]
Fixed an SRT listener bug where the socket was not closed properly [pkviet]
Fixed an issue where the current scene collection could be erased to default when trying to switch to a different scene collection that's corrupted or invalid [derrod]
Fixed a buffer overrun in UTF-8 text conversion [derrod]
Fixed an issue that could cause bitrate spikes in QSV CBR [thyintel]
Note: This fix only applies to Lunar Lake or newer except Alder Lake N.
Fixed an issue where the Auto Configuration Wizard could unintentionally enable Enhanced Broadcasting [lexano-ivs]
Fixed issues with the audio clipping indicators displaying incorrectly on volume meters [norihiro]
Fixed an issue causing hotkeys to register inconsistently on macOS [jcm93]
Fixed an issue causing multitrack video output to fail if color format was set to I444 [dsaedtler]
Fixed an issue where Custom CSS in browser sources no longer worked with certain websites (namely YouTube chat) [vvto33]
+ New Indonesian (bahasa Indonesia) translation
+ Update Belarusian translation
+ Windows: Full 64-bit version (thanks to cjee21)
+ Windows: Improved support of High DPI (thanks to cjee21)
+ Windows: Improved support of Dark Theme (thanks to cjee21)
+ Windows: Improved HTML view (thanks to cjee21)
+ Windows: Upgrade file open dialog (thanks to cjee21)
+ Windows: SemiBold monospaced font(thanks to cjee21)
+ I1945, PAC subtitle format support
+ I2130, EXR: support of time code and frame rate
+ MXF: Support of more flavors of ISXD, IAB, Dolby Vision Metadata
+ MXF: Support of all known ULs in MediaTrace output
+ AVC: Improved detection of AVC-Intra
+ TTML: Add Duration_Start_Command/Duration_End_Command
x IMF: Allow XML documents larger than 16 MB
x I2133, TTML: Fix timecode when timeBase is media
x I2110, MXF: Fix wrong Delay field with NDF timecodes
x I2094, MXF: Sony Real Time Metadata: fix timecode drop frame flag
x S1194, Fix random behavior due to uninitialised value
x MPEG-TS: Increase probing at end for getting duration
x PNG: Fix buffer leak
x IAB: Fix bug in IAB channel code mapping
x HTML output: Better escape of HTML strings
x XML output: Fix comment in comment
x MXF: Avoid crash in mxf assets on unsupported audio
x HEVC: Add missing parsing of some multilayer SPS elements
NVIDIA Kepler (600 and 700 series) GPUs are no longer supported for NVENC.
Note
NVIDIA users may need to update their GPU drivers to 551.76 (Windows) / 550.54.14 (Linux) or newer.
Important
The code signing certificate for OBS has been updated. This may impact game capture compatibility with some anti-cheat solutions with this OBS update. If you are a game or anti-cheat developer please see https://obsproject.com/kb/capture-hook-certificate-update for more information.
Release Candidate 1 Changes
Fixed an issue in Beta 1-3 causing a YouTube dock to not appear when switching to a profile where it was previously set up [shiina424]
Fixed a possible deadlock in Beta 1-3 if any NVIDIA Audio Filters were configured [exeldro]
Fixed a crash in Beta 1-3 if multitrack output failed to start and the user chose to continue with regular stream output [dsaedtler]
Fixed a crash on macOS that could occur if an audio device was disconnected [jcm93]
Fixed a crash on Windows when capturing D3D12 games [confusionattack/Lain-B]
Fixed an issue in Beta 1-3 causing spurious connection errors when streaming Multitrack Video to Amazon IVS auto URLs [palana]
Fixed an issue in Beta 1-3 causing Decklink Input/Output to not work [CyBeRoni]
Fixed an issue in Beta 1-3 where the Auto Configuration Wizard would alter the stream key if Multitrack Video was enabled [dsaedtler]
Changed scripts to correctly pass settings to modified callbacks on reload [Penwy]
Removed legacy QSV code for old devices (Haswell or older) [RytoEX]
Removed legacy QSV code for Windows 7 [RytoEX]
Beta 3 Changes
Fixed a regression in Beta 1-2 causing the AUTHORS file to not load on Linux [tytan652]
Fixed a regression in Beta 1-2 where encoders might not load correctly [PatTheMav]
Fixed a crash in Beta 1-2 on shutdown on Linux if browser panels/docks were open [WizardCM]
Fixed an issue in Beta 1-2 causing Frontend API events to not dispatch during application launch [PatTheMav]
Fixed an issue in Beta 1-2 where the "Show Profile Folder" menu item behavior had changed [WizardCM]
Fixed an issue in Beta 1-2 where websocket commands to create/delete profiles did not work [BarryCarlyon]
Fixed a memory leak in PipeWire plugin [dimtpap]
Fixed a crash on Linux when importing a scene collection created on Windows [SarenDev]
Fixed a crash on Windows when capturing a Vulkan application [Charlese2]
Fixed an issue on FreeBSD with handling SSL certificates [emaste]
Fixed an issue with pressed button color in the Rachni theme [shiina424]
Fixed an issue with some missing icons in the System theme [shiina424]
Removed legacy YouTube chat [gxalpha]
Blocked TikTok Virtual Camera from loading in OBS due to known issues [notr1ch]
Beta 2 Changes
Fixed a regression in Beta 1 where deleting a profile or scene collection caused the last remaining item to be selected instead of the first remaining item [PatTheMav]
Fixed a regression in Beta 1 that caused the backup scene collection file to be deleted when removing a scene collection [PatTheMav]
Fixed a crash in Beta 1 when specifying a Profile or Scene Collection via launch parameters [PatTheMav]
Fixed a crash in Beta 1 on FreeBSD on application launch [emaste]
Fixed a freeze in Beta 1 on Linux when trying to close a browser panel/dock [WizardCM/tytan652]
Fixed a failure to launch in Beta 1 on FreeBSD [emaste]
Fixed some theme bugs in Beta 1 in Yami Light [gxalpha]
Fixed some theme bugs in Beta 1 for the mute button [gxalpha]
Fixed an issue in Beta 1 with groups causing coordinates to be off-canvas [derrod]
Fixed an issue in Beta 1 with NVENC failing if b-frames were set below 4 with UHQ tuning [derrod]
Fixed an issue in Beta 1 with the order of Profiles and Scene Collections [PatTheMav]
31.0 New Features
Added NVIDIA Blur Filter and Background Blur [pkviet]
Added preview scrollbars and zoom/scale indicator [cg2121/Warchamp7]
Added v210 format support for AJA device capture [paulh-aja]
Added Amazon IVS service integration [palana]
Added QSV AV1 Screen Content Coding [thyintel]
Enabled first-party YouTube Chat features [msuman-google]
31.0 Changes
Updated the browser source/docks CEF (Chromium) to version 127 (6533) on all platforms [reitowo/WizardCM/PatTheMav/tytan652/pkviet/kkartaltepe/Lain-B]
Changed scene items to use relative coordinates [derrod]
Existing scene collections will be automatically converted to use relative coordinates if the scene collection has a known output resolution set.
Split NVIDIA Audio Effects from Noise Suppression [pkviet]
Existing filters will be automatically migrated.
Changed the Image Slideshow's Playback Mode property from radio buttons to a dropdown [derrod]
Disabled the (currently unsupported) built-in Automatic Scene Switcher when using Wayland on Linux [tytan652]
Improved error messages for macOS Virtual Camera [jcm93]
Changed Display and Window capture on Windows to not capture the first found display or window [Lain-B]
Changed display and window capture on Linux to not capture implicitly [Lain-B]
Added a warning to Window Capture when trying to capture WinUI 3 applications with BitBlt [qhy040404]
Refactored the NVENC implementation with various improvements [derrod]
SDK 12.2 features, such as split encoding, are now supported.
Additional features from old SDKs are supported:
B-Frames as reference
Target Quality VBR mode (CQVBR)
A custom options field has been added to allow setting more options that don't warrant their own UI elements.
Improved screensaver inhibit functions on Linux in Flatpak
Removed default desktop audio device on macOS 13+ [jcm93]
Removed NVIDIA Kepler GPU support for NVENC [derrod]
Removed FTL support [derrod]
Removed legacy migrations from OBS Studio 28.1 and earlier [derrod]
If updating from these older versions, you may wish to update to OBS Studio 30.2 first, and then update to OBS Studio 31.
Removed support for Ubuntu 22.04 [derrod]
Application settings have been split into "app" configuration and "user" configuration, rather than storing everything in global.ini [PatTheMav]
31.0 Bug Fixes
Fixed two crashes with the QSV encoder on Linux [kkartaltepe]
Fixed a crash with a race condition involving multitrack video output reconnect [dsaedtler]
Fixed two potential crashes in Linux Window Capture [Lain-B]
Fixed a deadlock in MP4 muxer [derrod/notr1ch]
Fixed a deadlock when shutting down muxer [exeldro]
Fixed a potential deadlock when stopping an encoder [derrod]
Fixed a potential memory error and crash in text parser [fzwoch]
Fixed a couple minor memory leaks [pkviet]
Fixed a memory leak when playing an HDR media file [tt2468]
Fixed an SRT listener bug where the socket was not closed properly [pkviet]
Fixed an issue where the current scene collection could be erased to default when trying to switch to a different scene collection that's corrupted or invalid [derrod]
Fixed a buffer overrun in UTF-8 text conversion [derrod]
Fixed an issue that could cause bitrate spikes in QSV CBR [thyintel]
Note: This fix only applies to Lunar Lake or newer except Alder Lake N.
Fixed an issue where the Auto Configuration Wizard could unintentionally enable Enhanced Broadcasting [lexano-ivs]
Fixed issues with the audio clipping indicators displaying incorrectly on volume meters [norihiro]
Fixed an issue causing hotkeys to register inconsistently on macOS [jcm93]
Fixed an issue causing multitrack video output to fail if color format was set to I444 [dsaedtler]
Fixed an issue where Custom CSS in browser sources no longer worked with certain websites (namely YouTube chat) [vvto33]
Fixed a regression causing the setting 'do not require authentication' to get lost when restarting the server. Note: To see the effect of this fix, administrators must manually reapply the 'do not require authentication' setting for affected users. After this adjustment, the setting will persist as expected.
MSW: Added NETWORK_SERVICE as a allowed user for the config dir ownership.
+ New Indonesian (bahasa Indonesia) translation
+ Update Belarusian translation
+ Windows: Full 64-bit version (thanks to cjee21)
+ Windows: Improved support of High DPI (thanks to cjee21)
+ Windows: Improved support of Dark Theme (thanks to cjee21)
+ Windows: Improved HTML view (thanks to cjee21)
+ Windows: Upgrade file open dialog (thanks to cjee21)
+ Windows: SemiBold monospaced font(thanks to cjee21)
+ I1945, PAC subtitle format support
+ I2130, EXR: support of time code and frame rate
+ MXF: Support of more flavors of ISXD, IAB, Dolby Vision Metadata
+ MXF: Support of all known ULs in MediaTrace output
+ AVC: Improved detection of AVC-Intra
+ TTML: Add Duration_Start_Command/Duration_End_Command
x IMF: Allow XML documents larger than 16 MB
x I2133, TTML: Fix timecode when timeBase is media
x I2110, MXF: Fix wrong Delay field with NDF timecodes
x I2094, MXF: Sony Real Time Metadata: fix timecode drop frame flag
x S1194, Fix random behavior due to uninitialised value
x MPEG-TS: Increase probing at end for getting duration
x PNG: Fix buffer leak
x IAB: Fix bug in IAB channel code mapping
x HTML output: Better escape of HTML strings
x XML output: Fix comment in comment
x MXF: Avoid crash in mxf assets on unsupported audio
x HEVC: Add missing parsing of some multilayer SPS elements
NVIDIA Kepler (600 and 700 series) GPUs are no longer supported for NVENC.
Note
NVIDIA users may need to update their GPU drivers to 551.76 (Windows) / 550.54.14 (Linux) or newer.
Important
The code signing certificate for OBS has been updated. This may impact game capture compatibility with some anti-cheat solutions with this OBS update. If you are a game or anti-cheat developer please see https://obsproject.com/kb/capture-hook-certificate-update for more information.
Beta 3 Changes
Fixed a regression in Beta 1-2 causing the AUTHORS file to not load on Linux [tytan652]
Fixed a regression in Beta 1-2 where encoders might not load correctly [PatTheMav]
Fixed a crash in Beta 1-2 on shutdown on Linux if browser panels/docks were open [WizardCM]
Fixed an issue in Beta 1-2 causing Frontend API events to not dispatch during application launch [PatTheMav]
Fixed an issue in Beta 1-2 where the "Show Profile Folder" menu item behavior had changed [WizardCM]
Fixed an issue in Beta 1-2 where websocket commands to create/delete profiles did not work [BarryCarlyon]
Fixed a memory leak in PipeWire plugin [dimtpap]
Fixed a crash on Linux when importing a scene collection created on Windows [SarenDev]
Fixed a crash on Windows when capturing a Vulkan application [Charlese2]
Fixed an issue on FreeBSD with handling SSL certificates [emaste]
Fixed an issue with pressed button color in the Rachni theme [shiina424]
Fixed an issue with some missing icons in the System theme [shiina424]
Removed legacy YouTube chat [gxalpha]
Blocked TikTok Virtual Camera from loading in OBS due to known issues [notr1ch]
Beta 2 Changes
Fixed a regression in Beta 1 where deleting a profile or scene collection caused the last remaining item to be selected instead of the first remaining item [PatTheMav]
Fixed a regression in Beta 1 that caused the backup scene collection file to be deleted when removing a scene collection [PatTheMav]
Fixed a crash in Beta 1 when specifying a Profile or Scene Collection via launch parameters [PatTheMav]
Fixed a crash in Beta 1 on FreeBSD on application launch [emaste]
Fixed a freeze in Beta 1 on Linux when trying to close a browser panel/dock [WizardCM/tytan652]
Fixed a failure to launch in Beta 1 on FreeBSD [emaste]
Fixed some theme bugs in Beta 1 in Yami Light [gxalpha]
Fixed some theme bugs in Beta 1 for the mute button [gxalpha]
Fixed an issue in Beta 1 with groups causing coordinates to be off-canvas [derrod]
Fixed an issue in Beta 1 with NVENC failing if b-frames were set below 4 with UHQ tuning [derrod]
Fixed an issue in Beta 1 with the order of Profiles and Scene Collections [PatTheMav]
31.0 New Features
Added NVIDIA Blur Filter and Background Blur [pkviet]
Added preview scrollbars and zoom/scale indicator [cg2121/Warchamp7]
Added v210 format support for AJA device capture [paulh-aja]
Added Amazon IVS service integration [palana]
Added QSV AV1 Screen Content Coding [thyintel]
Enabled first-party YouTube Chat features [msuman-google]
31.0 Changes
Updated the browser source/docks CEF (Chromium) to version 127 (6533) on all platforms [reitowo/WizardCM/PatTheMav/tytan652/pkviet/kkartaltepe/Lain-B]
Changed scene items to use relative coordinates [derrod]
Existing scene collections will be automatically converted to use relative coordinates if the scene collection has a known output resolution set.
Split NVIDIA Audio Effects from Noise Suppression [pkviet]
Existing filters will be automatically migrated.
Changed the Image Slideshow's Playback Mode property from radio buttons to a dropdown [derrod]
Disabled the (currently unsupported) built-in Automatic Scene Switcher when using Wayland on Linux [tytan652]
Improved error messages for macOS Virtual Camera [jcm93]
Changed Display and Window capture on Windows to not capture the first found display or window [Lain-B]
Changed display and window capture on Linux to not capture implicitly [Lain-B]
Added a warning to Window Capture when trying to capture WinUI 3 applications with BitBlt [qhy040404]
Refactored the NVENC implementation with various improvements [derrod]
SDK 12.2 features, such as split encoding, are now supported.
Additional features from old SDKs are supported:
B-Frames as reference
Target Quality VBR mode (CQVBR)
A custom options field has been added to allow setting more options that don't warrant their own UI elements.
Improved screensaver inhibit functions on Linux in Flatpak
Removed default desktop audio device on macOS 13+ [jcm93]
Removed NVIDIA Kepler GPU support for NVENC [derrod]
Removed FTL support [derrod]
Removed legacy migrations from OBS Studio 28.1 and earlier [derrod]
If updating from these older versions, you may wish to update to OBS Studio 30.2 first, and then update to OBS Studio 31.
Removed support for Ubuntu 22.04 [derrod]
Application settings have been split into "app" configuration and "user" configuration, rather than storing everything in global.ini [PatTheMav]
31.0 Bug Fixes
Fixed two crashes with the QSV encoder on Linux [kkartaltepe]
Fixed a crash with a race condition involving multitrack video output reconnect [dsaedtler]
Fixed two potential crashes in Linux Window Capture [Lain-B]
Fixed a deadlock in MP4 muxer [derrod/notr1ch]
Fixed a deadlock when shutting down muxer [exeldro]
Fixed a potential deadlock when stopping an encoder [derrod]
Fixed a potential memory error and crash in text parser [fzwoch]
Fixed a couple minor memory leaks [pkviet]
Fixed a memory leak when playing an HDR media file [tt2468]
Fixed an SRT listener bug where the socket was not closed properly [pkviet]
Fixed an issue where the current scene collection could be erased to default when trying to switch to a different scene collection that's corrupted or invalid [derrod]
Fixed a buffer overrun in UTF-8 text conversion [derrod]
Fixed an issue that could cause bitrate spikes in QSV CBR [thyintel]
Note: This fix only applies to Lunar Lake or newer except Alder Lake N.
Fixed an issue where the Auto Configuration Wizard could unintentionally enable Enhanced Broadcasting [lexano-ivs]
Fixed issues with the audio clipping indicators displaying incorrectly on volume meters [norihiro]
Fixed an issue causing hotkeys to register inconsistently on macOS [jcm93]
Fixed an issue causing multitrack video output to fail if color format was set to I444 [dsaedtler]
Fixed an issue where Custom CSS in browser sources no longer worked with certain websites (namely YouTube chat) [vvto33]
NVIDIA Kepler (600 and 700 series) GPUs are no longer supported for NVENC.
Note
NVIDIA users may need to update their GPU drivers to 551.76 (Windows) / 550.54.14 (Linux) or newer.
Important
The code signing certificate for OBS has been updated. This may impact game capture compatibility with some anti-cheat solutions with this OBS update. If you are a game or anti-cheat developer please see https://obsproject.com/kb/capture-hook-certificate-update for more information.
Beta 2 Changes
Fixed a regression in Beta 1 where deleting a profile or scene collection caused the last remaining item to be selected instead of the first remaining item [PatTheMav]
Fixed a regression in Beta 1 that caused the backup scene collection file to be deleted when removing a scene collection [PatTheMav]
Fixed a crash in Beta 1 when specifying a Profile or Scene Collection via launch parameters [PatTheMav]
Fixed a crash in Beta 1 on FreeBSD on application launch [emaste]
Fixed a freeze in Beta 1 on Linux when trying to close a browser panel/dock [WizardCM/tytan652]
Fixed a failure to launch in Beta 1 on FreeBSD [emaste]
Fixed some theme bugs in Beta 1 in Yami Light [gxalpha]
Fixed some theme bugs in Beta 1 for the mute button [gxalpha]
Fixed an issue in Beta 1 with groups causing coordinates to be off-canvas [derrod]
Fixed an issue in Beta 1 with NVENC failing if b-frames were set below 4 with UHQ tuning [derrod]
Fixed an issue in Beta 1 with the order of Profiles and Scene Collections [PatTheMav]
31.0 New Features
Added NVIDIA Blur Filter and Background Blur [pkviet]
Added preview scrollbars and zoom/scale indicator [cg2121/Warchamp7]
Added v210 format support for AJA device capture [paulh-aja]
Added Amazon IVS service integration [palana]
Added QSV AV1 Screen Content Coding [thyintel]
Enabled first-party YouTube Chat features [msuman-google]
31.0 Changes
Updated the browser source/docks CEF (Chromium) to version 127 (6533) on all platforms [reitowo/WizardCM/PatTheMav/tytan652/pkviet/kkartaltepe/Lain-B]
Changed scene items to use relative coordinates [derrod]
Existing scene collections will be automatically converted to use relative coordinates if the scene collection has a known output resolution set.
Split NVIDIA Audio Effects from Noise Suppression [pkviet]
Existing filters will be automatically migrated.
Changed the Image Slideshow's Playback Mode property from radio buttons to a dropdown [derrod]
Disabled the (currently unsupported) built-in Automatic Scene Switcher when using Wayland on Linux [tytan652]
Improved error messages for macOS Virtual Camera [jcm93]
Changed Display and Window capture on Windows to not capture the first found display or window [Lain-B]
Changed display and window capture on Linux to not capture implicitly [Lain-B]
Added a warning to Window Capture when trying to capture WinUI 3 applications with BitBlt [qhy040404]
Refactored the NVENC implementation with various improvements [derrod]
SDK 12.2 features, such as split encoding, are now supported.
Additional features from old SDKs are supported:
B-Frames as reference
Target Quality VBR mode (CQVBR)
A custom options field has been added to allow setting more options that don't warrant their own UI elements.
Improved screensaver inhibit functions on Linux in Flatpak
Removed default desktop audio device on macOS 13+ [jcm93]
Removed NVIDIA Kepler GPU support for NVENC [derrod]
Removed FTL support [derrod]
Removed legacy migrations from OBS Studio 28.1 and earlier [derrod]
If updating from these older versions, you may wish to update to OBS Studio 30.2 first, and then update to OBS Studio 31.
Removed support for Ubuntu 22.04 [derrod]
Application settings have been split into "app" configuration and "user" configuration, rather than storing everything in global.ini [PatTheMav]
31.0 Bug Fixes
Fixed two crashes with the QSV encoder on Linux [kkartaltepe]
Fixed a crash with a race condition involving multitrack video output reconnect [dsaedtler]
Fixed two potential crashes in Linux Window Capture [Lain-B]
Fixed a deadlock in MP4 muxer [derrod/notr1ch]
Fixed a deadlock when shutting down muxer [exeldro]
Fixed a potential deadlock when stopping an encoder [derrod]
Fixed a potential memory error and crash in text parser [fzwoch]
Fixed a couple minor memory leaks [pkviet]
Fixed a memory leak when playing an HDR media file [tt2468]
Fixed an SRT listener bug where the socket was not closed properly [pkviet]
Fixed an issue where the current scene collection could be erased to default when trying to switch to a different scene collection that's corrupted or invalid [derrod]
Fixed a buffer overrun in UTF-8 text conversion [derrod]
Fixed an issue that could cause bitrate spikes in QSV CBR [thyintel]
Note: This fix only applies to Lunar Lake or newer except Alder Lake N.
Fixed an issue where the Auto Configuration Wizard could unintentionally enable Enhanced Broadcasting [lexano-ivs]
Fixed issues with the audio clipping indicators displaying incorrectly on volume meters [norihiro]
Fixed an issue causing hotkeys to register inconsistently on macOS [jcm93]
Fixed an issue causing multitrack video output to fail if color format was set to I444 [dsaedtler]
Fixed an issue where Custom CSS in browser sources no longer worked with certain websites (namely YouTube chat) [vvto33]
Fixed a regression causing the automatic renewal of the Let's Encryptยฎ certificates to not work properly.
UI: fixed regression causing the Administration Interface port of the last successful connection to not be properly restored.
UI: fixed a bug where the TLS key appeared to be lost in the interface if certificate generation failed, even though the key was still retained on the server.
Private keys used for TLS can now be stored on a PKCS#11-compatible token device; the UI has been updated accordingly.
UI: added button to retrieve the current FileZilla Server's public IP address, useful to configure the PASV mode.
UI: added an FTP connection test, that can be reached directly from the Server menu item or executed at the end of the FTP Network Configuration Wizard.
Made default values more secure, among which: require TLS on new FTP listeners, require a password for new users and warn if the administration password doesn't meet more stringent security requirements.
Fixed bug causing the most recent log file, rather than the oldest, to be deleted upon rotation, when using dates as suffixes.
MSW: fixed regression causing socket listener conflicts due to recent libfilezilla changes.
Added WebUI: an HTTP server providing a REST API and a web app for seamless web access to stored files. WebUI is not included in the default build and must be enabled with the --enable-webui parameter during compilation. This feature is experimental; feedback and bug reports are welcome.
Bugfixes and minor changes:
UI: the certificate fingerprint verification dialog is now sized to display the full fingerprint at once.
UI: fixed bug causing the focus to be lost during user editing.
UI: fixed bug causing the tray icon to display unexpectedly in certain cases.
UI: improved error handling in case of server disconnection.
UI: improved handling of Settings window size on ultra wide screens.
FTP: the MKD command now returns an error if the directory already exists.
FTP: Improved login timeout handling to exclude internal server processing time.
Fixed heap corruption in the Administrator Interface.
FileZilla Server now requires that the configuration directory is owned either by the operating system user account the server runs under, or a more privileged user (SYSTEM, Amdministrators, TrustedInstaller on Windows, root elsewhere)
MSW: Mount points are now case-insensitive so that restrictions on sub mounts cannot be bypassed by a change of character case
Bugfixes and minor changes:
Fixed a potential deadlock during transfers
FTP: Fixed potential crash if the session gets closed
SFTP: Fixed PuTTY ECDSA NIST P-521 private key recovery vulnerability (CVE-2024-31497). If you use NIST P-521 keys to connect to SSH/SFTP servers, you should regenerate them and revoke the previous ones.
Official binaries are now built against GnuTLS 3.8.4