Difference between revisions of "ChangeLog-0.2.7"

From ReactOS Wiki
Jump to: navigation, search
m (Spelling fixes)
Line 163: Line 163:
** SetupDiGetDeviceInterfaceDetailA/W
** SetupDiGetDeviceInterfaceDetailA/W
** SetupDiGetDeviceRegistryPropertyA/W
** SetupDiGetDeviceRegistryPropertyA/W
* Implemented:
** ConcatenatePaths
** MyGetFileTitle
** GetVersionInfoFromImage
** StringTableDuplicate
=== DirectX ===
=== DirectX ===

Revision as of 21:58, 21 August 2005

The changelog for 0.2.7 in terms meaningful to technical end-users.


Main 0.2.7 Changes

  • Header clean up to compaitable Windows SDK headers. NDK contrscuted with undocumented Windows functions and structs. ReactOS is now built with our own headers.
  • New My computer, Command Prompt, and Logo Icons.
  • New build system called rbuild. Based on xml, it allows for auto generated makefiles.
  • Improved appearance of the first stage installer.
  • GCC 4.x.x build fixes.

Known Bugs

ReactOS will fail to boot with a AllocConsole error when a ps/2 mouse is not attached on some hardware. Bug 688

This ReactOS release requires 64MB RAM to complete the first stage installer. Bug 703


  • Swedish translations by Andreas Bjerkeholt (harteex@gmail.com)
  • Swedish translations by Kris Engeman
  • Czech translations by Potapnik <jirka@studioprojekt.cz>
  • Swedish translations by David Nordenberg
  • French translation by Usurp
  • Polish translation by Sebastian Gasiorek <zebasoftis@gmail.com>
  • Belgian (point/Flemish) keyboard layout by i386DX <i386dx@hotmail.com>

ReactOS Core

Hardware Abstraction Layer (HAL)

  • Add architecture-specific headers and move I386-specific definitions into them. (Eric_Kohl)

Kernel + Executive (NTOSKRNL)

(Hervé Poussineau)

  • Implemented:
    • IoRegisterDeviceInterface
    • IoSetDeviceInterfaceState
    • IoRegisterPlugPlayNotification
    • IoUnregisterPlugPlayNotification
    • PoRequestPowerIrp
    • IRP_MN_QUERY_RESOURCE_REQUIREMENTS for devices enumerated by Root bus


  • Implemented:
    • PlugPlayControlProperty and PlugPlayControlGetDeviceDepth
    • CM_Get_Global_State/CM_Get_Global_State_Ex

Kernel Mode Modules

Input Device

  • i8042prt driver by tinus.




(Hervé Poussineau)

  • serial.sys driver completed except control handflow (XON/XOFF)
  • serenum.sys driver completed. It enumerates mice plugged on serial ports


  • UHCI HCD driver supports recognizing Memory type of resource (Aleksey_Bragin)

(Hervé Poussineau)

  • UHCI controller driver, that uses Cromwell USB stack
  • Basic USB hub driver, that sometimes reports connected devices






  • Implemented WSAStringToAddressA and WSAStringToAddressW in ws2_32 (Magnus Olsen)
  • Added dhcp service and make it start. (Art_Yerkes)


  • Implement get* integer reading.
  • Properly implement ipv4addrs (validates a set of IPv4 addresses)
  • Limit returned DNS servers to 1 until we fix iphlpapi.


  • Implement GetNameInfo

Session Manager (SMSS)

  • Removed loading of the kernel mode part of Win32 emulator (win32k.sys).
  • Removed running winlogon.exe

Win32(tm) Personality

User mode subsystem server (CSRSS)

  • Added loading of the kernel mode part of the Win32 emulator (win32k.sys);
  • Run winlogon.exe
  • Implemented EnumSystemLocalesW (Aleksey_Bragin)

Kernel mode subsystem server (WIN32K)

(Magnus Olsen)

  • Implement NtGdiDdCanCreateSurface and NtGdiDdBlt for DirectX (untested)
  • StrechBitBlt for all Bpp (not full implemet use the code as ref)
  • partially implemented fullscreen in changedisplay setting I can play winquake in fullscreen now :)
  • Implement NtGdiGetSystemPaletteUse and NtGdiSetSystemPaletteUse this code have been taken from wine
  • fix winquake color glitc bug the text are now whie instead for black (Magnus Olsen)
  • Implement NtGdiAnimatePalette (partly ripped from Wine does not anime 100% of the palette) (Hervé Poussineau)
  • Speed optimze the bitblt By (Magnus Olsen), (Gregor_Anich), (Alex_Ionescu), (GvG) see svn log
  • Repair GDI handle debugging functionality. (Filip_Navara)
  • Implement NtGdiUnrealizedObject (James_Tabor)
  • Implement WH_KEYBOARD_LL hook (GvG)

