ChangeLog-0.2.9
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).
Contents
General
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)
RBUILD
- 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)
Translations
- 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>
HAL
- <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)
ACPI
- acpi_pci_X_cfg_Y (Aleksey Bragin)
NDIS
- Fix interrupt handling in PCNet (VMware) driver (Gé van Geldorp)
Storage
- 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)
USB
- <placeholder>
Videoprt
- <placeholder>
PCI
- Transform pci.sys to a Plug-and-Play driver. (Hervé Poussineau)
- Simplify most of the PciCreateCompatible*String functions. (Hervé Poussineau)
- Fix error handling in FdoQueryBusRelations. (Hervé Poussineau)
- Implement InterfacePciDevicePresent(Ex) of PCI_DEVICE_PRESENT_INTERFACE. (Hervé Poussineau)
- Implement IRP_MJ_PNP / IRP_MN_QUERY_INTERFACE for GUID_BUS_INTERFACE_STANDARD. (Hervé Poussineau)
Services
umpnpmgr
- <placeholder>
SC
- Wrote sc.exe Includes support for:
- query, queryex, create, start, stop, delete (Ged Murphy)
- Various MSVC warning and compile fixes (Steven Edwards)
tcpsvcs
- converted to a full NT service (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)
Networking
- 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)
Win32™ Personality
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)
Win32™ Libraries
ADVAPI32
- Implement GetServiceDisplayNameW and NotifyBootConfigStatus. (Eric Kohl)
- Implement MakeAbsoluteSD2 (Thomas Weidenmueller)
KERNEL32
- 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)
IMAGEHLP
- Refactor entire library.
- Implement BindImage/BindImageEx.
NEWDEV
- Create newdev.dll to handle automatic driver installation for detected devices. (Hervé Poussineau)
SETUPAPI
- 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)
DirectX
- 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)
SHELL32
- <placeholder>
USER32
- <placeholder>
MMDRV
- 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)
MSVCRT
- Fix C++ exception handling (Gé van Geldorp)
- Synced to Wine-0.9.1, 0.9.2 and 0.9.3 (Gé van Geldorp)
Win32™ Applications
CMD
- 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)
TASKMGR
- Adjust output graphics when resizing the application window (Martin Fuchs, patch from watz at gmx.net)
- Fix endless loop during termination (Gé van Geldorp)
EXPLORER
- rearrange start menu (Ged Murphy)
- move apps into applications folder
- put solitaire and winemine into games folder
Gettype
- Created a gettype program with all local and most remote capiabtlies as the microsoft version. (Brandon Turner)
WINEFILE
- <placeholder>
CONTROL PANEL
- 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)
Devmgr
- Imeplement device driver installation wizard (Christoph von Wittich)
- Implement DevicePropertiesEx, DeviceProblemWizard, DeviceAdvancedProperties. (Thomas Weidenmueller)
WINECALC
- Buffer overflow fixed (Royce Mitchell)
- Converting between hexidecimal, decimal, binary, and octal correctly.(Magnus Olsen)
IBrowser
- Offer to download Mozilla control (Gé van Geldorp)
Regedit
- Implement Export keys, and the usablitly of favorites. (Nathan Woods)
FreeLdr
- Fix "Codepage not found" error by setting correct registry entries (Gé van Geldorp)
- Fix hang during loading of NDIS.SYS (Gé van Geldorp)
Setup
- Register DLLs during installation (Gé van Geldorp)