Core and API
- Public API: The API now has as new shape. There are async counterparts (…Async) for state-changing calls, set is now setAsync, there is a new MemoryDebugger API, more getters, and suspend/resume coverage across the API.
- Threading: The command queue and message queue are now std::deque-based. Messages can carry exceptions. AudioPort is thread-safe. Cmd::CALL, TRACK_ON and TRACK_OFF are new.
- Messages: Msg::CONFIG is sent for every option change. ROM_LOADED, RSH_DONE and CONFIG_ERROR are new.
- RetroShell: It has the new architecture from vAmiga, with multiple shells and a single console per shell.
- Workspaces: A screenshot is now saved inside saveWorkspace().
- X-Ray: GPU X-Ray support is added, with a new XRAY_COMPOSITOR option.
- Shared libraries: utlib and rvlib were merged with the versions shared with vAmiga and Silicium.
- Cleanup: Header, include and namespace cleanups, plus removal of orphaned files.
Fixes
- Drive::isIdle() is fixed (#854).