Please note that this is just an overview and does not mention or explain every new feature.
The following is a (probably incomplete) list of changes made between the 3.19 and 3.20 release of MorphOS to the ROM (boot.img) based components.

Quark
- Mirari architecture support
- Modified to expect relative offsets at the beginning of the OF data rather than absolute pointers
- Fixed an unterminated list bug that in some cases trashed code/data of system modules on Cyrus Plus
- Fixed the MAC address reading on dual core PowerMac G5 machines
- Prefer the CPU frequency provided by the boot loader, if present
- When accessing the regular PCI bus, do a type 1 configuration transaction
- Reworked the initial reconfiguration of the TLB1 entries on the Cyrus Plus
- Made it possible for programs to retrieve the Open Firmware data blob
- Allow keyfile bundling in a single morphos.key file
- Fixed the Mac time being off a couple of seconds
- Fixed clock drift on Mac platforms
CDRive
- Fixed to allow reducing cache size with negative value to AddBuffers
- Fixed memory corruption issue when unmounting ISO image
- Improved error reporting for directory scanning errors
Cybergraphics
- Improved argument validation for DrawEllipse()
- Added support for hardware accelerated tinting
Dos
- Added support for object dates past year 2038
- Improved compatibility when using dos functionality from within a file system
- Various fixes and improvements to following functions: MatchEnd(), DeviceProc(), AddBuffers(), ExAll() and GetDeviceProc()
- Fixed a system startup bug that could lead to boot failures
Exec
- Added more CPU version IDs, including T1042
- Performance improvements for handling exec internal object lists
- Implemented memory allocation cache accelerating small allocations
- Fixed various bugs related to task termination
I2C
- Added new attribute I2CBA_SLAVEID
Intuition
- Workbench screen may now open on multiple displays
- Reimplemented multiple monitor support. Monitor placement is now based on actual panel sizes (if available)
- Implemented flags and hotkeys to better control multi-monitor setups
- Implemented WA_LockMouseToScreen
- Added an option to open menus by left-clicking the screen titlebar
- Added support for EEDID data if provided by the monitor
- Fixed MM_GetDefaultGammaTables
- Fixed the IA_NEXTMONITOR loop
- Fixed a regression when uncovering hidden windows with no Enhanced Display
- Fixed repeated calling of blanker's scripting for OnScript events if no blanker module was selected
- SetIPrefs: Fixed to report success for IP_BLANKER
- Limit maximum default resolution of the Ambient screen to 1920x1080
Log
- User interface improvements
MarvellDMA
- IDMAWaitCopyASync: Fixed to fetch int_transfersize before releasing the semaphore
Mirari New
Module to control various Mirari bits.
Mount
- Added support for detecting NTFS, exFAT and FAT32 partitions on GPT volumes
- Improved memory handling
- Added SFS2 support
Objdata
- Improved error checking
- Improved memory handling
PFS3
- Improved handling of system reboot and shutdown
- Improved filesystem termination processing
- Various improvements and fixes
Poseidon
- Various fixes and improvements
- Moved USB vendor database to an external file
Qoriq_eth New
Ethernet driver for Mirari & CyrusPlus/X5000. Replaces the CyrusPlus onboard driver.
RamFS
- Various fixes and improvements
SATA
- Fixed booting on Pegasos 1 machines with newer firmwares
- Added PPC timebase code for P50x0 driver
- Mirari HD activity LED support
- Improved SCSI INQUIRY serial number page emulation by correcting the additional page length handling
- Support EVPD page code 80h for SCSI Inquiry emulation
- Fix zero page read if no unit is specified
- Added support for HD_SMARTCMD
Sensors
- Fixed a memory corruption bug
SFS
- Implemented support for SFS2, allowing files larger than 4GB and partitions up to 2TB
- Various fixes and improvements
Shell
- Fixed a memory corruption bug
ShellCmd
- Improved Cls RESET
ThermalMGMTMirari New
Mirari thermal manager.
Touchpad
- Fixed a bug that could have prevented prefs from being updated from file
USB HID
- Added support for iMac iSight media remote
- Fixed zero-page reads in nParseReport
USB SerialFTDI
- Enabled for ISO, seems to be good enough for further testing
- Disable xon/xoff, fix initialization
- First working version of Poseidon serialftdi.class
Following is a (probably incomplete) list of changes made to the disk based components of MorphOS. While not mentioned for every component, translations were updated for most of them. Also various cosmetic fixes were applied here and there.

Ambient
- Improved memory handling and overall stability
- Added stronger error checking throughout
- Fixed issues with dual-PNG icon snapshots and restores
- SVG icon snapshots now keep tooltips, stack size, and other metadata intact
- Added Mirari support to the system monitor
- Prevented incorrect information from appearing when no disk icon is available
- Search now skips binary files for faster performance
- Improved compatibility with older icon formats
- Improved support for editing icons through icon.library functions
- Updated old file type entries and added support for new ones
- Fixed icon un-snapshot behavior in root views
- Resolved memory corruption in thumbnail previews
- Fixed problems deleting files from context menus
- File copies now preserve nanosecond timestamp precision when possible
- Added support for the SFS2 filesystem
- Fixed window ID generation for listers and related windows
- Reworked AppWindow handling to prevent lockups
- Improved focus handling when the main display first opens
- Made execute_command accessible through ambient.library for better directory handling
- Added an option to hide files starting with a dot
- Added pattern matching support to lister searches
- Fixed default tool lookup issues on multi-assign setups such as NetworkFS
- Corrected default tool path resolution, improving launch reliability
- PNG files dropped into the icon box can now be used directly as icons
- Added limits to reject PNG icons larger than 2048x2048
- Fixed bugs when creating or deleting panel items in Panel prefs
- Improved path resolution safety checks to prevent invalid output strings
- Added support for AV Image, AV Image Sequence, and HEIC Image Sequence formats
- Window titles now display full names correctly
- Increased internal freelist limits for better resource handling
- Improved list view dragging behavior
- Reworked background and wallpaper loading for better screen handling and performance
- Added support for external panel preference classes
- Fixed incorrect context menus for drawer shortcuts
- Fixed drag-and-drop behavior across windows
- Updated shortcut list layout proportions in preferences
- Updated Info Window layouts for Device and Kick icons
- Double-clicking search targets now quickly copies paths for editing
- Added a workaround for a Settings/Filetypes search hotkey bug
- Fixed crashes caused by removing entries from the action list
- ambient.library can now open views needed for external panels and bookmarks
- Increased maximum supported audio playback frequency to 192kHz
- Added ambient.library functions for accessing prefs and misc panel related functions
- Added basic safety checks to window title generation
- Fixed comment handling when no comment is present
- Fixed image viewer path updates when switching images
- Fixed incomplete file replacement reporting on nearly full disks

