Releases: Toufool/AutoSplit
v2.3.4
Changes
Bugfixes
- Fixed
start_also_resetsnot sending the split/start hotkey (#351) - Fixed a crash on Windows ARM64 trying to initialize D3D Desktop Duplication (#357)
Linux source install
(these only affect Linux users building and running from source)
install.ps1script won't try to install debian/ubuntu packages on non-debian-based distros (checks ifapt-getcommand is available)install.ps1won't try to install already-installed packages, as to avoid marking them as "manually installed"- Fixed
AutoSplit.pyshebang to properly use the environment Python
Full Changelog: v2.3.3...v2.3.4
Which Asset should I download?
arm64vsx64: Check your Processor Platform Architecture (note thatx86_64andx64means the same). If you're still unsure,x64will work either way.arm64should be more efficient.- WineCompat: This is for running the Windows executable under Wine on Linux
v2.3.3
A bugfix release mainly aimed at Linux compatibility, with some QoL for Windows as well.
What's Changed
All platforms
- Added option to toggle the pause timer visibility
- Warn users on repeated flags in filename
Windows
- Reduced bundle size by ~49MB
- Added native Windows ARM64 builds
Linux
- Fixed region selection on Linux
- Fixed
Maximum number of clients reachederror for all capture methods - Improve scrot capture method performance
- Fixed duplicate Video Capture Device listing on Linux by @poulpeit in #344
- Fixed missing last character in Video Capture Device names
- Linux builds are now proper AppImages with icon and complete metadata
- Improved boot times by packaging a PyInstaller
--onedirbuild as an AppImage rather than a--onefileexecutable - If scrot capture method is interrupted, it'll now leave a file in
/tmpinstead of current working directory - Increased Settings window size to also fit KDE
- Reduced bundle size by ~42MB
- Added native Linux ARM64 builds
- Fixed Wine compatibility and added a Wine/Proton-compatible Windows build (it should be the same, but less compressed)
- Switch from Python 3.13 to 3.14 for all builds
- Bump pillow from 12.1.1 to 12.2.0 (security fix) by @dependabot[bot] in #345
- Fixed and improved local build scripts
Documentation
- Added link to OBS Virtual Camera guide
- Added PyInstaller's antivirus false positives documentation
- Added guidance for Wine / Proton
- Mention alternative timers for Linux
New Contributors
Full Changelog: v2.3.2...v2.3.3
Which Asset should I download?
arm64vsx64: Check your Processor Platform Architecture (note thatx86_64andx64means the same). If you're still unsure,x64will work either way.arm64should be more efficient.- WineCompat: This is for running the Windows executable under Wine on Linux
v2.3.2
v2.3.1
Bugfixes & Improvements
- Fix Windows Graphics Capture crash due to missing hidden import
winrt.windows.foundation4e08ef5 - Show error when missing having at least one Split Image instead of only when folder is empty. 78dda5f
- Detect Split Folder with only hidden files as being empty 78dda5f
- Fix Split Image Folder content detection on Linux a7c0a4d
Internal / Documentation
- Fix typo (extra quote) in Linux user permission script e8a032c
- Explicitly exclude setuptools/pkg_resources from build (saving 1.2MB) 1197bb8
- Migrated to https://github.com/astral-sh/uv for local environment management #313
- This means pre-installing Python is no longer necessary to run AutoSplit from source, and the environment will be more consistent.
Special thanks to the @astral-sh team.
Full Changelog: v2.3.0...v2.3.1
v2.3.0
New feature
- ⚠Experimental⚠ Optical Text Recognition, by @ston1th #272
- Split based on text found on screen using Tesseract-OCR
- Read https://github.com/Toufool/AutoSplit/blob/main/docs/tutorial.md#text-recognition--optical-character-recognition-ocr-%EF%B8%8Fexperimental%EF%B8%8F for more information
- This feature is experimental and is likely to see breaking changes in future updates. Feel free to open issues and discuss and problem you have or improvement you'd like to see.
- Special thanks to @realRammbob for testing
- Silently glance over system files, hidden files and folders when parsing images from split folder. #297
- Allow screenshoting w/o a splits folder and validate screenshot folder location is valid and exists 02cbb97
- Added the possibility to screenshot on any split action #294
- Allow screenshot hotkeys when using the LiveSplit integration a4cd263
Improvements
Windows
- Migrate from winsdk to PyWinRT (reduced bundle size by ~11MB) #300 + #303
- Fix issues with saving and reading images w/ non-english filepaths 413afca
Linux
All OSes
- Removed dependency on
requests(reduced executable size by 0.58MB) #267 - Re-implement
pHashcomparison usingcv2: #266- Drop
imagehashandPillowas dependencies on Windows - Reduce bundle size by 1.93MB
- ~1.6x speed improvement for pHash comparison
- Testing suggests some images might differ in comparison from old implementation by at most 2/64 (3.125%)
- Drop
- Reload settings window when loading new profile 8e75919
- Fixed a crash by ignoring devices that throw
ValueError: NULL pointer access#286 - Fixed image comparison using an incorrect interpolation on capture resizing. This was causing the current similarity to be lower than expected. #290
- Added placeholder text to screenshot folder indicating it defaults to Split Image Folder 18b97cb
- Added support for Python 3.13 #298
Documentation
- Improve contribution resources 7a0d8ab
- Split-off tutorial from main README 8af6f28
- Updated the minimal Python version to 3.11 #296
- Indicate that "Direct3D Desktop Duplication" is limited by refresh rate #302
- Added a long-overdue LICENSE file fd456d3
New Contributors
Full Changelog: v2.2.2...v2.3.0
v2.2.2
Improvements:
BitBlt,Force Full Content RenderingandDirect3D Desktop Duplicationcapture methods can now recover window when 2 windows of the same executable have the same name.BitBltnow has a clearer on-screen message for valid windows that have empty buffers (likely not compatible)- Image comparison timing should be up to 5% tighter by using "precise" Qt Timer Type. Default "coarse" timer type only tried to keep accuracy within 5% of the desired interval. At worst this means a difference of ±2.5ms at 20FPS. See https://doc.qt.io/qt-6/qt.html#TimerType-enum for more details.
- Region Selection's transparent overlay now has a window name (visible when alt-tabbing/hover in taskbar)
- It is now possible to select a window at position
(0, 0)
Bugfixes:
- Actually (hopefully) fixed "settings changed" detection for the save prompt on exit. (v2.2.1 made the popup appear when there was no changes)
- Fixed a regression in v2.1.1 to sending LiveSplit commands where AutoSplit was looking at
"start_also_resets"setting instead of whether it was being auto-controlled by LiveSplit. - Fixed Settings window accidentally being resizable
- Region Selection's transparent overlay now has a fixed size in case the user finds some way to move/resize the overlay (backport from the Linux branch)
- Fixed a running loop leak when cancelling the selection or attempting to select a window at position
(0, 0)
Internal
- General improvements by reducing now-redundant code and amount of data being passed around.
Full Changelog: v2.2.1...v2.2.2
Which build should I use?
Try the Python 3.12 version. It should be functionally identical, with a marginal performance boost. If you have any issue with it, please report it here or on the Discord server and use the Python 3.11 version in the mean time.
v2.2.1
Improvements:
- When opening the settings window, "Capture settings" is now default and "hotkeys" have been moved to the end
Bugfixes:
- Patched out more
SetProcessDpiAwarenessin libs to fix OpenCV warnings. May relate to #258 - Fix "ask to save changed settings" detection on application close
- Fix an issue with the "Video Capture Device" Capture Method when
capture_device_idis -1. Fixes #252
Documentation
- Update documentation about supported image formats for OpenCV 4.8
Internal
- Drop support for running locally on Python 3.9
- Add experimental Python 3.12 builds
- Various dependencies updates
Full Changelog: v2.2.0...v2.2.1
Which build should I use?
Try the Python 3.12 version. It should be functionally identical, with a marginal performance boost. If you have any issue with it, please report it here or on the Discord server and use the Python 3.11 version in the mean time.
v2.2.0
New features:
- Added a Screenshot hotkey (Closes #223)
- Added an option to specify the screenshot folder (Closes #223)
- Added an option to not immediately open the screenshot file (Closes #223)
- Added an option for the Start command to also Reset. This allows you to trigger a Reset whilst AutoSplit isn't running.
- Allow unsetting a hotkey with
Esc(escape). This mirrors LiveSplit's behaviour. (Closes #244) - Indicate that AutoSplit is externally controlled in the main window's title
- Redesigned the Settings window with tabs
Improvements:
- Updated list of upstream issues. Please help us out by upvoting them
- Performance improvement by reducing unneeded image color conversion
- Improved hotkey restrictions when starting AutoSplit (Closes #243):
- reset hotkey for reset image wasn't properly being checked
- start image only needs to check for start hotkey
- start image now also checked on start
- Added an error message for invalid split image when parsing and validating images
- Align Region now opens Splits Images directory and fallsback to AutoSplit's directory
- Documentation updates
Bugfixes:
- Fixed AutoSplit hanging when closed from LiveSplit
- Fixed an issue where only the first hotkey could be set from the GUI (Closes #249)
- Fixed an error popup from rapid new hotkeys presses
- Fixed live preview not showing when parsing fail with a Start Image present
- Fixed a DPI warning by Qt
v2.1.0
New features:
- Support OBS' integrated Virtual Camera
- Use Qt's "fusion" theme
- Windows darkmode support (Closes #209)
- Respect the system's theme. Both palette and accent colors.
- More consistent style between Windows 10, 11 and Linux
- Changes live without having to reboot autosplit
- Removal of Windows 11 UI hacks
Bugfixes:
- Catch pygrabber failure when adding video input device (Fixes #238)
- Add image dimension check to region auto align feature. By @Gikkman (Fixes #231)
Internal / infrastructure:
- Add another option to download dev builds for non-GitHub users
- Use Ruff to replace a lot of linting and formatting
- Drop PyQt6 in favor of PySide6
- Will lead to better upstream support from the Qt team and stability improvements
- Removal of ShortcutContext hacks
- Removal of QListView height hack
- Add Magic Numbers to Coding Standards doc
External
obs-virtualcam plugin has been updated to 3.1.0 and now supports OBS 29.1+
Do note, however, that it should no longer be needed thanks to the integrated OBS Virtual Camera support.
v2.0.1
This is a patch release, there are no new features or breaking changes.
Read https://github.com/Toufool/AutoSplit/releases/tag/v2.0.0 for all the changes since 1.6.1
Bugfixes
- Fixed the
D3D Desktop DuplicationCapture Method not working at all (Fixes #229) - Fixed an error that could happen with
BitBltCapture Method when closing the target window of a multi-windows application (like Dolphin). - Fixed
pHashcomparison method returning a match of0upon a perfect match - Fixed an issue where AutoSplit would automatically restart if the "Loop Last Split Image to First Split Image" was checked, and AutoSplit was manually "Reset" rather than only looping from hitting the last split.
- Fixed some numbers being rounded up in the GUI instead of being truncated. (a
0.996match was incorrectly displayed as a perfect1.00match) - Better handle some camera errors
- If a Capture Card isn't currently available available or is not supported by OpenCV, the blank frame given by OpenCV will be used instead of popping up an error. (Closes #58 , relates to opencv/opencv#23539)
- Hide
OBS Virtual Camerato prevent confusion with the plugin and prevent AutoSplit crash when selected.
- Support Dummy Flag for start image (Fixes #222)
Optimizations
- Make the autostart image comparison timer and the live preview refresh timer respect FPS limit setting changes
- Optimize the live preview by re-using the image from comparison instead or requesting another new image
Documentation
- Moved documentation in
docs - Added
docs/CONTRIBUTING.md - Added more ways to help as non-developer in the README