All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog,
- New CRT Video Mode and CRT Screen Position tools in the System Options menu from the Settings Screen, with live preview, overscan preview, keep/revert flow, and guard rails aimed at 15 KHz CRT users on the VGA output.
- New Game Manuals (EN) section in Extra Content with 47 manuals databases by Moondandy.
- New Anime0t4ku MiSTer Scripts database in the Tools & Scripts menu.
- Manuals DB menu now includes bulk enable/disable controls, and per-database file count / size information.
- Manuals databases now use their own dedicated Downloader drop-in INI file
downloader_ajgowans_manualsdb.ini. - CRT video mode changes now detect the active MiSTer configuration file, including
MiSTer_*.inialternatives, and save the selected mode into the[menu]section withvga_scaler=1. - Improved Settings Screen rendering and scrolling behavior with fixes for stalled text and other small interaction issues.
- A few other tweaks, fixes and optimizations.
- Support for installing JOTEGO private releases from RetroAccount, including automatic
jtbeta.zipupdates and the JT MRA Kai drop-in when available. - New Anime0t4ku Wallpapers menu with two databases: Unrestricted Anime0t4ku 16:9 Wallpapers and PCN Challenge 16:9 Wallpapers.
- Added email login to RetroAccount.
- Account menu now shows the live state of your Update All Extras and JOTEGO JTBeta benefits.
- Update All now detects when the SD card is temporarily mounted read-only and exits early with a clearer message instead of failing later in the run.
- BIOS DB and Arcade ROMs DB now use their own Downloader drop-in INI files, with automatic migration from older
downloader.inisetups. - Linux updates now happen during the main downloader run instead of in a separated step after making sure it's a safe procedure.
- Improved Settings Screen rendering on narrow terminals and overscanned displays thanks to a refactor of the drawer paint/layout logic.
- Improved certificate checking at the corresponding launcher section.
- Improved launcher error reporting and removed unhelpful “read-only” error messages that appeared when the SD partition was mounted read-only.
- Fixed a bug where overscan caused asterisk printing with additional spaces.
- Standard output and the Log Viewer now preserve continued lines better when overscan wrapping is active.
- A few other tweaks, fixes and optimizations.
- Dual RAM Console Cores DB by TheJesusFish.
- New Overscan setting in the Settings Screen for CRT users, with presets from None (0%) to Max (20%), a live mask preview, and usable-area-aware rendering across Update All, the Log Viewer, the Timeline, and Downloader output, with default presets calibrated to behave more like classic TV safe areas (10% of the borders).
- More scrolling elements introduced in the Settings Screen for very small resolutions with overscan.
- Monochrome UI theme added as an accessible high-contrast setting alternative, freely available for all users.
- Log Viewer themes now have more distinct variations when rendering the HUD.
- HTTP client improvements taken from Downloader.
- Fixed bug in Arcade Organizer where some paths with ":" would not work correctly.
- Improved file download resilience against unexpected power loss on exFAT SD cards.
- Proper word wrapping in both the standard output and the Log Viewer.
- Fixed a bug where unsaved settings screen changes could clash with the new drop-in Database feature, causing a crash on a subsequent run.
- A few other tweaks, fixes and optimizations.
- Bad Apple DB can no longer be run due to recent Downloader changes. All related code has been removed.
- Responsive terminal layouts. UI elements now adapt to the terminal width, with simplified layouts on narrow screens (40 columns and below).
- Mirror configuration system for alternative download sources with extra NTP server support.
- Scrollable long messages in the Settings Screen. Text that exceeds the screen height can now be navigated with UP/DOWN arrows.
- RetroAccount integration. Link your MiSTer to your RetroAccount for automatic Patreon key management.
- Five new color themes: Bloody Amber, Mainframe, Aurora, Neon Noir, and Mono.
- Improved Log Viewer with themed colors, better symbol rendering, and centered navigation HUD.
- Improved NTP and certificate handling. Now it includes NTP servers from different regions like China.
- Replaced curl subprocess calls with a shared Python HTTP client (
Fetcher) across all services, providing connection reuse, automatic retries with exponential backoff, and unified timeout management. - More reliable self-update detection using MD5 hash comparison instead of mtime.
- Background tasks (RetroAccount sync, MD5 calculation) now run during countdown for faster startup.
- Improved word wrapping in the Settings Screen.
- Reorganized Main Menu: Coin-Op Collection entry now belongs to the Extra Cores menu, but is still enabled by default. Added Login/Account entry due to RetroAccount integration.
- Reorganized Patrons Menu: theme and log viewer options are now the main entries, with the Unstable Spinner Firmware option moved to the new Advanced Options submenu.
- Reorganized Arcade Organizer Menu: Removed MAD_DB option, and moved a few options to the Advanced Options sub-menu.
- Fixed log viewer theme initialization.
- Fixed a settings screen bug happening after unsaved UI store modifications.
- Many tweaks, fixes and optimizations.
- Deprecated remote URLs in the MAD_DB option from the Arcade Organizer. It will be removed in the next version.
- curl is no longer required as a runtime dependency for the Arcade Organizer.
- Built-in support for custom HTTP Proxy. Add the
http_proxyentry to downloader.ini as explained in Downloader's README.md file. The environment variableshttp_proxyandhttps_proxyare also supported and take precedence, butno_proxyis not yet supported.
- Fixed a bug where the Log Viewer could no longer be disabled.
- New Timeline feature, which allows users to see a chronological list of updates applied to their MiSTer.
- Timeline is included in the log viewer screen. It can be disabled in the Patrons menu or by adding
!update_all_timelineto the custom filters. - Timeline is also added as a standalone script, "update_all_timeline", which can be selected in the Scripts menu. This script can also be removed by adding
!update_all_timelineto the custom filters.
- Speed improvements outside the Downloader's execution.
- New Patreon Key is required.
- Linux updating fixes.
- Improved updating of the Downloader launcher.
- Fixed locale issues.
- Various fixes and improvements on the Log Viewer. It now works in different resolutions without flickering.
- Fixed "Supporter of the Day" section not working correctly in some cases.
- Other minor improvements.
- Removed wait line for reading option, as the log viewer removes any need for human reading waits.
- Removed "Bad Apple DB" gimmick from the Patrons menu. You may still see it here: https://www.youtube.com/watch?v=Mp8AGtR_p5w or run it manually by setting an empty
downloader.iniwith:
[bad_apple_db]
db_url = https://github.com/theypsilon/BadAppleDB_MiSTer/releases/download/v1/bad_apple_full_res_db.json.zip
#db_url = https://github.com/theypsilon/BadAppleDB_MiSTer/releases/download/v1/bad_apple_half_res_db.json.zip- Updated Arcade Organizer documentation within the new
docs/folder and linked it in the README.md. - Update All DB now also updates the launcher
downloader.sh.
- Update All now runs Downloader through the new
downloader_binwhen is present in the system. - Using a more precise time function to avoid spurious time errors (time.monotonic).
- Using the BIOS DB from ajgowans instead.
- Fixed typo that prevented Downloader from filtering out the
update_all_latest_logscript. - Increased the reboot wait time to 5 seconds from 3 after a firmware update has been detected.
downloader_binis no longer installed as a standalone script, since it is now integrated in Downloader.
- Built-in Log Viewer screen which shows at the end of the run. You may use it to scroll up and down through the run output. It can be disabled but is on by default.
update_all_latest_log.shScript is installed with Update All database. It opens the Log Viewer screen with the log from the latest run of Update All.- New Dinierto GBA Borders database.
- Added instructions for alternative installation via downloader.ini to README.md.
- downloader_bin Release Candidate is installed with Update All database.
- Migration to automatically remove databases that are no longer by the community. As of now, it only removes
n64_dev. - Traditional snapshot releases in GitHub Releases page.
- Improved forwarding of downloader output into Update All’s logs.
- Fixed a bug that prevented saving some internal system settings after changing them in the Settings Screen.
- Reduced the amount of wait before rebooting the system after a system file has been updated or installed.
- Pocket Firmware updater now uses a firmware json file installed by Update All database, which makes Pocket Firmware releases a bit quicker to install.
- The Arcade Organizer now uses the official Arcade Database which is installed with the Update All database, making it a bit quicker to run.
- Seamless Self-Update enhancement: Update All now restarts mid-run if any relevant file was updated during Downloader execution, allowing the updated procedure to take effect immediately.
- Fixed a number Arcade Organizer bugs, such as deprecated function calls, os.scandir errors, and other minor issues.
- Improvements in workflows, typing, and other minor fixes.
- Arcade Organizer no longer supports
best_offields. They weren't being used by MAD databases, and they have also been removed from that specification.
- Added update_all_mister database, which contains Update All files to improve the self-update process and enable more utilities to be installed in the future.
- Arcade Organizer is now part of Update All codebase, which improves execution speed, fixes bugs and simplifies maintenance. As result, the Arcade Organizer log now appears in update_all.log.
- New option to enable the distribution_main alternative database from Aitor Gómez which contains his custom version of the firmware (PR by Aitor Gómez).
- It is now possible to install Update All without remote code execution. The new section in the README.md shows how to do it.
- Added Patreon shoutout line that prints the supporter of the day at the end of the run.
- The new update_all_mister database will be appended to downloader.ini automatically.
- The Arcade Organizer is now using to the new official ArcadeDatabase for the metadata, which is a direct continuation of the work done by Toya, and still maintained by him.
- The downloader log is now correctly written to update_all.log, along with the rest of Update All's output.
- The launcher has been changed:
- It now takes certificates installed by the distribution_mister database, substantially reducing the possibility of certificate problems.
- It now runs update_all build faster by avoiding network checks when the build file
update_all.pyzis present.
- When present, the build file from Downloader
downloader_latest.zipis used instead of fetching it from the network. - Optimized build process, which now uses less space and is faster to unzip and run.
- The initial output lines of Update All have been optimized by eliminating some unnecessary waits, resulting in a quicker startup.
- The local store of Update All is now saved in a JSON file instead of a ZIP, making loading and saving processes much faster.
- Using the Arcade ROMs DB from zakk4223 instead.
- Enhanced debug script with additional capabilities for maintainers.
- Removed deprecated distutils dependency.
- Analogue Pocket menu with 2 utilities: Firmware Update & Backup.
- New Databases: Uberyoji Boot ROMs, RetroSpy, RGarciaLago Wallpaper Collection (by different authors).
- Adding more curl return codes to the SSL certs branch.
- Databases added months ago between releases: agg23's MiSTer Cores.
- Info button on the Other Cores menu.
- The Settings Screen has been restructured to accommodate the new databases.
- Using the Arcade ROMs and Bios DBs from BigDendy instead.
- Using the Coin-Op Collection DB from the Coin-Op organization instead.
- Using different branch for MiSTer SAM DB.
- Using jtcores_mister always instead of jtpremium.
- Using raw url on wizzo extensions db_url.
- Options that could lead to copyrighted content display now a warning screen.
- Using curl instead of urllib, to solve some rare connectivity issues.
- More graceful error handling on connection errors.
- Full python rewrite.
- Proper automated test suite with > 50% code coverage.
- New databases: Arcade ROMs DB, Coin-Op Collection, MiSTer SAM, MiSTer Extensions (wizzo), and 2oled DBs.
- New UI engine.
- New Settings Screen structure with friendlier texts.
- Color themes support for the Settings Screen.
- More stylized CLI output.
- MAME Getter & HBMAME Getter, which are now replaced by the Arcade ROMs DB.
- Following INI files: update_all.ini, update_jtcores.ini, and update_names-txt.ini
- Toggle for coming back to the old updater.
- Option for deleting all cores, as Downloader validation mechanisms makes this unnecessary.
- Support for KEEP_USBMOUNT_CONF option as it's no longer necessary.
- Downloader support. Main cores, JT cores, LLAPI cores, and Unofficial cores can be installed now using the new MiSTer Downloader. New users or old users of Update All without custom setups (non-default options at
update.ini,update_unofficials.ini,update_llapi.iniorupdate_jtcores.ini, exceptDOWNLOAD_BETA_CORESwhich doesn't count) will have it activated by default. Old users with custom setups may activate it through the Misc menu, like shown in this video. Keep in mind though, that your custom options will not be considered by the new Downloader, and everything will be installed at/media/fatby now. - Arcade Organizer 2.0. Arcade Organizer changelog is here. The Settings Screen offers a new Arcade Organizer menu that allows you to change many of the new options from the 2.0 version.
- Arcade Offset. Patched MRA files maintained by Atrac17. Check its repository for more info.
- KEEP_USBMOUNT_CONF option at update_all.ini. When set to true, it will keep the /etc/usbmount/usbmount.conf file between Linux updates.
- Linux Updates are now always performed at the end.
Scripts/.cachefolder has been renamed toScripts/.config.- Installation ZIPs are now located at GitHub Releases.
- Minor tweaks and fixes.
- Misc submenu in Settings screen.
- Toggle button in Settings screen to activate/deactivate scripts faster.
- Clean all cores in misc menu. #9
- Option to change Organized folder to _Arcade added.
- Option to change pause time added.
- Option to change countdown time added.
- Settings screen made compatible with updater-pc for windows.
- Added /nopause argument option for updater-pc windows runnables (update_all_win.bat and update_all_win_db9_snac8.bat).
- Added exit code return for updater-pc for windows.
- Added forced Settings screen when file 'settings-on' is present on the folder that contains update_all script. This file will be removed automatically after save.
- Optimized MAME Getter, HBMAME Getter and Arcade Organizer for first runs.
- Autoreboot option moved to Misc submenu.
- Default updater INI files for clean setups are now: update.ini, update_jtcores.ini, update_unofficials.ini and update_llapi.ini.
- Removed support for INI options: MAME_GETTER_FORCE_FULL_RESYNC, HBMAME_GETTER_FORCE_FULL_RESYNC, ARCADE_ORGANIZER_FORCE_FULL_RESYNC.
- Fixes in INI handling, now it works correctly in some corner cases that weren't properly covered before.
- Cache files moved from Scripts/.update_all to Scripts/.cache/update_all
- Other minor fixes.
- Settings screen with many options. #14
- Bios getter.
- "names.txt" updater. #19
- Clean folder options in settings menu. #9
- Minor fixes and improvements.
- Added INI options for Settings screen, BIOS Getter and "names.txt" Updater.
- Updater for Windows and Linux (updater-pc) includes now dialog and other programs and files, so the Settings screen work there too. Users need to redownload the zip for this update, though.
- Deprecated INI options: MAME_GETTER_FORCE_FULL_RESYNC, HBMAME_GETTER_FORCE_FULL_RESYNC, ARCADE_ORGANIZER_FORCE_FULL_RESYNC (will still work for a few months).
- Updater for Windows and Linux (updater-pc). #8
- LLAPI Updater. #10
- Support for
/media/usb0#7 - Significant speed improvements, specially for incremental updates.
- Autoreboot. #5
- ZIP setup files, for convenience. #16
- Global log saved at:
/Scripts/.update_all/update_all.log#6 - Fails if some script fails, and tells you which one failed.
- Deletes the following folders if they are empty:
/games/mame/games/hbmame/_Arcade/mame/_Arcade/hbmame/_Arcade/mra_backup - Removes broken symlinks in ORGDIR from Arcade Organizer. #17 #18
- Added INI options: MAME_GETTER_FORCE_FULL_RESYNC, HBMAME_GETTER_FORCE_FULL_RESYNC, ARCADE_ORGANIZER_FORCE_FULL_RESYNC.
- Blue dialog about ENCC_FORKS on first run removed.
- Deprecated INI options: ALWAYS_ASSUME_NEW_STANDARD_MRA, ALWAYS_ASSUME_NEW_ALTERNATIVE_MRA (will still work for a few months).
- MiSTer-devel Updater.
- DB9 / SNAC8 Updater.
- Jotego Updater.
- Unofficial Updater.
- MAME Getter.
- HBMAME Getter.
- Arcade Organizer.