Talk:ChangeLog-0.2.2
sourceforge.net/project/shownotes.php?release_id=234324
Contents
- 1 Ntoskrnl.exe
- 2 Win32k.sys
- 3 Csrss.exe
- 4 Winlogon.exe
- 5 Advapi32.dll
- 6 Csq.dll
- 7 Comctl32.dll
- 8 Gdi32.dll
- 9 Iphlpapi.dll
- 10 Kernel32.dll
- 11 Mmdrv.dll
- 12 Msgina.dll
- 13 Msvcrt.dll
- 14 Ntdll.dll
- 15 Oleaut32.dll
- 16 OpenGL.dll
- 17 Setupapi.dll
- 18 Shell32.dll
- 19 User32.dll
- 20 Userenv.dll
- 21 Version.dll
- 22 Afd.sys
- 23 Atapi.sys
- 24 Bootvid.sys
- 25 Cdfs.sys
- 26 Cdrom.sys
- 27 Class2.sys
- 28 Disk.sys
- 29 Floppy.sys
- 30 Pci.sys
- 31 Psaux.sys
- 32 Scsiport.sys
- 33 Tcpip.sys
- 34 Vbe.sys
- 35 Videoprt.sys
- 36 Vgaddi.dll
- 37 Vgamp.sys
- 38 HAL
- 39 Explorer.exe
- 40 Regedit.exe
- 41 General
Ntoskrnl.exe
- Set the previous pointer from the next block, if some blocks was merged (in add_to_free_list) (Hartmut Birr)
- Free or recycle the remaining path string after a call to ObFindObject (Hartmut Birr)
- Lock the pages always in MmProbeAndLockPages (Hartmut Birr)
- Locked the pages in MmCommitPagedPoolAddress, if it is necessary (Hartmut Birr)
- Marked a cache segment as page out in progress to prevent from recursive calls to MmPageOutPhysicalAddress; fixed bug 220 (Hartmut Birr)
- Protected the callback stack list with a spinlock (Hartmut Birr)
- Made it possible to allocate a pageop only if no other pageop for the given address exists (Hartmut Birr)
- Try to pageout a page only if no other access to the page exist (Hartmut Birr)
- Gave a free page only to the next waiting request (in MmReleasePageMemoryConsumer), if sufficient free pages are available (Hartmut Birr)
- Initialized the object tag to prevent the tag 0xcccccccc (Hartmut Birr)
- Removed dirty loading of symbol files from ExpInitializeExecutive (Hartmut Birr)
- Fixed the loading of symbol files (Hartmut Birr)
- Try to avoid crashing when dumping out a corrupted stack (David Welch)
- Avoid a crashing when trying to process an exception early in the boot process (David Welch)
- Use an event rather than a semaphore to wake up the thread that writes debug output to disk (David Welch)
- Added basic tracing, breakpoints and disassembly to the kernel debugger (David Welch)
- Added disassembler from gdb (David Welch)
- Record feature information from cpuid (David Welch)
- Fixed bug with recalling previous input (David Welch)
- Switch back to text mode when entering the debugger (David Welch)
- Fixed whole page allocations since the handle table code now relies on allocations being eight byte aligned (David Welch)
- Fix reading past the end of the pool block (David Welch)
- Fix key name size calculation bugs (Eric Kohl)
- Fix NtOpenThreadToken() and NtSetInformationThread() (Eric Kohl)
- Clean-up NtQueryInformationToken() (Eric Kohl)
- Fully implement RtlFormatCurrentUserKeyPath() (Eric Kohl)
- Fixed crashes that were cause by the changes to the service parameter table (Eric Kohl)
- Work on thread-awareness in gdbstub (Ge van Geldorp)
- Make IoGetDeviceInterfaces more compatible with the native version (Matthew Brace)
- Hardcode build number consistent with major/minor version (NVidia driver requires this) (Ge van Geldorp)
- Tell apps we're NT4 SP6, VB runtime will fail if we report SP0 (Ge van Geldorp)
- Allow GDB 6 to backtrace over a syscall (Ge van Geldorp)
- Disable pool validation since it slows down execution too much (Ge van Geldorp)
- Locale values are specified in hexadecimal numbers (Filip Navara)
- Corrected EiAllocatePool prototype (Filip Navara)
- Fixed RtlNtStatusToDosErrorNoTeb (Filip Navara)
- Removed the incorrect implementations of Device Interface functions (Filip Navara)
- Don't zero memory allocated by ExAllocatePool (Filip Navara)
- Fixed RtlFormatCurrentUserKeyPath and it's use (Filip Navara)
- Fill correctly all members of the returned device object in IoCreateDevice (Filip Navara)
- Don't bug check in loader when export isn't found, only report it and don't load the module (Filip Navara)
- If we know a module path while loading, use it for searching for the import modules (Filip Navara)
- Modified LdrpBuildModuleBaseName to not strip the extension from file name (Filip Navara)
- Call create process notify routines from NtCreateProcess (Filip Navara)
- Started PsSetLoadImageNotifyRoutine implementation, it just registers the callback, but doesn't call it (Filip Navara)
- Fixed querying of thread locale (Filip Navara)
- Implemented IoGetDriverObjectExtension and IoAllocateDriverObjectExtension (Filip Navara)
- Don't load PnP drivers if they're disabled (Filip Navara)
- Save pointer to PnP tree device node in device object's DeviceObjectExtension (Filip Navara)
- Add function IopGetDeviceNode for getting device node from device object pointer (Filip Navara)
- Rewritten IoGetDeviceProperty to use values that are in device node instead of sending Irps (Filip Navara)
- Lower IRQL in error case of IoAllocateDriverObjectExtension (Filip Navara)
- Support for upper level filter drivers (Filip Navara)
- Rewritten some driver loading functions to get higher control of the driver loading and initialization process, fixes bug #263 (Filip Navara)
- Added support for lower level filter drivers (Filip Navara)
- Minor cleanup and fixed few memory leaks on driver unload (Filip Navara)
- Fixed a minor bug in IopLoadServiceModule that caused crashes for disabled drivers (Filip Navara)
- Don't bugcheck if FDO wasn't attached (Filip Navara)
- Fixed cygwin fork section map problem, this fixes map_dup_inherit (Art Yerkes, David Welch)
- MmMapLockedPages patch (Anich Gregor)
- Initialize LPC-related fields in ETHREAD (Emanuele Aliberti)
- Finish off NtDuplicateToken (Jason Filby)
Win32k.sys
- Fix race condition resulting in WM_xBUTTONUP sometimes being broken (Ge van Geldorp)
- Don't copy from/to outside the visible screen region (Ge van Geldorp)
- Implement menu handling (Ge van Geldorp)
- Top level windows have menus, child windows have IDs (Ge van Geldorp)
- Fix double release of fast mutex (Ge van Geldorp)
- Implement keyboard navigation for menus (Ge van Geldorp)
- Fix race condition (Ge van Geldorp)
- Recursively search sub menus when a command id is specified (Ge van Geldorp)
- Fixed mono -> color bitblts (Ge van Geldorp)
- Correct menu bars for windows not originating at top-left of screen (Ge van Geldorp)
- Mark update regions as global objects (Ge van Geldorp)
- Delay unlinking of windows until after all messages have been sent (Ge van Geldorp)
- Translate pixel value from internal pixel format to RGB; fixes bug #251 (Ge van Geldorp)
- Return a valid (empty) visible region when the window is not visible (Ge van Geldorp)
- Handle 1bpp DIBs in NtGdiCreateDIBitmap (Ge van Geldorp)
- Implement EnumFontFamilies(Ex)A/W() and TranslateCharsetInfo() (Ge van Geldorp)
- Implement GetCharWidthA/W() (Ge van Geldorp)
- Implement GetUpdateRect() and harden NtUserGetUpdateRect() (Ge van Geldorp)
- Implement GetObjectA/W() for fonts (Ge van Geldorp)
- Prevent deletion of system-owned objects (Ge van Geldorp)
- Fix filling of MENUITEMINFO in InsertMenu() (Ge van Geldorp)
- Implement scrollbar controls (Ge van Geldorp)
- Simple font substitution and matching (Ge van Geldorp)
- Implement TOPMOST windows (Ge van Geldorp)
- Remove window timers when window is destroyed (Ge van Geldorp)
- Implement 32bpp -> 32bpp copy with color translation (Ge van Geldorp)
- Use lookaside lists for better performance (Ge van Geldorp)
- Special case for faster one rectangle regions (Ge van Geldorp)
- Honour font spacing requested by caller (Ge van Geldorp)
- Fix scanline increment for 32bpp stretch blts (Ge van Geldorp)
- andle regions in SelectObject() (Ge van Geldorp)
- Pass args to MsqSendMessage in correct order (Ge van Geldorp)
- Fix for mouse detection problem (Filip Navara)
- Fixed algorithm for 4BPP bitblts with ROP != SRCCOPY (Filip Navara)
- Reclaculate window client size in NtUserSetMenu even if the window isn't visible (Filip Navara)
- Fixed clipping bug in TransparentBlt() (Filip Navara)
- Return more correct error codes from NtUserRegisterClassExWOW (Filip Navara)
- Check region handles in NtGdiPaintRgn (Filip Navara)
- Fixed releasing of window object in IntValidateParent and NtUserRedrawWindow (Filip Navara)
- Fixed deadlock in IntFindWindowToRepaint (Filip Navara)
- Modifed DceUpdateVisRgn for performance enhancment (Filip Navara)
- Fixed couple of mutex locking issues (Filip Navara)
- Fixed GDI handle leak (Filip Navara)
- Fix for race condition that should never happen (Filip Navara)
- Implemented EngModifySurface, DRIVER_FindMPDriver (Filip Navara)
- Fixed NtGdiCreateCompatibleBitmap fix to use correct Bits (Filip Navara)
- Minor corrections to emulated mouse pointer handling (Filip Navara)
- Fixed few bugs related to SUROBJ initialization (Filip Navara)
- Unlock surface in error case of EngModifySurface (Filip Navara)
- Fixed non-SRCCOPY BitBlts to 1bpp surfaces (Filip Navara)
- Fixed BitBlts from 4bpp surfaces (Filip Navara)
- Fixed handling of WM_GETICON message (Filip Navara)
- Fixed window-less timers (Filip Navara)
- Changed the internal brush object to be (almost) Win32k compatible (Filip Navara)
- Fixed 8bpp StretchBlt (Filip Navara)
- Fixed 4bpp to 4bpp non-SRCCOPY blits (Filip Navara)
- Fixed 1bpp to 1bpp non-SRCCOPY blits to work when the destination doesn't start at exact byte (Filip Navara)
- Reenabled 55AA brush for scrollbar (Filip Navara)
- Fixed BITMAPOBJ_GetWidthBits to do WORD alignment and not DWORD (Filip Navara)
- Implemented TransparentBlt() on 32bpp surfaces (Filip Navara)
- Fixed bugs in 1bpp code causing memory corruption (Filip Navara)
- Lock the surface even for GDI blits in IntEngBitBlt (Filip Navara)
- Fixed order of bits in a byte for pattern brushes (Filip Navara)
- Implement brush origin for 4bpp blits (Filip Navara)
- Implemented horizontal and vertical gradients in GradientFill() (Thomas Weidenmueller)
- Use GradientFill() for gradient captions (Thomas Weidenmueller)
- Basic implementation of filling gradient triangles in GradientFill() (Thomas Weidenmueller)
- Added EngGetCurrentProcessId() and EngGetCurrentThreadId() (Thomas Weidenmueller)
- Fixed WindowFromPoint() to search backwards (Thomas Weidenmueller)
- Added pool tags for better debugging (Thomas Weidenmueller)
- Fixed WindowFromPoint() to send WM_NCHITTEST messages appropriately (Thomas Weidenmueller)
- Fixed crashes that could be caused by the thread cleanup routine when destroying (Thomas Weidenmueller)
- Fixed missing window dereference (Thomas Weidenmueller)
- Don't lock the screen dc if it's NULL (Thomas Weidenmueller)
- Don't hold more than one WM_MOUSEMOVE message at the same time in the message queue (Thomas Weidenmueller)
- Added ability to cache gdi objects (Thomas Weidenmueller)
- First attempt to implement SendMessageTimeout() (Thomas Weidenmueller)
- Simplified calls to MsqPostMessage() (Thomas Weidenmueller)
- Count all gdi handles and serialize removing gdi handles from the table. (Thomas Weidenmueller)
- Fixed wrong rendering of clipped characters (Thomas Weidenmueller)
- Fixed a couple of dead-locks in the region code (Thomas Weidenmueller)
- Implemented SetWindowRgn() and added support for window regions (Thomas Weidenmueller)
- Don't use the window region when minimized (Thomas Weidenmueller)
- Implemented GetWindowRgn() and GetWindowRgnBox() (Thomas Weidenmueller)
- Fixed accessing memory that has already been freed (Thomas Weidenmueller)
- Fixed a crash caused by removing a message twice from the queue (Thomas Weidenmueller)
- Partly (not working) implementation of TransparentBlt() (Thomas Weidenmueller)
- Fixed NtUserGetAncestor() (Thomas Weidenmueller)
- Implemented GetWindowInfo() (Thomas Weidenmueller)
- Implemented GetWindowModuleFileName() (Thomas Weidenmueller)
- Partially implemented IsHungAppWindow() (Thomas Weidenmueller)
- Fixed a crash caused by requesting a large number of extra class space (Thomas Weidenmueller)
- Made the DCE list thread-safe (Thomas Weidenmueller)
- Implemented TransparentBlt() on 8bpp, 16bpp and 24bpp surfaces (Thomas Weidenmueller)
- Fixed missing dereferences of threads (Thomas Weidenmueller)
- Fixed clipping code in NtGdiGetPixel (James Pritchard)
- Fix bug in NtGdiExtEscape not checking for NULL == DriverFunctions.Escape (Royce Mitchell III)
- If nWidth or nHeight is zero, CreateBitmap returns the handle to a 1by 1-pixel (Royce Mitchell III)
- Fix RoundRect compatibility issue (Royce Mitchell III and MT)
- NtGdiPolygon simplification (Royce Mitchell III)
- Performance improvement for 1bpp dib -> 1bpp dib blitting (Royce Mitchell III)
- Change to NtGdiGetPixel to handle device DCs (Royce Mitchell III)
- Implement SetPixelV (Royce Mitchell III)
- Implemented event services (David Welch)
- Added an implementation of LdrFindImageProcAddress (David Welch)
- Return any error code from the miniport device i/o control to the display driver; fixes crash when running with ATI drivers (David Welch)
- Fixed 8 8 bpp and 32 32 bpp StretchBlt (Waldo Alvarez Cares)
- Fixed IntGdiExtEscape (Anich Gregor)
- Initialized the win32k timer as SynchronizationTimer (Hartmut Birr)
Csrss.exe
- Made the cursor and F1-12 keys usable again (Hartmut Birr)
- Initialize/delete the lock of a screen buffer (Hartmut Birr)
- Initialize/delete the lock of a console (Hartmut Birr)
- Fixed the handling for ctrl and alt keys (Hartmut Birr)
- Implemented double buffering for a console windows (Hartmut Birr)
- Implemented SetConsoleIcon() (Thomas Weidenmueller)
Winlogon.exe
- Create a logon token and use it to start the shell process (Eric Kohl)
- Load user profile and create user environment upon user logon (Eric Kohl)
- Added basic SAS window, some other modifications (Thomas Weidenmueller)
Advapi32.dll
- Implemented LsaFreeMemory (Steven Edwards)
- LogonUserW(): Fix key name (Eric Kohl)
- Implement ImpersonateLoggedOnUser() (Eric Kohl)
- Fix bugs in RegQueryValueExA() and RegQueryValueExW() that caused crashes or returned bogus information (Eric Kohl)
Csq.dll
- ReactOS implementation of cancel-safe queue library (Vizzini)
Comctl32.dll
- Create image list for toolbar with same depth as display (Ge van Geldorp)
- New cursor (Ge van Geldorp)
Gdi32.dll
- Very basic implementation of ExtEscape (Filip Navara)
- Adapted GdiTransparentBlt (Kevin Koltzau)
- Implemented GetDCOrg() (Andrew Greenwood)
- Fix LOGFONT conversion in CreateFontIndirectA() (Ge van Geldorp)
Iphlpapi.dll
- Porting work from WINE (Art Yerkes)
- Working interface list, getting route table (Art Yerkes)
- Correct route table (Art Yerkes)
- Route add and route delete now work on real windows with our iphlpapi (Art Yerkes)
Kernel32.dll
- CreateFileMappingA/CreateFileMappingW: a NULL size argument for this function should result in the filesize being used (Gero Kuehn)
- Added WINE kernel32 regression tests (Steven Edwards)
- GetComputerName(Ex)?[AW] implemented (Art Yerkes)
- Added waiting on console handles (Art Yerkes)
- Support for regression tests (Casper Hornstrup)
- Fiber switching code fixed (KJK::Hyperion)
- Added more (in case we run on PowerPC) processor ids returned by GetSystemInfo() (Aleksey Bragin)
- Implemented GetProcessId(), GetProcessIoCounters() (Thomas Weidenmueller)
- Implemented SetFilePointerEx() and fixed SetFilePointer() to check if the calculated file position is negative (Thomas Weidenmueller)
- Implemented CreateHardLink(), GetFileSizeEx(), SetFileValidData(), SetFileShortName() (Thomas Weidenmueller)
- Updated FILE_INFORMATION_CLASS (Thomas Weidenmueller)
- Fix pipe create flags traslation (Gunnar Dalsnes)
Mmdrv.dll
- Work on various functions (Aleksey Bragin)
Msgina.dll
- Implemented WlxDisplaySASNotice() (Thomas Weidenmueller)
- Basic implementation of WlxLoggedOutSAS() (Thomas Weidenmueller)
Msvcrt.dll
- Patch to get Microsoft Paint closer to working (Michael Fritscher)
- Handle characters outside first page (Ge van Geldorp)
- Handle invalid Unicode strings for %S format like MS does (Ge van Geldorp)
Ntdll.dll
- Fixed a bug in AppendUnicodeStringToString which could cause a null to be placed one position after the end of a completely full string (Art Yerkes)
- Corrected processing import directories to handle case when executable imports (Filip Navara)
- Split LdrpProcessImportDirectory into LdrpProcessImportDirectory and to process all entries with the same name (Hartmut Birr)
- RtlGetFullPathName_U() is supposed to check the parameter buff, it could be NULL (Thomas Weidenmueller)
- Enable environment inheritance (Eric Kohl)
- Implemented RtlCreateCriticalSectionSpinCount (Gunnar Dalsnes)
Oleaut32.dll
- Imported WINE oleaut32.dll (Martin Fuchs)
- Enable SafeArray...() functions (Martin Fuchs)
OpenGL.dll
- Various fixes for OpenGL (Gregor Anich)
Setupapi.dll
- Initial implementation of InstallHinfSection (Aleksey Bragin)
Shell32.dll
Fix buffer length usage for RegQueryValueW() calls at various places (Martin Fuchs)
New cmdlen parameter for SHELL_FindExecutablebyOperation() (Martin Fuchs)
New result buffer length parameter for SHELL_FindExecutable() (Martin Fuchs)
Replace WINE specifiy system tray implementation by a WIN32 compatible implementation (Martin Fuchs)
use alloca() to pass NOTIFYICONDATA structures of any size (Martin Fuchs)
Fixed bounds checking in SHELL_GetPathFromIDListA/W() (Martin Fuchs)
User32.dll
Fixed behaviour of sizing grip (Thomas Weidenmueller)
Sync WINE user32 Regression tests (Steven Edwards)
Implement system menus (Ge van Geldorp)
Implement TrackPopupMenu; this fixes bug #131 (Ge van Geldorp)
Add arrows for popup submenus (Ge van Geldorp)
Set correct colors before calling owner-drawn handler (Ge van Geldorp)
Don't reserve space for empty menubar (Ge van Geldorp)
Fix for parent/child windows (Ge van Geldorp)
Fixed icon lookup so that in high color video modes colorfull icons are used (Filip Navara)
As CURSORICON_FindBestIcon now takes color bits count and not color count (Filip Navara)
Fixed MapWindowPoints for NULL window handles (Filip Navara)
Support for SS_REALSIZEIMAGE and SS_CENTERIMAGE flags for bitmap static control (Filip Navara)
Get the WS_EX_STATICEDGE style working (Filip Navara)
Fixed co-ordinate translation for windows that have been moved (Andrew Greenwood)
Implemented ChangeMenuA and ChangeMenuW, as implemented in WINE (Andrew Greenwood)
Updated system colors (Thomas Weidenmueller)
Properly initialize system menu items (Thomas Weidenmueller)
Use patterned dragging rectangle (Thomas Weidenmueller)
Clip the moving rectangle to the desktop area (Thomas Weidenmueller)
Userenv.dll
Complete user profile creation (Eric Kohl)
Implement LoadUserProfileW() and UnloadUserProfile() (Eric Kohl)
Implement GetUserProfileDirectoryW() (Eric Kohl)
Flush the new user hive after copying (Eric Kohl)
Simplify LoadUserProfileW() and check for loaded profile (Eric Kohl)
Implement CreateEnvironmentBlock() and DestroyEnvironmentBlock() (Eric Kohl)
Set user-specific environment variables (Eric Kohl)
Version.dll
Fixed several serious bugs in info.c (Royce Mitchell III)
Afd.sys
Correctly set Irp->IoStatus.Information in AfdDispatch (Filip Navara)
Started AfdDispGetName implementation (Filip Navara)
Signal ACCEPT network event (Casper Hornstrup)
Atapi.sys
Started implementation of busmaster dma (Hartmut Birr)
Changed the dma capability detection code (Hartmut Birr)
Fixed the returned values for a data underrun (Hartmut Birr)
Bootvid.sys
Changed the video mode setting to directly program the VGA registers instead of using Ke386CallBios (Filip Navara)
Properly map the video memory (Filip Navara)
Cdfs.sys
Allocate wide chars, CD title was being truncated (Herve Poussineau)
Cdrom.sys
Rewrote parts of the capability detection code (Hartmut Birr)
Class2.sys
Wait a little between retries, fixes bug #106 (Ge van Geldorp)
Don't retry, if the request fails with SRB_STATUS_INVALID_REQUEST (Hartmut Birr)
Pre initialized the resulting transfer length for requests which are split (Hartmut Birr)
Added MediaChangeNoMedia on/off (Jim Tabor)
Disk.sys
Added removable mediachange support (Jim Tabor)
Added MediaChangeCount (Jim Tabor)
Floppy.sys
First import of in-progress floppy driver replacement (Vizzini)
Properly set the length of the transfer so FastFat won't assert on us (Vizzini)
Implement support for split DMA transfers (Vizzini)
Fixed an off-by-one bug for sector calculation (Vizzini)
Fixed CHS computation bug (Vizzini)
Added arc path support (Vizzini)
Fixed some start/stop motor timing bugs (Vizzini)
Figured out the Real Deal with Model 30 support (Vizzini)
Fixed two race conditions with motor power-off; now handles disk change detection (Vizzini)
Turn off skip bit to support VMWare FDC (Vizzini)
Pci.sys
Support for IRP_MN_QUERY_BUS_INFORMATION and devices on multiple PCI buses (Filip Navara)
Fixed handling of IRP_MN_QUERY_BUS_INFORMATION (Filip Navara)
Psaux.sys
Corrected timeouts to really wait one millisecond (Filip Navara)
Scsiport.sys
Implemented ScsiPortGetPhysicalAddress for Srb buffers (Hartmut Birr)
Fixed the initializing of the access ranges (Hartmut Birr)
Rewrote the code which handles processing of irp's and notifications from miniport (Hartmut Birr)
Changes to make AHA-2940 detect devices (Eric Kohl)
Added allocation of SrbExtension (Filip Navara)
Tcpip.sys
Fixed some address calculations (Filip Navara)
If there is an out-of-resources situation, don't transmit the datagram out of order (Casper Hornstrup)
Implementation of various listening, segment and receiving functions (Casper Hornstrup)
Support asynchronous operation (Casper Hornstrup)
Partially implement support for TDI_QUERY_ADDRESS_INFO request (Filip Navara)
More support for IOCTL_TCP_QUERY/SET_INFORMATION_EX (Art Yerkes)
Added TDI entity for interfaces (Art Yerkes)
Fixed IPSnmpInfo interface number report (Art Yerkes)
Fixed returned buffer size report in DispTdiQueryInformationExComplete (Art Yerkes)
Added bit counting and inverting functions to address (Art Yerkes)
Added setting of netmask in datalink/lan.c from the registry (Art Yerkes)
Added routines for collecting functions about interfaces (Art Yerkes)
Added routines for collecting functions about prefixes (Art Yerkes)
Allow a correct response to get us into TCPiReceiveSynSent (Art Yerkes)
Vbe.sys
Fixed initalization of VIDEO_HW_INITIALIZATION_DATA (Filip Navara)
Videoprt.sys
Started implementation of VideoPortGetVgaStatus (Jim Tabor)
Started VideoPortGetAgpServices, Allocate and ReleaseBuffer (Jim Tabor)
Change NonPagedPool for AllocateBuffer and implemented GetVersion (Jim Tabor)
Implemented VideoPortEnableInterrupt and VideoPortDisableInterrupt (Filip Navara)
Implemented VideoPortQueryPerformanceCounter and all video port spinlock functions (Filip Navara)
Fixed bug in VideoPortSetBusData (Filip Navara)
Started work on converting the VideoPort driver to PnP model (Filip Navara)
Fixed return value in VidDispatchDeviceControl (Filip Navara)
Get back the attaching to CSRSS working (Filip Navara)
Get the basic support for NT4 legacy drivers working (Filip Navara)
Implemented handling of cleanup IRP (Filip Navara)
Fixed VideoPortGetAccessRanges to work more correctly with W2K+ drivers (Filip Navara)
Fixed releasing of display ownership (Filip Navara)
Added an implemention of VideoPortGetProcAddress (David Welch)
ati2mtag calls VideoPortGetAccessRanges with *DeviceId == 0 so treat that as matching an device id (David Welch)
Initial implementation of some DMA related functions (David Welch)
Implemented EngSaveFloatingPointState and EngRestoreFloatingState (David Welch)
Complete the irp even on an error (David Welch)
Vgaddi.dll
Fix for crash on gui exit caused by trying to free an uninitialized variable (David Welch)
Use the miniport services to map the frame buffer (David Welch)
Vgamp.sys
Changed Video Mode setting routines to directly modify VGA registers instead of relying on Int 0x10 services (Filip Navara)
Reenable the screen after setting the mode (David Welch)
Implemented IOCTL_VIDEO_MAP_VIDEO_MEMORY/IOCTL_VIDEO_UNMAP_VIDEO_MEMORY (David Welch)
HAL
Spinlock can also be acquired using KeAcquireSpinLockRaiseToSynch() (Ge van Geldorp)
Explorer.exe
First version of web control embedding (Martin Fuchs)
Toolbars to control web browser (Martin Fuchs)
Desktop switching (Martin Fuchs)
Japanese resource (Masahiro Taguchi)
Better window sizing (Martin Fuchs)
Better foreground window handling (VCL applications had problems) (Martin Fuchs)
Re-show all hidden windows at explorer termination (Martin Fuchs)
Support for context windows used by winefile (Martin Fuchs)
First draft of a lean explorer version (SDI interface) (Martin Fuchs)
Keyboard navigation in start menu (Martin Fuchs)
Resize taskbar buttons according to number of running applications (Martin Fuchs)
Rebar control for desktop bar, cabinet window (Martin Fuchs)
Implemented 'minimize all' feature (Martin Fuchs)
Add opened files to the "recent documents" list (Martin Fuchs)
Tool tip texts for notification icons (Martin Fuchs)
French translation for some start menu entries (Gge)
Implementation of volume control tray icon (Martin Fuchs)
Launch sound control panel applet (Martin Fuchs)
Auto-hiding of inactive notification icons (Martin Fuchs)
Storage of configuration settings in user specific XML file (Martin Fuchs)
Use the new built expat library for explorer (Martin Fuchs)
Implemented UTF-8 conversion for XML, smart XML formatting (Martin Fuchs)
Import IE bookmarks and convert into XBEL format bookmark file (Martin Fuchs)
Display bookmarks in sidebar (Martin Fuchs)
First version of Explorer NotifyHook DLL (Martin Fuchs)
Fixed foreground window handling when clicking on notification area icons (Martin Fuchs)
Fixed taksbar icons after closing previous applications (Martin Fuchs)
Fixed several GDI handle leaks (Martin Fuchs)
Fixed bug #224 (Martin Fuchs)
Regedit.exe
speedup listing items in the treeview (Gunnar Dalsnes)
fix root keys sort order (Gunnar Dalsnes)
General
Work on kernel mode regression tests (Casper Hornstrup)
Prepared TCP/IP regression tests (Casper Hornstrup)
Build AFD, TCPIP and TDI with w32api headers (Filip Navara)
Add TEMP and TMP environment variables; fixes bug #180 (Ge van Geldorp)
Added csqtest driver for testing cancel-safe queues (Vizzini)
PipeSpy can be used to snoop traffic on a named pipe (Skywing)
Eliminate function pointer typecasts (Filip Navara)
Port of netapi32 from WINE (Steven Edwards)
Get a simple WinCE x86 MessageBox program to load (Steven Edwards)
Added a disk speed test utility (Hartmut Birr)
Syncing of various user mode DLLs (Ge van Geldorp, Steven Edwards, Martin Fuchs)
Imported midimap from WINE (Andrew Greenwood)
Imported wavemap from WINE (Andrew Greenwood)
Imported msacm from WINE (32-bit only) (Andrew Greenwood)