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.17 and 3.18 release of MorphOS to the ROM (boot.img) based components.
Quark
- Fixed detection of some MacOF Bios R500/X19xx PCIe cards on PMac11,2 G5 machines
Battery
- Workarounds to battery sensor never setting any values and not updating AC state with badly broken batteries
Dos
- Avoid dereferencing a random pointer when unmounting file systems
I2C
- I2CLockBus: Only set mode after locking the semaphore
Intuition
- OpenScreen: only enable layer manager on composited screens
- WindowToFront: fixed to deiconify hidden windows
- Fixed a zero page read in menu code
Mount
- Allocate more memory for SCSI Read Disc Information command data, since it appears that some buggy drive firmwares poke memory beyond the provided area
P50x0_eth
- Memory alignment fixes
Symbios
- Fixed buffer underruns when sending some SCSI commands
- Don't attempt to send a read capacity (16) command to SCSI 2 devices or older
Poseidon
- 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
Powerbook
- 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
SMU
- Fixed a race condition that could lead to incorrect communications
Temperature
- 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
USB PTP
- Fixed to initialize object comment even if there are no poi_Keywords
USB
- EHCI register handling fixes
Following is a (probably incomplete) list of changes made to the disk based components of MorphOS.
Ambient
- 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
Applications/FlowStudio
- 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.
Applications/Iris
- Updated to 1.14, see here for more information
Applications/Jukebox
- Fixed an infinite loop on last playlist track
Applications/MagicBeacon
- Updated to support smb2fs, netfs and various devices
- Added bubble skin icon support
Applications/RDesktop
- Fixed bootdevice path
Applications/RegTool
- Bugfixes
Applications/ShowCase
- Updated to work with new TinyGL
Applications/Synergy
- Added bounds checks to clipboard code
- Save settings on connect request
Applications/VPDF
- 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
Applications/Wayfarer
- Updated to 5.1, see here for more information
C/Getramdebuglog
- Improved memory management
- Increased polling frequency and improved output latency in poll mode
C/Info
- Added SMB2FS DosType
Classes/Blankers
- Updated to work with new TinyGL
Classes/Frameworks/MUI
- 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
Classes/Frameworks/OB
- 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
Classes/MUI/Calendar
- 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
Classes/MUI/Chart
- 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
Classes/MUI/Piano
- Disabled unconditional debug
Classes/MUI/Powerterm
- MUIA_PowerTerm_Scroller now isg
Classes/MUI/Scintilla
- Font handling fixes
Classes/Reggae/Http.stream
- Fixed MMA_Http_PostData_Charset handling
- Fixed not to send POST data in clear for HTTPS connections
Classes/Screenbar/Eject
- smb2fs and netfs handling
Classes/Screenbar/Grabber
- Fixed a lockup when using cursor keys to scroll a full screen grab
- Audio sample is now configurable
Classes/Screenbar/Thermal
- Clicking on sbar opens up Thermals application on supported systems
Classes/Usb/CamdUSBMidi
- Implemented reception of System Exclusive messages
- Fixed System Exclusive transmission
- Support for multiport MIDI interface up to 16 MIDI ports
Devs/Monitors/Radeon
- 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
Devs/Monitors/Voodoo
- Disabled unconditional debug
Devs/Networks/Rtl8168
- Fixed lockup issues with TP-Link 3468
- Improved Renkforce RTL 8168 support
- Fixes in Netstack callback handling
- Disabled unconditional debug
- Disabled padding of packets
L/Inet
- 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
L/TrashFS
- Fixed broken paths
Libs/Amigaguide
- OpenAmigaGuideAsyncA: fixed attrs to be read from D0 register
Libs/Bugreport
- 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.
Libs/Expat
- Cherrypicked fixes for CVE-2022-40674 and other bugs
Libs/Filesysbox
- 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
Libs/Fontconfig
- 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.
Libs/Freetype
- Updated to FreeType 2.12.1
- Fixed uninitialised variables
Libs/Keyframe New
Keyframe.mcc support library. Keyframe interpolator.
Libs/Ixemul
- 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
Libs/Locale
- 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
Libs/OpenSSL3
- Updated to OpenSSL 3.1.0
- Added workaround to avoid crashing applications that fail to process Ambient startup message properly
Libs/Pixman
- Updated to libpixman 0.42.2
Libs/PowerPC
- Fixed cache flushing
Libs/PPD
- Fixed epsmpGetTime and buffer overflows
Libs/Spellchecker
- Upgraded hunspell to 1.7.2
Libs/Sqlite
- Fixed to not leak Forbid() if out of memory
- Fixed CVE-2022-35737
Libs/TinyGL
- Updated to use latest improvements based on the TinyGL bounty, check here for details
Libs/VGraphics
- Fixed a crash if CTRL-C signal was received while executing the library code
Libs/Xadmaster
- Added minimal support for newer ZIP headers with some fields being 64-bit
Libs/Z
- Fixed CVE-2022-37434
Libs/Zip New
Allows creating and extracting ZIP archives in modern formats, including large file sizes and encryption
MUI
- 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
Net
- Updated SSL root certificates
Network/Netstack
- 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
Prefs/Laptop
- Reworked temperature settings
Prefs/USB
- 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
Prefs/Printers
- UI improvements
Prefs/Time
- Fixed a read from address 0
Utilities/Commodities/Expose
- 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
Tools/HDConfig
- Changed default system partition type for Sam460/CyrusPlus to SFS
Tools/IWizard
- Changed default system partition type for Sam460/CyrusPlus to SFS
Utilities/ArchiveIt New
Archive creator and extractor application currently supporting ZIP archives.
Utilities/MidiLogger
- Added support for SysEx message handling
Utilities/Thermals New
Thermals and fans monitoring utility for Apple PowerBook, iBook and iMac computers.
Utilities/VirtualMidiKeyboard
- Added missing menu shortcuts