Applications/FlowStudio
- Improved printing and PostScript output handling, including page ranges, margins, headers, footers and print preview behavior
- Improved print preview rendering, scaling and page navigation responsiveness
- Fixed multiple printing and syntax coloring issues in PostScript output mode
- Added bitmap-based preview rendering for print output generation
- Improved handling of odd/even pages, reverse print order and page scaling logic
- Improved project and workspace management, including active project selection, persistence and workspace synchronization
- Added support for per-filetype editor settings
- Improved makefile generation and dependency tracking for C, C++, Objective-C and Objective-C++ projects
- Fixed several long-standing issues in makefile generation and source file handling
- Improved handling of workspace and project loading robustness and validation
- Fixed several crashes, memory leaks and invalid memory accesses in workspace, printing and project tree handling
- Improved ASL file requester behavior and file selection workflow
- Added Markdown support and improved Markdown styling handling
- Implemented autocomplete support for #include and #import
- Improved console output filtering and line ending handling
- Improved UI behavior and state handling in the print requester
- Improved line numbering, syntax coloring and formatting consistency in printed output
- Added live-adjustable print preview scaling
- Improved handling of screen colors and formatting during printing
- Added support for footer output and additional page layout options in PostScript mode
- Improved toolbar and project tree interaction for active project management
- Fixed theme quick-selection handling in application menus
- Improved compatibility and robustness of Objective-C/Objective-C++ project handling
- Refactored and reorganized parts of the project and printing infrastructure for future extensibility
- Performed various internal cleanup, usability and stability improvements

Applications/Benchmark/DiskSpeed
- User interface improvements
- Fixed argument parsing
- Fixed wrong results due to counter overflow
- Added CACHE alignment option
Applications/Flacapella
- Added GnuDB UniqueCode support
- Disabled defunct cover search services
- Use Retrobridge server to obtain CDDB data
Applications/Hex
- Viewing RAM starts in read-only mode. Pressing return key will bring up a requester before enabling edits
- Search is now abortable
- Added a Recent Files menu
Applications/Iris
- Updated to Iris 1.53, see here for more information
Applications/Iris/Contacts New
Iris' companion application for managing CalDAV based contacts with support for iCloud and GMail contacts.
Applications/Jalapeno
- Rewrote Job command execution to be more robust
- Added a way to ignore the capacity check and burn on x5k
- Added 64-bit support for mkisofs
- Enabled erasing CD-RW and DVD-RW media if a capacity check has failed
Applications/RDesktop
- Added support for TLS 1.3
- Activated serial and parallel ports support
- Refactored sound module to be up-to-date with other RDesktop sound drivers
- Support async AHI calls instead of synchronous ones
- Added code for anti-jittering
- Added micro speedups in bitmap handling
- Added MS ADPCM codec negotiation and decoding 170 kB/s to ~60kB/s
- Added support for pasting images from Windows side
- Fixes in clipboard code
- Re-added support for CF_TEXT (used in some older apps)
Applications/RemoteShell
- Updated to OpenSSH 10.3p1
- Fixed mlkem768x25519-sha256 key exchange algorithm
- Increased ssh, scp and sftp stack size
- Various fixes and improvements
Applications/SCANdal
- Added a PDF saver
Applications/ShowCase
- If ShowCase is started without any file and browser mode is not enabled, enable it by default
- Added WebP image format support
Applications/Sketch
- Fixed datatypes loader when reading 32bit BMP pictures
- Reset button pressed to avoid extra line drawing on tool change
- Fixed buffer overflow issues
- Fixed illegal memory access on startup if application icon is missing
Applications/Synergy/SynergyClient
- Added support for relative mouse movements which make it possible to move the mouse across multiple displays
- Added client certificate generation
- Fixed a busy-loop on disconnect
Applications/Synergy/SynergyServer
- Fixed a crash on disconnect during some socket ops
- Key mapping tweaks to improve windows support
- Updated protocol support to fix clipboard, key input
- Implemented SSL support w/ key generation. SSL is always-on
- Fixed double-start exit crash(es)
Applications/Transfer
- Added support for object dates past year 2038
- Fixed setting permissions when overwriting a remote file
- Fixed label alignment to not rely on catalogs strings
- Fixed behavior when dropping a local file to a lister
Applications/VPDF
- Updated to libpoppler 26.01.0
- Added support for displaying encrypted PDFs
- Sort profiles in Print requester
- Hide print mode selection if TurboPrint legacy backend is disabled
- Fixed an exception/exit issue with specific PDFs
- Push application window to front if a new pdf is opened
- Fixed bitmap export orientation issues for rotated pages in PDFs
Applications/Wayfarer
- Updated to Wayfarer 11.3, based on WebKitGTK 2.50.4
Applications/ZVNC
- Fixed mapping of right ALT key combos
- Added missing Home/End/PageUp/PageDown keys
- Added a check for empty hostname
Games/PaperFootball New
Paper football game.
Games/Wordy
- Fixed bogus MUIM_Window_AddHandler calls

