This is the changelog for ReactOS™ version 0.3.15 (released CLASSIFIED), an open-source operating system designed to be binary executable - and device driver-compatible with Microsoft™ Windows NT™ and subsequent Microsoft operating systems such as Windows 2000™ and Windows XP™. ReactOS is written by the ReactOS development team, and the last previous version of ReactOS was version 0.3.14.
- 1 General
- 2 Core Functionality
- 2.1 Audio/Video Stack
- 2.2 Client/Server Runtime
- 2.3 Filesystems
- 2.4 HAL
- 2.5 Hardware Management
- 2.6 Kernel
- 2.7 Libraries
- 2.8 Memory Management
- 2.9 Network Stack
- 2.10 Services
- 2.11 Shell
- 2.12 Startup/Shutdown
- 2.13 BASE
- Giannis Adamopoulos
- Johannes Anderwald
- Aleksey Bragin
- Dmitry Chapyshev
- Thomas Faber
- Benedikt Freisen
- Jérôme Gardou
- Dmitry Gorbachev
- Cameron Gutman
- Rafał Harabień
- Kamil Horníček
- Gabriel Ilardi
- Alex Ionescu
- Amine Khaldi
- Eric Kohl
- Timo Kreuzer
- Matthias Kupfer
- Michael Martin
- Roel Messiant
- Ged Murphy
- Sylvain Petreolle
- ReactOS Portable Systems Group
- Daniel Reimer
- Gregor Schneider
- Pierre Schweitzer
- James Tabor
- Christoph von Wittich
- Art Yerkes
- Carlo Bramini
- Vincenzo Cotugno
- Elton Chung
- Peter Hater
- Alex Henrie
- Katayama Hirofumi
- Edijs Kolesnikovics
- Marcel Leyendeckers
- numitus (domovoi94 at gmail dot com) r57058
- Victor Martinez
- Guido Pola
- Ben Pye
- Rodion email@example.com r56097
- Lee Schroeder
- Samuel Serapion
- vort r58083
- Alexander Yastrebov
- Colin Finck
- Ziliang Guo
- Olaf Siejka
Generic 0.3.15 Changes
- Headers have been cleaned up to reduce the number of dependencies dragged in by code.
- Annotations for use with Visual Studio's static analyzer have been added to many modules.
- Improvements to the various SDKs to increase compatibility and add new new data structures and interfaces for developing drivers, applications, and native applications.
- A variety of bugs found by Visual Studio 2012's static code analyzer was fixed.
- The project has switched over entirely to using CMake and rbuild support has been dropped. Continued work has been done to improve the build process.
- Removable media is now selectable as an installation target.
- Unpartitioned space calculation now works if the first partition starts below the disk's track size.
- ATL is now registered before anything else.
- The DEVICEMAP\VIDEO key is now created with a proper length by taking into account the NULL terminator, an issue originally exposed in ARWINSS.
A new session manager subsystem has been implemented that will be used in conjunction with an upcoming rewrite of the Console/Server Runtime Subsystem. Currently it still works with the old CSRSS.
- A new header that precisely documents the packet structure and protocols used for communication between SMSS and CSRSS has been added. The definitions match NT5.2.
- An error in VfatCreateFile that caused access denied to always be returned when opening a volume has been fixed.
- PCI device names are no longer truncated in debug output.
- IrqlToSoftVector() is now implemented and used in HalRequestSoftwareInterrupt, ensuring the correct interrupt is triggered on AMD64.
- The IRQL in HalpAllocateSystemInterrupt is now correctly set to the lowest vector.
- Interlocked operations are now used for reference counting device objects.
- KeUpdateSystemTime has been refactored, making it 64bit portable and resolving potential concurrency issues.
- IntReadConsoleOutputCharacter has been fixed to copy the correct number of characters.
- ReadProcessMemory/WriteProcessMemory no longer attempt to write to an argument that could potentially be a NULL pointer.
- WriteProcessMemory now returns STATUS_ACCESS_VIOLATION instead of just BOOL due to third party code relying on this behavior.
- InitCommandLines has been rewritten.
- GetProcessAffinityMask now uses BaseStaticServerData from CSRSS instead of querying for system information each time.
- GetProcessShutdownParameters/SetProcessShutdownParameters now correctly use the LPC status code from CSRSS instead of the LPC API status code.
- GetProcessWorkingSetSizeEx/SetProcessWorkingSetSizeEx has been implemented and is now used by GetProcessWorkingSetSize/SetProcessWorkingSetSize.
- GetExitCodeProcess now checks for VDM processes to get the appropriate exit code.
- GetStartupInfoA is now thread safe and no longer assumes all ANSI to Unicode conversions will succeed.
- GetStartupInfoW now correctly supplies ShellInfo data and crashes if given a NULL input.
- ExitProcess now uses SEH and the PEB lock.
- TerminateProcess now correctly sets the ERROR_INVALID_HANDLE error code.
- FatalAppExitA no longer always assumes success.
- FatalAppExitW now raises a hard error.
- FatalExit now displays a debugger input interface on checked build just like Windows.
- SetPriorityClass now tries to acquire the real time privilege as needed and handles failures to do so.
- GetProcessVersion has been rewritten.
- lpfnGlobalRegisterWaitForInputIdle has been renamed to UserWaitForInputIdleRoutine.
NETSHELL has been converted into C++ to improve readability.
- RtlSetCurrentDirectory_U is now implemented, also fixing reference counting in RtlpDosPathNameToRelativeNtPathName_Ustr.
- RtlSetThreadIsCritical has been implemented.
- NT compatible SmConnectToSm and SmExecPgm functions have been implemented.
uxtheme has now been forked from Wine and is solely maintained by this project.
- Loading of MENUEX resources has been fixed.
- Invalid AQ_WIN16 comparisons fix was imported from Wine.
- Log files opened via the event log service are should only be closed when its owning service has stopped.
- Attempting to open a non-existent backup log file now fails while attempting to open an existing backup log file will only allow for reads.
- A wrong buffer size calculation that could cause memory corruption was fixed.
|Versions / Official Changelogs / Community Changelogs|
|0.0.x Series||0.0.8 | 0.0.9 | 0.0.10 | 0.0.11 | 0.0.12 | 0.0.13 | 0.0.14 | 0.0.15 | 0.0.16 | 0.0.17 | 0.0.18 | 0.0.19 | 0.0.20 | 0.0.21|
|0.1.x Series||0.1.0 | 0.1.1 | 0.1.2 | 0.1.3 | 0.1.4 | 0.1.5|
|0.2.x Series||0.2.0 | 0.2.1 | 0.2.2 | 0.2.3 | 0.2.4 | 0.2.5 | 0.2.6 | 0.2.7 | 0.2.8 | 0.2.9|
|0.3.x Series||0.3.0 | 0.3.1 | 0.3.2 | 0.3.3 | 0.3.4 | 0.3.5 | 0.3.6 | 0.3.7 | 0.3.8 | 0.3.9 | 0.3.10 | 0.3.11 | 0.3.12 | 0.3.13 | 0.3.14 | 0.3.15 | 0.3.16 | 0.3.17|
|0.4.x Series||0.4.0 | 0.4.1 | 0.4.2 | 0.4.3 | 0.4.4 | 0.4.5 | 0.4.6 | 0.4.7 | 0.4.8 | 0.4.9 | 0.4.10 | 0.4.11 | 0.4.12 | 0.4.13|