Below you will find an extensive list of the work that went into MorphOS 3.18.
Please note that this is just an overview and does not mention or explain every new feature.
MorphOS 3.18 boot.img Changes

The following is a (probably incomplete) list of changes made between the 3.17 and 3.18 release of MorphOS to the ROM (boot.img) based components.


  • Fixed detection of some MacOF Bios R500/X19xx PCIe cards on PMac11,2 G5 machines


  • Workarounds to battery sensor never setting any values and not updating AC state with badly broken batteries


  • Avoid dereferencing a random pointer when unmounting file systems


  • I2CLockBus: Only set mode after locking the semaphore


  • OpenScreen: only enable layer manager on composited screens
  • WindowToFront: fixed to deiconify hidden windows
  • Fixed a zero page read in menu code


  • Allocate more memory for SCSI Read Disc Information command data, since it appears that some buggy drive firmwares poke memory beyond the provided area


  • Memory alignment fixes


  • Fixed buffer underruns when sending some SCSI commands
  • Don't attempt to send a read capacity (16) command to SCSI 2 devices or older


  • Worked around bugs in the USB controller in P50x0 CPUs which in return fixes some usability issues for keyboard/mouse devices on Cyrus P5040 with Poseidon's HID/HUB classes


  • PowerMac12,1 support (iMac) including fans, DFS and LCD brightness
  • Rewritten the PowerBook/iBook fan controller
  • PowerBook/iBook fan RPM is now exposed via sensors

Ram Disk

  • Fixed ACTION_RENAME_OBJECT bug where renaming "directory" to "directory/" would result in the object being renamed to a random name rather than refusing the rename with ERROR_OBJECT_IN_USE


  • Fixed a race condition that could lead to incorrect communications


  • ADT7467: read the extended temperature register and all 3 temperature registers in a row, with some additional validation. Compute sensor states with higher accuracy that the extended register provides


  • Fixed to initialize object comment even if there are no poi_Keywords


  • EHCI register handling fixes
MorphOS 3.18 Disk Changes

Following is a (probably incomplete) list of changes made to the disk based components of MorphOS.


  • Integrated Networks FS
  • Unmount is now working for the same types of devices that Eject.sbar can unmount
  • Blacklisted TCP: in devices list to avoid accessing it by listers


  • Compiler settings for GCC11 & 12
  • Fixed file compare mode

Applications/Hex New

Hex editor with large file, disk and memory viewing and editing support. Supports annotations and lua scripting including several examples.


  • Updated to 1.14, see here for more information


  • Fixed an infinite loop on last playlist track


  • Updated to support smb2fs, netfs and various devices
  • Added bubble skin icon support


  • Fixed bootdevice path


  • Bugfixes


  • Updated to work with new TinyGL


  • Added bounds checks to clipboard code
  • Save settings on connect request


  • Updated to libpoppler 23.05.0
  • Implemented Postscript booklet printing
  • Use PDF document's title in postscript output title if available
  • Added active page button in printer window to select active page from the view
  • Fixed a bogus memset call


  • Updated to 5.1, see here for more information


  • Improved memory management
  • Increased polling frequency and improved output latency in poll mode


  • Added SMB2FS DosType


  • Updated to work with new TinyGL


  • Unicode handling fixes
  • Boopsi object wrapper fixed to handle MCCs and to use objc_lookupClass instead of getClass to avoid calling abort() on unknown classes
  • MUIFloattext: inherit from Area directly since Floattext isn't meant to be used as a list
  • Directory selection: use fr_File if fr_Directory is empty
  • Listtree issues workarounds and fixes
  • Added Listtree multiselection support
  • Switched to UCS2 internally to avoid issues with UTF16 surrogates


  • Made it possible to run objc code on Slave.mui owned threads
  • objc_lookupClass() fixed to call the right library function
  • Fixed a memtrash in [OBString -hasPrefix]
  • Fixed creation of relative URLs to retain base URLs port in OBURL
  • Minor fixes in file:// handling in OBURL
  • Added OBArexxServer
  • Path string functions deal better with empty strings now
  • Fixed edge cases in [OBString -absolutePath]
  • Added support for many of clang's ObjC2.0 literals
  • Switched to UCS2 internally to avoid issues with UTF16 surrogates
  • Fixed OBArexxPort constructor to handle delegate correctly


  • Reworked the entire look and feel of the calendar
  • Added calendar preferences class
  • Added timeline support, images and colour markings
  • Now fully supports locales calendar type
  • Added calendar.library support to deal with event storage
  • Many internal fixes and changes


  • Fixed Chart_ReplaceInGroup to replace the correct amount of data
  • Fixed to display 0 as 0

Classes/MUI/Hex New

Hex editor class with support for large files, memory and virtual data viewing and editing

Classes/MUI/Keyframe New