C/Automator New
Automator can be used to control MUI applications from a script. It can both inspect and interact with applications.
C/ConClip
- Fixed changing the clip unit
C/Copy
- Copies nanosecond precision timestamps when possible
C/Date
- Improved input validation
C/Delete
- Fixed file deletion issue with some filesystems
C/Eject
- Improved error checking and reporting
C/Format
- Fixed to use translations
C/HDWrite
- Fixed a bug that could lead to use of wrong start offset
- Added automatic decoding of XZ compressed image files
- Added Skip=SectorSkip/N option to initially skip sectors within the file or on the device
- Added ASyncIO/S option that reads the data asynchronously while writing, using 1MB chunks
- Added MD5/S option to output the MD5 checksum after all data has been read
C/Info
- Validate the disk information returned by the file system to avoid displaying odd information
C/Installer
- Fixed a buffer overflow
C/IPrefs
- Always generates an ftcodepage file if a keymap provides a Unicode translation table
- RMB Emulation now defaults to Command keys on laptops
- Implemented support for multiple displays
C/LhA
- Now uses header level 1 by default
- Added support for reading UNIX permissions and timestamps
- Improved error checking
C/MakeLink
- Fixed to not lock the link target for softlinks
C/MirrorCheck New
Command line utility to compare directory trees.
C/MirrorCopy New
Command line utility to mirror directory trees and apply changes to destination only.
C/NetConfig
- Use default hostname 'mirari' for Mirari systems
C/Newer
- Added a FILE/S arg to disable looking up residents and libraries
C/OFArc New
Command line utility to extract and create .gz, .lha, .tar, .tgz, .zip and .zoo files.
C/OFDNS New
Command line utility to perform DNS lookups.
C/OFHash New
Command line utility to calculate MD5, RIPEMD-160, SHA-1, SHA-224, SHA-256, SHA-384 and SHA-512 hashes of files.
C/OFHTTP New
Command line utility to perform HTTP and HTTPS requests and download files.
C/PCIScan
- Improved/Fixed output for MSI/MSI-X Capabilities
C/Quote
- Fixed READITEM quoter to quote the string if '=' is in the string
C/Replace New
Shell command to find and replace text and binary data within files.
C/RequestString New
Shell command to request a string.
C/SetFileSize New
Shell command to change the size of a specific file. Useful for creating file images or test files.
C/Touch
- Sets nanosecond precision timestamps when possible
C/Version
- Relaxed version string validation
C/Xad*
- Added support for object dates past year 2038

