Releases: BlitterStudio/amiberry
Releases · BlitterStudio/amiberry
preview-v8.0.0-pre.31
🎉 New Features
- changes for JIT support for freebsd (#1696 by polyduekes-git)
- add option to map RAmiga key to another key (#1697 by midwan)
🐛 Bugfixes
- Fix all C++ string constant conversion warnings (#1686 by wgottwalt)
- HRTMon ROM check fix
- check for $AMIBERRY_HOME_DIR before the last fallback (fixes #1698)
- Virtual keyboard would always show on startup (#1702)
- Virtual keyboard input would pass through (fixes #1702)
- re-enable custom gfx boards sanity check
🔨 Improvements
- Document --log option in help and GUI helptext (fixes #1689)
- merge GCC fixes from WinUAE
- update AROS roms to latest version
- Support broken cue files with "TRACK 0" instead of "TRACK 01". (fixes #1691)
- scale height of NTSC resolutions properly (fixes #1703)
- improve auto-crop when using NTSC (#1703)
- Added CD Drive controller support (fixes #1690)
- upgrade tinyxml2 to latest version
🏗️ Build System
- updated flatpak libpcap package [skip ci]
🏗️ Build System
- automatically disable PCem on RISC-V platforms (#1685)
🪚 Refactors
- fix build for RISC-V by making PCem optional (#1685)
📚 Documentation Changes
- add --log option in manpage (fixes #1695)
🧹 Chores
- rename SCSI Kit -> Blizzard SCSI Kit
preview-v8.0.0-pre.30
This is a preview of the upcoming Amiberry v8.0.0 release, covering 350+ changes since v7.1.1. This represents a massive leap forward — a new GUI framework, new platform support (Windows, Android, Haiku), JIT across all major architectures, a complete networking stack overhaul, and hundreds of fixes and improvements.
⚠️ This is a pre-release. While it's been tested extensively, there may be remaining issues. Please report any problems you find!
🎉 Major New Features
Dear ImGui GUI (replaces Guisan)
- Complete replacement of the old Guisan-based GUI with modern Dear ImGui (#1740, #1775)
- DPI-aware scaling on all platforms
- ImGuiFileDialog replaces old file browser
- Removed SDL2_TTF and libguisan dependencies entirely
- GUI position is remembered between sessions
- imgui.ini file creation is disabled (settings stored in amiberry.conf)
Windows Native Support
- Full native Windows version (#1781)
- InnoSetup installer with SHA256SUMS and
.exerelease artifacts - Optional file associations for Amiga file types (
.adf,.hdf,.uae, etc.) - Embedded application icon in executable
- Capitalized executable name (
Amiberry.exe) - Proper path resolution using executable directory instead of CWD
- Console window management (no forced console on startup)
Android Native Support
- Full native Android version with Kotlin/Compose UI (#1768)
- On-screen touch controls with virtual joystick (#1786)
- Native Android keyboard support
- Android TV support
- Native Home screen with content browsing
- Touch scrolling improvements
- Back button opens GUI
- Version derived from root CMakeLists.txt (single source of truth)
- Available on Google Play Store soon
Libretro Core
- RetroArch/Libretro core integration (#1803)
- Comprehensive improvements in follow-up (#1825):
- Core options: sound filter, stereo separation, floppy speed, video standard (PAL/NTSC)
- Modern Libretro API adoption (audio latency, buffer status callbacks, message severity)
- CUE/CCD sheet parsing for CD content detection
- Support for
RETRO_ENVIRONMENT_SET_SUPPORT_NO_GAME(Workbench boot without game) - CD32 Pad and Joystick controller subtypes
- Superhires geometry support (up to 1920×1280)
- Save state bug fixes (double close, variable-size serialization quirks)
- Fixed aspect ratio (4:3) and multi-port mouse polling
OpenGL Renderer & Shader Support
- New OpenGL rendering backend with full GLSL shader support
- Built-in CRT shader:
1084monitor emulation - Support for external GLSL shader files
- OpenGL set as default renderer (shader set to
nonefor max performance) - Improved OpenGL ES and modern OpenGL compatibility (#1760)
- Adaptive VSync implementation
- Lagless VSync options (beam racing)
- OpenGL and Auto Crop interaction fixed with CRT shaders (#1728)
- Shader option exposed to
amiberry.conf - Shader changes apply immediately
ARM64 JIT Compiler
- JIT enabled for ARM64 Linux (#1785)
- JIT enabled for macOS Apple Silicon (#1802)
- JIT enabled for Android
- Major stability fixes for ARM64: crashes, visual corruption, 64-bit pointer safety (#1766, #1824)
- Fixed BSR.L / Bcc.L displacement sign extension
- Fixed 64-bit pointer truncation in FPU branch handler
- JIT and CPU thread can now work together (#1806)
- Dynamic unstable block guard with quarantine system for startup stability
x86-64 JIT Improvements
- Made 64-bit pointer-clean for Windows/Linux/macOS (#1811)
- PIE compatible (#1820)
- FreeBSD support with ASLR-safe cache allocation (#1814)
- Fixed SIGSEGV handler crash with
comp_catchfaulton Linux (#1816) - Corrected JIT cache distance check threshold to actual RIP-relative limit (#1821)
Custom Bezels
- Support for custom bezel/overlay images
- Fixed bezel aspect ratio preservation
- Fixed bezel image centering
Networking Overhaul
- TAP networking backend for bridged A2065 emulation (#1784)
- Complete rewrite of PCAP backend for correct bridged networking (#1777)
- Segment GRO/GSO-coalesced packets in PCAP receive path (#1780)
- Fixed deadlock in PCAP worker thread (#1773)
- Populate
device_settingswhen parsing A2065 config (#1774)
Host-Shell Support
- AmigaOS host-run/host-shell integration (#1742)
Haiku OS Support
- Build and run on Haiku R1 Beta5 (#1827)
🚀 Performance Improvements
- RTG Zero Copy: Zero-copy rendering mechanism for Picasso96, avoiding redundant buffer copies (#1762)
- CPU Threading: Enable and optimize CPU threading with multiple fixes (#1767)
- Partial Renders: Only redraw changed portions of the emulation display
- CL5429 VGA: Improved CL5429 blitter/fill operations for RTG performance
- P96 Dirty Rects: Bridge P96 invalidation to SDL dirty rect system — only update modified portions of RTG screens (#1712, #1741)
- Optimized 24-bpp P96: Faster
fillrect_frame_bufferfor 24-bit modes - Shader Rendering: Optimized rendering performance for shaders (#1756)
- Flush Clear Screen: Optimized clear screen operations
- Parallel LTO: Added parallel LTO compilation support and CPU optimization flags (#1724)
- Reduced Render Overhead: Avoid
SDL_RenderClearwhen render quad covers the entire screen; useSDL_Delayto reduce CPU wakeups - Status Line: Rendered as separate texture instead of pushing pixels on the emulation surface
🐛 Bug Fixes
BSD Socket / Networking
- Major bsdsocket.library implementation overhaul (#1359)
- Fix SO_EVENTMASK crash and WaitSelect hang (#1787)
- Fix SBTC_DTABLESIZE crash and WaitSelect bounds check (#1788)
- Implement
Inet_LnaOf,Inet_NetOf, andInet_MakeAddr(#1789) - Fix
sendmsg/recvmsgdata corruption (#1790) - Resolve 9 remaining bsdsocket emulation bugs (#1791)
- Fix close event monitor race (#1792)
- Fix Windows bsdsocket bugs and consolidate shared code (#1793)
- Fix errno clobbering and thread cleanup race on non-Windows platforms (#1828)
- Fix host_WaitSelect result propagation
- Add SETERRNO checks throughout
- Add support for Amiga-specific socket options and interface discovery IOCTLs
- Fix multiple bugs in
bsdsocket_host.cpp
JIT
- Fix ARM64 JIT crashes, visual corruption, and 64-bit pointer safety (#1824)
- Fix crash when JIT was enabled in complex configs
- Fix JIT FPU would not enable from
uae-configuration - Fix bug when toggling JIT on/off through event
- Fix 32-bit memory allocation (#1753)
Graphics & Display
- Fix black screen when autoresolution was enabled
- Fix OpenGL rendering issues (upside-down textures, format handling, OSD position)
- Fix absolute mouse positioning in fullscreen and HiDPI (Retina) environments
- Fix KMSDRM mode rendering: scale option, 16-bit RTG, keyboard input, mouse offset (#1823)
- Fix hardware RTG cursor and mouse position handling (#1763)
- Fix CL5429 optimizations causing 8-bit modes to show garbage (#1746)
- Fix P96 mode 1024×600 error on startup (#1708)
- Fix hardware mouse cursor using BGR instead of RGB
- Fix display port adapters
- Fix transparency of hardware sprite in P96 modes
- Fix RTG modes having incorrect aspect ratio
- Fix DPF mode garbage in right border
- Fix
bpl_endcalculation in hires - Fix mode switch height c...
v7.1.1
🎉 New Features
- changes for JIT support for freebsd (#1696 by polyduekes-git)
- add option to map RAmiga key to another key (#1697 by midwan)
🐛 Bugfixes
- Fix all C++ string constant conversion warnings (#1686 by wgottwalt)
- HRTMon ROM check fix
- check for $AMIBERRY_HOME_DIR before the last fallback (fixes #1698)
- Virtual keyboard would always show on startup (#1702)
- Virtual keyboard input would pass through (fixes #1702)
- re-enable custom gfx boards sanity check
🔨 Improvements
- Document --log option in help and GUI helptext (fixes #1689)
- merge GCC fixes from WinUAE
- update AROS roms to latest version
- Support broken cue files with "TRACK 0" instead of "TRACK 01". (fixes #1691)
- scale height of NTSC resolutions properly (fixes #1703)
- improve auto-crop when using NTSC (#1703)
- Added CD Drive controller support (fixes #1690)
- upgrade tinyxml2 to latest version
🏗️ Build System
- updated flatpak libpcap package
- automatically disable PCem on RISC-V platforms (#1685)
🪚 Refactors
- fix build for RISC-V by making PCem optional (#1685)
📚 Documentation Changes
- add --log option in manpage (fixes #1695)
🧹 Chores
- rename SCSI Kit -> Blizzard SCSI Kit
v7.1.0
🎉 New Features
- implement uaenet.device using pcap (fixes #1678 by midwan)
- Add CHD-zstd support (#1679 by rtissera)
- Added FreeBSD support. No binaries available in the release, but it will now build and run properly
🐛 Bugfixes
- Fix compile error on latest GCC versions (fixes #1673)
- make gethostbyname/gethostbyaddr thread-safe (issue #1487)
- Don't throw serial port errors to the console
- Prevent null pointer return for small ROM buffer sizes
- Fix Custom Controls not loaded (fixes #1665)
🔨 Improvements
- improve bsdsocket library emulation (#1359)
- log any privileged ports access
- reduce log spam (#1359)
- Improve raw socket handling (#1359)
- Fix display adapter detection logic (fixes #1677)
- Added support for CHD+zstd archives
- make ZSTD support optional
🏗️ Build System
- add libzstd in build dependencies in pipeline
- workflow improvements, added Brewfile
- improve aarch64 toolchain file
- reorganize root cmake file [skip ci]
- workflow fixes
- fixed artifact name
📚 Documentation Changes
- minor fixes in readme
🧹 Chores
- added libpcap in .DEB package description
- improve gitignore file
- updated version to 7.1.0 for next release
v7.0.9
🐛 Bugfixes
- disable debug only DEV IDE entry from Expansions (fixes #1664)
- Fixed some GUI widgets were not visible in Add Hardfile dialog
- Fix keyboard left/right in GUI text fields would jump two characters
🔨 Improvements
- Add Swap Backslash/F11 option to GUI and INI file
- Don't destroy the window when changing gfx settings
- try to calculate hardfile sizes correctly on macOS (#1603)
🧹 Chores
- bump version to 7.0.9
v7.0.8
🐛 Bugfixes
- Fixed mouse positioning which broke after recent refactor
- Fixed filesys/action_read_link crash (#1659)
- fix version string was not initialized early enough (fixes #1661)
- Fixes filesys returning 0 in case of a malformed UTF filename
- Fixed bsdsocket emulation fdcallback crash (#1663)
- Fix version string being truncated (fixes #1662)
- Fix positioning in checkboxes in Expansion Panel (fixes #1655)
🔨 Improvements
- add support for 3.2.3 ROMs
🏗️ Build System
- skip obsolete Ubuntu 20 from builds
v7.0.7
v7.0.6
🎉 New Features
- Expand uaelib and uaenative with more functions
- implemented custom board order option in HWInfo panel
- expose Z3 mapping mode option in GUI->RAM
- added Default sound frequency option in amiberry.conf (fixes #1644)
🐛 Bugfixes
- fixed setcursor dx/dy variable values
- Update WHDBooter didn't use the correct path on MacOS
- Fixed selecting custom SCSI Rom did not work (fixes #1641)
- if audio was disabled, audio_pull_buffer could fail
- Fix inverted status line colors
- fixed text being cut-off for SLIRP devices
- Fixed SLIRP implementation (fixes #1647)
🔨 Improvements
- add a default Dark theme (fixes #1639) (#1640)
- Updated gamecontrollerdb to latest version
- added A600GS in gamecontrollerdb_user
- updated whdload_db.xml to latest version
- added Drive Cable options for GreaseWeazle
🏎️ Performance Improvements
- optimize read_processor_time
🪚 Refactors
- Refactor most of amiberry_filesys
- more amiberry_filesys refactoring
- more filesystem related refactoring
- remove extra check for parent->parent
- -1 is not a valid number for SDL
- Always set the texture size to that of the surface
- check if surface exists before freeing it
- Use monid in scaling option function
- Use monid in references of scaling function
- indicate more Amigerry-specific sections in the code
- add ifdef in midiemu
- change how Version information is constructed
🧹 Chores
- minor refactoring
v7.0.5
🐛 Bugfixes
- Fix CD32 block caching
- serial port support was always disabled after recent refactoring
🔨 Improvements
- Restore focus when exiting debugger
- Debugger window focus update
🏗️ Build System
- Bump version to 7.0.5
🪚 Refactors
- don't create the rp9 folder on startup (#1483)
- don't specify a format during DisplayMode switching
📚 Documentation Changes
- improve Readme regarding available packages (fixes #1630)
- fix typo
🧹 Chores
- mark USE_OPENGL as broken in Cmake