User interface for keyframe.library


  • Disabled unconditional debug


  • MUIA_PowerTerm_Scroller now isg


  • Font handling fixes


  • Fixed MMA_Http_PostData_Charset handling
  • Fixed not to send POST data in clear for HTTPS connections


  • smb2fs and netfs handling


  • Fixed a lockup when using cursor keys to scroll a full screen grab
  • Audio sample is now configurable


  • Clicking on sbar opens up Thermals application on supported systems


  • Implemented reception of System Exclusive messages
  • Fixed System Exclusive transmission
  • Support for multiport MIDI interface up to 16 MIDI ports


  • Fixed a texture format setup issue for R200 cards
  • Fixed R(V)5xx dual head setup issues
  • Fixed fan control for some of the MacOF X19xx cards
  • Fixed graphics refresh issues after disabling output on the second head
  • Added a digital link mirror mode for some dualhead R3xx/R4xx/R5x setups, enabled via new tooltype MIRRORMODE=(YES|NO)
  • Auto detect AverMediaHD/CP513 capture cards to automatically enable mirror mode on the connected output
  • Fixed dualhead/multimonitor setup for MacBIOS X19xx/R5xx cards which don't use AtomBIOS
  • Fixed missing memory & engine clock info for MacBIOS X19xx/R5xx cards
  • Use separate LUTs for dualhead R5xx setups to avoid problems with mixed palette/truecolour display
  • Improved adjustment of hardware cursor to limited horizontal autoscroll capabilities of R5xx cards
  • Added more FireMV cards from the supported Radeon family pool, namely FireMV 2200 (devid 0x5b65), FireMV 2250 (0x719b) and FireMV 2260 (0x95cf), also added another X1600 Pro card (0x71c3)
  • Fixed a few Radeon device names based on latest pci.ids list


  • Disabled unconditional debug


  • Fixed lockup issues with TP-Link 3468
  • Improved Renkforce RTL 8168 support
  • Fixes in Netstack callback handling
  • Disabled unconditional debug
  • Disabled padding of packets


  • Implemented a separate handler process. Allows TCP: to respond to packets while waiting for network calls to complete

L/NetworksFS New

Samba browser with the ability to auto-mount shares on system start and an Ambient integration

L/Smb2FS New

SMB2/SMB3 capable filesystem based on filesysbox and libsmb2


  • Fixed broken paths


  • OpenAmigaGuideAsyncA: fixed attrs to be read from D0 register


  • Send bugreports over HTTPS POST

Libs/Calendar New

Library to provide common date related features as well as support for entire calendar databases, which can be visualised by the updated Calendar.mcc.


  • Cherrypicked fixes for CVE-2022-40674 and other bugs


  • Fixed to report the correct dostype
  • Cap id_NumBlocks and id_NumBlocksUsed values to avoid returning wrapped values for applications using the old info/diskinfo API
  • Limit remote statfs calls to once per 5 minutes to reduce latency
  • Reworked the path charset conversion routines to go through an intermediate UTF16 conversion step. All characters that are non-printable in the system charset are converted into the \xHEXA form where HEXA is the 2 UTF16 bytes represented in hex


  • Added a fallback requester when a scan is performed by 3rd party app that doesn't display scanning information on its own
  • Fixes in font scanning callback handler

Libs/Freeglut New

The OpenGL Utility Toolkit library.


  • Updated to FreeType 2.12.1
  • Fixed uninitialised variables

Libs/Keyframe New

Keyframe.mcc support library. Keyframe interpolator.


  • fstat(): Fixed incorrect local time to UTC conversion
  • Uses ptr ^ 0xdbdbdbdb as stack usage cookie
  • wait()/waitpid(): Fixed a zero page reads if child process has already terminated
  • readdir(): Improved to return d_type of DT_LNK for softlinks


  • Updated the timezone database to 2023c
  • Fixed rounding issues in string formatting functions
  • Fixed buffer underrun when converting between codesets in OpenCatalog
  • Disabled %j in UTF4_FormatClockDate


  • Updated to OpenSSL 3.1.0
  • Added workaround to avoid crashing applications that fail to process Ambient startup message properly


  • Updated to libpixman 0.42.2


  • Fixed cache flushing


  • Fixed epsmpGetTime and buffer overflows


  • Upgraded hunspell to 1.7.2


  • Fixed to not leak Forbid() if out of memory
  • Fixed CVE-2022-35737


  • Updated to use latest improvements based on the TinyGL bounty, check here for details


  • Fixed a crash if CTRL-C signal was received while executing the library code


  • Added minimal support for newer ZIP headers with some fields being 64-bit


  • Fixed CVE-2022-37434

Libs/Zip New

Allows creating and extracting ZIP archives in modern formats, including large file sizes and encryption


  • Fixed MUIA_Pendisplay_ARGB to work with a penspec using pen numbers
  • MUIC_Window: Don't process menu hotkeys when MUIA_Window_NoMenus is set for a window
  • Unicode text fit fixes
  • Use flags msg field of MUIM_Menustrp_Popup to specify selection of an active item in the related popup menu
  • Popasl: fixed to handle UTF-8 if the popstring is Unicode
  • Ignore TCP: in ASL requesters' device list
  • Window resize fixes
  • Active item visibility fixes for very large popup menus
  • Improved debug output when failing MUI_NewObject
  • Added MUIM_Open/CloseCustomFont
  • Added MUIA_String_Editable, MUIA_String_Multiline


  • Updated SSL root certificates


  • Increased the minimum preallocated amount of IORequests to avoid SanaII interface running out of packets during intense network I/O using TCP_NODELAY

Prefs/iMac New

Temperature controls for the iMac


  • Reworked temperature settings


  • Improved the force binding contextual menu behaviour on interfaces
  • Fixed an out of bounds memory access when device window is opened and main window is closed
  • UI and localization improvements


  • UI improvements


  • Fixed a read from address 0


  • Fixed a race that caused the wrong window to be set active when switching to an application on another screen
  • Fixed a use-after-free resulting in Expose sometimes showing an empty window
  • Fixed not to open a window at all if no apps to display were found
  • Fixed a bogus read/crash if an iconified MUI app had no diskobject
  • Tweaked default settings
  • Don't allow iconifying Expose


  • Changed default system partition type for Sam460/CyrusPlus to SFS


  • Changed default system partition type for Sam460/CyrusPlus to SFS

Utilities/ArchiveIt New

Archive creator and extractor application currently supporting ZIP archives.


  • Added support for SysEx message handling

Utilities/Thermals New

Thermals and fans monitoring utility for Apple PowerBook, iBook and iMac computers.


  • Added missing menu shortcuts