Classes/Datatypes/16sv
- Fixed seeking
- Fixed buffer overflows when handling interleaved samples
Classes/Datatypes/BMP
- Fixed support of 16/32Bit depth files with biCompression set to BI_BITFIELDS using color masks
Classes/Frameworks/MUI
- MUIAsl: Re-worked separator settings in the ASL requesters
- MUIList: Fixed a crash with more than 64 columns
- MUIList: Added multi-selection in Edit Mode
- MUIGauge: Added easy constructor calls
- MUIScrollbar: Refactored to make subclassing horizontal scrollbars possible
- MUIArea: Don't call MUI_Redraw with NULL object. Added a -renderInfo getter
- MUIApplication: Fixed Unicode strings being passed to the Application.mui object
- MUIPoplist: Fixed the MUIA_Poplist_Object getter
- Use [self new] instead of [class new] in helper constructors
- Added a lot of default constructors
- Added a way to call MUI_Layout directly on a MUIArea class instance
- MUIList: -active would return 0 (instead of -1) even if the list was empty
Classes/Frameworks/OB
- Always call DumpTaskState in doesNotRecognize
- OBThread: Fixed a theoretical race when shutting down thread
- Refactored internal strings from UTF16 (broken) to UTF32
- Marked old UTF16 methods as deprecated
- Fixed a memory stomp in OBURL
- Fixed encoding issues when passing strings to ReadArgs
- OBArexx interfaces can now bypass Arexx's 64k character string limit when messaging between two ObjC apps
- Added several missing methods to OBQueue
- Replaced [super dealloc] with [self release] in few remaining error codepaths
- Uses new exec Debug functionality for stack dumps
- Added support for newer ObjFWRT
- Fixed a memory leak in [OBString stringWithString:] method
- Improved Debug output from ob_debug.framework
Classes/MUI/AboutMorphOS
- Updated credits
Classes/MUI/Calendar
- Fixed issue where only mouse button up was received, causing the day to be modified
Classes/MUI/Hex
- Added MUIM_Hex_HitTest
Classes/MUI/Keyframe
- Improved user interface and various fixes
Classes/MUI/PowerTerm
- Added a "Dark Mode" settings switch
- Refactored color handling for the default Console emulator
- Extended default palette to 16 colors. Colors now default to the standard VT100/xterm palette since ncurses expects colors to be at fixed indexes
Classes/MUI/Scintilla
- Fixed to not try to autocomplete preprocessor statements
- Fixed bugs in cleanup
Classes/MUI/VGraphics
- Defer redraw on mouse moves when MUIA_VGraphics_LightenOnMouse is off
Classes/Multimedia/audio.output
- Fixed a memory corruption bug
- Fixed playing of sound with frequency higher than 48Khz
Classes/Multimedia/bmp.decoder
- Fixed decoding of uncompressed mono/1bit/4bit images
- Added support for color-masked 16/32 bit image formats
Classes/Multimedia/clipboard.output
- Fixed to use the correct clipboard unit
- Improved error checking
Classes/Multimedia/clipboard.stream
- Improved error checking
Classes/Multimedia/flac.decoder New
FLAC audio decoder.
Classes/Multimedia/flac.demuxer New
FLAC audio demuxer.
Classes/Multimedia/http.stream
- Improved memory handling
- Improved HTTPS support
Classes/Multimedia/id3tag.demuxer
- Fixed a memory leak
Classes/Multimedia/iffilbm.decoder
- Added IFF pbm variant support
- Added Pchg support (multi-palette per line images)
Classes/Multimedia/iffilbm.demuxer
- Added IFF pbm variant support
Classes/Multimedia/iffilbm.muxer
- Fixed several bugs
- Added HAM8/HAM6 support
Classes/Multimedia/png.muxer
- Fixed argument parsing
- Fixed MUIM_Cleanup implementation
Classes/Multimedia/qoi.decoder New
Quite Ok Image format decoder.
Classes/Multimedia/qoi.demuxer New
Quite Ok Image format demuxer.
Classes/Multimedia/qoi.encoder New
Quite Ok Image format encoder.
Classes/Multimedia/qoi.muxer New
Quite Ok Image format muxer.
Classes/Screenbar/Debug
- Reordered to avoid Rawimage.mcc attempting to call MUI_Redraw
- Fixed use after free in MUIM_Cleanup
Classes/Screenbar/Grabber
- Fixed bugs in application cleanup
- Added missing help bubbles
- Added clipboard unit support (currently only available via ARexx)
- Added %W and %S pattern to be used as window and screen name
- Implemented file system name size limit and illegal character check
Classes/Screenbar/Keyinput
- Fixed bugs in cleanup
- Made keyboard image right aligned
Classes/Screenbar/Netlamps
- Fixed line rate issue
- Fixed a bug that would add spurious extra 4GB to traffic and packets counts whenever the 32bit SANA2 value wraps
- Reduced s2devicequery calls to reduce cpu load
- Fixed bogus s2devicequery call
Classes/Screenbar/Preferences
- Tweaked code to avoid unnecessary MUI_Redraw calls
Classes/Screenbar/Smart New
Monitors S.M.A.R.T status of system drives.
Classes/Screenbar/Thermal
- Mirari and Cyrus+ support
- Fixed a string termination bug
- No longer tries to run Thermals app if there's no supported sensors found
Classes/Screenbar/Volume
- Fixed several object life-cycle issues that caused lockups when reopening screens
- Fixed memory handling issues
Classes/Usb/Camdusbmidi
- Added a psd error message in case of failure to open the user interface for settings
- Fixed MUI layout to not fail anymore at creating settings windows for class/interface
- Handle SysEx messages in case the device is sending more than 4 bytes of data
- Fixed a bug with SysEx reception handling for multiple in/out DIN interface. Only the port numbered 0 would have worked
Classes/Usb/Xbox360
- XBox One gamepad's motors can now be controlled fully independently
- Added impulse motors support on XBox One and compatible gamepads
- Added a SetSignal to clear a signal set by the timer abort. Fixes xbox360/360w rumble support
- Added support for GameSir-G7 SE Controller for Xbox