Win32(tm) Libraries



  • Implemented LockServiceDatabase, UnlockServiceDatabase, ControlService, QueryServiceStatus.
  • Implemented OpenSCManagerA, OpenServiceA, OpenServiceW and QueryServiceStatus


  • Ported BuildTrusteeWithObjectsAndName and BuildTrusteeWithObjectsAndSid from wine.
  • Implemented RegOpenCurrentUser
  • Implemented OpenAndMapFileForRead, RetreiveFileSecurity, StampFileSecurity, TakeOwnershipOfFile and UnmapAndCloseFile.
  • Implemented RegOpenUserClassesRoot
  • Implemented IsTokenRestricted(), inspired by a patch to winehq by James Hawkins
  • Implemented TokenRestrictedSids


  • Implemented GetCommProperties, ClearCommError, CommConfigDialogA, CommConfigDialogW (Saveliy Tretiakov)
  • Implemented GetCommConfig, SetCommConfig, FindFirstFileExW (Dmitry Philippov)


  • Implemented:
    • IoIsFileOriginRemote
    • IoGetLowerDeviceObject
    • IoGetdiskDeviceObject
    • IoGetRequestorSessionId
    • IoGetRequestorProcessId
    • IoRegisterBootDriverReinitialization
    • IopGetDeviceObjectPointer
    • IoAttachDeviceToDeviceStackSafe
    • IoEnumerateDeviceObjectList
    • IoGetDeviceAttachmentBaseRef
    • IoDetachDevice
    • FsRtlMdlRead
    • FsRtlMdlReadComplete
    • FsMdlReadCompleteDev
    • FsRtlMdlWRiteComplete
    • FsRtlMdlWriteCompleteDev
    • FsRtlPrepareMdlWrite
    • CcMdlReadCompleted
    • CcMdlWriteComplete
    • CcMdlReadCompleteDev
    • FsRtlAllocateResource
    • FsRtlIsPagingFile
    • FsRtlBalanceReads
  • Optimized:
    • IoAttachDeviceByPointer
    • IoGetRelatedDeviceObject
  • Removed:
    • IoOpenDeviceInstanceKey
    • IoQueryDeviceEnumInfo. Obsoleted, unimplemented, undocumented NT4 APIs.


(Hervé Poussineau)

  • Work on devices enumeration by implementing:
    • CM_Enumerate_Classes(_Ex)
    • SetupDiCreateDeviceInfoA
    • SetupDiCreateDeviceInfoListExW
    • SetupDiEnumDeviceInfo
    • SetupDiGetActualSectionToInstallA
    • SetupDiGetClassDescriptionExA
    • SetupDiGetClassDevs(Ex)A/W
    • SetupDiGetDeviceInterfaceDetailA/W
    • SetupDiGetDeviceRegistryPropertyA/W


  • Implemented:
    • ConcatenatePaths
    • MyGetFileTitle
    • GetVersionInfoFromImage
    • StringTableDuplicate


Dorp last sync with wine and userhook Before we can sync with wine we need to rewrite the enum and reg of device so it working fine in reactos and windows.

Add svn rev 15043 + only userhooks for the mouse at last the mouse are working in tribles windows mode but in full screen it is bit chopy. Not tested tribles in reactos with the new code.


David Nordenberg: Swedish translation, proofread by Andreas Bjerkeholt

Libraries shared with Wine


  • Sync to Wine-20050419
  • Sync to Wine-20040419
  • Sync to Wine-20050524
  • Sync to Wine-20050628


  • Implementation of DragDetect. Based on Wine code (C) 1993, 1994 Alexandre Julliard. (Filip_Navara)


  • Implemented:
    • TrackMouseEvent.
    • NtUserGetAsyncKeyState and support for TrackMouseEvent.
    • DrawMenuBar.
    • CheckMenuRadioItem. Not fully tested.
    • GetMenuString A & W. Not fully tested.
    • ModifyMenu A & W.
    • MDICascade, MDITile and WIN_ListChildren



  • Implemented RtlHashUnicodeString
  • Moved ntdll's atom table implementation to rtl, rewrote it to use proper structures and share the generic implementation between ntoskrnl and ntdll
  • Updated the rtl handle table implementation to use proper structures. Reserved handles are not yet supported correctly.

Win32(tm) Applications


(Tim Jobling <tjob800@yahoo.co.uk>)

  • Relicense to GPL.
  • Display NodeType with meaningfull Human readable names.
  • Exclusively use TCHAR strings.
  • Display Physical Address, DHCP enabled state, IP Addresses/Netmasks,
  • Default Gateway, DHCP server and DHCP Lease times.
  • Parse command line options.
  • Default to only showing the IP/SM/DG is no options specified
  • Handel option: /All and /?
  • Display message about all unimplemented options.
  • Changed C++ style commenting to C style


