This is the changelog for ReactOS™ version 0.2.9 (released), 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.2.8 (released 29 October, 2005).
- 1 General
- 2 ReactOS Core
- 3 Networking
- 4 Session Manager (SMSS)
- 5 Win32™ Personality
- 5.1 User mode subsystem server (CSRSS)
- 5.2 Kernel-mode subsystem server (Win32K)
- 5.3 Win32™ Libraries
- 5.4 Libraries shared with Wine
- 5.5 Win32™ Applications
- 6 FreeLdr
- 7 Setup
Generic 0.2.9 Changes
- New icons from our UI:mf
- Add option to not install bootloader for Bug 961: suggest to make it easy for other people that do not want install freeldr. (Magnus Olsen)
- Survey of all references to Windows and replace with ReactOS in user visable text where appropriate. Bug #910 (Magnus Olsen)
- Too many MSVC compile fixes to list them all (Steven, Ged, Royce, Brandon, Christoph, Brezenbak, others)
- Sync up sprintf.c with swprintf.c. They both do the same except one is the wchar-version, so they shouldn't differ in other parts." by Elrond <elrond(at)samba(dash)tng(dot)org>
- VBE.sys TotalMemory is in number of 64K block not 16K block see VBE 2.0 or 3.0 specification (Magnus Olsen)
- factor out .inf file handling code and put it in a separate library (Gé van Geldorp)
- Improve Freeloader compilation speed and remove lots of code duplication.
- build system now automatically detects msys instead of requiring user to set env variable. (Royce Mitchell)
- build system does version check of Make up front - gives clear error message if running incompatible version of Make (Royce Mitchell)
- build system now allows parallel builds (different makefile.auto and different config.xml) (Art Yerkes)
- build system now allows conditional modules (Art Yerkes)
- Implement linkerscript element and <autoregister> element. (Casper Hornstrup)
- Full Hungarian translation and initial keyboard layout added
- Full Japanese translation by tsk email email@example.com
- Added Polish translation of explorer by Kokodin
- Greek translation by Apal (Apostolos Alexiadis firstname.lastname@example.org) Bug 967
- French translation by bulio
- Greek Translation by Apal see bug 994
- Many Spanish Translations by samchaly_at_hotmail_dot_com
Kernel and Executive (
- Fix bugcheck during shutdown (Gé van Geldorp)
- Add user-contributed shutdown messages (Gé van Geldorp)
- Add hardware breakpoints and watchpoints to GDB stub (Gé van Geldorp)
- Update some system structures to Windows 2003 so that NT 5.2 drivers can now load and be tested.
- Send a hacked access state to FS Drivers, they can depend on one. For now use one with full FILE_ALL_ACCESS privileges.
- Hackplement ObLogSecurityDescriptor for W2K3 drivers to be happy.
- Remove unimplemented macro in SeOpenObjectAuditAlarm and replace it with a DPRINT1; that way callers won't freeze while calling it.
- Fixed two really nasty bugs in I/O completion:
- The user buffer wasn't written for incomplete I/O (warning levels) for METHOD_BUFFERED
- Incomplete I/Os (warning levels) took a completely wrong path for completion.
- Reimplement Fast Mutex implementation in HAL/NT to be compatible with the real implementation. (Fast Mutex needs to raise IRQL).
- Implement ExEnterCriticalRegionAndAcquireFastMutexUnsafe and ExReleaseFastMutexUnsafeAndLeaveCriticalRegion.
- Implement and export ntoskrnl version of Fast Mutex
- Fix a typo causing a potentially fatal bug in user-mode exceptions.
- Correctly zero out esi during new thread context switch. Thanks to Patrick Baggett.
- Fix KeAttackProcess, KeStackAttachProcess, KeUnstackDetachProcess and KeDetachProcess.
Run Time Library (RTL)
- Fix searching for error messages in resources (Gé van Geldorp)
- Implement RtlSelfRelativeToAbsoluteSD2 and RtlCreateSystemVolumeInformationFolder (Thomas Weidenmueller)
- Implement RtlInitializeUnicodePrefix, RtlNextUnicodePrefix, RtlRemoveUnicodePrefix, RtlInsertUnicodePrefix, RtlFindUnicodePrefix.
- Implement RtlInitializeGenericTable
- Implement RtlSplayTree, RtlSplay, RtlRealPrecessdor, RtlRealSuccessor, RtlDelete
- Fix RtlSubtreePredecessor/Successor, someone had implemented them backwards.
- Implement RtlPrefectMemoryNonTemporal. Patch by Patrick Baggett <email@example.com> and myself.
Native Library (NTDLL)
Kernel Mode Drivers
- i8042prt "increase the number of passes to detect the mouse and keyboard - fixes mouse detection under VMware if the VM does not have ownership of the mouse. Thanks to GreatLord and Royce"
- acpi_pci_X_cfg_Y (Aleksey Bragin)
- Fix interrupt handling in PCNet (VMware) driver (Gé van Geldorp)
- Fix memory overwrite in pciidex driver (Gé van Geldorp)
- Implmeent of PciIdeUseDma and PciIdeXSetBusData (Hervé Poussineau)
- Implemented SMART commands for ide devices. (Hartmut)
- Wrote sc.exe Includes support for:
- query, queryex, create, start, stop, delete (Ged Murphy)
- Various MSVC warning and compile fixes (Steven Edwards)
Windows Installer Service
- Correct registry information for msiexec to allow for Office2000/XP/2003 to start to install (Steven Edwards)
- Rewrote ipconfig (Ged Murphy)
- Resolve chained CNAME records (Gé van Geldorp)
- Add static entries for PCNet and NE2000 network cards to registry, so networking works in the LiveCD (Gé van Geldorp)
Session Manager (SMSS)
User mode subsystem server (CSRSS)
- Implement some of the shutdown functionality (Gé van Geldorp)
Kernel-mode subsystem server (Win32K)
- Implemented code for tile and stretch wallpapers. (Brandon Turner)
- Fixed a bug so the wallpaper gets written to registry and stays on reboot. (Brandon Turner)
- Implement the saving of wallpaper styles in WinSta and the registry. (Brandon Turner)
- Broaden the truetype lock to clear up text artifacts (Art Yerkes)
- Fix display of menus in Firefox (Gé van Geldorp)
- Make Firefox menus actually work (Gé van Geldorp)
- Pass correct masks when creating bitfield palettes (Gé van Geldorp)
- Fix a bitmap upside-down problem (Gé van Geldorp)
- Implement IntEngAlphaBlend, NtGdiAlphaBlend functions, 8, 16, 24 and 32 bpp DIB AlphaBlend functions. (Gregor Anich )
- Implement GetMenuBarInfo (James Tabor)
- Implement GetServiceDisplayNameW and NotifyBootConfigStatus. (Eric Kohl)
- Implement MakeAbsoluteSD2 (Thomas Weidenmueller)
- Fix Firefox installer (Gé van Geldorp)
- Implement proper version of WaitNamedPipeW to be used when NPFS will be modified to work as documented.
- Fix CreateNamedPipeW to convert some NT flags properly, timeouts, etc.
- Fix CallNamedPipeW, the pipe mode should also be set to PIPE_WAIT.
- Fix bugs in PeekNamedPipe and DisconnectNamedPipe.
- Refactor entire library.
- Implement BindImage/BindImageEx.
- Implement by (Hervé Poussineau):
- IRP_MJ_PNP / IRP_MN_QUERY_INTERFACE for GUID_BUS_INTERFACE_STANDARD
- IRP_MJ_PNP / IRP_MN_QUERY_DEVICE_TEXT for Root USB hub/USB devices
- Create new headers and clean up existing headers (nothing users will notice yet) (Magnus Olsen)
- dplay and dplayx have been taken from wine with minor alterations. (Magnus Olsen)
- Implement the following api's but not tested yet for directx hal in win32k : WaitForVerticalBlank, GetScanLine, FlipToGDISurface (Magnus Olsen)
- Added d3d8thk.dll and dplay.dll to bootcd (Magnus Olsen)
- Added dplayx.dll to bootcd (Magnus Olsen)
- Sync all code shared with Wine (Gé van Geldorp)
- Implement GetDeviceCapabilities, GetDeviceCount for modMessage.
- Implement GetDeviceCapabilities implement GetDeviceCapabilities and GetDeviceCount for midMessage.
- Remove hardcode of Find one device of midiout and wavout now scan for WaveOutXX, WaveInXX, MidiInXX, MidiOutXX, AuxXX.
- Implement AUXDM_GETVOLUME, AUXDM_SETVOLUME which completes auxMessage.
- Implement more case to widMessage, remove the stub of ThreadCallWaveDevice and implement it there it need it.
- Implement some part of waveopen.
- Implement parts of waveThread.
- Implement WaveThreadSetData, WaveThreadGetData.
- Implement soundGetData and WaveThreadSetState, implement soundSetData.
- Sound now partly working in windows. (Magnus Olsen)
- Fix C++ exception handling (Gé van Geldorp)
- Synced to Wine-0.9.1, 0.9.2 and 0.9.3 (Gé van Geldorp)
- Remove all differences between compilation when __REACTOS__ is and isnt defined. (Brandon Turner)
- Fixed all compilation errors in "activate" and a bug to not allow it to find some windows. (Brandon Turner)
- Allow "exit" to print its help text. (Brandon Turner)
- Replace hack to get correct path casing with correct implemnatation. (Brandon Turner)
- Dir formatting changes. (Brandon Turner)
- Change over some long texts to paging. (Brandon Turner)
- Correctly implement Control Handler to cancel line input, message child process, and set the breaker for internal commands. (Brandon Turner)
- Fix the return of not found envirnmental variables. (Brandon Turner)
- Make all directories in a path that do not already exist for "mkdir". (Brandon Turner)
- ^M executes the current input. (Brandon Turner)
- Fix continuous repaint (Gé van Geldorp)
- Adjust output graphics when resizing the application window (Martin Fuchs, patch from watz at gmx.net)
- Fix endless loop during termination (Gé van Geldorp)
- rearrange start menu (Ged Murphy)
- move apps into applications folder
- put solitaire and winemine into games folder
- Created a gettype program with all local and most remote capiabtlies as the microsoft version. (Brandon Turner)
- Fixed a bug where the first applet in main.cpl could only be called (fixes by Alex Buell <alex.buell(at)munted.org.uk> and Sebastian Gasiorek).
- Make property pages fit in 640x480 (Gé van Geldorp)
- Imeplement device driver installation wizard (Christoph von Wittich)
- Implement DevicePropertiesEx, DeviceProblemWizard, DeviceAdvancedProperties. (Thomas Weidenmueller)
- Buffer overflow fixed (Royce Mitchell)
- Converting between hexidecimal, decimal, binary, and octal corectly.(Magnus Olsen)
- Offer to download Mozilla control (Gé van Geldorp)
- Implement Export keys, and the usablitly of favorites. (Nathan Woods)
- Fix "Codepage not found" error by setting correct registry entries (Gé van Geldorp)
- Fix hang during loading of NDIS.SYS (Gé van Geldorp)
- Register DLLs during installation (Gé van Geldorp)