Releases: section83/MacYTDL
Version 1.25 – One new feature and quite a lot of bug fixes
UPDATE 10/9/23: Had to replace the MacYTL dmg file as MacYTDL wasn't notarized and the Help and Release notes files had the wrong permissions. My apologies.
This release includes a facility to install “nightly” releases of YT-DLP. The nightly builds provide quick access to the latest fixes and changes. The installed version can be switched to the latest stable release as desired. All the other changes in this release are bug fixes.
- Users can now install “nightly” releases of YT-DLP using the Utilities dialog. The nightly releases are the most up-to-date available and include all changes made to YT-DLP to that point. There can be a number of nightly builds each week.
- The gap between the title bar and window content of all windows has been reduced to provide some more screen real estate.
- The MacYTDL Service now prefers the URL of the active web browser window to any URL stored in the Clipboard. Previously, URLs remaining in Clipboard from earlier actions could be preferred even though they were invalid and/or did not relate to any video download.
- The automatic updates to the MacYTDL Service will now function. There were bugs in the update code which prevented the Service from being updated.
- Automatic downloads with subtitles should now work instead of causing an error.
- “Get formats list” should now work with YouTube, ABC iView and SBS OnDemand videos instead of crashing.
- Utilities dialog should be wide enough to show all contents.
- Utilities dialog should show the actual installed YT-DLP version number instead of an old version.
- MacYTDL should now record live streams from SBS Australia.
- Attempting an auto-download when download folder not available should no longer cause a crash.
- It’s now more likely that the MacYTDL Service will be removed from the Services menu when the Service is removed using the Utilities dialog.
- All kinds of downloads from SBS Australia should now work – enabled by fixes to YT-DLP.
- The SBS “Chooser” should now work again – code was searching for the wrong text.
- The “Adviser” dialog should show more reliably.
- Text in the “Monitor” dialog is less likely to overlap with the MacYTDL logo.
Version 1.24.1 – Bug fix release
This release is mainly to attend to a fatal bug in the Homebrew code. MacYTDL should now respect a Homebrew install if it pre-dates a MacYTDL install. Problems with SBS downloads and rare errors with the auto-download function remain. Changes in this release include:
- Should no longer crash when Homebrew users first start MacYTDL.
- Should no longer crash if downloads folder is not available during an auto download.
- Should no longer crash if user chooses to return the “Main” on a warning dialog during an auto download.
- Minor change to code which checks for Homebrew installs of YT-DLP on Intel Macs.
- The “Show settings before download” dialog has been updated to include recently added settings.
- A dialog is shown asking if the cookies location should be emptied if the “Use cookies” setting is turned off.
- Improved position and reduced size of the MacYTDL logo in the “Monitor” progress dialog.
- Simulate stage now respects “Use custom settings” setting for playlists.
Note: Release notes are wrongly titled "Release notes - v1.25". They are in fact for v1.24.1. This release was a rushed job.
Version 1.24 – New features and bug fixes
Release 1.24 adds a few new features and, as usual, attempts to deal with bugs:
- All users can now use YT-DLP.
- Users on macOS 10.13 and 10.14 no longer need to use the two dylib files in order to use YT-DLP.
- Users currently using youtube-dl can continue to do so or switch to YT-DLP – highly recommended.
- New users will be given YT-DLP by default.
- Homebrew and MacPorts installs of YT-DLP, FFmpeg and FFprobe will be used if MacYTDL installs are not in place.
- A new “Formats chooser” provides the option of choosing which file formats are to be downloaded.
- Note that the layout of the dialog is a work-in-progress and may not be ideal for all cases.
- MacYTDL should not crash on showing the Utilities dialog after the first installation.
- Code has been added to help diagnose “end of file” errors which currently cannot be reliably reproduced.
- Preparing to download playlists for which playlist item specifications have been entered in “Use custom settings” should be faster.
- Updating YT-DLP should work again. The layout of the YT-DLP releases page was changed causing the macOS releases to be hidden.
- MacYTDL should no longer crash when SBS Australia changes URLs.
- A custom file name template than is empty or a single space character will cause an error.
- Downloads from SBS OnDemand in Australia should generally work. This has been achieved by a workaround which may be broken by a future release of YT-DLP.
- Items in the “Settings” dialog have been squeezed closer together to ensure the dialog is fully visible on low resolution screens.
- MacYTDL no longer crashes if the preferences plist file is deleted while MacYTDL is open.
- “Check for yt-dlp update” in “Utilities” now checks the version number of the currently installed YT-DLP instead of using the version number stored in the MacYTDL.plist file.
- On multi-user setups, this should ensure every user has the same version number stored in MacYTDL.plist.
- The “Check for FFmpeg update” function in “Utilities” now checks the installed FFprobe version as well as the FFmpeg version. A full update is done if either are out-of-date.
Version 1.23.1 – Bug fixes
Release 1.23.1 fixes a few critical bugs that were entirely developer error:
- MacYTDL should now trap errors caused by URLs from which videos cannot be downloaded.
- The delay before download commences should be shorter – code which checks for live streams has been made faster by combining with the simulate stage.
- Batch functions should now be working normally. Bug was a missing variable in all the calls to batch functions.
- The file names of certain downloads from ABC, ITV and 7Plus will no longer start with “NA-”.
- The facility for playing completed live streams should be working again.
Version 1.23 – New settings, Pause/Resume & yet more bug fixes
Release 1.23 adds some new features and has work on quite a number of bugs:
- Added a “Pause/Resume” function to the “Monitor” dialog. A download can be resumed for as long as the Monitor dialog is displayed.
- Added a “Force overwrite” setting. By default, MacYTDL will not delete an existing download file. This setting forces MacYTDL to look for an existing file and if found, offers to delete the file.
- Added a “QT compatible video” setting which converts downloaded video into a format which can be shown in Quicktime Player – NOTE: the re-encoding can take a very long time.
- MacYTDL should no longer crash when checking playlists.
- Change naming of log files from “response” to “log”.
- Changed shortcut for “Cancel” from [command-c] to [command-.]. This enables [command‑c] to be used to copy text in dialogs.
- There should no longer be an errant full stop in the log file name when downloading a video which has a four character file name extension.
- Progress text in Monitor dialog should be centre aligned in all versions of macOS.
- Only the first item of audio-only playlists will be checked for available formats. Previously used to check all items which took a long time. There was no need as formats are usually the same for all items.
- The “Cookies” file text box is larger to accommodate longer file names.
- The window position is now saved if the “Utilities” or “Settings” dialogs are moved.
- Should no longer get this warning on some YouTube videos: “yt_dlp/jsinterp.py:346: FutureWarning: Possible nested set at position 3”.
- There should no longer be a crash if “Force overwrites” and “Auto download” are on, the download file already exists and user chooses “Return”.
- MacYTDL is now released in “Run-Only” format – which is slightly smaller and faster. This means that its AppleScript code cannot be opened. However, text copies of each script are published on GitHub.
- MacYTDL now identifies YouTube “Handle URLs” as channels.
- YouTube channels, including “tabs”, are now handled in the same way as playlists.
- The rare case of warning text showing in log file names should no longer occur.
- MacYTDL should no longer crash if choosing not to download from a channel when auto-download is invoked.
- MacYTDL now warns if there are more than 20 items in a playlist or channel (previously would warn if there were more than 35 items).
- Downloading from YouTube channels using youtube-dl is no longer supported.
- There should be fewer problems with ABC iView URLs.
Version 1.22 – New platform switcher + more bug fixes
This release primarily addresses problems related the the SBS OnDemand web site in Australia. It includes these changes:
- A facility to switch between Intel and ARM versions of FFmpeg and FFprobe has been added to Utilities.
- Restoring the current settings file to itself should no longer cause a crash.
- Auto-gen subtitles are now found when using YT-DLP.
- Installation now warns gently if user is offline or uses outgoing firewalls such as LittleSnitch.
- Many changes to enable downloads from SBS OnDemand including from “Show” pages.
- Downloads from SBS live pages not working at present. Waiting on a fix for YT-DLP.
- A more gentle warning is issued when attempting to download from generic OnDemand and iView web pages instead of an error.
- Attempting to automatically download from an Australian commercial “Show” page no longer causes a crash.
- Preparing to download single playlist items should be significantly faster.
- “srv3” has been added to list of available subtitle formats.
Version 1.21.2 – More bug fixes + ARM64 native code
With this release MacYTDL no longer requires Rosetta 2 to be used. It also has a number of classic bug fixes. In summary:
- MacYTDL no longer requires use of Rosetta 2. This has been achieved by:
- sourcing Apple Silicon builds of FFmpeg and FFprobe from https://ffmpeg.martin-riedl.de/;
- using Homebrew to build an ARM64 version of AtomicParsley then merging that with an x86-64 version with lipo to make a Universal 2 version; and
- using the same procedure to build a Universal 2 version of ets.
- The “Settings” dialog should no longer show missing values in drop down boxes for non-English languages.
- Timestamps should now be correctly provided in log files. There was a bug in the path to ets in MacYTDL code.
- MacYTDL should function normally when the path to its location includes a space or special character.
- The “Adviser” should display correctly when the path to MacYTDL’s location includes a space or special character.
- Apostrophes should show correctly in the “SBS Chooser” dialog.
- MacYTDL should no longer show an error when subtitles are specified for more than one episode in the “SBS Chooser”.
- There should be no permission error when using the “Adviser” to open a log file after a download encountered an error.
- Auto-downloads should now work when subtitles are specified.
- MacYTDL no longer crashes if downloading a new version of MacYTDL when downloads folder is not available.
- The "Show settings before download" setting is ignored if "Auto download" is operating.
Version 1.21.1 – More critical bug fixes
This release only contains bug fixes. I have had a lot of trouble with more stringent permissions controls since macOS 12.3. Some of these fixes, hopefully, have solved most of the problems:
- Trying to change download folder when saved location not available should no longer crash MacYTDL.
- Remux formats now include “mov”.
- “Edit” batch file should no longer cause a permission denied error.
- “Download” from batch file should no long crash MacYTDL.
- Saving settings when MacYTDL Service is not installed should no longer cause an error.
- MacYTDL should no longer crash when batch file is empty and “Download” is chosen in batch functions dialog.
- Opening the “Help” file should not produce a permissions error – didn’t completely solve this in v1.21.
Version 1.21 – New features and more bug fixes
Version 1.21 has some new features, some better behaviours and bug fixes. Alas, as in the past, there are still some bugs which are proving difficult to squash. This version took a lot of work and the new "Auto download" function is particularly fragile. Normally it will work but sometimes, not. I'm researching why this is so. Just a reminder, that the "Use custom settings" feature enables any youtube-dl/YT-DLP settings to be used.
macOS 12.3, released earlier this month, does not contain Python. Thus, for the time being, MacYTDL cannot use youtube-dl in that version of macOS.
List of changes in v1.21:
- The MacYTDL Service can now download videos directly without opening the MacYTDL Main dialog – “Auto download”. When Auto downloads are on, the name shown for the Service in the Services menu changes to “Download Video Now” (macOS 10.15+).
- Settings can now be saved and restored and returned to the default.
- MacYTDL now starts more quickly and the Main dialog shows more quickly when returning from “Settings” and “Utilities”. The slow startup and slow Main dialog were due to running youtube-dl/YT-DLP to get their version every time the Main dialog was displayed. The version of those tools are now stored in the MacYTDL preferences file.
- MacYTDL is now compiled in macOS 12 Monterey. That has enabled the AppleScript Unix executable to be compiled into Universal format. Thus, MacYTDL now runs with either x86_64 or ARM64 code according to the architecture of the Mac.
- Because they can involve hundreds of videos, a warning is issued for YouTube channel URLs.
- The Monitor now shows more useful detail towards the completion of a download. It can show that the download is being merged, converted or being fixed.
- The dialog reporting that there was a warning in the simulated download no longer provides the option to check for youtube-dl/YT-DLP updates. This is because such warnings rarely if ever relate to using an old version of those tools.
- The Adviser should no longer report the the download is incomplete when the video has already been downloaded and not replaced.
- The AtomicParsley executable has been updated to the latest provided by “Wez” on GitHub.
- Successive Monitor dialogs should be correctly positioned according to the number of downloads currently underway instead of the number of downloads in the current session.
- The various processes started for each download are now more likely to be correctly stopped when the user stops a download. This includes stopping the Adviser process first.
- New code used to get screen resolution (suggested by Shane Stanley). Addresses crashes in OS X 10.11 and 10.12.
- A few coding improvements including using a better way to get the MacYTDL version.
- Code which used to look for and delete an old version of the Dialog Toolkit has been removed.
- There should no longer be a crash due to YT-DLP not being installed.
- The names of the localisation tables have been changed to be compatible with Script Debugger 8.
- The name of the file containing the MacYTDL logo has been changed to be compatible with Script Debugger 8.
- All code now refers to the YT-DLP executable in lower case to be consistent with the form provided by the YT-DLP developer.
- Live streams from SBS OnDemand in Australia should be correctly identified and recorded.
- The Adviser should now provide the option of playing a recorded live stream after download is stopped.
- Some re-jigging of code to reduce errors caused by performing calls not supported by “System Events”.
- The warning issued by YT-DLP when subtitles are being ignored is now suppressed. This is an issue in YT-DLP which might not be addressed for some time.
- “Category” URLs for ABC iView are now treated as unsupported.
- The “Episode Chooser” is now shown for ABC iView shows when downloading is done by YT-DLP. This also prevents an extractor error when YT-DLP miss-categorises certain iView URLs as playlists.
- [Last minute change] The FFmpeg installer does not check for trusted certificates when MacYTDL is running on OS X 10.11 El Capitan.
Version 1.20 – New features and more bug fixes
UPDATE – 23/3/22
Version 1.20 had a major bug making it impossible to use with YT-DLP. I have therefore deleted the two assets. It's best to stay with v1.19 until I release version 1.21 later this week.
Version 1.20 has some new features, some better behaviours and bug fixes. Alas, there are still some bugs which are proving difficult to squash.
- New option to add timestamps to response log files using the ets tool.
- New option to include custom youtube-dl/YT-DLP settings.
- Fixed a bug in which an Alert during components install might not automatically close.
- Fixed a bug in which users on macOS 10.14 and earlier switching to YT-DLP would get youtube-dl installed instead.
- MacYTDL should not quit if checking for MacYTDL updates while offline.
- “Keep original video and/or subtitles file” is now available in all post-processing cases. Previously it was only available if user specified a remux or required a subtitles conversion.
- The Service should behave more elegantly if a web browser is active but with no window open.
- The Service should show the MacYTDL logo in its warning dialogs.
- An alert is displayed reminding the user to wait when download of a playlist has being requested.
- The Monitor no longer closes if the “Logs” button is clicked.
- Text shown in the Monitor has been reduced – previously advice Monitor showed was obvious.
- The Monitor shows a “Logs” button for live stream downloads.
- Clicking on the “Play” button after stopping a live stream recording should work.
- Monitor no longer shows a warning dialog if the “Stop” button is clicked after a download has been completed.
- Recording SBS live streams should be more reliable.
- Playlists are no longer checked for live stream status – by definition a playlist should not contain a live stream as that would prevent later playlist items from being played. This should speed up playlist processing somewhat.