Data/ICU
- ICU data is now stored as a single tarball file, rather than thousands of individual files, significantly improving installation times. Applications using ICU will now use VFS to read from the tarball without extracting it. Note: to run legacy applications like older Wayfarer builds, the ICU data may need to be extracted into application's PROGDIR
Devs/Audio
- Fixed use after free bugs
Devs/Audiomodes/Cmi8738
- Added some interrupt auto correction of the ping/pong playback buffer to avoid desynchronization over time
- Fixed some n+1 bug in the playback DMA sample buffer h/w size
Devs/fileimage.device
- Improved HD_SCSICMD emulation
- Improved error checking
- Added support for TD_GETGEOMETRY64 command
Devs/Keymaps/*
- Tweaked ISO-8859-2 to actually use the Euro sign for 0xA4
- Switched most European ISO-8859-1 keymaps to ISO-8859-15
Devs/Monitors/Radeon
- Improved support for HDMI, DVI, and DisplayPort outputs on newer Radeon graphics cards
- Added support for more Radeon chip families, including Southern Islands, Sea Islands, and mobile variants
- Improved monitor detection and display compatibility for more stable video output
- Fixed several graphics rendering and performance issues affecting 2D and 3D applications
- Improved memory handling for AGP and PCI Express systems to reduce crashes and corruption
- Added support for newer AtomBIOS firmware versions and external firmware loading
- Improved fullscreen rendering and support for tiled framebuffers
- Added hardware-accelerated tinting support on more Radeon generations
- Cleaned up and improved Radeon register definitions to reduce hardcoded values
- Added support for more display connectors, encoders, and display controller detection
- Expanded support and testing for additional Radeon models
- Fixed HDMI and dual-link DVI issues on Evergreen and newer GPUs
- Improved support for systems booting without firmware-initialized Radeon hardware
- Simplified and refactored parts of the Radeon and AtomBIOS driver code
- Added an option to ignore automatic dual-link DVI mode selection
- Fixed incorrect mirror mode detection for certain AverMedia capture devices
- Added a way to export monitor identification data (EDID) through GraphDev
- Improved handling of active display paths and encoder configuration
- Fixed digital encoder handling when changing display modes
- Improved fullscreen 3D support for unusual display resolutions
- Corrected pixel clock calculations used by AtomBIOS
- Extended Sea Islands support using newer display mode handling code
- Added support for newer AtomBIOS pixel clock functions
- Fixed stability issues related to indirect buffer uploads and GPU command handling
- Updated memory mapping behavior for newer Sea Islands hardware
- Added safeguards and compatibility fixes for AGP systems
- Improved rendering performance on R600, R700, Evergreen, and Northern Islands GPUs
- Enabled support for many Radeon Mobility GPUs previously disabled
- Added clearer error reporting for unsupported Radeon ROM access
- Added simplified display mode setup for systems with active display paths
- Improved handling of hardware takeover from other 3D applications
- Fixed task freeze issues caused by incorrect wait handling
- Improved digital panel setup on Northern Islands and newer GPUs
- Added support for newer AtomBIOS transmitter control versions
- Improved cache flushing and memory synchronization for older Radeon families
- Added support for newer firmware formats and firmware information structures
- Improved connector and encoder detection with more human-readable naming
- Fixed graphics corruption and crashes caused by incorrect cache handling
- Improved display path handling for Evergreen and newer GPUs
- Merged duplicated display transmitter control code for easier maintenance
- Improved compatibility for AGP-based Macintosh systems
- Removed obsolete legacy and unused code
- Added "golden register" settings for Southern Islands and Sea Islands GPUs
- Improved identification of display controllers across Radeon generations
- Added support for Radeon R7 240 and additional Bonaire-based devices
- Fixed uninitialized GPU registers affecting stability on Evergreen and Northern Islands
- Added experimental high-performance power mode support on some Radeon cards
- Disabled problematic AtomBIOS surface initialization causing color distortion
- Fixed 8-bit bitmap blitting issues
- Added support for direct scaling from alpha pixel arrays
- Added reporting support for 3D rendering on Evergreen and Northern Islands
- Improved HDMI startup support when firmware has not initialized the GPU
- Added optimized DMA packet submission routines
- Restored and fixed DMA support for R400 GPUs
- Added hardware tinting support for R100 and R200 GPUs
- Improved startup handling for unsupported ASIC initialization cases
- Fixed hardware cursor display issues on Bonaire GPUs
- Added PCI Express DMA support for Cayman, Southern Islands, and Sea Islands
- Fixed firmware upload failures affecting older Radeon generations
- Added support for six display controllers on Sea Islands GPUs
- Added safeguards for dynamic memory expansion mechanisms
- Added DDC register support for Southern Islands and Sea Islands GPUs
- Improved pixel clock handling for low-resolution modes on Evergreen and newer GPUs
- Improved decoding and identification of Radeon connectors and encoders
- Derived chip family information automatically from chip IDs for cleaner device handling
Devs/Networks/Rtl8168
- Improved device cleanup

L/Ext2fs
- Added support for object dates past year 2038
- Added support for nanosecond precision timestamps
- Improvements in dealing with object timestamps
- Format improvements
L/HFSPlus
- Added support for object dates past year 2038
L/MUICON
- Fixed use after free bug
L/NetworksFS
- Fixed connection error requester message
- Store volume names in bookmarks when using the Connect window
- Added missing MUIA_CycleChains
L/NTFS
- Added support for object dates past year 2038
- Fixed to return error on more modify or write operations
L/Sgixfs
- Added support for object dates past year 2038
- Fixed to return error on more modify or write operations
L/Smb2fs
- Added support for object dates past year 2038
- Fixed memory corruption bugs
- Cache filesystem statistics to avoid excessive network traffic
- Various fixes and improvements
L/TrashFS
- Set Trashcan volume creation date to current date stamp
- Hides .mtrash directories when creating them (SFS only)
- Respects DefIcon_Path when loading Trashcan icons
L/XADFS
- Added support for object dates past year 2038
- Improved filesystem termination processing
- Allow volume name to include terminating ':', which will then be quietly ignored and included in the volume name
Libs/Ac97mixer
- Improved mixer support
Libs/AmigaGuide
- Resolve the document file path when calling MultiView via REXX, not just when attempting to run it
Libs/Asyncio
- Improved error checking
Libs/Cairo
- Enabled COLRv1/SVG font glyph rendering
- Updated to libcairo 1.18.4
Libs/Camd
- Fixed ReceiveHook implementation
Libs/Charsets
- Fixed GetSystemCharset to correctly utilize the keymap based charset obtained via GetKeyMapCodepage
Libs/Clipboard
- Various fixes and improvements to initialization and clean up
- Fixed reading clipboard image from different unit number
- Corrected memory buffer alignment
Libs/Commodities
- Implemented support for IECLASS_EXTRAWKEY in ParseIX. Should allow the creation of CxFilter that can grab multimedia keys sent by HID class
Libs/Ddc
- Improved support for multi-head graphics cards
- Improved mode generation for better display support
Libs/Expat
- Security fixes
Libs/Filesysbox
- Added support for object dates past year 2038
- Various bug fixes and improvements
Libs/Fontconfig
- Updated to fontconfig 2.17.1
Libs/Freeglut
- Fixed a cleanup issue when closing application windows, preventing leftover graphics resources from staying active
- Improved window shutdown handling to avoid crashes or errors caused by graphics systems being closed twice
- Added basic support for hiding the system mouse cursor from within applications
- Corrected mouse movement tracking so applications now receive accurate cursor positions
- Improved compatibility with libGL.a by allowing both initialization systems to work together more safely
- Added a new initialization option that lets applications request a specific TinyGL graphics context version
- Fixed keyboard key release events so applications can now correctly detect when keys are released
- Improved graphics context creation so depth buffering is only enabled when the application actually asks for it
Libs/Freetype
- Updated to freetype 2.14.3
Libs/FTP
- Added support for object dates past year 2038
Libs/Harfbuzz
- Updated to Harfbuzz 14.2.0
Libs/Hpdf
- Updated to libharu 2.3.0
Libs/Ixemul
- Switched to 64-bit seconds since EPOCH (time_t) to support dates past 2038. Added new API functions that will be used by new applications. Old binaries will continue to run, but are limited to 32-bit types with associated limitations
- Switched to 64-bit file sizes and positions (off_t and fpos_t) to support large files without need to use special 64-bit aware functions. Added new API functions that will be used by the new applications. Old binaries will continue to run, but are limited to 32-bit types with associated limitations
- Implemented minimal support for ISO8859-1 LC_CTYPE. When applications call setlocale(LC_ALL, "") and no LC_ALL, LC_CTYPE or LANG environment variable is specified, ixemul will default LC_CTYPE to ISO8859-1. As per spec, if no setlocale() is called the default LC_CTYPE is "C" (ASCII). Currently there is no locale support beyond this. More LC_CTYPE charset and setting the default based on the actual system settings may be implemented later
- Implemented small object allocator to speed up memory operations
- rand()/srand(): reimplemented with PCG random routine
- getcwd(): Fixed signal locking
- rename(): Fixed renaming over a symlink
- freopen(): Fixed reopening a closed file handle even if I/O has been attempted on the handle
- Fixed seeking to not expand file unless data is written to the offset past the file end
- execve(): Raised the maximum length of the shell interpreter to 128 characters
- pselect()/poll()/ppoll(): Fixed a logic flaw leading to busy looping for example with ssh and sftp
- read(): Fixed to handle signals for non-blocking interactive consoles correctly
- fstat(): Fixed to update stat data for files opened for reading, too
- vfork(): Fixed a crash that could occur if signal was received by the parent process while the child was executing
- open(): Fixed to fail with EEXIST if O_CREATE | O_EXCL opening a symlink
- execve(): Added support for applications that detach their seglist
- getpwnet()/getpwuid()/getpwnam(): Convert user homedir to NIX path for pw_dir field
- Automatically convert HOME variable to NIX path on startup, if needed
- mkdir(): Improved tolerance of non-standard ioerr codes from some file systems
- select(): Fixed a bug that could lead to application waiting in the function forever, even though there is data to process
- ix_select(): Improved WaitSelect() error processing
- readv()/writev(): Improved behavior when signal is received mid-operation
- read()/write(): Fixed AF_UNIX return behaviours if signal is received before any data is processed
- execve(): Corrected argv[0] for paths with spaces
- execve(): Corrected setting argv[0] for non-ixemul applications
- AF_UNIX: Allow signal to abort socket locking
- poll()/ppoll(): Fixed to accept NULL fds pointer if nfds is 0
- getpwent(): Fixed a bug that would lead to duplicate entries being returned
- Implemented System V semaphores and messages
- addgroup(): Fixed use after free
- fts_close(): Fixed use after free
- fstat(): Fixed random results for pipes
- unlink(): Fixed delete logic flaws
- readdir(): Fixed setting errno on invalid dirp argument
- sysconf(): Implemented _SC_NPROCESSORS_CONF and _SC_NPROCESSORS_ONLN
- utime()/utimes()/chmod()/chown(): Fixed to dereference softlinks
- fchmod()/fchown(): Fixed to change file properties on file system immediately
- strftime(): Fixed %s conversion specification
- fchmod(), fchown() and futimens(): Return an error if attempted on other than file or directory descriptor
- open()/opendir(): Changed the reading of directory contents to occur at opendir() time
- rewinddir(): Fixed to refresh the dir contents
- Fixed path resolution to handle volume relative access to root directory, such as "/ram/.."
- symlink()/link(): return errno EOPNOTSUPP when ACTION_MAKE_LINK isn't supported at all, or when the specific link type isn't supported
- rename(): Return error with errno EPERM if rename of items in root directory is attempted. Many other operations on root directory now also return an error
- open()/openat(): Implemented O_NOFOLLOW, O_DIRECTORY and O_CLOEXEC
- fcntl(): Implemented F_DUPFD_CLOEXEC
- ix_user_clone_parent_generic: Fixed to clone locale, chroot and info on whether current directory is the root dir ("/")
- truncate()/ftruncate(): Fixed to fill the newly expanded area with zeros
- mmap(): Added support for POSIX shared memory objects created with shm_open()
- sigismember(): Fixed a logic flaw where the function accidentally checked if any other signal than the specified one is set
- sigaction(): Added support for SA_SIGINFO and SA_NODEFER
- sigaddset()/sigdelset()/sigismember(): Added missing error checking
- sigpause(): If passed -1 mask, error out with EINVAL rather than locking up the app forever
- realpath(): Reimplemented - now faster and with less bugs
- Added __cxa_thread_atexit_impl() that is used by the GCC threading implementation to handle C++ object destruction without side-effects
- Implemented much more of modern POSIX (identify as targeting POSIX version 200809). Includes revamped headers and new functions: fdopendir(), execvpe(), posix spawn interface, getloadavg(), mkdtemp(), confstr(), utimensat(), futimens(), fchmodat(), lchown(), chownat(), fstatat(), openat(), linkat(), symlinkat(), renameat(), execveat(), faccessat(), mkdirat(), mknodat(), readlinkat(), unlinkat(), aligned_alloc(), posix_memalign(), posix_fadvise(), posix_fallocate(), posix_madvise(), mlockall(), munlockall(), shm_open(), shm_unlink(), clock_getres(), clock_gettime(), clock_settime(), clock_getcpuclockid(), clock_nanosleep(), nanosleep(), sigqueue(), sigwait(), sigwaitinfo(), sigtimedwait(), timer_create(), timer_delete(), timer_gettime(), timer_settime(), timer_getoverrun(), fstatvfs() and statvfs()
Libs/Keyframe
- Fixed a flaw in semaphore locking
Libs/Locale
- Added support for dates past year 2038
- Fixed operation if no system timezone has been specified
- Fixed illegal memory accesses
- Various fixes and improvements
Libs/Lzma
- Updated to liblzma 5.2.13
Libs/Netconfig
- Improved DHCP server compatibility
Libs/ObjFWRT
- Updated to the much newer ObjFW 1.5.2 after upstream restored binary compatibility with the very old version used before
Libs/OpenSSL4 New
Shared OpenSSL library based on OpenSSL 4.0.
Libs/Pixman
- Updated to libpixman 0.46.0
- Various fixes and improvements
Libs/Png
- Security fixes
- Added AltiVec optimization
Libs/PPD
- Added brother printer drivers
- Improved error logging
- Improved native path support
Libs/Random
- Improved random seed generation
- Various fixes and improvements
Libs/Spellchecker
- Updated to hunspell 1.7.3
- Updated to libvoikko 4.3.3 and the finnish dictionary to voikko-fi 2.5
Libs/ThorVG New
A shared library port of the Thor Vector Graphics (ThorVG) graphics engine for rendering vector-based scenes and animations in applications, including SVG.
Libs/Thumbnail
- Updated to ffmpeg 4.4.6
- Fixed internal lseek to be able to seek past 2GB
- Added Reggae support for loading images
Libs/TinyGL
- Added support for advanced off-screen rendering and framebuffer features
- Added support for faster GPU-managed vertex and pixel data buffers
- Expanded support for modern OpenGL rendering, texture and shader features
- Added support for 1D textures and cubemap textures
- Added blending, alpha testing, stencil testing, scissor testing and polygon offset support
- Improved shader compilation and compatibility with more shader instructions
- Added support for more OpenGL capability and state queries
- Improved compatibility with newer OpenGL extensions and versions
- Improved handling of tiled textures and framebuffer layouts
- Added support for more texture and pixel formats with faster conversions
- Improved texture and framebuffer memory handling to reduce corruption and stale data issues
- Improved handling of window resizing and framebuffer recreation
- Reduced unnecessary GPU state changes to improve rendering performance
- Improved DMA uploads, cache handling and GPU synchronisation for better stability
- Improved vertex array processing and indexed drawing performance
- Added framebuffer rendering support for bitmap-based rendering contexts
- Improved OpenGL error reporting and debugging tools
- Added optional runtime statistics collection and validation checks
- Improved handling of viewports, texture matrices and framebuffer flipping
- Added hardware-accelerated texture upload and tiled image operations
- Improved compatibility with older and non-standard OpenGL applications
- Fixed many rendering bugs affecting textures, shaders, framebuffers and draw calls
- Fixed numerous memory corruption and resource lifetime issues
- Improved depth, stencil and render target handling
- Refactored and simplified large parts of the rendering and driver codebase
- Consolidated duplicated rendering and state management code
- Added more runtime validation for invalid OpenGL and driver states
- Added support for renderbuffers and framebuffer attachments
- Added support for asynchronous DMA-based vertex buffer uploads
- Added support for buffer mapping and direct GPU buffer access APIs
- Added support for texture wrapping, filtering and border clamp modes
- Added support for more shader operations and opcode emulation
- Improved texture upload/download reliability and pixel reading/writing
- Added support for color masks, fog settings, clip planes and culling
- Improved handling of texture rebuilding and framebuffer recovery after context changes
- Added extensive performance statistics and debug logging infrastructure
- Improved internal driver architecture, texture handling and GPU resource management for better stability and future expansion
Libs/VGraphics
- Improved memory management
Libs/XADMaster
- Added support for dates past year 2038
Libs/Zip
- Updated to zip 0.3.5

MUI
- Tweaked selection & drag-and-drop code to allow dragging from selection
- Check whether MUIA_Coloradjust_ShowAlpha is TRUE before adding the alpha slider
- Rewritten clipboard paste support code to fix memory corruption bugs
- Fixed a dereferenced submenu edge case after scroll/move, which occasionally crashed with opened submenus
- Dragging: ESC key terminates dragging and mouse wheel events are now forwarded to the drop target window
- Use default locale formatting for date/time in Dirlist.mui/ASL
- Fixed several AmigaGuide handling issues and memory leaks
- Added a Unicode collection to the Fontpanel
- Jump menu now shows Workbench.X screens as Ambient @ display_name
- Fixed MUIA_Unicode support in List.mui's title context menu
- Respect MUIA_List_Quiet in MUIM_List_Sort
- Filter out Home/End keys from input insertion
- Textinputscroll is now Stringscroll, simplified and modernized for UTF-8
- Popasl: Fixed fixed width font support
- MUI_RequestObjectA: improved memory management
- Reworked MUIC_List dragging so that it works across multiple displays
- String.mui: convert a tab to a single space, unless tabs are explicitly enabled for the instance
- Both control and alt can now be used to toggle List multi-selection
- Fixed MUIA_String_Integer usage at instantiation
- Added MUIA_String_ScrollWidth/Height and similar tags that can be hooked to a Prop object. Deprecates MUIC_Textinputscroll
- Context menus will now open right-of mouse pointer
- Correctly default to Normal font if opening MUIA_CustomFont has failed
- Fixed display of RGB values in Recently Used Colors list
Net/Netstack
- Improved to work past year 3038
- Fixed sendmsg()/recvmsg() to not tamper with user provided array
- Fixed memory corruption issue with QUERY HOSTNAME arexx command if no hostname has been set
- Improved Berkeley Packet Filter compatibility
- Improved resource leaks in some error code paths
- Disabled TCP/IP stack hacks & features that are long gone and might actually harm connectivity
- Improved argument checking and validation
- Fixed user interface hiding on exit
- Fixed network stack statistics
Prefs/Blanker
- Fixed loading and saving On/Off/DPMSOn event actions
Prefs/Font
- Added proper hotkey support
- Added missing help bubbles
Prefs/Gfx
- Added a default Mirari boot picture
Prefs/IControl
- Added new hotkeys and flags
- New menu controls setting
Prefs/Keyboard
- Disabled 'generate map' setting
Prefs/Laptop
- Added MUIA_Prefs_ActivePage support
Prefs/Locale
- Added currency and number preview
- Added missing page support
Prefs/Monitors
- Implemented the monitor layout tab
- Added additional default modes
Prefs/Mouse
- RMB emulation defaults to command keys on laptops now
- Added new active page support
Prefs/Network
- Show current IP address next to the IP field, if found
- Check if interface is configured before querying it
- Added MUIA_Prefs_ActivePage support
Prefs/OpenURL
- Updated Iris' defaults
Prefs/Preferences
- External applications are now able to not only pick the right preferences panel in preferences, but also pick the page within the panel
- Preferences app is now sending the select page rexx command on double start. This fixes changing pages when the app is running, e.g. when using the date time settings button in date.sbar when preferences are already open
- Added keyword search to preferences
- Support for QUERYINFOATTR_CUSTOM_MPREFS_DISABLEVAR
Prefs/Printer
- Added support for QUERYINFOATTR_CUSTOM_MPREFS_DISABLEVAR and NOTURBOPRINT
Prefs/Printers
- Fixed paper size units from cm to mm
- Make use of new MUIA_Prefs_ActivePage Preferences mechanism to preselect profiles from within apps
- Fixed MUIA_Group_ActivePage profile list preselection
Prefs/Users
- Improved translations
- Only allow directories for "Home Dir" requester
S/startup-sequence
- Don't launch legacy TurboPrint backend if NOTURBOPRINT environment var is set
- Allow NetStack to run on default settings without an ENV:sys/net/NetStack.config file
Tools/Debug/MediaLogger
- Fixed a memory corruption bug
Tools/DriveImager New
Application to read or write ISO files from or to external media or partitions.
Tools/FileImageCtrl
- Improved to select the next free unit slot if no UNIT (or -1) is specified
- Various fixes and improvements to arexx interface
Tools/HDConfig
- Fixed illegal memory access when changing partitioning scheme
- Added SFS2 support
- Make sure that the boot loader is installed in a newly created RDB for Mirari systems
- Added FirstSector/SizeInSectors display to partition edit requester to RDB cylinder layout to easily spot alignment/geometry issues, last but not least because modern flash media works on larger power of two block sizes and misalignment results in performance penalty
Tools/IWizard
- Make it possible to run the tool without network connection
- Added support for object dates past year 2038
- Added reboot button at the end of an install
- Added support for Mirari
- Refuse to quit mid-installation, otherwise ask for confirmation
- Fixed a path filter bug with '0' characters
- Improved to skip overwriting select software components with older ones
Tools/MirrorBackup New
Application to create mirrored backups to external drives or virtual drives on SMB shares.
Tools/Mounter
- Added SFS2 support
Tools/RegTool
- Added Mirari support
- Disable OCSP use to relax system time accuracy requirements
Tools/Scout
- User interface, performance and stability improvements
- Added ability to be run in single-window-type mode by using a command line argument or tooltype
- Added a "Scout Tasks" icon that runs Scout with a task view only window
Tools/SFSDoctor
- Added SFS2 support
Tools/SMARTDoctor New
S.M.A.R.T. Utility.
Tools/Snoopium
- Improved translations and locale support
- Fixed potential illegal memory access at application exit
Tools/WebFont Installer
- User interface and download code improvements
Utilities/ArchiveIt
- User interface improvements
Utilities/AudioRecorder
- User interface improvements
- Fixed a potential crash at recording task launch
- Improved application setting saving
Utilities/Commodities/Expose
- Fixed wrong string compare calls
- Improved stability
- Various rendering fixes
Utilities/Commodities/MagicBeacon
- Fixed some typos in text scripts
- Fixed resource leaks
- Stability improvements
- Modified screen bar width handling to properly and delayed update the class
- Now displays more information on media insert
- Added MUIA_Prefs_ActivePage support
Utilities/Jukebox
- User interface improvements
- Improved playlist management
- Added support for multimedia keys
- Fixed an illegal memory access when calling Pause method and no track is present
Utilities/MIDI/MIDI Logger
- User interface improvements and various fixes
- Implemented save and replay
Utilities/Multiview
- Improved detection of ASCII files
- Improved search
- Fixed text attribute processing on entries spanning multiple lines
- Fixed illegal memory access issue marking colorer text
- Improved opening different part of the already open document
Utilities/TaskManager
- Improved translations
- Improved task handling
Utilities/Thermals
- Fixed a race condition when quitting Thermals
- Added Mirari support
- Adjustments to Thermals for Cyrus+/X50x0 support
Utilities/Zoom
- Added more zoom ratios
- Added numerical keypad support
- Added "always on front" setting