Difference between revisions of "ChangeLog-0.2.9"

From ReactOS Wiki
Jump to: navigation, search
Line 170: Line 170:
=== SHELL32 ===
=== SHELL32 ===
* <placeholder>
* correctly call HCR_GetFolderAttributes() in SHELL32_GetItemAttributes() to fix explorer's start menu root
=== USER32 ===
=== USER32 ===

Revision as of 17:33, 23 December 2005

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).


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.
  • Update NDK to 1.0 and fix all required FIXMEs for release.
  • Write .inf files for ReactOS drivers. (Hervé Poussineau)
  • Install automatically drivers for detected devices. (Hervé Poussineau)
  • Add a network class installer (netcfgx.dll, used when installing network cards). (Hervé Poussineau)
  • Add a display class installer. (Hervé Poussineau)


  • 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 tsk_n@mail.goo.ne.jp
  • Added Polish translation of explorer by Kokodin
  • Greek translation by Apal (Apostolos Alexiadis grad0621@di.uoa.gr) Bug 967
  • French translation by bulio
  • Greek Translation by Apal see bug 994
  • Many Spanish Translations by samchaly_at_hotmail_dot_com

ReactOS Core

Kernel and Executive (NTOSKRNL)

  • 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. (Alex Ionescu)
  • Send a hacked access state to FS Drivers, they can depend on one. For now use one with full FILE_ALL_ACCESS privileges. (Alex Ionescu)
  • Hackplement ObLogSecurityDescriptor for W2K3 drivers to be happy. (Alex Ionescu)
  • Remove unimplemented macro in SeOpenObjectAuditAlarm and replace it with a DPRINT1; that way callers won't freeze while calling it. (Alex Ionescu)
  • Fixed two really nasty bugs in I/O completion: (Alex Ionescu)
    • 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). (Alex Ionescu)
  • Implement ExEnterCriticalRegionAndAcquireFastMutexUnsafe and ExReleaseFastMutexUnsafeAndLeaveCriticalRegion. (Alex Ionescu)
  • Implement and export ntoskrnl version of Fast Mutex (Alex Ionescu)
  • Fix a typo causing a potentially fatal bug in user-mode exceptions. (Alex Ionescu)
  • Correctly zero out esi during new thread context switch. Thanks to Patrick Baggett. (Alex Ionescu)
  • Fix KeAttackProcess, KeStackAttachProcess, KeUnstackDetachProcess and KeDetachProcess. (Alex Ionescu)
  • Allocate bus number resources in IopAssignDeviceResources. (Hervé Poussineau)
  • When a driver is a legacy driver, call its AddDevice function with a NULL Pdo (Hervé Poussineau)

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. (Alex Ionescu)
  • Implement RtlInitializeGenericTable (Alex Ionescu)
  • Implement RtlSplayTree, RtlSplay, RtlRealPrecessdor, RtlRealSuccessor, RtlDelete (Alex Ionescu)
  • Fix RtlSubtreePredecessor/Successor, someone had implemented them backwards. (Alex Ionescu)
  • Implement RtlPrefectMemoryNonTemporal. Patch by Patrick Baggett <baggett.patrick@gmail.com> and myself. (Alex Ionescu)

Native Library (NTDLL)

  • <placeholder>


  • <placeholder>

Kernel Mode Drivers

Input Device

  • 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"
  • Prevent i8042prt to search for a keyboard/mouse more than once. (Hervé Poussineau)
  • New serial mouse driver, which is PnP compliant. (Hervé Poussineau)
  • Rewrite kbdclass, so it can now handle more than one keyboard. (Hervé Poussineau)
  • Rewrite mouclass, so it can now handle more than one mouse. (Hervé Poussineau)




  • Fix memory overwrite in pciidex driver (Gé van Geldorp)
  • Implemented SMART commands for ide devices. (Hartmut)
  • Add pciidex (controller driver) and pciide (miniport driver). They enumerate channels 0 and 1 on IDE controllers. (Hervé Poussineau)


  • <placeholder>


  • <placeholder>




  • <placeholder>


  • 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)


Session Manager (SMSS)

Win32™ Personality

User mode subsystem server (CSRSS)

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)

Win32™ Libraries



  • Fix Firefox installer (Gé van Geldorp)
  • Implement proper version of WaitNamedPipeW to be used when NPFS will be modified to work as documented. (Alex Ionescu)
  • Fix CreateNamedPipeW to convert some NT flags properly, timeouts, etc. (Alex Ionescu)
  • Fix CallNamedPipeW, the pipe mode should also be set to PIPE_WAIT. (Alex Ionescu)
  • Fix bugs in PeekNamedPipe and DisconnectNamedPipe. (Alex Ionescu)


  • Refactor entire library.
  • Implement BindImage/BindImageEx.


  • Create newdev.dll to handle automatic driver installation for detected devices. (Hervé Poussineau)


  • Call specified class installer, class coinstallers and device coinstallers (if any) in SetupDiCallClassInstaller. (Hervé Poussineau)
  • Implement SetupDiCreateDevRegKeyW, SetupDiDestroyDriverInfoList, SetupDiGetClassDevPropertySheetsW, SetupDiGetDeviceInfoListDetailW, SetupDiGetDeviceInstallParamsW, SetupDiGetDeviceInstanceIdW, SetupDiGetDriverInfoDetailW, SetupDiOpenDeviceInterfaceA., SetupDiOpenDevRegKey, SetupDiSetDeviceInstallParamsW, SetupDiSetDeviceRegistryPropertyW. (Hervé Poussineau)
  • Better SetupInstallServicesFromInfSectionExW, which takes care of flags and can update configuration of an existing service. (Hervé Poussineau)
  • Add stubs for SetupDiGetClassImageList, SetupDiGetClassImageListExA/W, SetupDiDestroyClassImageList. (Hervé Poussineau)


  • 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)


  • correctly call HCR_GetFolderAttributes() in SHELL32_GetItemAttributes() to fix explorer's start menu root


  • <placeholder>


  • 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)


Libraries shared with Wine

Win32™ Applications


  • 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)


  • <placeholder>


  • 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)





  • Implement Export keys, and the usablitly of favorites. (Nathan Woods)