(Magnus Olsen)

  • Remove all hardcode string to own rc file.
  • Cache codepage instead call on win32 api for it whole time.
  • Add *.* syntax to Dir
  • Bugfix Color now it work as it should
  • Bugfix CD "program files" so it works
  • Implement CD s* * translate %errorlevel% to a value when it pass at command line. Now is errorlevel implement as it should. left todo check all cmd command that they are setting right value
  • fix a small bug in choice.c so it does print out choice "sadsad" right
  • add %time% and %cd% internal value. Example echo %cd% or echo %time%.
  • add %DATE% example echo %date% are working now. Bugfix date so it print out the week days names.
  • adding %RANDOM% example how to use it echo %random%
  • adding %cmdcmdline%, example how to use it echo %CMDCMDLINE%
  • add %CMDEXTVERSION% example to use it echo %CMDEXTVERSION% the value are hardcode to 2. for it is that value ms win2k / winxp report back. thx arty to test it in win xp.
  • quick dirty hack getting our copy working with 1>null by me

so we can create reactos iso on ros. bug reported by harteex and Brandon Turner, thanks to Brandon to hunt down where the bug was.


  • Add Help command (By Frik85)
  • Add german language resource to the ReactOS Command Processor

(not completely finished, I will update it as soon as possible)

Martin Rottensteiner (2005only@pianonote.at):

  • set errorlevel to 9009 if command not found
  • implemented exit /b # in batchfiles


  • Added exclusive deletion "del * -abc.txt -text*.txt"
  • Fixed bug to allow MS style wildcards + code clean up added /y and /-y
  • simple check to fix > and | bug with 'rem'
  • Implemented /A example "del /A:H /A:-R *.exe -ping.exe"
  • Bug fix color now it working as ms cmd color. Please everyone that have done translate of cmd, update the language's file. some text have been modify and add in cmd en.rc
  • Fix bug "mv foo.txt c:\temp gives you c:\tempfoo.txt" by Brandon Turner


  • Remove some hardcode string tested by Harteex (Filip_Navara)


  • Stepwise taskbar resizing (charn <charn89@hotmail.com>)
  • Fix of swedish translation (Magnus Olsen)
  • option to build Explorer as ROS Shell without integrated explorer part (Martin Fuchs)
  • display of custom folders in start menu root (Martin Fuchs)
  • fix of listbox insert algorithmus (Martin Fuchs)
  • Czech translation of Explorer (Luk _ "denzil" Frolka <d3nzil@gmail.com>)
  • Russian Translation (Done by Dmitry Philippov, checked by fireball, DarkHobbit and others)
  • French Translation (hpoussin)
  • split of big explorer resource file into smaller language specific rescource scripts (Martin Fuchs)
  • Implemented part of screensaver functions, get values from reg, and show screensaver (<sikker2004@yahoo.com>)


  • Czech translation (Denzil <d3nzil@gmail.com>)
  • Swedish translation (David Nordenberg, proofread by Andreas Bjerkeholt)
  • implementation of owner drawn context menus (Martin Fuchs)
  • from WINE: add czech and swedish resource files (Martin Fuchs)
  • from WINE: Change SUBLANG_DEFAULT to SUBLANG_NEUTRAL for LANG_SPANISH in all resources, so that Spanish locales other than Spain also use Spanish resources. (Alex Villacís Lasso <a_villacis@palosanto.com>)
  • from WINE: Spanish translation (José Manuel Ferrer Ortiz <jmfo1982@yahoo.es>)
  • from WINE: Update of Portuguese translation (Marcelo Duarte <wine-devel@bol.com.br>, Am‚rico Jos‚ Melo <mmodem00@netvisao.pt>, Francois Gouget <fgouget@codeweavers.com>)
  • from WINE: Update of German translation. (Henning Gerhardt <henning.gerhardt@web.de>)
  • display source path in "move file" dialog (Martin Fuchs)
  • network connect and disconnect dialogs (Martin Fuchs)
  • "format disk" dialog (Martin Fuchs)
  • display free and total disk space (Martin Fuchs)
  • switching of file sort order (Martin Fuchs)
  • from WINE: add polish resource file (Martin Fuchs)
  • window refresh in shell mode (Martin Fuchs)
  • implement file filtering (matching file name patterns and file types) (Martin Fuchs)
  • refresh display after executing a context menu command (Martin Fuchs)
  • file copy, move and delete commands (Martin Fuchs)
  • file properties dialog ([Martin Fuchs], partly based on Rob D.'s winfile code)
  • from WINE: Update German resource files (Henning Gerhardt <henning.gerhardt@web.de>)
  • switch to WIN32 API string functions (Martin Fuchs)
  • Updated winefile French resources (Jonathan Ernst <Jonathan@ErnstFamily.ch>)
  • Sync source code and resource scripts between WINE and ROS WINE and switch to UNICODE compilaton in Wine (Martin Fuchs)