1# Future
2
3# 1.9.7
4- 3DS: Add unique ID's
5- CRT/SWITCHRES: Fixed some Monitor index bugs ad updated to the latest SR2
6- CRT/SWITCHRES: Fixed monitor index corruption on Windows and added correct fractal scaling. Only used when required
7- CRT/SWITCHRES: Updated log defines to match SR upstream.
8- CRT/SWITCHRES: Added new SR_CONFIG_PATHS for non Windows and Linux systems.
9Not that SR works on them but to fix RA compile issues
10- CRT/SWITCHRES: Updated SR2 code base to latest. Added supprt for windows monitor indexing. Fixed monitor index bug where index 1 was not being used correctly and "auto" was not being sent.
11- CRT/SWITCHRES: Updated swithres for x86 windows fix
12- CRT/SWITCHRES: fixed SR2 auto issue
13- CRT/SWITCHRES: Fixed auto monitor bug
14- CRT/SWITCHRES: Fixed monitor index corruption on Windows
15- CRT/SWITCHRES: Fixed buffer size bug
16- CRT/SWITCHRES: Added correct fractal scalling. only used when required.
17- CORE INFO: Automatically disable core info cache when core info directory is read-only
18- EMSCRIPTEN: add MAME2003 / MAME2003-plus to web.libretro
19- INPUT/UDEV: udev fixes add pointer pressed to pointer device to allow udev users to access this device
20- LIBNX/SWITCH: Enable 7zip support
21- LINUX/XDG: Prevent xdg-screensaver's "Protocol error" messages
22- LOCALIZATION: Fetch translations from Crowdin
23- LOCALIZATION: Add missing languages for the first startup
24- MENU/XMB/WIDGETS: Add workaround for FPU bug that breaks scale factor comparisons on certain platforms (fixes XMB thumbnails on 32bit Linux/Windows)
25- MENU/RGUI: Enable fullscreen thumbnail toggle using RetroPad 'start' button
26- MENU/RGUI: Fix sublabel length when menu clock is disabled
27- NETWORK/HTTP: Fix HTTP progress indication for large files on 32-bit systems
28- NETWORK/NATT: implement natt fix from void()
29- OPENDINGUX: Fix display when cores 'drop' frames
30- OPENDINGUX BETA: Use ALSA audio driver by default
31- OPENDINGUX BETA: Fix IPU scaling when running 256x224 (SNES/Genesis) content
32- PATHS: Fix garbled path string
33- PS2: Implement proper ps2_font driver instead of using the font driver from gskit
34- PS2: Use BDM for increasing up USB stability
35- PS3: First basic RSX driver for PSL1GHT
36- RS90: Initial port
37- RS90: Fix offset of OSD text
38- RS90: Disable menu clock by default
39- RS90: Hide 'Bilinear Filtering' video option
40- RS90: Move appdata (retroarch) base directory to external microsd card
41- RS90: Add optional approximate 'semi-linear' scaling filter
42- SHADERS: Max Shader Parameters increased to 1024
43- VIDEO: Add 'Integer Scale Overlay' - Force integer scaling to round up to the next larger integer instead of rounding down
44- VIDEO: New 'Full' aspect ratio added. This aspect ratio is useful when used with a shader which has a border in it. The aspect ratio is set to the full window area, so that the viewport spans the whole viewport. When using a border type shader like the Mega Bezel this allows the graphics to span the whole window regardless of the user's monitor aspect ratio
45- VITA: Wrong flags for not piglet version
46- UNIX: Correct backlight max_brightness path
47- UWP/XBOX: Default to Direct3D11 driver on UWP builds
48- UWP/XBOX: Do not use windowed mode on UWP/Xbox by default, set default resolution to 1920x1080 by default. Should fix display issues with Dolphin/PCSX2 on Xbox
49- WIIU: Fix inputs breaking when connecting/disconnecting remotes
50- WIIU: Input - ignore some bogus KPAD results
51- WIIU: Font rendering fixes - render font lines with correct spacing, and only sample alpha channel when rendering fonts
52- WIIU/NETWORK: Network speed optimisations - WINSCALE, TCP sACK, large buffers
53- WIIU/LIBFAT: Increase cache size on WiiU
54- WIIU/FILE IO: Filesystem optimisations - add fast path for already aligned buffers
55- WIIU/FILE IO: Use 128K vbufs for WiiU - we have loads of RAM and large vbufs are very beneficial
56- WIIU/MENU/OZONE: Fix Ozone rendering error (scissor fix)
57- WIIU/MENU/OZONE: Use Ozone icons instead of XMB Monochrome
58
59# 1.9.6
60- ARCHIVE: Fix archive delimiter detection when file path contains no slashes
61- ANDROID: Do not duplicate port 0 mouse and gun inputs to other ports
62- AUDIO/XAUDIO2: Fail instead of crashing when disconnecting an audio device
63- CHEEVOS: Reset cached progress each time menu is opened
64- CRT/SWITCHRES: Add support for switchres.ini core and directory overrides
65- D3D11: Don't use allow tearing flag with blit swap chains. Also disables the flip model if the allow tearing flag is not supported.
66- D3D11: Disable DXGI's ALT+ENTER handling
67- D3D11: Don't pass ALLOW_TEARING when unsupported
68- D3D11: Fix non-vsynced output without flip, black screens in fullscreen
69- D3D12: Relocated 'd3d12_gfx_sync'
70- D3D12: Fixed swap interval option
71- GFX: Fix uninitialized variables in gfx_display_draw_cursor
72- HISTORY: Hide 'Add to Favorites' when viewing an entry of the favorites playlist
73- INPUT: 'Analog to Digital Type' usability improvements
74- INPUT: Add support for mapping multiple controllers to a single input device
75- INPUT/REMAPPING: Add support for mapping multiple controllers to a single input device
76- INPUT/LIGHTGUN: Bind lightgun trigger to first mouse button by default
77- INPUT/WINDOWS/RAWINPUT: Mouse access violation fix
78- INPUT/UDEV: Only add mouse if it has buttons and add vebose device friendly names
79- INPUT/UDEV: Skip mouse with no button errors and keep the rest
80- INPUT/UDEV: Fix Game Focus mode
81- INPUT/UDEV/X11: Change udev driver for dual lightgun support in X11
82- LIBNX/SWITCH: Update to libnx 4.0.0
83- LOCALIZATION: Fetch translations from Crowdin
84- LOCALIZATION: Fix Switchres menu texts
85- MENU/OZONE: Ensure sidebar display status is updated correctly when performing rapid menu navigation
86- MENU/XMB: Dynamic wallpaper fix
87- MENU/XMB: Icon opacity fix
88- MENU/QT/WIMP: Fix default core detection when playlist file name does not match 'db_name'
89- PLAYLISTS: Optimise scanning of large rom sets
90- SECURITY: Plug so-called high-risk vulnerability related to Powershell - avoid injection - don't send speech input as commandline argument
91- UWP/XBOX: Add expanded resources Rescap to increase performance of UWP version in app mode on Xbox
92- WINDOWS/INSTALLER: Add smarter isEmptyDir reference implementation that looks for subdirectories from NSIS documentation
93- WINDOWS/INSTALLER: Register new function DirectorySet that is called when pressing the "Next" button on the MUI_PAGE_DIRECTORY, aka the install folder selection GUI. DirectorySet contains the criteria for an acceptable folder, which are:
94  - `IfFileExists "$INSTDIR\retroarch.exe"` returns 1
95  - `IfFileExists "$INSTDIR\*.*` returns 0, there is no existing folder
96  - `IfFileExists "$INSTDIR\*.*"` returns 1, there is a folder, and `isEmptyDir` returns 1, therefore the folder is empty, including of subdirectories
97- X11: Fix threaded video segfault
98
99# 1.9.5
100- ALSATHREAD: Make alsathread default for all ALSA devices with threads
101- ARCHIVE: Fix loading of archived content with file names containing '#' characters
102- CHEEVOS: Upgrade to rcheevos 10.1
103- CHEEVOS: Challenge indicators
104- CHEEVOS: Group achievements by category in quick menu
105- CHEEVOS: Relabel 'Start Active' with 'Encore Mode'
106- D3D10: Window title should now update
107- D3D11: Window title should now update
108- D3D11: Allow fastforward in fullscreen
109- D3D12: Window title should now update
110- D3D12: Allow fastforward in fullscreen
111- CRT/SWITCHRES: New implementation
112- FONTS: Improve message wrapping with CJK languages
113- FONTS: Fix garbled characters when converting encodings
114- INPUT: Allow the 8 analog stick directions to be used as keys for core keyboard mappings
115- LIBRETRO: Add API extension for setting 'need_fullpath' based on content file extension and to request persistent frontend content data buffers
116- MENU/SEARCH: Add enhanced search functionality to the 'Manage Cores' menu
117- OPENDINGUX: Fix black screens when triggering gfx driver initialisation via menu actions
118- UNIX: Get better battery stats on sysfs nodes
119- VIDEO: Extend Frame Delay range to 19 to accommodate PAL land too
120- WIFI/LAKKA: Add nmcli to wifi drivers
121- WIFI/LAKKA: Add wifi configuration menu
122- X11: fix fullscreen when swapping monitors/resolution
123
124# 1.9.4
125- CHEEVOS: update rcheevos to v10.0.0
126- CONTENT LOADING/FILE IO: Prevent unnecessary extraction (to disk) of compressed content files when need_fullpath is false
127- CORE INFO/FILE IO: Enable core info cache by default now for all platforms
128- CORE INFO/REGRESSION FIX: Fix regression caused by core info file caching - Downloads was no longer showing up in Load Content
129- FILE IO/COMPRESSED: Ability to load content inside ZIP files directly into RAM
130- INPUT/OVERLAYS: Add option to select between 'touched' elements and physical controller inputs when showing inputs on overlays
131- INPUT REMAPPING/OVERLAYS: Prevent duplicate inputs when using remaps with input overlays
132- LAKKA: Add brightness restore hook
133- LOCALIZATION: Fetch translations from Crowdin
134- MENU/OZONE: Added simple playlist entry enumeration
135- MENU/XMB: Fix display of 'Maximum Users' menu entry dropdown list
136- PS3/PSL1GHT: Joypad driver works again
137- PSTV: Fix Vita input driver for PSTV
138- PSTV: Support for 720p on PSTV when using 'Unlock framebuffer' in Sharpscale plugin
139- PSTV: Fix scaling on PSTV when not using 720p
140- RPNG: Fix some memory corruption if processing broken input PNG file
141- SECURITY: Fix CVE-2021-28927
142
143# 1.9.3
144- 3DS: Disable menu screensaver animations in XMB/GLUI
145- COMMAND: Initialize netcmd->cmd_source_len before recvfrom()
146- CONTENT LOADING/STATICALLY LINKED: Ensure 'Always Reload Core on Run Content' setting is applied when loading content via the file browser
147- CONTENT LOADING/EMSCRIPTEN: Fix content loading via file browser on platforms with 'broken' core handling (i.e. emscripten)
148- CORE INFO: Skip whitespace when writing compressed core info cache files
149- CORE INFO/FILE IO: Core Info cache; significant file I/O performance improvements on systems with slow disk file I/O
150- CORE INFO/FILE IO: Enable core info cache by default on all 'console' platforms
151- FREEBSD: FreeBSD build fix
152- LAKKA: Support for tweaking CPU governors/scaling policies
153- LAKKA: This adds managed policies and settings to store them and reload them at startup
154- LIBRETRO API: Add API extension for cores to override frontend fast-forward state
155- MENU/RGUI: Fix saving of config files/overrides when 'Lock Menu Aspect Ratio' is enabled
156- SHADERS: Fix 'Auto-Shader Delay' functionality
157- UWP/D3D11: Disable mipmap generation
158- UWP/XBOX: Add 'Force 4K resolution' option (Force the resolution to the fullscreen size on Xbox, if set to 0, a fixed value of 3840 x 2160 will be used)
159
160# 1.9.2
161- 3DS: Enable graphics widgets / overlays
162- 3DS: Load texture images as BGR colors
163- 3DS: Change default asset directory
164- CHEEVOS: Allow rcheevos_patch_address to be called on game without achievements
165- CHEEVOS: Update achievement memory maps (add Supervision)
166- CONFIG/FILE: Use hash map to optimise key/value lookups
167- CORE INFO: Performance optimisations + code clean-ups/refactors
168- CRT/SWITCHRES: Fixed CRTSwitchRes framebuffer bug
169- DISCORD/RP: Fix regression
170- DRM: set the correct video mode
171- FASTFORWARD: Enforce minimum fastforward_ratio of 1.0
172- FONTS/FREETYPE/STB_UNICODE/BITMAPFONT: Prevent texture bleed when rendering text at non-integer scales
173- INPUT: Ensure that 'retro_set_controller_port_device' is called when updating 'Max Users'
174- INPUT/XEGL/MOUSE: Fix xegl_ctx.c mouse activation
175- INPUT/SDL: Fix crash in SDL input driver when analogs are bound.
176- INPUT/POINTER: Add scaling to pointer input.
177- INPUT REMAPPING: Fix regression on loading file
178- INPUT REMAPPING: Fix regression where disabling input remapping would disable input
179- IOS: Disable system button gestures on iOS 14
180- IOS: Prevent potential crash on controller connect - randomly would get a crash when connecting a game controller while RA was running
181- LAKKA: Add menu for time zone setting
182- LOGGING: RARCH_LOG_V checking for verbosity level is not necessary and can cause issues; removed said check.
183- LOGGING: Silence inappropriate cheatfile logging
184- IOS/MAC: Add CPU VFP unit detection for Darwin
185- MAC: Swallow 'escape' key being pressed - would previously make the game toggle between fullscreen and windowed
186- MAC: Intel and ARM64 timer change proposal.
187- MAC/ARM64: run_fast_mode disabled for 64 bits invalid instructions.
188- MAC/OPENGL: Fix codesigning issue
189- MAC/UNIVERSAL: Add TTS translation service support.
190- MENU: Add optional menu screensaver
191- MENU: Add search filter support to cheats and overlays file browser menus
192- MENU/FILEBROWSER: Enhanced 'Load Content' file browser search functionality
193- MENU/INPUT: Block accidental diagonals in menu navigation
194- MENU/RGUI: Add option to disable menu transparency
195- MENU/RGUI: Fix display of 'Video > Scaling' menu when 'Lock Menu Aspect Ratio' is enabled
196- MENU/MATERIALUI: Add icon to 'Turbo Fire' menu entry
197- MENU/OZONE: Ozone Dracula theme
198- OPENDINGUX/BETA: Fix IPU scaling when running GBA-resolution content
199- OPENDINGUX/BETA: Add 50Hz support
200- OPENDINGUX: Enable 'SaveRAM Autosave Interval' by default
201- PATCHES: Added multi-softpatching support + OSD messages for patches
202- RHMAP: Track the complete string in rhmap
203- VITA: Align VM block size to 1MB - should fix one of the issues with gpSP
204- WINDOWS/GDI: Fix non-ASCII text rendering
205- XEGL: Fix mouse not working when using OpenGLES with X11
206
207# 1.9.1
208- 3DS: Graphics widgets support
209- 3DS: On error, only init gfx on salamander build. This prevents graphical issues if the gfx is already initialized.
210Which should always be the case if called from a running core
211- 3DS: Update error applet
212- 3DS: Enable online Core Updater
213- 3DS: Guard threading
214- 3DS: Allow sideways screen rotation
215- 3DS: Enable threading and add a threaded audio driver
216- ANDROID: Implementation of fullscreen over notch function (for Android 9.0 and up)
217- ANDROID: Add Play Store module support.
218- ANDROID: Add option to switch all installed cores to Play Store versions
219- AUDIO: Memalign audio buffers to 64 bytes. This is the most common cache line size, helps with performance. Also fixes issues with platforms like PSP that wrongly assume that malloc returns aligned buffers (to 16bytes). This recently broke the PSP builds
220- AUDIO/ALSA: Fix float format detection
221- AUDIO/JACK: Deinterleave in the process callback. This allows us to avoid the extra copy to the deinterleave buffer and lets us use only a single jack ringbuffer.
222- AUDIO/JACK: (Audio/JACK) Fix non-blocking write. Previously we would wait on the condition variable even in the non-blocking case. This improves fast-forward performance massively and brings JACK in line with other backends in that regard.
223- AUDIO/XAUDIO2: Fix threaded audio bugs with cores like Dinothawr
224- CONFIG: Add support for saving per-directory core options and deleting core option overrides
225- CONFIG: Enable saving of changed parameters when '#include' directives are used
226- CONFIG/DIRS: Enable configuration of the directories used for Favorites, History, Images, Music and Video playlists
227- CONFIG/REMAPS: Allow loading core remaps without content
228- CONFIG/OVERRIDES: Fix empty override paths when launching without content
229- CHEATS: Maximum search value corrections
230- CHEEVOS: Generic memory mapping using rcheevos
231- CHEEVOS: Ensure badge textures are released before video driver is deinitialized. Should fix crashes with slang shaders.
232- CHEEVOS: Include achievement runtime state in save states
233- CHEEVOS: Prevent hardcore toggle when emu-handled cheats are active
234- CHEEVOS: Add confirmation submenu to achievements hardcore toggle
235- CHEEVOS: Calculate leaderboard widget spacing based on video resolution
236- CHEEVOS: Show unsupported core message when viewing achievement list for unsupported core
237- CHEEVOS: Allow disabling leaderboard notifications and trackers separately
238- CHEEVOS: Add display widget for active leaderboards
239- CHEEVOS/CORE OPTIONS: Core options blacklist. Disables hardcore mode when certain core options are set.
240- CLI: Add option for quitting on close content
241- CONTEXT/DRIVER SWITCHING: Allow context switching from gl to glcore
242- CORE OPTIONS: Add option to reset all core options for current core/content
243- CORE OPTIONS: Add per-folder core options
244- CRT/SWITCHRES: Improvements
245- CRT/SWITCHRES: Low resolution switch bug fix - This allows resolutions lower that 32x224 like 256x224 to work
246- CORE DOWNLOADER: Enhanced core downloader search functionality
247- D3D10: Should now be able to use shaders with hardware-accelerated libretro cores
248- D3D11: Should now be able to use shaders with hardware-accelerated libretro cores
249- D3D11: Skip shader/stock blend when we don't have a texture. This happens if the core calls video_cb with the frame set to null on
250the first frame, and was causing black screens/driver resets. The ffmpeg core seems to do this.
251- D3D11: Fix shaders with scaled framebuffers
252- D3D11: Add flip model support - fallback to blit model for OSes where flip model is not supported (windows 7 and earlier). Will add a menu option later allowing the user to switch inbetween the two
253- D3D12: Should now be able to use shaders with hardware-accelerated libretro cores
254- D3D10/11/12: Increase sprite capacity, we need this so that the hardware rendered menu drivers doesn't glitch out
255- DRM: Fix race condition in drm_surface_set_aspect
256- DRM/KMS: add support for custom hdmi_timings / modes
257- DATABASE: Fix crash that could happen when selecting cursor
258- DATABASE/EXPLORE: Fix - Prevent segfault when accessing 'Explore' menu
259- EMSCRIPTEN: Only report back one screen pointer for rwebinput, fixes lockup when clicking on an overlay
260- FILEIO/PERFORMANCE: Only attempt to call dir_check_defaults once per runtime session
261- FILEIO/PERFORMANCE/3DS: Increase file buffer size and savestate chunk size. This seems to help with saving large savestates.
262- FONTS: Improve handling of Arabic and Persian text
263- FONTS/FREETYPE: Use fontconfig to select fonts if available
264- INPUT: Add hold mode for turbo fire 'Single Button'
265- INPUT MAPPING: Refresh bind list on device type change
266- INPUT MAPPING/REMAPPING: Minor bugfix - Remap file browsing starts navigation at input_remapping_directory even if the core-subdir (where saved files go) exists
267Having remaps for many different cores makes finding the active core files cumbersome, especially because remaps are not compatible between different cores (but maybe for cores emulating the same hardware)
268- IOS: Take out 'Core Downloader' from iOS 9/iOS 11 builds
269- IOS: IOSApp doesn't crash anymore when a file is shared to it
270- INPUT: Keyboard device mapper rework
271- INPUT: New input bind order scan/clear fix
272- INPUT: Duplicate key event blocking additions
273- INPUT: Prevent duplicate key events with hotkeys + keyboard device type
274- INPUT: Keyboard LED driver
275- INPUT/AUTOCONFIG: Allow controllers with no/empty names to work.
276- INPUT/GAME FOCUS: Add option to automatically enable 'game focus' mode when running/resuming content
277- INPUT/HOTKEYS: Hotkey for Close Content / Unload Core
278- INPUT/LIBCEC: Map libcec-daemon keys to RETROK
279- INPUT/X11: Enable keyboard input when mouse cursor is not inside the RetroArch window but window still has focus
280- INPUT/X11: Fix mouse input when mouse is grabbed
281- INPUT/UDEV/RUMBLE: Fix rumble.
282- INPUT/WINDOWS/DINPUT: Simultaneous shift sticky fix
283- INPUT/WINDOWS/DINPUT: Prevent Win-key from opening Start Menu
284- INPUT/WINDOWS/DINPUT: Option for disabling Windows hotkeys
285- INPUT/WINDOWS/DINPUT: Mouse grabbing/clipping with Alt-Tab
286- INPUT/WINDOWS/DINPUT: Mouse grab fixes
287- INPUT/WINDOWS/RAWINPUT: Key position fixes
288- INPUT/WINDOWS/RAWINPUT: Mouse grab fixes
289- INPUT/WINDOWS/RAWINPUT: Prevent outside window mouse clicks when grabbed
290- INPUT/WINDOWS/RAWINPUT: Option for disabling Windows hotkeys
291- INPUT MAPPING/REMAPPING: Major bugfix - Remap file having a different device type requires manual intervention after loading for the core to register the type properly
292- JSON: New faster json parser/writer library rjson
293- JSON/RJSON: Replace rapidjson parser/writer in discord-rpc with rjson
294- LIBRETRO: Add API extension for cores to query the number of active inputs provided by the frontend
295- LIBRETRO: Ensure RARCH_CTL_CORE_OPTIONS_LIST_GET returns false if no core options are available
296- LIBRETRO: Add API extension for overriding frontend audio latency
297- LIBRETRO: Add API extension for cores to monitor frontend audio buffer occupancy
298- LINUX: Also show /run/media or /run/media/$USER in drives list
299- LINUX: Adjust brightness according to the limit. Seems like some platforms feature non-standard maximums, but the variable is correclty exported for us to use
300- LOCALIZATION: Add Finnish language
301- LOGS/SHADER: Shader log spam reduction
302- LOGS/CONFIG: Config logging cleanup
303- LOGS/SAVESTATE: Config logging cleanup
304- MAC: Apple Silicon/Mac M1 support
305- MAC: Code signing/notarization
306- MAC: Fix a leak with NSTemporaryDirectory() on ARC (Automatic Reference Counting) code
307- MAC: Support bundle assets extraction on macOS
308- MAC: Universal Metal build for both ARM and Intel Macs
309- MAC/UNIVERSAL: Add CoreAudio3 audio driver for Metal Universal build
310- MAC/IOS: Only extract assets once on first install
311- MENU: Add 'L2 + R2' menu toggle gamepad combo
312- MENU: Menu text improvements; clarifications, consistency, text mistakes,
313- MENU: Tweak menu scroll initial hold delays
314- MENU: Restrict menu acceleration to navigation buttons
315- MENU: Add 'Menu Driver' setting to 'User Interface'
316- MENU: Relocate 'Menu Scroll' settings.
317- MENU: Separate 'Turbo Fire' menu.
318- MENU: Dropdown menu for 'Custom Aspect Ratio' setting.
319- MENU: Reorder Mouse Index next to Device Index
320- MENU: Submenu for Device Index/Mouse Index
321- MENU: Reorganize User Interface menu
322- MENU: Add 'Remove DSP Plugin' menu entry
323- MENU: Hide 'Auto-Shader Delay' menu setting when shaders are unavailable
324- MENU/ANIMATIONS: Fix non-smooth text ticker + reduce line ticker code duplication
325- MENU/ANIMATIONS/OZONE: Add cursor wiggle animation
326- MENU/ANIMATIONS/OZONE: Implement wiggling for main menu when wrap-around is disabled
327- MENU/NOTIFICATIONS: On-Screen Notifications' menu clean-ups
328- MENU/NOTIFICATIONS: Add option to show/hide Refresh Rate notification
329- MENU/FILEBROWSER: Start auto-selecting last used path for more file browser menu entries
330- MENU/INPUT: Input port label adjustments
331- MENU/INPUT/XMB: Proper control port icons
332- MENU/INPUT/OZONE: Proper control port icons
333- MENU/QUICK MENU: Add remap clearing ability under Quick Menu controls
334- MENU/QUICK MENU: Cap 'State Slot' drop-down list to a maximum of 1000 (+Auto) entries
335- MENU: Customizable menu scroll hold delay.
336- MENU/DESKTOP: Fix mouse cursor limited by window range on F5 press
337- MENU/DESKTOP: Add simple shader option
338- MENU/DESKTOP/WINDOWS: Remove broken 'Update RetroArch' functionality for Windows. We want this to not only be system agnostic if we bring it back, but also work outside of the Qt desktop interface
339- MENU/OZONE: New Theme - Twilight Zone
340- MENU/RGUI: Add 3:2, 5:3 and 3:2/5:3 (centered) aspects
341- MENU/RGUI/TEXT RENDERING: Add Russian language text support
342- MENU/RGUI/TEXT RENDERING: Add support for CJK punctuation glyphs
343- MIDI/WINMM: Recover from MIDI messages not handled by the device
344- MIDI/WINMM: Fix winmm midi driver hanging on content closing
345- NETWORK: Add READ/WRITE_CORE_MEMORY network commands
346- NETWORK: Fix backwards condition in socket blocking behavior
347- NETWORK/NETPLAY: Attempt IPv4 when IPv6 fails
348- OGA/VIDEO: support for OGS
349- OGA: This keeps the tradition DRM driver along with the OGA one. The probe
350function skips the driver if the screen is non rotated to fall back to
351the regular DRM driver.
352- OGA: Fix messages from not disappearing
353- OGA: Implement RETRO_ENVIRONMENT_GET_CURRENT_SOFTWARE_FRAMEBUFFER. This is a faster rendering codepath for software rendered libretro cores that some libretro cores use right now. Video drivers in RetroArch have to explicitly implement this for this codepath to work at runtime.
354- OPENDINGUX: Add/Optimise rumble interface
355- OPENDINGUX: Fix frozen video when enabling fast forward
356- OPENDINGUX/SDL: OSD font clean-up
357- OPENDINGUX/SDL: Enable selection of image interpolation method when using 'sdl_dingux' gfx driver
358- OPENDINGUX/SDL: Enable integer scaling when using the 'sdl_dingux' gfx driver
359- OVERLAYS: Add option to scale overlays automatically (with aspect ratio correction)
360- OVERLAYS: Hide Overlay When Gamepad is Connected. Overlays will be hidden automatically when a gamepad is connected in port 1, and shown again when the gamepad is disconnected.
361- OVERLAYS: New default overlays for mobile (neo-retropad)
362- OVERLAYS: In addition to overlay scale, the user can now set an Overlay Aspect Adjustment factor. Most overlays are designed for 16:9 displays, which means they become stretched/ugly on modern wide aspect phones and suchlike. By changing the Overlay Aspect Adjustment factor, a user can scale the overlay width/height to achieve a uniform appearance regardless of display resolution.
363- OVERLAYS: Since scaling a gamepad overlay can result in buttons being squished too close together (or being pulled too far apart), the user can now adjust the effective spacing of the different 'halves' of an overlay via Overlay Horizontal Separation and Overlay Vertical Separation factors. Overlay Horizontal Separation divides the overlay in two vertically (left/right, at the centre point), and applies a spacing offset (positive or negative) between the UI elements on each side; Overlay Vertical Separation does the same, but the split is horizontal (top/bottom)
364- OVERLAYS/FIX: The Overlay X Offset and Overlay Y Offset options have been fixed, and now work correctly
365- OVERLAYS/FIX: All of the above options (and Overlay Scale) are configured and saved independently for landscape and portrait display orientations - so adjusting everything for a nice landscape layout won't break the portrait display
366- OVERLAYS/FIX: When using the Vulkan gfx driver, memory is leaked every time an overlay is freed
367- OVERLAYS/FIX: When threaded video is enabled, loading overlays with no images (i.e. utility-type overlays, where everything is hidden until the screen is touched) can generate segfaults due to improper usage of realloc()
368- OVERLAYS/FIX: When Show Inputs on Overlay is enabled, ASAN reports bit shift errors due to an incorrect range check when handling turbo inputs - essentially, there is no upper limit to the considered input id range, which means overlay hotkeys (menu toggle, etc.) are incorrectly treated as having turbo support, causing bit shifts using wildly inappropriate id indices
369- PLAYLISTS/PORTABLE: Fixed first load initialization
370- PS2: Added Multitap support (up to 8 players)
371- PS2: Fix for not recognized digital and other non-standard controllers
372- PS2: Fix Quitting from RA
373- PS2: Add Audio mixer
374- REWIND: Prevent 'Rewind Frames' from being set to '1' incorrectly on load content
375- RUNAHEAD: Add Run-Ahead Toggle hotkey with notifications
376- RBUF/ANIMATIONS: Simplify gfx_animation by switching from dynarray to rbuf
377- RBUF/CORE UPDATER: Replace static entries array with dynamic array via RBUF library
378- RBUF/M3U: Replace static entries array with dynamic array via RBUF library
379- SENSORS:  Android (crash-)fixes/improvements + add option to disable sensor input
380- SDL2/VIDEO: Get the SDL2 video driver to work in Wayland/KMS
381- SAVESTATES: Adding savestate garbage collector for autoincrement stavestates. As some issues indicate, there's an issue with
382the autoincrement save slot feature: slot index will increase and very old saves won't be deleted. This adds support to delete old save states with a user defined
383save state limit (global). Instead of wrapping around the slot counter it will simply delete the oldest save, since it is simpler. For now there's a limit of one deletion per save, which ensures a user cannot delete many saves by accident if they set the limit too low.
384- SAVESTATES/SAVEFILES: Ensure save file and playlist compression is disabled by default
385- SHADERS: Add option to remember last selected shader preset/shader pass directories
386- SHADERS: Use last selected shader preset directory when changing shaders via previous/next hotkeys
387- SHADERS: Remove Parameters line
388- SHADERS: Shaders fix for duplicate parameters loading bug
389- SHADERS: Fix Crash change num shader passes in UI
390- SHADERS/SLANG: Fix slang shaders with rotation
391- STREAMING/FFMPEG: Add Facebook Game Stream option (for embedded ffmpeg core-enabled RetroArch builds)
392- SWITCH: Fix input bind icons being off by one line
393- SWITCH: Fix audio issues
394- TLS/SSL: Add BearSSL support, as alternative to mbedTLS
395- VIDEO: AddVariable BFI (Black Frame Insertion)
396- VIDEO/DRM GO2: Dynamic resolution support
397- VIDEO FILTERS: Video filter optimisations
398- VIDEO FILTERS: Add several LCD-effect video filters
399- VIDEO FILTERS: Gameboy/Dot_Matrix video filters: Add XRGB8888 support
400- VIDEO FILTERS: Add Normal4x video filter
401- VIDEO FILTERS: Add 'Upscale_256x-320x240' video filter
402- VIDEO FILTERS: Add 'Upscale1.5x' video filter
403- VITA: Disable temporarily VitaGL
404- VITA: Fix bubble name
405- VITA: proper handling of boot params
406- VITA: Default menu scale 1.5x to improve readability
407- WIFI/LAKKA: Add a proper WiFi menu, with Enable/Disable & Disconnect options. This also allows WiFi passwords to be remembered. The underlying tool (connman) allows to store passswords (that's why it auto connects whenever you boot a Lakka device), so we expose this so that the user does not have to re-input the pass when connecting to a saved wifi.
408- WII/HID: Added HID support for HORI mini wired ps4 gamepad
409- WINDOWS: Add support for accelerators to main win32 message loop
410- WINDOWS: Add accelerators for Open (Ctrl+O) and Fullscreen (Alt+Enter)
411- WINDOWS: Fixes some file I/O failures on Windows when paths are longer than 260 characters.
412- WINDOWS: Fix crashing on startup on Windows when using Chinese Simplified language.
413- WINDOWS/XP: The OpenGL 1 video driver is now the default for maximum backwards compatibility upon first startup. It's of course always possible for the user to change this.
414- WINDOWS/MENUBAR: Load accelerators, Localize Win32 menu items to current language, and display shortcut keys
415- WINDOWS/MENUBAR: Add 'Reinit' to Menubar
416- WINDOWS/MSVC: Fix rewind crash on MSVC build when using SSE2
417- UWP: Don't default to XMB menu by default, default to Ozone instead
418- UWP/VFS: Use Win32 file APIs when possible - better file I/O performance
419- WIIU/FILEIO/PERFORMANCE: Faster startup times - remove the path_is_valid() call when loading textures
420- WIIU: Fix touchscreen mouse emulation
421
422# 1.9.0
423- 3DS: Fix sound crackling when paused
424- ANDROID/VIBRATION: Fixes "Vibrate on Key Press" having no effect on Android devices, which occurred because only the off time/strength was defined in what should have been a pair of off/on values
425- AUTOCONFIG: Ensure correct directory is used when saving autoconfig profiles
426- BLUETOOTH: Add a Bluetooth driver (Lakka-only for now)
427- CHEATS: Fix for wrong number of remaining cheat search matches on some machines
428- CHEEVOS: Option to play sound on achievement unlock.
429- CHEEVOS: Upgrade to rcheevos 9.1
430- CHEEVOS: Restore display of unlocked achievements across hardcore modes
431- CHEEVOS: Hash buffered data when available
432- CHEEVOS: Fix 'Auto Save State freezes RetroArch while Cheevos is enabled'
433- CORE OPTIONS: Pressing OK (or clicking/tapping) on a 'boolean toggle' core option no longer opens a drop-down list. The value now toggles directly, just like boolean options everywhere else in the menu
434- CORE OPTIONS: Toggling an option that changes the number of core options being displayed (i.e. things like `Show Advanced Audio/Video Settings) no longer resets the navigation pointer to the start of the list
435- CORE OPTIONS: Before, RetroArch would identify core option values as being 'boolean' if they had labels matching the specific strings enabled or disabled. Most core devs would abide by this, but not always... As a result, we sometimes would end up with misidentified values, with all kinds of Enabled, Off, True, etc. strings littering the menu, in place of proper toggle switches. All boolean-type value labels are now detected, and replaced with standard ON/OFF strings.
436- CLI: A new command line option --load-menu-on-error has been added
437- CRT: On the fly CRT porch adjuments - these changes allow a user to adjust how the porch algorithm generates the 15khz/31khz output. Giving the ability to change over/under scan.
438- CONFIG FILE: Optimise parsing of configuration files
439- D3D9/D3D11: Fix core-initiated D3D9/D3D11 driver switches
440- DRIVERS: Implemented protection to avoid setting critical drivers to nothing thus preventing the user from locking him/herself out of the program
441- EMSCRIPTEN: Fix input code to ignore unknown keys
442- FFMPEG CORE: Prevent seeking past the end of files (hang fix)
443- FILE I/O: VFS and NBIO interfaces will now use 64-bit fseek/ftell where possible, should allow for reading/writing to files bigger than 2GB
444- INPUT MAPPING/REMAPPING: Add input remap drop-down lists
445- IOS: Fixed iOS 6 version
446- IOS: Hide the home indicator as it obscures the content too frequently
447- IOS/METAL: Metal video driver now works on RetroArch iOS
448- IOS/METAL: Support getting video metrics to support proper touchscreen interactions
449- LOCALIZATION: Updates for several languages (synchronized from Crowdin)
450- MEMORY/LINUX/ANDROID: Fix reporting of free memory
451- MEMORY/WINDOWS: Fix reporting of free memory
452- MENU: Enlarged INT/UINT selection limit from 999 to 9999
453- MENU: Fix cursor forced to first entry after displaying lists
454- MENU: Make Notification Font option visible when Graphics Widgets are enabled
455- MENU/RGUI: Add optional 'toggle switch' icons
456- MENU/WIDGETS: Add optional widget-based 'load content' launch feedback animation
457- MENU/WIDGETS: Make notification font size option visible when graphics widgets are enabled
458- ODROID GO ADVANCE: Video driver - fix race condition with RGUI callback
459- PLAYLISTS: Change playlists to use dynamic arrays. Instead of a fixed initial 12MB memory allocation (99999 * 128 byte (on 64bit arch)), use a dynamically growing array
460- PLAYLISTS: Playlist base content directory paths - portable playlists
461- PLAYLISTS/SEARCH: Enhanced playlist search functionality
462- PLAYLISTS/DATABASE: Add 'Explore' view
463- PLAYLISTS/DATABASE/EXPLORE: Show system icons in explore view
464- PS2: Improve FPS Limiter
465- RUNAHEAD: Prevent runahead from being disabled *permanently* when an error occurs
466- SCANNER: Add more region codes for GameCube/Wii game detection
467- SHADERS/SLANG: Increased Slang max Parameters, Textures & Passes
468- VIDEO FILTERS/BLARGG: Make Blargg_snes filter customizable
469- WINDOWS/RAWINPUT: Fix invalid calls to dinput_handle_message when input driver is not set to dinput
470- X11: Add lightgun support
471
472# 1.8.9
473- AUTO SAVESTATES: Ensure save states are correctly flushed to disk when quitting RetroArch (fixes broken save states when exiting RetroArch - without first closing content - with 'Auto Save State' enabled)
474- BUILTIN CORES: Builtin cores like ffmpeg and imageviewer would previously try  to erroneously load a dynamic core named 'builtin' - this would fail and would just be a wasteful operation - this now skips dylib loading in libretro_get_system_info for builtin cores
475- CHEEVOS: Report API errors when unlocking achievements or submitting leaderboards
476- CHEEVOS: Support less common file extensions
477- CHEEVOS: Disable hardcore mode when playing BSV file
478- CHEEVOS: Correctly report unlocked non-hardcore achievements when hardcore is paused
479- CHEEVOS/M3U: Bugfix - did not handle absolute/relative paths in M3U files correctly before
480- CHEEVOS/M3U: Bugfix - it didn't handle comments/directives
481- CHEEVOS/M3U: Bugfix - it doesn't handle trailing whitespace
482- CHEEVOS/M3U: Bugfix - failed when loading M3U files with certain line endings
483- CORE MANAGEMENT: Add 'core management' menu (Settings -> Core)
484- CORE MANAGEMENT: Add option to backup/restore installed cores
485- CORE MANAGEMENT: Improved core selection logic
486- CORE INFO: Search search optimisations
487- CORE DOWNLOADER: Rename 'Core Updater' to 'Core Downloader'
488- CORE DOWNLOADER: Add 'Show Experimental Cores' setting under Settings > Network > Updater
489- CORE DOWNLOADER: Core licenses are now shown for all entries in the Core Updater menu
490- CORE DOWNLOADER: Pressing RetroPad select on a Core Updater entry will now display any text in the description field of its info file
491- CORE DOWNLOADER: Installed cores are now highlighted via a [#] symbol
492- CORE DOWNLOADER: Pressing RetroPad start on a selected, installed entry opens the Core Information menu (when using Material UI, swiping left or right triggers the same action). This means we can now view bios info etc. - and more importantly delete cores - without jumping through all the hoops of loading a core first and navigating all over the place
493- CORE DOWNLOADER/UPDATER: Add option to automatically backup cores when updating
494- DISK CONTROL: Enable 'Load New Disc' while disk tray is open
495- INPUT: Added a hotkey delay option to allow hotkey input to work properly when it is assigned to another action
496- INPUT: Remove 'All Users Control Menu' setting, was buggy and will be properly reintroduced after input overhaul
497- LINUX: Set default saves/save states/system paths
498- LOCALIZATION: Add Persian language
499- LOCALIZATION: Add Hebrew language
500- LOCALIZATION: Add Asturian language
501- MENU: Proper line wrapping for message dialog boxes
502- MENU/HOTKEYS: Add sublabels to all hotkey bind entries
503- MENU/QUICK MENU: Suppress the display of 'empty' quick menu listings when closing content
504- MENU/OZONE: Performance improvements
505- MENU/SDL: Add mouse controls
506- OPENGL1/VITA: Initial changes for HW context without FBO
507- OVERLAYS: Add options for moving the on-screen overlay
508- PLAYLISTS/WINDOWS: Fix core path entries in image/video/music history playlists
509- PS2: Add back CDFS support
510- SDL/GL: Advertise GLSL support
511- VIDEO/WIDGETS: Fix heap-use-after-free errors, leading to memory corruption
512- VITA: Added custom bubbles support
513- VITA: VitaGL update
514- VULKAN/WSI: Better frame pacing
515- VULKAN/WSI: Fix Intel Mesa being broken when using Fences, we have to use Semaphores to acquire the swapchain or the entire GPU stalls
516- VULKAN/WSI: Add support for either using fences or semaphores when syncing
517- VULKAN/WSI: Prefer using semaphores for integrated GPUs as it promotes better throughput over fences
518- VULKAN/WSI/ANDROID: Do not use mailbox emulation on Android
519- UWP/XBOX: Potentially improve performance by enabling 'Game Mode'
520
521# 1.8.8
522- AUDIO/JACK: Fix regression introduced after 1.8.4 - would hang at startup
523- CHEEVOS: Disable hardcore when cheats are enabled
524- CHD: Return false when special track cannot be found
525- DISCORD/MATCHMAKING: Fix Discord 'Ask To Join' functionality
526- FILE PATH: Various file path handling optimisations
527- FONT: Fix Arabic, Chinese and Korean font rendering
528- INPUT MAPPING/REMAPPING: Restore broken 'reset to default' functionality with RetroPad 'start' button
529- INPUT MAPPING/REMAPPING: Fix 'reset to default' action for analog sticks and undefined core inputs
530- LOCALIZATION: Update Arabic translation
531- LOCALIZATION: Update Chinese (Simplified) translation
532- LOCALIZATION: Update Chinese (Traditional) translation
533- LOCALIZATION: Update German translation
534- LOCALIZATION: Update Greek translation
535- LOCALIZATION: Update Spanish translation
536- LOCALIZATION: Update French translation
537- LOCALIZATION: Update Italian translation
538- LOCALIZATION: Update Japanese translation
539- LOCALIZATION: Update Korean translation
540- LOCALIZATION: Update Dutch translation
541- LOCALIZATION: Update Polish translation
542- LOCALIZATION: Update Portuguese Brazilian translation
543- LOCALIZATION: Update Russian translation
544- LOCALIZATION: Update Turkish translation
545- LOCALIZATION: Update Vietnamese translation
546- LOCALIZATION: Add Slovak translation
547- MENU: Small buffer optimizations
548- MENU/THUMBNAILS/BUGFIX: Fix heap-use-after-free error
549- MENU/OZONE: Add option to sort playlists after name truncation
550- MENU/OZONE/ANDROIDTV: Default to Ozone menu driver
551- MENU/OZONE/ANDROID: Gamepad-like devices default to Ozone now (Shield Portable)
552- NETPLAY: Lower announcement rate
553- OVERLAYS: Fix memory leak when loading overlays
554- SHADER PRESETS: Improved shader preset dirs
555- TIME/DATE: Enable configuration of date seperator in clock and runtime 'last played' displays
556- VITA: Fix upside-down vertical games
557- UWP: Enable playlist and savefile compression by default (because of slow file I/O)
558- WIIU: Gamepad hotplugging support
559- WIIU: Theoretical multi-gamepad support
560- VIDEO/WIDGETS: Fix overlapping text when simultaneous pop-up notifications and core/shader messages are being displayed
561- X11: Fix crash in x11_display_server_get_screen_orientation
562- X11/XSHM: Allow X11/XHSM video driver to operate without SHM extension
563- X11/XSHM: Fix compatibility with X11 input driver
564- XVIDEO: Fix keyboard input initialization
565- XVIDEO/XWAYLAND: Fix XVideo support on xwayland (by supporting I420 and YZ12)
566
567# 1.8.7
568- 3DS: Add IDs for Frodo
569- 3DS: Enable basic networking / cheevos
570- CHEEVOS/BUGFIX: Opening achievements list would crash RetroArch with badges enabled (on new games)
571- CHEEVOS: Option to start a session with all achievements active
572- CHEEVOS: Don't perform unnecessary cheevos initialisation when cheevos are disabled. Should reduce startup times when loading content.
573- CORE OPTIONS: Disable 'Use Global Core Options File' by default
574- DOS/DJGPP: Add 32bit color support for cores
575- GLCORE: Switch to glcore video driver when requested by a core
576- LINUX/XDG: Use GenericName correctly in desktop entry
577- MAC/COCOA: Fix mouse cursor tracking
578- MENU/MATERIALUI: Add desktop-style playlist view mode
579- MENU/MATERIALUI/DESKTOPVIEW: When scrolling playlists, show last selected thumbnails while waiting for next entry to load
580- MENU/MATERIALUI: Limit tab switch rate when input repeat is active
581- MENU/OZONE: Fix sidebar playlist sort order when 'Truncate Playlist Names' is enabled
582- MENU/RGUI: Adjusted menu defaults, adjusted default scrolling speed
583- MENU/RGUI: Enable custom wallpaper when menu size is reduced at low resolutions
584- MENU/XMB: Limit tab switch rate when input repeat is active
585- NETPLAY: Fix regressions introduced in 1.8.5
586- RGUI: Add option to always stretch menu to fill the screen
587- WIIU: Enable graphics widgets
588
589# 1.8.6
590- 3DS: Add IDs for UZEM, TGB Dual, and NeoCD
591- 3DS: Fix font driver horizontal text alignment
592- 3DS: Allow button presses up to INPUT_MAX_USERS - this enables the 3DS to bind and use buttons and axis for users up to the maximum set by 'Max Users' in the input settings menu.
593- 3DS: Disable video filter if upscaled resolution exceeds hardware limits. The 3DS has a maximum video buffer size of 2048x2048. This is sufficient for every core that it supports, but when using software video filters the core output resolution is doubled. This is made worse by the fact that the video filter upscaling buffer size is dependent upon the maximum output resolution of the core - which in some cases is very large indeed (e.g. pcsx-rearmed sets a maximum width of 1024, for enhanced resolution support). The 3DS has very limited 'linear memory' for graphics buffer purposes, and a large base core buffer + video filter buffer can easily exceed this - which may also disable video output, or cause a crash. This PR very simply adds a 3DS-specific check to the video filter initialisation: if the resultant upscaling buffer exceeds the hardware limitation, then the filter is automatically disabled.
594- 3DS/FONT/BUGFIX: Text colour was wrong: the RGBA channels were muddled, and R was always set to 255
595- 3DS/FONT/BUGFIX: When drawing multiline strings, the line spacing was completely incorrect
596- 3DS/FONT: Improves the appearance of the drop shadow effect on notification text.
597- 3DS/ARCHIVE/7Z: Re-enable 7zip support.
598- ARCHIVE/ZIP: Expand functionality of 'rzip_stream' interface. This PR expands the functionality of the new rzip_stream archived stream interface such that it now has almost complete feature parity with the standard file_stream interface, and can therefore be used as a drop-in replacement in most situations
599- AI SERVICE: Hide redundant entries when service is disabled
600- AI SERVICE: Added in auto-translate support
601- AI SERVICE: support for NVDA and SAPI narration
602- AUTOCONFIG: Use correct port index in input device configured/disconnected notifications
603- BUGFIX: Fix race condition where task could momentarily not be in the queue when reordering
604- CHEEVOS/BUGFIX: Prevent null reference rendering achievement list while closing application
605- CHEEVOS/BUGFIX: Report non-memorymap GBA cores as unsupported
606- COMMANDLINE: Advise against using -s and -S variables on the command line. …
607- CONFIG FILE: Only write config files to disk when parameters change
608- CONFIG FILE/BUGFIX: RetroArch no longer crashes when attempting to save a config file after 'unsetting' a parameter (currently, this can be triggered quite easily by manipulating input remaps)
609- CONFIG FILE/BUGFIX: When using Material UI, RetroArch no longer modifies the wrong setting (or segfaults...) when tapping entries in the Quick Menu > Controls input remapping submenu
610- CONFIG FILE/BUGFIX: Quite a few real and potential memory leaks have been fixed.
611- CHD: Fixes a crash caused by ignoring the return value from one of the CHD library functions
612- FASTFORWARDING: A new Mute When Fast-Forwarding option has been added under Settings > Audio. When enabled, users can fast forward without having to listen to distorted audio.
613- GLCORE/SLANG: Set filter and wrap mode correctly when intialising shader textures. Before, the glcore shader driver did not correctly initialise loaded textures. The texture filtering and wrap mode were forced on texture creation, but these settings were not recorded - subsequent updates would set garbage values, that would resolve to linear filtering OFF and wrap mode = CLAMP_TO_EDGE.
614- LOCALIZATION: Update Japanese translation
615- LOCALIZATION: Update Spanish translation
616- LOCALIZATION: Update Portuguese Brazilian translation
617- IOS: Set audio session category to ambient so sound does not get cut off on interruption (phone call/playing back audio)
618- MAC/IOHIDMANAGER/BUGFIX: Fix for Mayflash N64 adapter. In case last hatswitch does not match cookie. For the mayflash N64 adapter, I was getting a BAD EXC ADDRESS (in mac OS 10.13) for this line (tmp was NULL). Retroarch would crash in the gui if I pressed a button from the DPAD on controller 2. With this change, it no longer crashes in the gui and still registers the button push.
619- MAC/COCOA: Fix mouse input - this brings back two lines of code that have been removed over time but
620appear to be required in order for mouse input to work on macOS
621- METAL/BUGFIX: GPU capture on Metal/OSX/NVidia could crash
622- METAL/BUGFIX: Taking screenshots could capture black frames. Resulting PNG screenshots were black.
623- METAL/BUGFIX: Corrupted image due to incorrect viewport copy when taking screenshot
624- MENU: Prevent font-related segfaults when using extremely small scales/window sizes
625- MENU: Fix 'gfx_display_draw_texture_slice()'
626- MENU/FONT: Enable correct vertical alignment of text (+ font rendering fixes)
627- MENU/RGUI: Enable automatic menu size reduction when running at low resolutions (down to 256x192)
628- MENU/OZONE: Update timedate style options for Last Played sublabel metadata
629- MENU/OZONE: Hide 'Menu Color Theme' setting when 'Use preferred system color theme' is enabled
630- MENU/OZONE: Fix thumbnail switching via 'scan' button functionality
631- MENU/OZONE: Prevent glitches when rendering Ozone's selection cursor
632- MENU/OZONE: Enable proper vertical text alignment + thumbnail display improvements
633- MENU/OZONE: Enable second thumbnail/content metadata toggle using RetroPad 'select'
634- MENU/OZONE: Refactor footer display
635- MENU/OZONE: Hide thumbnail button hints when viewing file browser lists
636- MENU/OZONE/INPUT/BUGFIX: Fix undefined behaviour when using touch screen to change input remaps
637- MENU/OZONE/INPUT/BUGFIX: It turns out that Windows reports negative pointer coordinates when the mouse cursor goes beyond the left hand edge of the RetroArch window (this doesn't happen on Linux, so I never encountered this issue before!). As a result, if Ozone is currently not showing the sidebar (menu depth > 1), moving the cursor off the left edge of the window generates a false positive 'cursor in sidebar' event - which breaks menu navigation, as described in #10419. With this PR, we now handle 'cursor in sidebar' status correctly in all cases
638- MENU/OZONE/INPUT/BUGFIX: Pointer input is now correctly disabled when message boxes are displayed
639- MENU/XMB: Fix thumbnail switching via 'scan' button functionality
640- ODROID GO ADVANCE: Add DRM HW context driver
641- PSL1GHT: Initial port
642- PSL1GHT/KEYBOARD: Implement PSL1GHT keyboard
643- PLAYLIST/BUGFIX: Improve handling of 'broken' playlists - RetroArch will no longer segfault when attempting to run content via a playlist entry with missing path or core path fields.
644- PLAYLIST/BUGFIX: Improve handling of 'broken' playlists - when a playlist entry has either core path and/or core name set to NULL, DETECT or an empty string, attempting to load content will fallback to the normal 'core selection' code (currently this happens only if both core path and core name are DETECT - this is wholly inadequate!)
645- PLAYLIST/BUGFIX: RetroArch will no longer segfault when attempting to fetch content runtime information when core path is NULL
646- PLAYLIST/BUGFIX: Core name + runtime info will only be displayed on playlists and in the Information submenu if both the core path and core name fields are 'valid' (i.e. not NULL or DETECT)
647- PLAYLIST/BUGFIX: When handling entries with missing path fields, the menu sorting order now matches that of the playlist sorting order (at present, everything goes out of sync when paths are empty). Moreover, entries with missing path fields can now be 'selected', so users can remove them (currently, hitting A on such an entry immediately tries - and fails - to load the content, so the only way to remove the broken entry is via the Playlist Management > Clean Playlist feature)
648- PLAYLIST: Add optional per-playlist alphabetical sorting
649- PLAYLIST: Omit whitespace when writing compressed JSON format playlists
650- PLAYLIST: Add optional playlist compression
651- QNX: Support analog sticks
652- SAVESTATES: Add optional save state compression (enabled by default now)
653- SRAM: Add optional save (SRAM) file compression
654- SCANNER: Prevent redundant playlist entries when handling M3U content
655- SCANNER/ANDROID: Fix content scanner being unable to identify certain games from CHD images (raw data sector/subcode)
656- TASKS/BUGFIX: Fix task deadlocks
657- TASKS/SCREENSHOT/BUGFIX: Fix heap-use-after-free error when widgets are disabled
658- TVOS: Disable overlays for tvOS, fix app icon
659- VIDEO/WIDGETS/BUGFIX: The font ascender/descender metrics added in #10375 are now used to achieve 'pixel perfect' vertical text alignment
660- VIDEO/WIDGETS/BUGFIX: Message queue text now uses its own dedicated font. Previously, a single (larger) font was used for all active widgets, and this was scaled down for message queue items. This 'squished' the text a little; more importantly, when using the stb font renderers (on Android. etc.) it caused ugly artefacts around the edges of glyphs due to pixel interpolation errors. Now that a correctly sized font is used, the message queue is always rendered cleanly.
661- VIDEO/WIDGETS/BUGFIX: Previously, each widget font was 'flushed' (font_driver_flush()) at least once a frame. This is quite a slow operation. Now we only flush fonts if they have actually been used.
662- VULKAN/BUGFIX: Fix display of statistics text
663- UNIX/BUGFIX: Fix overflow when computing total memory on i386
664- WIIU/BUGFIX: Fix font driver horizontal text alignment
665- WIIU/BUGFIX: Fix non-vertex coordinates in draws using tex shader
666- WIIU/BUGFIX: Update and fix meta.xml file for the WiiU release. This change makes it so the information from the meta.xml file parsed for the WiiU's Homebrew Launcher is displayed properly.
667
668# 1.8.5
669- 3DS: Keep the bottom screen hidden on sleep/wakeup. When the 3DS wakes back up after being closed, the bottom screen needs to be reinitialized. Adding the condition here will cause the screen to be turned on or off based on the state of ctr_bottom_screen_enabled, as you'd expect
670- ANDROID/CHROMEBOOK/CRASH: Fix Chromebook crashes (on x86 x64) when touching the screen
671- BUGFIX: Prevent double input when using 'return' key (hardware) to close on-screen keyboard
672- BUGFIX: Fix mouse capture hotkey not working
673- BUGFIX: Avoid overflow when calculating multiplying performance counter
674- BUGFIX: Retroarch overlay displaying "Game remap file loaded." on the overlay instead of "Core remap file loaded." when only a core remap file is present
675- CHEEVOS/BUGFIX: Achievement triggers could cause Retroarch to Crash
676- CHEEVOS: Don't block Sameboy core because it only exposes some memory
677- CHEEVOS: Support for extended Sega CD memory
678- CHEEVOS: Show RetroAchievements Hash in content information list
679- CHEEVOS: If the core says it's exposing SYSTEM_RAM, give it the benefit of the doubt
680- CHEEVOS: RetroAchievements rich presence for RA.org website/Discord
681- CHEEVOS: Reset token when username or password changes
682- CHEEVOS: Display measured progress on locked achievements
683- CHEEVOS: Queue multiple popups
684- CHEEVOS: Add delay retries to leaderboard submits
685- CHEEVOS: Prevent buffer overflow when encountering an unknown macro
686- CORE UPDATER: Prevent hang when fetching core list if HTTP transfer fails
687- DISK CONTROL: Add disk labels to 'disk inserted' notifications
688- EMSCRIPTEN: Recreate input event listeners properly
689- FFMPEG CORE: Fix crash on seeking when using HW decoding in some cases
690- LIBRETRO: Add disk control interface API extension
691- LINUX: Avoid possible crash when running retroarch at startup
692- LINUX/GLX: Fix threaded video crashes/instability because of GLX OML sync callbacks
693- LOCALIZATION: Update French translation
694- LOCALIZATION: Update Korean translation
695- LOCALIZATION: Update Polish translation
696- LOCALIZATION: Update Spanish translation
697- LOCALIZATION: Update Portuguese Brazilian translation
698- MENU: Add Menu Scroll Acceleration option
699- MENU: Automatically select currently checked item when opening drop-down lists
700- MENU: Fix smooth (vertical) line ticker scroll speed
701- MENU: Don't flush on override/remap messages
702- MENU/DATETIME: Adds some new timedate styles that follow the DD/MM/YYYY format, found in several European countries
703- MENU/DATETIME: Modifies the existing translation files in order to accommodate the new options that are now available
704- MENU/DATETIME: Reorders the timedate view options based on a decreasing order of the quantity of information displayed, so that they are more convenient to switch around and easily categorized
705- MENU/BUGFIX: Fix bug - if you were in XMB and you would set menu driver to RGUI, you could no longer go to the left or right tab
706- MENU/MATERIALUI: Add option to remove navigation bar
707- MENU/OZONE: Add DPI-based scaling
708- MENU/OZONE: Add rudimentary pointer support
709- MENU/OZONE: Add 'Nord' and 'Gruvbox Dark' themes
710- MENU/OZONE/POINTER: Pointer can be used to switch between sidebar and entries list
711- MENU/OZONE/POINTER: Pointer can be used to select sidebar and entries list items
712- MENU/OZONE/POINTER: Both sidebar and entries list can be scrolled by dragging
713- MENU/OZONE/POINTER: Clicking/pressing the header or footer produces a 'cancel' action
714- MENU/OZONE/POINTER: Cursor focus follows mouse pointer from sidebar to entries list (and vice versa)
715- MENU/OZONE/POINTER: In entries list, item under cursor is automatically selected (with some fudging to ensure this doesn't break mouse wheel scrolling)
716- MENU/OZONE/POINTER: In sidebar, item under cursor is not automatically selected (this is too jarring)
717- MENU/RGUI: Add 'Flux' theme
718- MENU/XMB: New color themes 'Cube Purple', 'Family Red', etc
719- NETPLAY/MENU/BUGFIX: Fix Netplay Stateless Mode doesn't save. Affects other netplay settings which can be overridden by commandline option
720- ODROID GO ADVANCE: Rotation support
721- NETPLAY/ROOMS/BUGFIX: Prevent out-of-bounds array indexing when displaying/selecting netplay rooms in menus
722- SCANNER: Add 'Arcade DAT Filter' Option
723- SCANNER: Add scanning Korea and Asia PS1 discs
724- SCANNER: Add support for scanning PSP Korean
725- VIDEO: Set hardware 'Bilinear filtering' off by default
726- VIDEO/WIDGETS: Widgets are now menu-independent
727- VIDEO/WIDGETS: Allow notifications to use full screen width when not displaying menu
728- VIDEO/WIDGETS: DPI-based scaling
729- VIDEO/WIDGETS: Fix volume widget scaling
730- VIDEO/WIDGETS: Add independent widget scale override settings for fullscreen/windowed modes
731- VIDEO/WIDGETS/BUGFIX: Prevent improper display of (old style) OSD text when widgets are enabled
732- VIDEO/WIDGETS/THREADED/BUGFIX: Fix issue - corruption of menu widgets when running some cores (e.g. VICE) with threaded video enabled
733- WIFI/CONNMANCTL: Display more characters from SSID
734
735# 1.8.4
736- ANDROID/BUGFIX: Prevent crash when Android device is minimized and you go back to the app
737- CAMERA/BUGFIX: Fix crash when a core requires the camera driver and the platform only has a null driver. This would crash mgba on Wii for example
738- DISK CONTROL: Cycle Disk Tray now becomes Eject Disk or Insert Disk depending upon current drive state
739- DISK CONTROL: Current Disk Index is only shown when the current disk has been ejected
740- DISK CONTROL: The old Insert Disk entry has been changed to Load New Disk, and is only shown when a disk is currently inserted (this is because loading a new disk from the filesystem - i.e. bypassing the m3u playlist disk index interface - automatically ejects and inserts disks, and so cannot be done while the virtual drive is empty)
741- DISK CONTROL: The Current Disk Index may now be set more easily via a drop-down list.
742- DISK CONTROL: Selecting Eject Disk automatically moves the menu selection to the Current Disk Index entry
743- DISK CONTROL: Selecting an index via the Current Disk Index drop-down list automatically moves the menu selection back to Insert Disk
744- DISK CONTROL: The Disk Control entry sublabels have been changed for greater clarity
745- DISK CONTROL: All of the horrendous notification spam has been removed. Notifications are now only shown in the event of an error, or when the menu itself does not provide sufficient visual feedback (note that using hotkeys to swap disks still produces the old style notifications, since this is typically only done while content is running - i.e. no menu). The duration of disk-related info notifications has also been reduced to a more sane level.
746- DISK CONTROL: A new Resume content after changing disks option has been added under Settings > User Interface. When enabled (default setting), content is resumed automatically after selecting either Insert Disk or Load New Disk (when disabled, the menu remains open, obviously...)
747- DISK CONTROL/BUGFIX: The Disk Control menu now has the correct title
748- DISK CONTROL/BUGFIX: Selecting a disk via the Load New Disk file browser no longer flushes the user back to the top level menu (it now correctly returns to the Disk Control menu)
749- LIBNX/SWITCH: Updated libnx integration to v3.0.0. This also cherry-picks libnx commit 583d6bb92dcbb33b6bb4a0fa1a9df6e3725d6ef6, which should fix the requirement having to turn rumble off and on in the system settings once per reboot
750- PLAYLISTS: Add 'Clean Playlist' option
751
752# 1.8.3
753- ANDROID/BUGFIX: Fix 'Install or Restore Core' regression
754- BUGFIX: Ensure core info is always initialised when calling 'drivers_init()'. This bug could prevent cores from doing content runtime logging
755- BUGFIX/MENU: History size can only be set to 1 at a minimum
756- BUGFIX/MENU: (XMB/OZONE) Fix 'quick menu' detection. XMB would not display savestate thumbnails in the quick menu if it was accessed via the main menu
757- BUGFIX/CRASH/CORE UPDATER: Fix potential double free error
758- BUGFIX/CRASH/OPENGL/WINDOWS: Fix regression in 1.8.2 that would cause GL-based cores to fail because it would try to erroneously load libGLESv2.dll instead of OpenGL32.dll (cores affected: VitaQuake 2/3/Dhewm3, possibly more)
759- BUGFIX/MENU/DESKTOP UI: Show desktop menu on startup does not launch Qt UI on Linux
760- BUGFIX: Entries in the Playlist Thumbnails Updater list were displaying improper sublabels. I have no idea when this broke... The issue is now fixed
761- CHEEVOS: Don't disable achievement when AddAddress generates an out-of-range address
762- CHEEVOS: Don't reset triggers/leaderboards that failed to load
763- CHEEVOS: Don't count unsupported achievements as unlocked
764- CORE UPDATER: Display number of cores updated when updating installed cores
765- DINGUX: Initial port
766- D3D11: Block FL9_3 devices from D3D11 driver because they don't work anyway (current D3D11 driver uses SM4.0 which requires FL10_0 and up)
767- D3D11: Fallback to GL driver when D3D11 fails
768- EMSCRIPTEN: Fix assets
769- HISTORY/FAVORITES: Bump up default to 200 entries from 100
770- FFMPEG CORE: Implement packet buffer, fixes MP4 video playback for many files
771- LOCALIZATION: Update Italian translation
772- LOCALIZATION: Update Polish translation
773- LOCALIZATION: Update Russian translation
774- LOCALIZATION: Update Spanish translation
775- MENU: Added 'Hosting' menu under Netplay menu
776- MENU: Added 'Subsystems' menu
777- MENU/FILEBROWSER: Fix file selection issues when starting from (or navigating to) the top level directory
778- MENU/WIDGETS: Prevent looping of task title text
779- RASPBERRY PI: Fix BGRA8888 color inversion issues in the menu and elsewhere with VideoCore GL drivers
780- NETPLAY/RELAY: Add Sao Paulo (Brazil) relay server
781- NETPLAY/RELAY: Fix the “spectator” bug when using the relay server – When a player switches into the spectator mode (pressing “i”) while using the relay server, all players will disconnect.
782- NETPLAY/RELAY: Overall stability has improved. Fixed a memory leak that would cause the relay server to become unresponsive after some time.
783- NETPLAY/RELAY: Fixed critical bug that would cause all players to be disconnected from the relay server if one player was leaving the game. That bug had been open for one year and we were finally able to fix it.
784- SWITCH/LIBNX/BUGFIX: Fix onscreen keyboard input regression
785- THUMBNAIL UPDATER: When waiting for individual thumbnail file http transfers to complete, the task status checking is more accurate. This uses the same method as the new core updater - we now wait until the task is 'really' complete, instead of relying on the (slightly nebulous) 'task finished' state
786- UWP: Add ANGLE support
787- UWP: Wire up get_metrics to the fake context of D3D9/10/11/12 driver, enabling proper scaling and mouse/touch gestures
788- VITA: Re-add Online Updater
789- VULKAN: Fix font driver 'vulkan_get_message_width()' function
790- VIDEO FILTERS: Only use threads when the number exceeds 1. Fixes race conditions with some CPU filters on Vita
791- WINDOWS: Add ANGLE support for x64, separate binary (for now?)
792
793# 1.8.2
794- BUG/CRASH/GLSLANG: Fix glslang crashing error - managed to reproduce an issue which has been plaguing
795users for a while, where glslang throws an assert after closing a game (and starting a new one). This would affect all video drivers that use Slang for shaders, such as D3D10/11/12/Vulkan/Metal
796- CHEEVOS: Display Unofficial and Unsupported achievement states
797- CHEEVOS: Pass RetroArch and core versions through User-Agent HTTP header
798- CHEEVOS: Use PSX.EXE if SYSTEM.CNF cannot be found
799- CHEEVOS: Prevent loading state while achievements are still being fetched from server
800- CHEEVOS: Pause hardcore if core doesn't support achievements
801- CHEEVOS/CRASH: Fix AddressSanitizer + CHD cause hard crash when Cheevos are enabled
802- CORE UPDATER: Only download when new core is available
803- CORE UPDATER: Add option to update all installed cores
804- DRM/KMS: Better detection for the current video mode
805- DYNAMIC RATE CONTROL: Support DRC even when using a vsync swap interval higher than 1
806- EMSCRIPTEN: Fix bug in Emscripten input code
807- EMSCRIPTEN: Changes to support upgraded emscripten SDK
808- FFMPEG CORE: Hardware accelerated video decoding
809- FFMPEG CORE: Implement send/receive encoding API, will allow for hardware accelerated AMD video encoding
810- FFMPEG CORE: The video FIFO can be removed, since we have a ring buffer in its place. This removes unneeded copy operations and as a positive side improves overall decoding speed. Makes 8k60p SW and 4k60p HW decoding feasible on many systems. For now the ring buffer is 32 images deep. This limitation will be removed, once audio and video decoder have their own packet handling.
811- INPUT: Fix 'Analog stick controls menu even if autoconfig disabled'
812- INPUT/TURBO: Added alternate Turbo-Mode 'Single Button' - For systems supporting only a single button, the turbo-button will toggle firing that button without the need to hold it. When holding the button turbo will be suspended and resumed when the button is released. Holding the button may have a different function to just tapping it.
813- IOS: Forcibly disable Threaded Video until UIWindow concurrency issues are fixed
814- INPUT/ANALOG: Fix radial analog deadzone scaling
815- INPUT/ANALOG: Implement proper analog button deadzone
816- INPUT/MENU: Analog stick controls menu even if autoconfig disabled
817- LOCALIZATION: Update Italian translation
818- LOCALIZATION: Update French translation
819- LOCALIZATION: Update Polish translation
820- LOCALIZATION: Update Portuguese Brazilian Translation
821- LOCALIZATION: Update Turkish translation
822- LINUX/LOCALIZATION: Correct Droid Sans Fallback font path in Linux. This should fix Chinese/Korean font display issues on Fedora/RHEL/CentOS/openSUSE/SLE
823- MENU/BUGFIX: When using a keyboard/gamepad/mouse wheel to navigate, the menu scroll position is always maintained and updated in a consistent (and expected) fashion
824- MENU/BUGFIX: When resizing the window, or changing the orientation of a mobile device, the current scroll position is correctly preserved
825- MENU/BUGFIX: All 'normal' pointer input is now inhibited when showing message boxes
826- MENU/BUGFIX: The pointer actions 'select' and 'cancel' both now properly close a message box if it is currently being shown
827- MENU/BUGFIX: Pointer 'select' and 'cancel' actions are now inhibited when an input bind dialog is active
828- MENU/INPUT: Change 'User' terminology to 'Port' for input binding
829- MENU/LINUX: Add proper drives to Load Content
830- MENU/MATERIALUI: Halt scrolling when pointer is pressed/stationary
831- MENU/MATERIALUI: Dual thumbnail view
832- MENU/MATERIALUI: Fullscreen thumbnail viewer for boxart
833- MENU/MATERIALUI: Scroll rapidly by press and holding the scrollbar
834- MENU/RGUI: New theme 'Flux'
835- MENU/OZONE: Thumbnails now have a fade-in animation
836- MENU/OZONE: Fullscreen thumbnail viewer for boxart and pictures
837- MENU/QT/WIMP: Fix dock titles getting cut off
838- MENU/XMB: Fullscreen thumbnail viewer for boxart and pictures
839- MENU/USABILITY: Selectively hide 'Disallow Non-Slave Mode Clients' if 'Allow Slave-Mode Clients' is disabled
840- MENU/USABILITY: Hide 'Show desktop menu on startup' if 'Desktop menu' setting itself is disabled
841- MENU/USABILITY: Reimplement Quick Menu - > Shaders -> Watch shader files for changes - can now be turned on/off through touch
842- MENU/USABILITY: Refactor Quick Menu - Controls - each port now has its own submenu
843- MENU/USABILITY: Quick Menu - Cheats - Delete All no longer requires five right button presses - this should fix this functionality for mobile touch users too
844- MENU/USABILITY: Hide Refresh Rate options when Threaded Video is enabled - these settings do nothing with Threaded Video
845- MENU/USABILITY: Hide Logging Verbosity levels behind Logging Verbosity
846- MENU/USABILITY: Get rid of 'Port Number' label for Port Binds screen
847- MENU/USABILITY/MOBILE: Should no longer crash when clicking on a cheat entry
848- MENU/USABILITY: Shader parameters now have a dropdown list
849- MENU/USABILITY: Shader passes now has a dropdown list
850- MENU/USABILITY: Video - Hide Windowed Mode settings selectively
851- MENU/USABILITY: Video - Hide Fullscreen Mode settings if windowed mode is not supported by context driver
852- MENU/USABILITY: Selectively hide Network Command Port
853- MENU/USABILITY: Selectively hide Relay Server Location
854- MENU/USABILITY: User Interface -> Appearance - Selectively hide XMB Horizontal Animation setting
855- MENU/USABILITY: Playlists - more selective hiding
856- MENU/USABILITY: Selectively hide Rewind Settings
857- MENU/USABILITY: Selectively hide Overlay Settings
858- MENU/USABILITY: Selectively hide FPS Update Interval based on Display Framerate being enabled
859- MENU/USABILITY: Selectively hide Onscreen Notifications BG Color Settings
860- MENU/USABILITY: Settings -> Logging - Hide 'Log To File Timestamp' if 'Log To File' is disabled
861- MENU/USABILITY: Video -> Scaling - Hide Custom Viewport X/Y when Integer Scale is enabled as description indicates
862- MENU/USABILITY: Achievement submenu - selectively hide
863- MENU/USABILITY: Settings -> Video -> Aspect ratio - selectively hide/show values based on whether you have Custom or Config selected
864- MENU/USABILITY: Settings -> Video -> Selectively hide Hard Sync
865- MENU/USABILITY: Settings -> Video -> Implement selective hiding for VSync and Hard Sync
866- MENU/USABILITY: Selective hiding of Runahead settings based on global setting
867- MENU/USABILITY: Add Input -> Haptic Feedback submenu
868- MENU/USABILITY: Add Input -> Menu Controls submenu
869- MENU/USABILITY: Settings -> Video -> Max Swapchain Images - Add OK action
870- MENU/USABILITY: Input - Implement OK action for Bind Hold, Turbo Period and Duty Cycle
871- MENU/USABILITY: Input - Hotkey Binds refactor
872- MENU/USABILITY: Move 'Press Quit Twice' and 'Menu Toggle Gamepad Combo' to Input -> Hotkey Binds
873- MENU/USABILITY: Video - Add sublabel for Video Output submenu
874- MENU/USABILITY:  If 'Favorites Tab' is disabled, don't show 'Add To Favorites' option in Quick Menu/Playlist menu
875- MENU/USABILITY: If On-Demand Thumbnail Downloader is enabled, hide 'Download Thumbnails' from playlist menu screen
876- MENU/USABILITY: Add Audio Driver setting to Audio -> Output
877- MENU/USABILITY: Add Audio -> Resampler settings
878- MENU/USABILITY: Add Audio -> Output and Audio -> Synchronization
879- OPENGL: Shaders are now working properly (only in OpenGL) when rotating both from Core API rotation and from menu video rotation. The fix is clearly visible with crt-royale for example
880- OPENGL: 1:1 PAR is now correct when rotating (both from Core API rotation and from menu video rotation, as you said, in the latter case you currently have to change Aspect Ratio after menu video rotation for it to work)
881- OPENGL: When using Custom Aspect Ratio and rotation (both from Core API rotation and from menu video rotation), Integer Scaling is now working properly (correct multiples of internal resolution). Even when Integer Scaling is not activated, the Custom AR width / height are now correctly labeled using (1x), (2x), ... suffixes. You also have to activate Integer Scaling after menu video rotation for it to work
882- OPENGL: For all other Aspect Ratio options, Integer Scaling and rotation (both from Core API rotation and from menu video rotation) are now working properly together (correct multiples of internal resolution). You also have to activate Integer Scaling after menu video rotation for it to work
883- OPENBSD/POWERPC: Should build now on OpenBSD PowerPC
884- PLAYLISTS: Pressing 'Start' or long touching a playlist will bring you to a Playlist submenu where you can set a default core, setup thumbnail view, delete the playlist, etc
885- OSX: Forcibly disable Threaded Video until NSWindow concurrency issues are fixed
886- PSP: Solving issue exiting RetroArch by HOME button
887- SCANNER: Manual scanner, not dependent on database files
888- SCANNER/MANUAL: Add option to scan inside archives
889- SCANNER/MANUAL: Enable automatic naming of arcade content via DAT files. This is compatible with DAT files in either Logiqx XML or MAME List XML format.
890- VIDEO: Do not reinit video driver on SET_SYSTEM_AV_INFO unless needed
891- VIDEO: Support DRC even when using a vsync swap interval higher than 1
892- VIDEO LAYOUT: Fixed XML parsing of attributes with spaces, should fix issues with several video layouts
893- VITA: GL1 driver support
894- VITA/VITA2D: Several improvements to Vita 2D driver - menu widgets implemented
895- VITA/VITA2D: Fix clipping and reduce number of calls
896- VULKAN/ANDROID: Workaround weird WSI return codes in landscape mode -  Android WSI wants you to use preTransform, and if it is not used correctly, Android 10 will return VK_SUBOPTIMAL_KHR, and we would create a new swapchain every frame. This workaround just ignores this error, since it's not really an error. A more "proper" fix is to use prerotate and modify the MVP matrices,
897which might help certain devices with crummy display processors
898- VULKAN/ANDROID: Recreate swapchain on orientation change. ANativeWindow getWidth/Height does not detect any changes when using
899Vulkan, so use the old onContentRectChanged callback to get notified when size changed. Use those values instead when figuring out how large swapchain to create
900- WINDOWS/XINPUT: Get rid of 128 byte device name limit for XInput device discover - when device name was too long, it would not be picked up by the XInput driver and would instead fallback to DirectInput
901- WINDOWS: ANGLE OpenGL ES 2 support
902- UWP: Fix crashes on startup / prompt for folder permissions when trying to load custom.ini
903- UWP: Fix - Mouse input is offset on high DPI monitors
904- UWP: Fix - Keyboard input hangs sometimes
905- UWP: Fix - Multi-touch support
906- UWP: Fix - Enable menu touch input by default
907- UWP: Fix - Get user language
908- UWP: Fix - Get CPU model name
909- UWP: Fix - Use GLUI instead of XMB on Windows Mobile 10
910- UWP: ANGLE OpenGL ES 2 support
911
912# (1.8.1)
913- BUGFIX/MENU: Fix menu rendering with Mali GPUs after changing video dimensions
914- CDROM: Adds pregap support to cdfs helper methods
915- CHEEVOS: Provides the new PCEngine hashing algorithm for RetroAchievements
916- LOCALIZATION: Update French translation
917- LOCALIZATION: Update Polish translation
918- LOCALIZATION: Update Spanish translation
919- MENU/MATERIALUI: Initial thumbnail support
920- MENU/MATERIALUI: Cutie / Virtual Boy theme added
921- MENU/MATERIALUI: Bugfix - Under certain extreme circumstances, entries with very long sublabel strings could have their text prematurely 'clipped' as the entry is scrolled beyond the top of the screen
922- MENU/MATERIALUI: Bugfix - Certain setting value strings were unnecessarily truncated (with a ...) when using smooth ticker text
923- MENU/XMB: Sunbeam theme added
924- SWITCH: Accelerometer, gyroscope and illuminance sensor support
925- VITA: Accelerometer and gyroscope sensor support
926
927# (1.8.0)
928- AI SERVICE: Added in fix for BMP returns to AI service. Added in label passing to AI service call
929- BSV: Fix BSV recording/playback
930- BUGFIX: Fix crash when setting Thumbnail Directory
931- BUGFIX/STABILITY: Set "Automatically Add Content to Playlist" to false by default, this was unstable on PS3 and Mac and other platforms potentially as well.
932- COMMON: Graceful driver switching for Windows and Linux
933- COMMON: Cache frame before converting 0RGB1555
934- LAKKA: Wi-Fi Access Point settings
935- MENU: Menu scaling improvements
936- MENU/MATERIALUI: There are no longer any animation glitches when 'wraparound' scrolling from the last entry in a list to the first, or when performing horizontal swipe navigation gestures on certain settings-type entries
937- MENU/MATERIALUI: List entries underneath the title and navigation bars are no longer highlighted when touching the title/navigation bars (this was only a cosmetic issue, but it was annoying...)
938- MENU/MATERIALUI: The current menu list is no longer reloaded when pressing the currently active tab on the navigation bar
939- MENU/MATERIALUI: The ticker text spacer has been set to a 'bullet' character (same as Ozone)
940- MENU/MATERIALUI: The default colour theme has been set to 'Ozone Dark'
941- MENU/MATERIALUI: Three new colour themes have been added.
942- MENU/MATERIALUI: A new Menu Transition Animation option has been added under User Interface > Appearance. When this is enabled, menu transition events are animated
943- MENU/MATERIALUI: The navigation bar is now shown at all times - i.e. it is an actual navigation tool, rather than a 'top-level-menu' curiosity
944- MENU/MATERIALUI: Two new context-sensitive buttons have been added to the navigation bar - back button and resume button
945- MENU/MATERIALUI: A new Auto-Rotate Navigation Bar option has been added under User Interface > Appearance. When enabled (this is the default setting), the navigation bar is moved to the right hand side of the screen when using landscape screen orientations.
946- MENU/MATERIALUI: The playlists tab is now correctly hidden when User Interface > Views > Show Playlist Tabs is disabled
947- MENU/MATERIALUI: Material UI now correctly readjusts its layout when screen orientation changes on mobile devices
948- MENU/MATERIALUI: Material UI now resizes in real-time when the user manually sets the Menu Scale Factor (this never worked properly with the old DPI override)
949- MENU/MATERIALUI: Material UI no longer leaks memory on 'context reset' (fonts were previously never free()'d)
950- MENU/MATERIALUI: A new Android-style 'system bar' has been added. This shows current core name, clock and battery level
951- MENU/MATERIALUI: A new search icon is shown on the title bar when viewing playlists and file browser lists. Pressing this launches the search interface
952- MENU/MATERIALUI: The title bar now uses a larger font, and the sublabel font has also been enlarged a little, to more closely align with Material UI standards
953- MENU/MATERIALUI: A number (quite a large number) of layout/spacing issues have been fixed
954- MENU/MATERIALUI: The existing colour theme handling code is not fit for purpose, so the whole lot got ripped out and reimplemented. In doing so, also adjusted all the theme colours to better match Material UI standards - with a few liberties taken for aesthetic purposes.
955- OSD: Fix fast forward indicator when not using menu widgets
956- PSP1: Remove duplicated FPS indicator on the screen
957- SWITCH: Make audren threaded audio driver the new default
958- VIDEO LAYOUT: Add video layout mame overlay compatibility. Enabled for Windows/Linux/OSX/iOS/Android/libnx. Only works with GL driver for now, no glcore yet
959
960# (1.7.9) (v2)
961- 3DS: Fix 3DS screen flickering when OSD is enabled
962- IOS: Fix crash that could happen at startup
963- MENU/MATERIALUI: Change DPI scaling back to original - too many issues with current implementation, requires a redesign
964
965# (1.7.9)
966- AI SERVICE: Image mode is now much faster, it now saves the image in-memory in PNG format then passes it along to the translation service
967- BUGFIX: Touch input - When using an overlay to toggle the quick menu on touchscreen devices, we no longer get 'phantom' menu input - i.e. the old bug of hitting the toggle and instantly resuming content (or performing a save state) is fixed
968- BUGFIX: Networking - RetroArch crashed when pressing left while Relay Server Location entry was selected
969- BUGFIX: Networking - fix memory leak that could happen at exit after a network
970operation had run
971- CHEEVOS: Improve handling of line endings when calculating CD hashes for retroachievements
972- CHEEVOS: Add support for Sega CD/Saturn; reduce hash calls to server
973- FPGA: Add initial FPGA port for Z-Turn boards - not really release-ready yet, will need community support to continue. Currently employs naive framebuffer approach, not fullspeed
974- GL1: GLDirect (D3D9 to OGL1.1 wrapper) support
975- GONG: Stability fixes
976- LINUX/UDEV: Fix touchscreen/lightgun issues
977- MENU/MATERIALUI: MaterialUI no longer 'forgets' its place when navigating backwards in menus, and navigation in general is 'cleaner'.
978- MENU/MATERIALUI: Add initial gesture support
979- MENU/MATERIALUI: Improved touch support
980- MENU/MATERIALUI: Bugfix - Random' items are no longer automatically highlighted when performing standard up/down 'flick' scrolling through lists (items are only highlighted when you keep the pointer still for > 200 ms)
981- MENU/MATERIALUI: Bugfix - The display no longer 'jerks' for one frame when navigating backwards through lists
982- MENU/MATERIALUI: Bugfix - The Material UI scaling factor is now based upon the device-reported screen DPI value (previously it relied upon a hard-coded magic number, which was never correct)
983- MENU/RGUI: Functional mouse/touchscreen support
984- MENU/ONSCREEN KEYBOARD: On-screen keyboard entry via mouse/touchscreen has been tidied up - no more double inputs (or unwanted menu interaction in the background)
985- MENU/MOUSE: Mouse wheel up/down is now a proper 'up/down', same as using cursor keys or a dpad
986- MENU/MOUSE: Mouse wheel tilt left/right has been wired up to normal 'left/right' commands. Also further improved mouse wheel tilt
987- MENU/OZONE: Add option to toggle between static and scrolling content metadata
988- MENU/XMB: Add full gesture support
989- MENU/OSX: Fixed mouse buttons - mouse down events were not hooked up
990- MENU: When navigating backwards from a core options drop-down list (i.e. pressing select or cancel), the last menu position is remembered (instead of resetting back to the first core option item each time)
991- MENU: Add mouse/touchscreen gesture support
992- MENU: Add option to delete playlists (Settings > Playlists > Playlist Management)
993- MOBILE (ANDROID/IOS): Add option to automatically rotate overlays when changing orientation
994- OSD: Memory details should now be available on every platform (get_mem_total and get_mem_free need to be implemented in the frontend driver for it to work)
995- OSD: Memory details can now be shown individually without FPS and frame count
996- PS2: Fix memory leaks in font/video driver
997- SWITCH: Set default aspect ratio to core provided instead of 4:3
998- THREADED VIDEO: Fix FPS text in threaded video mode
999- VITA: Set default aspect ratio to core provided instead of 4:3
1000- VITA: Add system language detection
1001- VITA: More memory support
1002- WIN32: Log window now has title 'Logging Console'
1003- WII: Add Wiimote lightgun support
1004
1005# 1.7.8 (v4)
1006- COMMON: Enable customisation of runtime 'last played' display format.
1007- CHEEVOS:  Add hashing support for PSX (bin/cue, chd, or real CD) (for real this time, got added in the CHANGELOG for v2 then reverted before it hit release)
1008- IOS: Update for iOS 13, fix the asset packaging issues
1009- LOCALIZATION: Update Portuguese Brazilian Translation
1010- MENU: Add 12-hour time/date versions of all formats
1011- SWITCH: Add 'AI Service' option to Switch (untested)
1012- SWITCH: Update to newest libnx
1013
1014# 1.7.8 (v3)
1015- GLCORE: Ensure correct scaling of menu texture (with RGUI)
1016- IPS: Soft-Patch any IPS size
1017- METAL: Fix overlay issue - setup correct viewport before rendering overlay
1018- METAL/STB: Fix font driver issue with AMD GPUs on MacOS.
1019- MENU/RGUI: Correctly rescale menu when resizing window if aspect ratio lock is enabled.
1020- OSX: Remove OSX suffix in window title
1021- PSP: Fix audio conversion code
1022- REMAPS: Fix analog remapping regression -analog remapping would break controls
1023
1024# 1.7.8 (v2)
1025- 3DS: Fix 3DS startup crash
1026- AI SERVICE: Fix 'Japanese' setting
1027- D3D12: Fix runtime error at startup
1028- CHEEVOS: Fix Achievements badges
1029- CHEEVOS: Add hashing support for PSX (bin/cue, chd, or real CD)
1030- GLCORE: Fix regression - shaders don't work
1031- IOS: Use launch storyboard to properly support all screen sizes
1032- LOCALIZATION: Update Japanese translation
1033- LOCALIZATION: Update Korean translation
1034- LOCALIZATION: Update Polish translation
1035- MENU/XMB: Smooth vertical ticker scrolling
1036- OSX: Fix potential OSX startup crash
1037- PATCH: Fix IPS patches
1038- PLAYLISTS: Fix playlist heap corruption bug. Would also cause potential crashes on OSX and 3DS at startup
1039- SHADERS: Fix shader loading and saving in content-less cores
1040- SHADERS: Implement video_shader_delay setting. Screen grabbing software like streaming software can interfere with the loading of shaders, resulting in graphical glitches or freezes. This PR adds a video_shader_delay setting (in ms) and (advanced) menu entries Video -> Auto-Shader Delay, allowing to work around the issue
1041
1042
1043# 1.7.8
1044- 3DS: Fix C-Stick y-axis inversion
1045- 3DS: Update all icon/banner images
1046- AI: Add AI Service functionality (enabled for Windows/Mac/Linux/Android/iOS).
1047- APPLE (MAC/IOS/TVOS): Fix autodetect for mFI controllers: properly call autodetect add on the connect notification, and add call to disconnect on GameController disconnect notification.
1048- ANDROID: Implemented multi-touch touchscreen support
1049- ANDROID: Now can be built with Gradle/Android Studio
1050- AUDIO/WINDOWS: You can now select between audio devices for XAudio2/DirectSound/XAudio2 by pressing left/right on the Audio Device option.
1051- AUDIO/WINDOWS: Setting the device by either index number or name string should work.
1052- BLISS-BOX: Add 4 new pad types from firmware 3.0
1053- BPS/UPS: Re-allocation target_data variable for target patch size (can now apply bigger patches without extra-bytes on memory)
1054- CDROM: Added real CD-ROM functionality for Windows and Linux.
1055- CDROM: Added disc dumping.
1056- COMMON: Add separate frontend logging
1057- COMMON: Ability to set FPS update interval (used in the window titlebar/FPS widget)
1058- COMMON: Add 'Reset Frame Time Counter' functionality, enable it by default for resizing the window, loading/saving shader presets, fastforwarding, etc.
1059- COMMON: Add optional 'on demand' thumbnail downloads
1060- COMMON: Add new playlist-based thumbnail downloader. Hide the legacy thumbnail pack version by default
1061- COMMON: Show license per core (if available) inside 'Load Core'
1062- COMMON: Add option to load content from (and dump) CD-ROM discs
1063- COMMON: Re-enable '--log-file' command line option
1064- COMMON: Default playlist core association is now stored as metadata inside each playlist
1065- COMMON: Fix playlist format detection
1066- COMMON: Favorites playlist size can now be set independently of content history size. Values can be set from 0-999, or '-1' for unlimited (99999)
1067- COMMON: Prevent adding new items to favorites when playlist is full (old entries are no longer overwritten)
1068- COMMON: Prevent loading content with cores that require an incompatible graphics API version from the current one
1069- COMMON: Saved shader presets are now portable across platforms and use relative paths
1070- COMMON: Add '--set-shader' command line option which works like an override for automatic shader presets
1071- COMMON: Add global shader presets
1072- COMMON: Remove 'video_shader' setting, shaders are not saved automatically anymore
1073- CORE OPTIONS: When saving core option overrides, only include settings for the current core
1074- CORE OPTIONS: Add option to save core options per-core
1075- CPU FILTERS: Add Scanline2x filter
1076- DINPUT: Cleanup magic numbers mess surrounding hat code
1077- GAMECUBE: Add default video/audio filter directories
1078- GL/MALI400: Fix menu issues on Mali 400 series GPUs, should also fix 'RetroArch flickers black on ARM Mali GPUs (Android/ARM Linux)
1079- GL/GLCORE: Use highest supported OpenGL Core version on Windows and X11
1080- GL1: Ignore alpha in core video, fixes XRGB8888 rendering in some cores
1081- GLCORE: Don't hardcode shader cross compilation target version but poll it. glcore would always only use the minimum target shader version, i.e. GLSL ES 3.00 for OpenGL ES 3.0+ or GLSL 1.50 for OpenGL 3.2+
1082- D3D10/11/12/SLANG: Added "FrameDirection" slang semantic. Works fine with braid-rewind shader, not entirely perfect with D3D12 though
1083- D3D10/11/12: Add option to select which GPU to render with
1084- D3D10/11: Fix maintaining aspect ratio when resizing window
1085- GLCORE/SLANG: Added "FrameDirection" slang semantic
1086- HID: Add Retrode support. Should work on Wii/WiiU.
1087- INPUT: Menu toggle hotkey can now be bound to another keyboard key and it will toggle properly
1088- IOS: Correctly centers screen on iPhone X landscape
1089- IOS: Implemented multi-touch touchscreen support
1090- IOS: Add in more Apple Model numbers for RetroRating Added in all current Apple Model numbers and set a base rating of 19
1091- IOS: Remove pause indicator; show the native UI menu using 4-finger swipe down gesture
1092- IOS: Support L3/R3 in iOS 12.1, Options buttons in MFi/PS4/XBox One controllers in iOS 13
1093- LIBRETRO: Add new core options interface, allows for localization, sublabels and more
1094- LIBRETRO: Add new bitmask input codepath, for RETRO_DEVICE_ID_JOYPAD only for now
1095- LOCALIZATION: Update Korean translation
1096- LOCALIZATION: Update Japanese translation
1097- LOCALIZATION: Update Portuguese Brazilian Translation
1098- LOCALIZATION: Update Polish translation
1099- LOCALIZATION: Update Turkish translation
1100- MENU: Add smooth ticker text
1101- MENU: Ability to hide every settings submenu (User Interface -> Views -> Settings)
1102- MENU: Ability to hide nearly every quick menu entry (User Interface -> Views -> Quick Menu)
1103- MENU: Fix longstanding menu display issues on Mali400 GPUs (on ARM hardware, SBCs and mobile phones/tablets)
1104- MENU: Fix Record -> Streaming Quality, and Record -> Recording Threads settings
1105- MENU: Fix history playlist navigation after running content
1106- NENU: Menu entry performance optimisations
1107- MENU: Add option to show 'remove playlist entry' only on history/favourites
1108- MENU: Overhaul content 'Information' menu display
1109- MENU: Add new 'Playlist Management' submenu. Allows default core associations to be set (via dropdown list), and all existing associations to be reset
1110- MENU: Add 'Set Core Association' option to Quick Menu
1111- MENU: Add option to remain in menu after saving/loading states
1112- MENU: Pressing the Start button on 'Load Core' will unload the core.
1113- MENU: After a core is running, Load Core will be hidden from view until you select 'Close Content' from the Quick Menu.
1114- MENU/WIDGETS: All widgets are now properly cleaned up, fixing the frozen widgets bug when loading / closing content
1115- MENU/WIDGETS: Fix crash with tasks
1116- MENU/WIDGETS: Widgets are now drawn above the overlay with OpenGL and Vulkan
1117- MENU/WIDGETS: Fine tune progress bar colors
1118- MENU/WIDGETS: Have the progression widget always resize
1119- MENU/THUMBNAILS: Ensure that displayed thumbnails are always refreshed correctly after selecting 'Download Thumbnails' from Quick Menu
1120- MENU/THUMBNAILS: Make PNG image loading/processing non-blocking on non-threaded systems
1121- MENU/OZONE: Add it for PS3
1122- MENU/OZONE: Fix regression in 1.7.7 - OSX/macOS - was unable to start it
1123- MENU/OZONE: Fix sublabel spacing
1124- MENU/OZONE: Add toggle to enable/disable playlist name truncation in Ozone
1125- MENU/OZONE: (Ozone) Fix display of (semi-)transparent thumbnails
1126- MENU/XMB: Add menu animation settings
1127- MENU/XMB: Add optional thumbnail scaling
1128- MENU/XMB: Fix display of long sublabels. Text that would exceed the display area now scrolls line-by-line
1129- MENU/XMB/OZONE: Add optional thumbnail upscaling
1130- MENU/QT/WIMP: Add core option sublabels as tooltips, add buttons to reset one/all core options
1131- MENU/QT/WIMP: Word-wrap core option tooltips
1132- MENU/QT/WIMP: Path selector fixes
1133- MENU/RGUI: Enable playlist display on platforms without database support
1134- MENU/RGUI: Make particle effects framerate independent + add animation speed setting
1135- MIDI: correct pitch bend in ALSA driver - MIDI standard pitch bend center position is 0x2000 but ALSA's is 0
1136- MIDI: Fix SysEx handling. We need to clear the event status after each message. Otherwise, after a SysEx message the first byte of the next event will incorrectly inherit its delta_time. This causes a delay of several seconds in nearly every MT-32 games which uses a lot of long SysEx.
1137- METAL/SLANG: Added "FrameDirection" slang semantic
1138- NETBSD: Audioio is now the default audio driver
1139- NETBSD: Fix a segfault when starting RetroArch with an empty configuration file and LANG unset in the environment
1140- OSD: OSD is now drawn above the overlay with Vulkan
1141- OSX: Fix regression with Cocoa GL - shader / preset loading was getting stuck in an infinite loop
1142- OSX: Add improved menu resizing for window resizing
1143- PLAYLISTS: Add history/favourites to 'Playlist Management' menu
1144- RECORD: Fix Twitch streaming
1145- REMOTE RETROPAD: Fix for Remote RetroPad input - fixes processing of Remote RetroPad input. None of the remote inputs are being executed both in menu and in game. This is due to the way current key binds are being detected which block processing of any remote input. It's been tested using Remote RetroPad core on Android including digital dpad and analog control input.
1146- RUNAHEAD/MSVC2010:  Build in runahead support for MSVC2010 and up
1147- RUNAHEAD/VITA: Build in runahead support for Vita version
1148- SAVESTATES: Allow auto save states also in cores that support no content as long as some content is loaded
1149- SCALER: Fix SSE2 path for ARGB/BGRA -> BGR24 - should fix screenshots being taken for XRGB888 (viewport)
1150- SCANNER: Skip all databases with incompatible file extensions, whether content is inside an archive or not
1151- SCANNER: Fix hang on empty files inside archives
1152- SHADERS: Add proper shader compatibility checks
1153- SHADERS: Enable Cg shaders for D3D9
1154- SHADERS: Remove 'video_shader' setting, replace it with global presets that make more sense
1155- SHADERS: #reference directive for shaders. Presets can point to other existing presets if they are unchanged
1156- SHADERS: Will attempt to cache the shader/preset into memory before loading to avoid costly getline/gets/getc operations
1157- SHADERS: New --set-shader commandline option
1158- SHADERS/MENU: Prevent undefined behaviour when failing to load shaders
1159- SHADERS/MENU: Pressing the Start button on 'Load Shader Preset' will reset all shader passes and apply changes, effectively disabling the shaders
1160- SHADERS/MENU: New menu options for removing shader presets (global/core/parent/etc).
1161- SWITCH :Add Audren audio driver.
1162- SWITCH: Fix splitting and joining of joycon controllers. Before this fix, splitting and joining of joycons only ever worked sporadically
1163- SWITCH: Proper x/y scaling for pointer devices, fixes touch lightgun
1164- THUMBNAILS: Add optional On-Demand Thumbnails.
1165- UDEV: Fix wrong udev devices order
1166- UDEV/X11: Mouse pointer should work now in X11 environment with no Display
1167- VITA: Update Vita2D
1168- VULKAN/SLANG: Added "FrameDirection" slang semantic
1169- VULKAN: Add option to select which GPU to render with
1170- VULKAN: Validate non-causal filter chain for texture inputs. We only validated for UBO inputs apparently.
1171- WINDOWS: Menubar should no longer be disabled when threaded video is enabled
1172- WINDOWS: Add improved menu resizing for window resizing
1173- WINDOWS: Properly set initial directory for menubar 'Load Core' option
1174- WII: Add default video/audio filter directories
1175- WII: Fix RGUI display corruption
1176- WII: Fix HID joypad drivers
1177- WII: Add optional overscan correction
1178- WII: Fix recursive path_mkdir() operations
1179- WII: Add widescreen RGUI support
1180- WIIU: Scale menu to viewport size; respect filtering settings for menu
1181- WIIU/RGUI: RGUI does its own transparency effects in the texture, so we don't have to add another 50% on that
1182- WIIU/RGUI: Use correct pixelformat ordering for menu texture
1183- WIIU/SLANG: Added "FrameDirection" slang semantic
1184- X11: Add improved menu resizing for window resizing
1185- X11: Add non-evdev keycodes to fix keyboard input on non-Linux systems with X11
1186
1187# 1.7.7
1188- 3DS: Add unique IDs to prevent cores overwriting each other
1189- 3DS: Fix screen tearing when running 50Hz content
1190- ANDROID: We now target API level 26 (minimum is still API level 9)
1191- ANDROID: Add option to vibrate on touch (works in menu or overlay)
1192- ANDROID: Add device vibration option for cores that support rumble
1193- ANDROID: Add gamepad vibration support for cores that support rumble
1194- ANDROID: Allow stylus/pen to move mouse without pressing down
1195- AUDIO: Avoid deadlocks in certain audio drivers when toggling menu sounds on
1196- BLISS-BOX: Support PSX Jogcon (requires firmware 3.0)
1197- CHEEVOS: Fix crash when reading memory that is out of range
1198- CHEEVOS: New Cheevos implementation enabled by default
1199- CHEEVOS: Pop-up badges when an achievement is triggered
1200- CRT: Dynamic super resolution support
1201- DISCORD: Fix potential crash when username is empty and discord is disabled
1202- DISCORD: Ask to join support for Linux
1203- INPUT/ANDROID: Add "Input Block Timeout" option
1204- COMMON: For platforms without HAVE_THREADS, don't automatically resume content when saving/loading states
1205- COMMON: Make playlist sorting optional and consistent
1206- COMMON: Fix sorting of playlists with blank labels
1207- COMMON: Fix content scanner creating false positive playlist entries that also have wrong label and crc32
1208- COMMON: Add some MMX-optimized pixel conversion routines
1209- COMMON: Fix typo preventing some SSE2-optimized pixel conversions from being used
1210- COMMON: Add option to track how long content has been running over time
1211- COMMON: Fix buffer overflows in system information
1212- COMMON: Add option to change screen orientation via the windowing system (Android, Windows, X11)
1213- COMMON: Show CPU model name in log
1214- COMMON: Add "Help -> Send Debug Info" option (and F10 hotkey) to send diagnostic info to the RetroArch team for help with problems
1215- COMMON: Show GPU device name/version in log
1216- COMMON: Add menu option to write log info to a file
1217- COMMON: Add subsystem support for playlists. Subsystem info is automatically saved to the history playlist for easy relaunching
1218- GL: Add new "gl1" OpenGL 1.1 compliant video driver for legacy GPUs and software renderers
1219- GL: Add a new "glcore" driver with slang support (requires GL 3.2+ or GLES3)
1220- GL: Draw OSD on top of overlay
1221- GONG: Add savestate support
1222- GONG: Add video refresh rate core options
1223- GONG: Two player support via core option
1224- GUI: Fix text alignment when using stb_unicode
1225- GUI: Fix text display issues when using Japanese (and other unicode-dependent language) text with stb_unicode
1226- GUI: Set language on first startup to the user's preferred OS language (Windows, *nix and Android)
1227- INPUT: Add (scaled radial) analog deadzone and sensitivity options
1228- LIBRETRO: Add Turkish language support
1229- LIBRETRO: Allow non-accelerated video to rotate the display
1230- LOCALIZATION: Update Chinese (Simplified) translation
1231- LOCALIZATION: Update Chinese (Traditional) translation
1232- LOCALIZATION: Update Dutch translation
1233- LOCALIZATION: Update French translation
1234- LOCALIZATION: Update German translation
1235- LOCALIZATION: Update Japanese translation
1236- LOCALIZATION: Update Polish translation
1237- LOCALIZATION: Update Russian translation
1238- LOCALIZATION: Update Spanish translation
1239- LOCALIZATION: Add new Turkish translation
1240- MIDI: Fix startup crash in midi driver
1241- MENU: Bugfix - you can no longer get stuck in Online Updater -> Update Core screen when toggling between ingame and menu
1242- MENU: Selectively hide 'Take Screenshot' for video drivers that don't support taking screenshots
1243- MENU: Framerate independent menu rendering. MaterialUI/Ozone/XMB/RGUI can now run at higher framerates
1244- MENU: Thumbnails work in history list
1245- MENU: Menu widgets
1246- MENU: Add memory statistics support to more context drivers
1247- MENU: Enable ozone driver for UWP builds
1248- MENU: Add optional "looping" menu text ticker with configurable speed
1249- MENU: Fix core video rendering when using ozone with GL cores that implement the scissor test
1250- MENU: Add optional playlist sublabels (associated core + play time, where available)
1251- MENU: Dropdown list settings now apply immediately
1252- MENU: Add setting to require pressing the "Exit RetroArch" hotkey twice to confirm
1253- MENU: Now able to run at higher refresh rates than 60Hz
1254- MENU: Enable "Add to Favorites" without loading a core
1255- MENU: Allow core name to be hidden on history/favorites playlists
1256- MENU: Populate crc32 and db_name fields when adding history/favourites playlist entries
1257- MENU: Fix TTF files not showing in OSD/menu font selection screen
1258- MENU: Fix audio/video filters not showing in file browser
1259- MENU/MaterialUI: Add subsystem support
1260- MENU/MaterialUI: Add currently selected entry in dropdown menus
1261- MENU/OZONE: Add mouse support on entries (no sidebar yet)
1262- MENU/OZONE: Allow collapsing the sidebar
1263- MENU/OZONE: Add thumbnail support
1264- MENU/OZONE: Battery notifications
1265- MENU/OZONE: Add wifi icon for network entries
1266- MENU/QT/WIMP: Add git version and build date to Help->About window
1267- MENU/QT/WIMP: Fix content loading via the file browser
1268- MENU/QT/WIMP: Add new settings window to control all RetroArch settings
1269- MENU/RGUI: Improve playlist titles
1270- MENU/RGUI: Add option to hide associated cores in playlists
1271- MENU/RGUI: Add internal upscaling option
1272- MENU/RGUI: Add subsystem support
1273- MENU/RGUI: Add menu sublabel support
1274- MENU/RGUI: Re-enable "Load Core" option when content is loaded
1275- MENU/RGUI: Add optional "Collections" entry to main menu
1276- MENU/RGUI: Add "Lock Menu Aspect Ratio" option
1277- MENU/RGUI: Add "full width" layout option
1278- MENU/RGUI: Ensure menu color theme is applied immediately
1279- MENU/RGUI: Fix "Lock Menu Aspect Ratio" option when using custom viewports
1280- MENU/RGUI: Add widescreen support
1281- MENU/RGUI: Allow text to be centred when selecting widescreen layouts
1282- MENU/RGUI: Add inline playlist thumbnail support
1283- MENU/RGUI: Add optional shadow effects
1284- MENU/RGUI: Performance optimizations
1285- MENU/RGUI: Add optional extended ASCII support
1286- MENU/RGUI: Add optional delay when loading thumbnails
1287- MENU/RGUI: Add on-screen keyboard
1288- MENU/RGUI: Battery notifications
1289- MENU/XMB: Prevent crashes when resizing to a tiny window
1290- MENU/XMB: XMB honors the 'show menu sublabels' setting now - was previously RGUI only
1291- NETPLAY: Fix stall-out causing total disconnection with >2 players
1292- NETPLAY: Different (more intuitive?) default netplay share policy
1293- NETPLAY: Add hotkey option to toggle hosting on/off
1294- NETWORKING: Encode URLs to allow for spaces in directory names
1295- OSX: Prevent crash on exit
1296- OSX: Metal is now the default video driver for the RetroArch Metal build
1297- OSX: Enable CoreAudio v3 driver for Metal
1298- OSX/MACOS/IOS: Now uses the STB Unicode font driver
1299- PS2: CDFS support
1300- PS2: Implemented analog support for ps2 controllers
1301- PS2: Fix audio freeze after restarting core
1302- PS2: Fix issues with load state and the font driver
1303- PS2: File I/O now works for USB and network host
1304- PS2: Support cores with extra padding in their frame buffers
1305- SCANNER: New option 'Scan without core match'. When this is enabled,
1306supported extensions by all installed cores are not checked, and instead
1307it will add all content it finds to a playlist. This way, you can install the core you need later on after scanning. Not enabled by default
1308- SHADERS: Don't alphabetize shader presets
1309- SWITCH: Add rumble support
1310- SWITCH: Add USB keyboard support
1311- VITA: Add bluetooth mouse and keyboard support
1312- VULKAN: Fix color issues with RGBA8888 swapchains in readback (screenshots)
1313- WII: Don't init overlay when RAM is beyond 72MB
1314- WII: Skip CRC calculation on content load, can improve load times of larger games by several seconds
1315- WINDOWS: Fall back to gl1 driver if accelerated GPU driver is unavailable
1316- WINDOWS: Allow winraw and xinput to work without dinput (needed for WinRT)
1317- WINDOWS: Add MSVC2017 ARM desktop support
1318- UWP: Fix rewind by opting for slower codepath
1319- UWP: Fix relative path name issues when loading shaders
1320- UWP: Optimizations for VFS system
1321
1322# 1.7.6
1323- ANDROID: Fix Xperia Play input binding
1324- CHEEVOS: Reset when hardcore mode is toggled
1325- CHEEVOS: Update the hashing methods to identify NES, SNES and Lynx games (more accurate and accepting headerless ROMs)
1326- COMMON: Add new JSON playlist format
1327- COMMON: Fix playlist corruption when deleting items
1328- COMMON: Fix archive progress display calculation
1329- COMMON: Fix playlist entries appearing with previously used names
1330- COMMON: Fix screenshot filename with no core or content
1331- COMMON: Allow compiling without menu support
1332- CORE UPDATER: Allow sideloading cores from the menu
1333- CPU FILTERS: Add Normal2x filter
1334- CRT/LINUX: New Linux switching method partially implemented
1335- CRT/LINUX: Linux restore desktop resolution fixed
1336- CRT/LINUX: Monitor index switching and auto enumerate for output detection in Linux (still working on the windows method)
1337- CRT/RASPBERRY PI: Initial support
1338- DATE: Add Date / Time style options
1339- DEBUGGING: Add an integrated crash handler for debug builds (see https://docs.libretro.com/tech/debugging)
1340- DISCORD: Register the application name properly
1341- DISK CONTROL: Remember the last used folder / current active folder to make disk-swapping faster
1342- INPUT: Add new menu toggle (hold start button for 2 seconds)
1343- INPUT: Fix arrow keys being incorrectly bound as numpad keys
1344- INPUT/SDL: Flush the joypad events. Decreases cpu usage over time with the SDL joypad driver
1345- LOCALIZATION: Add Greek translation
1346- LOCALIZATION: Update German translation
1347- LOCALIZATION: Update Italian translation
1348- LOCALIZATION: Update Japanese translation
1349- LOCALIZATION: Update Simplified Chinese translation
1350- LOCALIZATION: Update Spanish translation
1351- MENU: New "ozone" menu driver
1352- MENU: Only show CRT SwitchRes if video display server is implemented (Windows/Linux for now)
1353- MENU: User Interface -> Appearance -> 'Menu Font Green/Blue Color' settings now work properly
1354- MENU: Add option to enable in-menu sound effects
1355- MENU/D3D: Scissoring support (will be used for Ozone and menu widgets)
1356- MENU/QT/WIMP: Allow building with MSVC2017
1357- MENU/QT/WIMP: Add detailed file browser table
1358- MENU/QT/WIMP: New grid view implementation that is faster and loads thumbnails on-demand
1359- MENU/QT/WIMP: Thumbnail drag and drop support
1360- MENU/RGUI: Overhaul custom theme interface + add wallpaper support
1361- MENU/RGUI: Thumbnail support and thumbnail downscaling
1362- MENU: Hide password values
1363- MENU/SOUNDS: Implement in-menu sound effects (not enabled by default for now, still experimental)
1364- MIDI: Add a Linux ALSA driver for MIDI
1365- NETPLAY: Force fast-save-states when netplay is enabled
1366- NETPLAY: Allow quick joining subsystem lobbies
1367- OSX: Initial CoreAudio V3 audio driver (not yet used in release builds)
1368- OSX: OpenGL 3.2 Core support for cores
1369- PS2: Initial PlayStation2 port
1370- PS4: Initial PlayStation4 port
1371- RECORDING: Implement recording options in the menu complete with quality profiles, streaming, and proper file naming
1372- SCANNER: Fix GDI disc scanning
1373- SHADERS: Fix auto shader preset loading on D3D10, D3D11, D3D12
1374- SUBSYSTEM: Allow more than 10 subsystems
1375- SUBSYSTEM: Cores that use subsystem for complex scenarios can now load content without starting a regular content first
1376- SUBSYSTEM: Remember the last used folder to make loading subsystem type content faster
1377- SWITCH/LIBNX: Improve touch scaling calculation
1378- SWITCH: Proper button labels
1379- TVOS: Initial tvOS port
1380- VULKAN: Fix RGUI crashing at startup
1381- VULKAN/RGUI: Enable 'Menu Linear Filter' option
1382- VULKAN: Fix secondary screens in overlays not working
1383- WAYLAND: Implement idle-inhibit support (needed for screensaver suspend)
1384- WAYLAND: Fix fullscreen toggle
1385- WIIU: Initial netplay peer-to-peer support. Network information working
1386- WINDOWS/WSA: Network Information info is blank until first network operation
1387- WINDOWS: Fix an ancient bug that caused wrong mappings for keyboard arrows
1388- WINDOWS: Remember window size and position if so desired
1389- WINDOWS: SSL/TLS connections now work properly
1390- WINDOWS: Fall back to GDI driver if no accelerated graphics driver is found
1391- UWP: Initial UWP port
1392- VFS: Update to version 3
1393- XBONE: Initial Xbox One port
1394- XMB/OZONE: Add more icons
1395- XMB: Add Automatic Inverted theme
1396- ???: Easter Egg
1397
1398# 1.7.5
1399- CAMERA: Fix Video4Linux2 driver that broke years ago
1400- CONFIG: Add 'Reset To Defaults' setting in Configurations. Thi will reset your config file to defaults
1401- CHEATS: Add support for Rumble when increase or decrease by the rumble value
1402- CHEATS: Add cheat variables to allow for updating large portions of memory
1403- CHEEVOS: Prevent loading states before achievements are fully loaded
1404- CRT: New porches and interlaced bug fix
1405- CRT: New functionality, ability to switch between 15KHz and 31KHz, etc
1406- COMMON: Support for "OEM-102" key (usually '\' on Euro keyboards)
1407- DISCORD: Add 'Ask To Join' Feature
1408- EMSCRIPTEN: Add stb_font support
1409- INPUT: Add new menu toggle combos 'L3 + R' and 'L + R' (useful for Switch)
1410- IOS: Use safe area to account for notch for iPhone X and adjust main view
1411- LOCALIZATION: Update Portuguese / Brazilian translation
1412- LOCALIZATION: Update Japanese translation
1413- LOCALIZATION: Update Polish translation
1414- LOCALIZATION: Update Spanish translation
1415- MENU: Add dropdown lists for many settings
1416- MENU: Fix crash that could happen when changing core's options on Android
1417- MENU/QT/WIMP: Add option to rename playlists
1418- MENU/QT/WIMP: Add option to filter extensions inside archives when adding to a playlist
1419- MENU/QT/WIMP: Rename playlist entries with 2 single clicks
1420- MENU/QT/WIMP: Fix shader parameter checkboxes not working
1421- METAL: Add screenshot support
1422- NETPLAY: Save lobby details received back from server after first announcement
1423- OPENGL/GLX: Implement Adaptive VSync - GLX_EXT_swap_control_tear
1424- OPENGL/WGL: Implement Adaptive VSync - WGL_EXT_swap_control_tear
1425- RUNAHEAD: Fix performance degradation that could happen over time (after approx. 30 mins). Fixed input IDs outside of range 0-35 causing slow performance in runahead
1426- SWITCH: Add stb_font support
1427- SWITCH: Add Retro Achievements support
1428- SWITCH: Add networking support
1429- SWITCH: Add touchscreen support
1430- SWITCH: Add OpenGL support
1431- SWITCH: Merging of RetroNX Nintendo Switch port, based on libnx SDK
1432- VULKAN: Fix race condition in threaded mailbox emulation
1433- VULKAN: Maintenance fixes
1434- WIIU: Fix menu lag when built with DevKitPro r32
1435
1436# 1.7.4
1437- ANDROID: Add sustained performance mode, can be turned on/off in Power Management settings menu
1438- ANDROID: Powerstate/battery level support
1439- CHEEVOS: Fix crash when scrolling Achievement List while Unofficial Achievements enabled (#6732)
1440- CHEEVOS: Added hitcounts support for PauseIf/ResetIf (#6817)
1441- COMMON: Automatically hide "Configuration Override options" in Quick Menu
1442- COMMON: Small Bugfix to not trigger savestate code when pressing Reset
1443- COMMON: Added libsixel video driver
1444- EMSCRIPTEN: Fix Game Focus Toggle
1445- HID/OSX: Fix to set hid device registration deterministic (#6497), to address issue #6640 re-adding dynamic device registration
1446- LOCALIZATION: Update Italian translation
1447- LOCALIZATION: Update Japanese translation
1448- LOCALIZATION: Update Polish translation
1449- LOCALIZATION: Update Portuguese / Brazilian translation
1450- LOCALIZATION: Update Russian translation
1451- LOCALIZATION: Update Spanish translation
1452- MIDI: Add MIDI support to the libretro API. Dosbox is the first proof of concept core implementing libretro MIDI
1453- MIDI: Add a Windows driver for MIDI, based on winmm
1454- MENU/QT/WIMP: Qt QSlider styling for Dark Theme
1455- MENU/QT/WIMP: Remove button ghostly inside highlighting
1456- MENU/QT/WIMP: Initial grid view
1457- MENU/QT/WIMP: Drag&drop to add new playlist items, add option to add/edit/delete playlists
1458- MENU/QT/WIMP: Add menu option to update RetroArch (Windows only for now)
1459- MENU/QT/WIMP: Add menu option to manage shaders
1460- MENU/QT/WIMP: Add menu option to manage core options
1461- MENU/XMB: Add new icons for the settings
1462- MENU/XMB: Add an option to show the desktop ui
1463- METAL: Initial work-in-progress video driver for Metal. macOS-only right now, and currently requires macOS 10.13
1464- METAL: Supports XMB/MaterialUI, has a menu display driver. Has a font rendering driver
1465- METAL/SLANG: Slang shaders should be compatible with Metal video driver
1466- NETWORK: Enable SSL/TLS support by default for desktop platforms
1467- QNX: Fix Game Focus Toggle
1468- PS3: Add audio mixer support for FLAC and MP3
1469- PSP: Use proper button labels, fix inverted R-Stick Y axis
1470- REMAPS: Fix the way offsets are calculated for keyboard remapping
1471- RUNAHEAD: Fix full-screen mode change breaking Secondary Core's environment variables
1472- VITA: Use proper button labels, fix inverted R-Stick Y axis
1473- VITA: Add imc0: mount
1474- VITA: Use sceCtrlIsMultiControllerSupported to detect
1475- VULKAN: Fix two validation errors
1476- VULKAN: Try to avoid creating swapchains redundantly. Should fix black screen and having to alt tab out of window again to get display working on Nvidia GPUs (Windows)
1477- VULKAN/OSX: Initial MoltenVK support. Not enabled yet, several MoltenVK bugs should be fixed first before we can have it fully working
1478- WINDOWS/DINPUT: Add rumble support
1479- WINDOWS/DINPUT: Fix Game Focus Toggle
1480- WINDOWS/RAWINPUT: Fix Game Focus Toggle
1481- X11: Fix Game Focus Toggle
1482- WII: Change deflicker setting to work in 480p or higher, and always enables vfilter so that the user can easily change brightness
1483- WIIU: Fix out-of-bounds rendering bug
1484- WIIU: Implement UDP broadcast network logging on Wii U
1485- WIIU: Audio should no longer clip
1486
1487# 1.7.3
1488- AUDIO: Audio mixer supports FLAC/MP3 file types now!
1489- COMMON: Fixed bug 'crashing in cores that don't range check retro_set_controller_type'. Some people were having crashes when device is set to RETRO_DEVICE_NONE and the cores don't check the number of ports, in VBAM's case it was overflowing and crashing. QuickNES was crashing too
1490- COMMON: Fixed buffer overflow in url encoding (affecting MSVC2010/2013)
1491- COMMON: (QuickMenu) Added Configuration Override submenu
1492- HID: Merge new HID subsystem
1493- HID: Fix WaveBird support for the Wii U GCA
1494- HID/OSX: Fix regression with IODHIDManager - gamepads which are connected later would not be autoconfigured
1495- LOCALIZATION: Update Italian translation
1496- LOCALIZATION: Update Japanese translation
1497- LOCALIZATION: Update Portuguese translation
1498- MENU: New WIMP Qt GUI!
1499- MENU: Audio mixer now works in the menu without any cores loaded. You have to enable the setting 'Enable menu audio' for this to work
1500- REMAPPING/OVERLAYS: Fix regression - overlays could no longer be remapped
1501- SCANNER: Add Wii Backup File WBFS support
1502- X11: CRT SwitchRes support for X11/Linux
1503
1504# 1.7.2
1505- ANDROID/OPENSL: Prevent crashes when setting audio latency too low (buffer count can never be lower than 2 now)
1506- CRT: Added CRT SwitchRes
1507- COMMON: Hide the 'Core delete' option if the 'Core updater' is also hidden
1508- COMMON: Add way to reset core association for playlist entry
1509- COMMON: Fix invalid long command line options causing infinite loop on Windows
1510- COMMON: Add OSD statistics for video/audio/core
1511- COMMON: Added runahead system; allows you to drive down latency even further
1512- COMMON: Fix buggy behavior that could happen with ZIP file reading on some platforms as a result of not initializing struct
1513- CHEEVOS: Support Atari 2600, Virtual Boy, and Arcade (only Neo Geo, CPS-1, CPS-2 and CPS-3 and only with fbalpha core)
1514- CHEEVOS: Add option to automatically take a screenshot when an achievement is triggered
1515- CHEEVOS: Fixed incompatibilities with Neo Geo Pocket achievement sets
1516- CHEEVOS: Store only login token, not password
1517- D3D10: Added D3D10 driver to release build. Has working shaders (Slang), overlay, and menu display driver support. Should be on par capabilities wise
1518with D3D11 driver except for there being no hardware rendering right now
1519- D3D11: Experimental hardware renderer. Allows for libretro cores to use D3D11 for hardware rendering. First core to use this is PPSSPP
1520- D3D11: Increase backwards compatibility, shaders compile with Shader Model 4.0 now, added support for more feature levels
1521- D3D10/D3D11/D3D12: Fix crashes with completely black or white thumbnail textures in XMB
1522- GUI: Support disabling window decorations on Windows and Linux
1523- LIBRETRO: Addition - Functions to enable and disable audio and video, and an environment function to query status of audio and video enables
1524- LOCALIZATION: Update Italian translation
1525- LOCALIZATION: Update Polish translation
1526- MENU: Add Rewind/Latency/Overlay settings to Quick Menu, add options to show/hide them (User Interface -> Views -> Quick Menu)
1527- MENU/RGUI: Only show Menu Linear Filter for RGUI and only show it for
1528video drivers that implement it (D3D8/9/10/11/12/GL)
1529- MENU/RGUI: Add User Interface -> Appearance options
1530- MENU/RGUI: D3D8/D3D9: Hookup Menu Linear Filter
1531- MENU/XMB: Disable XMB shadow icons by default for PowerPC and ARM for performance reasons
1532- MENU/XMB: Left/right thumbnails are now automatically scaled according to layout
1533- MENU/XMB: Add Left Thumbnails (additional to the right)
1534- MENU/XMB: Fixed left/right tab regression
1535- MENU/XMB: Fix scaling of tall images that were cut on bottom previously
1536- MENU/XMB: Menu scale factor setting now changes texts length, image scaling and margins
1537- MENU/XMB: Mouse cursor scales correctly now
1538- MENU/XMB: Add toggle to show/hide Playlist tabs
1539- MENU/XMB: Add menu layout - can switch between Desktop, Handheld and Auto
1540- MENU/XMB: Don't load menu pipeline shaders unless XMB is selected (D3D10/D3D11/D3D12/GL/Vulkan)
1541- MENU/VIDEO: Only show black frame insertion for the video drivers/context drivers
1542that support it (so far this includes - D3D8/D3D9, OpenGL, Vulkan)
1543- MENU/VIDEO:  Only show max swapchain images if supported by video driver and/or context driver (so far this includes - DRM EGL context driver, VideoCore EGL context driver, Vulkan)
1544- MENU/MaterialUI: Automatic DPI Scaling should be much improved now, now scales as expected at 1440p and 4K resolutions
1545- MENU/MaterialUI: Fix wrong calculation of an entry height causing long playlists to end up outside of screen range. This also could cause crashes on low DPI screens
1546- IOS: Fixed crash when opening downloaded roms from Safari or using the "Open in.." functionality. Added the compiler flag to support keyboard remapping to controls
1547- IOS: Fixed buffer overlap that caused a crash while trying to download GLSL shaders from the buildbot
1548- PS3: fix URLS
1549- REMAPS: Mapping keyboard keys from more than one gamepad (works with dosbox)
1550- REMAPS: Mapping more than one button to the same action
1551- REMAPS: Unmapping buttons
1552- REMAPS: Unmapping analogs
1553- REMAPS: Mapping a button to trigger an analog response (tested with mupen, can run on SM64 with the d-pad now, triggers a full analog tilt)
1554- REMAPS: Mapping an analog to another analog (having more than one analog mapped to the same output causes issues)
1555- REMAPS: Mapping an analog to produce a button response
1556- SCANNER: Should be able to scan dual-layer Wii disc images now, filestream code now supports files larger than 4GB
1557- SHADERS/SLANG: Slang shaders should work again on Android version and MSVC versions (basically all the Griffin-based versions)
1558- SHADERS: If GL context is GLES2/3/Core context, Cg shaders are unavailable. Applies to shader list too
1559- SHADERS: Hide cg/glsl shaders from being able to be selected if D3D8/9/10/11/Vulkan video drivers are selected
1560- SHADERS: Hide slang shaders from being able to be selected if D3D8/9/OpenGL video drivers are selected
1561- SHADERS: Prevent crashes from occurring if we have the GL video driver in use and we try to skip to a slang shader through next/previous hotkeys
1562- SHADERS: Fix shader parameter increase / decrease functions
1563- SUBSYSTEM: handle savestates properly (cart1 + cart2.state0)
1564- VULKAN/X11: Fix X11 Vulkan bug from Wayland driver
1565- VULKAN: Fix multi-line text spacing in menus with Vulkan driver
1566- WINDOWS XP: Add Cheevos support
1567- WINDOWS/MSVC 2003/2005/2010/2013/2015/2017: Add Cheevos support
1568- VITA: Bugfix for 'PS Vita takes many time to start to accept input' issue
1569- X11: Allow compositor disabling on X11 fullscreen through _NET_WM_BYPASS_COMPOSITOR
1570- X11: Prioritize _NET_WM_STATE_FULLSCREEN_ in true fullscreen mode
1571- WIIU: Fix OOB read/write in keyboard driver
1572
1573# 1.7.1
1574- 3DS: Now correctly reports amount of CPU cores
1575- 3DS: Frontend rating is now correctly implemented for both New 3DS/2DS and Old 3DS/2DS
1576- 3DS: Initial networking support, HTTP requests won't work yet
1577- 3DS: Now reports memory and battery state
1578- AUDIO: Added 'Audio Resampler Quality' setting to Audio Settings. Setting this higher will increase sound quality at the expense of sound latency and/or performance. Setting this value lower will improve sound latency/performance at the expense of sound quality. Only has an effect if the Sinc resampler is used, and you have to restart the game for changes to take effect
1579- CHEEVOS: Fix unofficial achievements not being loaded
1580- CHEEVOS: Show savestate menu entries when no achievements are found even if hardcore mode is enabled
1581- CHEEVOS: Support Neo Geo Pocket
1582- COMMON: Bugfix for issue related to 'Windows mouse pointer visible when running MESS or MAME cores'
1583- COMMON: Fix bug 'Last item in a Playlist is ignored'
1584- COMMON: New LED API. Driver implemented for Raspberry Pi, proof of concept implemented for core MAME 2003
1585- COMMON: Add quick menu option to watch shader files for changes and recompile them automatically (Linux only for now)
1586- D3D8: Direct3D 8 can now work on systems that have Direct3D 8 installed
1587- D3D9: Add menu support for MaterialUI/XMB
1588- D3D10: Initial video driver implementation
1589- D3D11: Initial video driver implementation
1590- D3D11: SPIRV-Cross/slang shader support for D3D11
1591- D3D12: Initial video driver implementation
1592- DINPUT: don't reinitialize input driver on network events / media insertion / network drive connection
1593- INPUT: show friendly names when available under input binds and system information
1594- INPUT: show the config name when available under system information
1595- GUI: Allow changing menu font color
1596- GUI: Menu visibility options for RGUI and MaterialUI
1597- GUI/MaterialUI: Works now with D3D8, D3D9 Cg, D3D11 and D3D12 drivers
1598- GUI/XMB: Add Monochrome Inverted icon theme
1599- GUI/XMB: Allow changing menu scale to 200%
1600- GUI/XMB: Works now with D3D8, D3D9 Cg, D3D11 and D3D12 drivers. Menu shader effects currently don't work on D3D8/D3D9 Cg
1601- HAIKU: Restored port
1602- KEYMAPPER: prevent a condition that caused input_menu_toggle to stop working when a RETRO_DEVICE_KEYBOARD type device is enabled
1603- GL: ignore hard gpu sync when fast-forwarding
1604- IOS10/11: Handle hardware keyboards and iCade controllers
1605- LOCALIZATION: Update Italian translation
1606- LOCALIZATION: Update Japanese translation
1607- LOCALIZATION: Update Portuguese-Brazilian translation
1608- LOCALIZATION: Update Spanish translation
1609- NETPLAY: Add menu option to select different MITM (relay) server locations
1610- OSX: Modify HID buttons detection algorithm
1611- QB: Added --datarootdir, --sysconfdir, --bindir, --docdir and --mandir
1612- QB: Deprecated --global-config-dir, --with-bin_dir and --with-man_dir
1613- SHADERS: Allow saving of shader presets based on the parent directory (Saving one for */foo/bar/mario.sfc* would result in *shaders/presets/corename/bar.ext*). We decided it's safer to still isolate the presets to a single core because different cores may treat video output differently
1614- SHADERS: Don't save the path to the current preset to the main config. This was causing weird behavior, instead it will try to load *currentconfig.ext* and it will save a preset with that name when select *apply shader preset*. The resulting shader will restore properly after restarting and even after core/parent/game specific presets are loaded
1615- SOLARIS: Initial port
1616- SWITCH: Initial Nintendo Switch port, based on libtransistor SDK
1617- PS3: Enable Cheevos
1618- PSP: Enable threading support through pthreads
1619- SHADERS: SPIRV-Cross/slang shader support for D3D11
1620- SHIELD ATV: Allow the remote / gamepad takeover hack to work with the 2017 gamepad
1621- SUBSYSTEM: Subsystem saves now respect the save directory
1622- SUBSYSTEM: You can now load subsystem games from the menu (see https://github.com/libretro/RetroArch/pull/6282 for caveats)
1623- VULKAN: Fix swapchain recreation bug on Nvidia GPUs with Windows 10 (resolved in Windows Nvidia driver version 390.77)
1624- WINDOWS: Improved Unicode support (for cores/directory creation and 7zip archives)
1625- WINDOWS: Show progress meter on taskbar for downloads (Windows 7 and up)
1626- WINDOWS: WS_EX_LAYERED drastically decreases performance, so only set it when needed (transparency in windowed mode)
1627- WIIU: Overlay support
1628- WIIU: Transparency support in menu + overlays
1629- WIIU: Increased stability during core switching
1630- WIIU: Shader support
1631- WIIU: Menu shader effects added (shaders)
1632- WIIU: Add missing time/clock support. (also fixes RTC [Real Time Clock] in Gambatte)
1633- XBOX OG: Restored port
1634
1635# 1.7.0
1636- CHEEVOS: Add badges for achievements, shows thumbnail images of achievements
1637- CHEEVOS: Leaderboard support
1638- CHEEVOS: Only disable savestates on hardcore mode if achievements are not available
1639- COMMANDLINE: Fix fullscreen toggle switch
1640- COMMON: Add 'Automatically Load Content To Playlist' feature, enabled by default
1641- COMMON: Fix slowmotion ratio always being reset back to 1
1642- COMMON: Optimized NBIO implementations now for Apple, Windows, and Linux. Uses mmap for Linux/Windows/BSD if/when available. File I/O should now be much faster for loading images inside the menu
1643- COMMON: Native Blissbox support now for latest firmware as of writing (2.0). Implementation through libusb and/or native Windows HID
1644- COMMON: New lightgun API
1645- COMMON: New VFS (Virtual File System) API
1646- COMMON: Fixed some playlist bugs
1647- COMMON: New snow shader
1648- COMMON: Fix Quick Menu title, no longer shows 'Select File'
1649- COMMON: Fix loading cores that require no content one after another
1650- COMMON: Map Delete key to Y button for non-unified menu keyboard controls
1651- COMMON: Fix for relative paths being normalised and generating a duplicate history entry
1652- EMSCRIPTEN: Fix references to browserfs
1653- FREEBSD: Support libusb HID input driver
1654- HAIKU: Buildfix
1655- INPUT: Map clear button to DEL key
1656- LINUX/X11: Add RetroArch logo to window title bar
1657- LINUX/X11: Input driver now supports new lightgun code
1658- LINUX/X11: Support window transparency (requires a compositing window manager)
1659- LOBBIES: Fix for crash on join netplay rooms via touch / glui
1660- LOCALIZATION: Update Italian translation
1661- LOCALIZATION: Update Japanese translation
1662- LOCALIZATION: Update Portuguese-Brazilian translation
1663- LOCALIZATION: Update Polish translation
1664- LOCALIZATION: Update Russian translation
1665- MENU: Snowflake menu shader effect
1666- OSX/PPC: Fix the GL2 renderchain, had to use EXT versions of framebuffer/renderbuffer functions
1667- PS3: HTTP requests / downloads should now work
1668- PS3: Core Updater now works
1669- PS3: Improved font rendering, enable STB Unicode font renderer
1670- PSP: Make it work with Vita's Adrenaline
1671- PSP: Fix audio sync
1672- PSP: Fix content loading, port should be functional again
1673- PSP: Use 64MB when available
1674- SCANNER: Fix crash from Windows-incompatible format string
1675- VITA: Improve packaging, installation times
1676- WIIU: Disabled the controller patcher for now since it was the source of many stability issues
1677- VULKAN: Various stability fixes for WSI
1678- WINDOWS: Add MSVC 2017 solution
1679- WINDOWS: Get rid of the empty console window in MSVC 2010 builds
1680- WINDOWS: Raw input driver now supports new lightgun code
1681- WINDOWS: Use configured OSD/text message color on GDI driver
1682- WINDOWS/XINPUT: Populate XInput VID/PID from DInput so autoconfig doesn't rely solely on joypad names
1683- WINDOWS/XINPUT: Fix crash that occurs in some situations with Steam running and a Steam Controller plugged in
1684- WINDOWS: Improve version reporting under System Information
1685- WINDOWS: Support window transparency
1686- WINDOWS: Correct usage of GetWindowPlacement per MS docs, fixes game window position on Win95/98
1687- WINDOWS: Added Visual Studio 2017 support
1688
1689# 1.6.9
1690- COMMON: Small memory leak
1691- NETPLAY: Fix network command only working once
1692
1693# 1.6.8
1694- Audio: Fix the Audio DSP picker
1695- CHEEVOS: Add support for Atari Lynx cheevos
1696- CHEEVOS: Add support for RetroAchievements Leaderboards
1697- GUI: (MaterialUI) Fix crash that happened on context reset with Vulkan
1698- GUI: (MaterialUI) Skip querying and drawing items that are not visible; Cache content height and bbox calculation
1699- GUI: (MaterialUI) Fix entry box highlight calculation
1700- GUI: (XMB) Skip drawing the fading list when it is already transparent. Optimization
1701- GUI: (XMB) Comment out visible item calculation in xmb_draw_items()
1702- GUI: (RGUI) Prevent crashes when using a non-English language reliant on UTF8
1703- GUI: Add menu option for OSD background color
1704- GUI: Add menu option for OSD text color
1705- GUI: Add menu option to remove frame count from OSD
1706- GUI: Allow wraparound of int/float settings when pressing the left key
1707- INPUT/LIBRETRO: Add support for more mouse buttons (buttons 4/5)
1708- INPUT/LIBRETRO: Add support for analog buttons
1709- INPUT: Always show the controls menu even if descriptors are not set
1710- INPUT: Fix input descriptors not being set on cores that don't implement the controllers interface
1711- INPUT: Apply descriptors only for the amount of cores the core supports
1712- INPUT: Implement keyboard to gamepad input remapping (limited to one gamepad device for now)
1713- INPUT: Fix absolute mouse move handling on the winraw driver
1714- INPUT: Ignore keyboard input if window is not active on udev driver
1715- INPUT: Sanitize the filenames of autoconfig profiles before saving
1716- LOBBIES: Fix crash on navigating left / right from the lobby menu
1717- LOCALIZATION: Update Dutch translation
1718- LOCALIZATION: Update Italian translation
1719- LOCALIZATION: Update Japanese translation
1720- LOCALIZATION: Update Portuguese-Brazilian translation
1721- LOCALIZATION: Update Russian translation
1722- LINUX/ARMHF: Set buildbot updater URL to armhf location instead of blank string
1723- LINUX/PI: Broadcom VC4: Add Videocore config option
1724- LINUX/UDEV: Fix - RetroArch reads keyboard input when not focused with the udev input driver
1725- NETPLAY: Fix disconnection not fully deinitializing Netplay
1726- NETPLAY: Fix lan rooms when there is more than one room
1727- NETPLAY: Fix lan rooms on systems where all addresses are treated as IPv6
1728- COMMON: Fix clear/free loop conditionals in playlists
1729- WINDOWS/GDI: Fix flickering of text
1730- WINDOWS/GDI: Fix graphics corruption on Windows 98
1731- WINDOWS/GDI: Allow compiling without DirectInput8 for NT support
1732- WINDOWS/WGL: Try to use wglSwapLayerBuffers instead of SwapBuffers if possible (for more optimal performance)
1733- WINDOWS: Fix menubar text corruption on Japanese locale systems
1734- WINDOWS: Support Unicode file I/O (can now display CJK characters in file browser for example)
1735- WINDOWS: Support Windows 95, NT3.51, NT4
1736- WINDOWS: add Makefile.griffin targets for msvc6,2003,2005,2010,2012,2013
1737- WII: Use custom, embedded libogc SDK
1738- WIIU: Initial touchscreen support for WiiU gamepad
1739- WIIU: Add Cheevos support
1740- SCANNER: Fix archive scanning
1741- SCANNER: Support CHD files
1742- SCANNER: Support Gamecube ISO scanning
1743- SCANNER: Use primary data track of disc images for CRC lookups rather than cue files.  This is slower but finds matches more reliably, and is necessary for CHD files to work at all.  Update your databases!
1744- SCANNER: Fall back on looking inside archives when matching MAME/FBA content (most recent cores only).  If you had difficulty with content being detected before, you may have better luck now.  Update your databases and core info!
1745
1746# 1.6.7
1747- SCANNER: Fix directory scanning
1748- SCANNER: Fix file scanning
1749- COMMON: Fix 'Disk Image Append' option
1750- FREEBSD: Compatibility fixes for Video4Linux2 camera driver
1751- GUI: (MaterialUI) Add disk image append icons
1752- GUI: (MaterialUI) Improve word wrapping when menu icons are enabled
1753- GUI: (MaterialUI) Add User Interface -> Appearance -> Menu Icons Enable. You can turn on/off the icons on the lefthand side of the menu entries
1754- GUI: Performance optimizations for XMB menu driver - only calculates visible items
1755- LOCALIZATION: Update Italian translation
1756
1757# 1.6.6
1758- 3DS: Fixes serious performance regression that affected every core; rewind was always implicitly enabled
1759- AUDIO: MOD/S3M/XM sound should now be properly mixed in with the core's sound
1760- GUI: Visual makeover of MaterialUI
1761- GUI: Added 'Music', 'Images' and 'Video' collection options to RGUI/MaterialUI
1762- GUI: Allow the user to add 'Favorites'
1763- GUI: Allow the user to rename entries
1764- GUI: Performance optimizations for XMB menu driver
1765- LOCALIZATION: Update Italian translation
1766- INPUT: Overlay controller response - when we press buttons on the gamepad or keyboard, the corresponding buttons on the overlay will be highlighted as well
1767- NETBSD: Silence some compilation warnings
1768- COMMON: Fixed bug 'Deleting an entry from a playlist would not update the list view inside XMB'
1769- COMMON: Fix inet_ntop_compat on Unix
1770- LOBBY: Add skeleton to add help descriptions to lobbies
1771
1772# 1.6.5
1773Skipped this one
1774
1775# 1.6.4
1776
1777- ANDROID: Fire Stick & Fire TV remote overrides gamepad port 0 on button press and viceversa like SHIELD devices
1778- ANDROID: Provide default save / system / state / screenshot locations
1779- AUDIO: Audio mixer supports MOD/S3M/XM file types now!
1780- INPUT: input swap override flag (for remotes) is cleared correctly
1781- INPUT: allow specifying libretro device in remap files
1782- INPUT: allow specifying analog dpad mode in remap files
1783- INPUT: allow saving libretro device to remap files
1784- INPUT: allow saving analog dpad mode to remap files
1785- INPUT: allow removing core and game remap files from the menu
1786- COMMON: Cores can now request to set a 'shared context'. You no longer need to explicitly enable 'Shared Hardware Context' for Citra/OpenLara/Dolphin
1787- COMMON: Add 'Delete Core' option to Core Information menu
1788- COMMON: Allow Max Timing Skew to be set to 0
1789- COMMON: Change the "content dir" behavior so it works on either a flag or an empty directory setting, now platform drivers can provide defaults for save / system / state / screenshot dirs and still allow the content dir functionality, these settings are under settings / saving and flagged as advanced
1790- GUI: You can turn on/off 'Horizontal Animation' now for the XMB menu. Turning animations off can result in a performance boost
1791- GUI: Fix sublabel word-wrapping in XMB where multi-byte languages were cut off too soon
1792- LOCALIZATION: Update Dutch translation
1793- LOCALIZATION: Update Traditional Chinese translation
1794- LOCALIZATION: Update Italian translation
1795- LOCALIZATION: Update Russian translation
1796- WINDOWS: Provide default save / system / state / screenshot locations
1797- LOBBIES: Show what country the host is in
1798- MENU: Enable OSD text rendering for gdi and libcaca drivers
1799- WINDOWS 98/ME/2K: Set default directory for MSVC 2005 RetroArch version
1800- WII: Better V-Sync handling, backported from SuperrSonic
1801- WIIU: Exception handler rewritten
1802
1803# 1.6.3
1804- IOS: Fix GL regression - 32bit color format cores were no longer rendering
1805- CHEEVOS: Add support for N64 cheevos and other small fixes
1806- CHEEVOS: Add 'Achievements -> Achievements Verbose Mode'. Ability to display cheevos related messages in OSD, useful for RetroAchievements users
1807- AUDIO: Audio mixer's volume can now be independently increased/decreased, and muted
1808- AUDIO: Mute now no longer disables/enables audio but instead properly mutes the audio volume. Mute is also independent from the audio mixer volume
1809- INPUT: Add mouse index selection; ability now to select between different mice
1810- INPUT: Fix 'All Users Control Menu' setting
1811- LINUX: Add a tinyalsa audio driver. Doesn't require asoundlib, should be self-contained and lower-level
1812- LOBBIES: Announce the RetroArch version too
1813- LOCALIZATION: Add Traditional Chinese translation
1814- LOCALIZATION: Update French translation
1815- LOCALIZATION: Update Italian translation
1816- LOCALIZATION: Update Japanese translation
1817- LOCALIZATION: Update Russian translation
1818- MENU: Add 'User Interface -> Views'. Ability to display/hide online updater and core updater options
1819- NETPLAY: Disconnecting one client shouldn't cause everyone to disconnect anymore
1820- NETWORK: SSL/TLS support, disabled by default
1821- SCANNER: Fix PS1 game scanning
1822- SCANNER: Move content list builder into scanner task with progress, fixes menu freeze with large playlists
1823- SDL2: Fix 'SDL2 driver does not see the hat on wired Xbox 360 controller"
1824- SETTINGS: Fix regression 'Custom Viewport is no longer overridable per-core or per-game'
1825- VITA: Add cheevos support
1826- VITA: Add support for external USB if mounted
1827- WAYLAND: Fix menu mouse input
1828- WII: Add support for single-port 'PS1/PS2 to USB controller adapter
1829
1830# 1.6.0
1831- ANDROID: Allow remotes to retain OK/Cancel position when menu_swap_ok_cancel is enabled
1832- ANDROID: Improve autoconf fallback
1833- ANDROID: Improve shield portable/gamepad device grouping workaround
1834- ANDROID: Runtime permission checking
1835- AUDIO: Audio mixer support. Mix up to 8 streams with the game's audio
1836- AUTOSAVE/SRAM - Fix bug #3829 / #4820 (https://github.com/libretro/RetroArch/issues/3829)
1837- ENDIANNESS: Fixed database scanning. Should fix scanning on PS3/WiiU/Wii, etc
1838- LOBBIES: Fallback to filename based matching if no CRC matches are found (for people making playlists by hand)
1839- LOBBIES: GUI refinement, show stop hosting when a host has been started, show disconnect when playing as client
1840- LOBBIES: if the game is already loaded it will try to connect directly instead of re-loading content (non-fullpath cores only)
1841- LOBBIES: unify both netplay menus
1842- LOCALIZATION/GUI: Korean font should display properly now with XMB/MaterialUI's default font
1843- LOCALIZATION: Update German translation
1844- LOCALIZATION: Update Japanese translation
1845- LOCALIZATION: Update Russian translation
1846- LOCALIZATION: Update/finish French translation
1847- MENU: Improved rendering for XMB ribbon; using additive blending (Vulkan/GL)
1848- MISC: Various frontend optimizations
1849- NET: Fix bug #4703 (https://github.com/libretro/RetroArch/issues/4703)
1850- OSX/MACOS: Fixes serious memory leak
1851- THUMBNAILS: Thumbnails show up now in Load Content -> Collection, Information -> Database
1852- VIDEO: Fix threaded video regression; tickering of menu entries would no longer work
1853- VITA: Fix 30fps menu (poke into input now instead of reading the entire input buffer which apparently is slow)
1854- VITA: Fix frame throttle
1855- VITA: Fix slow I/O
1856- VULKAN: Fix some crashes on loading some thumbnails
1857- VULKAN: Unicode font rendering support. Should fix bad character encoding for French characters, etc
1858- WII: Fix crashing issues which could occur with the dummy core
1859- WIIU: HID Controller support
1860- WIIU: Initial network/netplay support
1861- WIIU: XMB/MaterialUI menu driver support
1862- WINDOWS: Added RawInput input driver for low-latency, low-level input
1863- WINDOWS: Added WASAPI audio driver for low-latency audio. Both shared and exclusive mode
1864- WINDOWS: Core mouse input should be relative again in cores
1865
1866# 1.5.0
1867- ANDROID: Autoconf fallback
1868- ANDROID: Mouse support / Emulated mouse support
1869- AUTOCONF: Fix partial matches for pad name
1870- CHEEVOS: Fix crashes in the cheevos description menu
1871- CHEEVOS: WIP leaderboards support
1872- COMMON: 9-slice texture drawing support
1873- COMMON: Threading fixes
1874- CORETEXT/APPLE: Ability to load menu display font drivers and loading of custom font
1875- DOS: Add keyboard driver
1876- DOS: Improve color accuracy and scaling
1877- GUI: Add a symbol page in the OSK
1878- GUI: Allow changing icon theme on the fly
1879- GUI: Better dialogs for XMB
1880- GUI: Various settings are now only visible when advanced settings is enabled
1881- LOCALIZATION: Add/update Korean translation
1882- LOCALIZATION: Rewrite German translation
1883- LOCALIZATION: Update several English sublabels
1884- LOCALIZATION: Update several Japanese labels
1885- MOBILE: Long-tap a setting to reset to default
1886- MOBILE: Single-tap for menu entry selection
1887- NET: Allow manual netplay content loading
1888- NET: Announcing network games to the public lobby is optional now
1889- NET: Bake in miniupnpc
1890- NET: Fix netplay join for contentless cores
1891- NET: Fix netplay rooms being pushed on the wrong tab
1892- NET: Lan games show next to lobbies with (lan) and connect via the private IP address
1893- NET: Use new lobby system with MITM support
1894- NUKLEAR: Update to current version
1895- SCANNER: Always add 7z & zip to supported extensions
1896- VULKAN: Add snow/bokeh shader pipeline effects - at parity with GL now
1897- VULKAN: Find supported composite alpha in swapchain
1898- WIIU: Keyboard support
1899- WINDOWS: Fix loading of core/content via file menu
1900- WINDOWS: Logging to file no longer spawns an empty window
1901
1902# 1.4.1
1903
1904
1905