ChangeLog-0.2.5

From ReactOS Wiki
Revision as of 12:27, 26 December 2005 by Dominik (talk | contribs)
Jump to: navigation, search

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

GENERIC

  • New fancy half-verbose output for the build system - Gregor Anich
  • Import notepad from Wine - Steven Edwards
  • Fixed a variety of wrong definitions for structures - Alex Ionescu
  • Improved support for other languages - Gé van Geldorp
  • Simplify build system by removing .edf files - Gé van Geldorp
  • Automatically generate stub functions - Gé van Geldorp
  • Added the dependency checking for precompiled headers - Hartmut Birr
  • Added stubs for winfax.dll - Thomas Weidenmueller
  • Removed loadros, boot.bat and friends as they're depreciated and don't work properly - Thomas Weidenmueller
  • Added 'Regional Options' and 'Keyboard and Mouse' control panel application stubs - Eric Kohl
  • Implemented 'Date/Time' control panel application - Eric Kohl
  • Setup uses WIZARD97 style - Eric Kohl
  • Setup installs class installers - Eric Kohl
  • Use localized shell folder names - Eric Kohl

FREELDR

  • Add support for chainloading from Grub - Gé van Geldorp
  • FATX Support - Gé van Geldorp
  • Add PCI-BIOS detection - Eric Kohl

HAL

  • Create a new HAL to support the Xbox - Gé van Geldorp
  • Rewritten DMA routines. - Alex Ionescu
  • Used the time stamp counter from a pentium if it is available (in KeStallExecutionProcessor/KeQueryPerformanceCounter). - Hartmut Birr
  • Improved smp functions. Changed/rewrote parts of the mp code to get my ASUS p2b-ds motherboard to working. Fixed the enabling/disabling of the higher irqs in Enable8259AIrq/Disable8259AIrq. Moved the local apic functions into its own file. Implemented the IpiInterrupt. Changed the destination of the startup ipis. Enabled interrupts on calls to KiDispatchInterrupt and KiDeliverApc. Delivered dpcs always on HalEndSystemInterrupt. Set the logical apic id according to the processor number from ntoskrnl. Dipped the code between HalInitializeProcessor and HalStartNextProcessor. - Hartmut Birr


NTOSKRNL

  • Debug symbols from SYM files loaded and used in DBG builds ( they used to only work in KDBG builds ) - several SYM-related bugs fixed - Royce Mitchell III
  • Floating point and SSE state saving for uni- and multiprocessor systems - Gregor Anich
  • Unmasked floating point and SSE exception support - Gregor Anich
  • Various fixes to registry handling - Eric Kohl, Filip Navara
  • Rewrote APC implementation - Alex Ionescu
  • Rewrote/improved most of the DPC implementation - Alex Ionescu
  • Allowed ReactOS to use 2GB/2GB Kernel/User memory model - Alex Ionescu
  • Implemented KeSetEventBoostPriority, KeFindConfigurationEntry, KeDeregisterBugCheckCallback, KeIsAttachedProcess, KeQueryActiveProcessors, KeSetDmaIoCoherency, KeSetTimeIncrement, KeQueryRuntimeThread, KeUpdateRunTime, KeUpdateSystemTime, KeAreApcsDisabled, KeFlushEntireTb, KeIsExecutingDpc, KeSetKernelStackSwapEnable, KeQueryPriorityThread, KeRevertToUserAffinityThread, KeSetIdealProcessorThread, KeSetSystemAffinityThread, KeTerminateThread, KeStackAttachProcess, KeUnstackDetachProcess, ExVerifySuite, ExInterlockedFlushSList, ExSystemExceptionFilter, ExRaiseException, ExGetCurrentProcessorCpuUsage, ExGetCurrentProcessorCounts, PsRevertThreadToSelf, ExAcquireRundownProtection, ExAcquireRundownProtectionEx, ExInitializeRundownProtection, ExReInitializeRundownProtection, ExReleaseRundownProtection, ExReleaseRundownProtectionEx, ExRundownCompleted, ExWaitForRundownProtectionRelease, ExAllocatePoolWithQuota, ExAllocatePoolWithQuotaTag, PsChargePoolQuota, PsChargeProcessNonPagedPoolQuota, PsChargeProcessPagedPoolQuota, PsChargeProcessPoolQuota, ExAllocatePoolWithTagPriority - Alex Ionescu
  • Fixed a couple of I/O Manager bugs related to IRPs - Alex Ionescu
  • Implemented basic Process Quota support - Alex Ionescu
  • Use 64k granularity for virtual memory - Gé van Geldorp
  • Add shutdown messages - Gé van Geldorp
  • PagedPool modified to keep track of Tags and a couple support functions added to access this information - Royce Mitchell III
  • Added support to KDBG to query the tag of a memory block - Art Yerkes
  • Complete rewrite of PagedPool - better than 800% performance improvement, designed to support multiple pools (SpecialPool?), and designed to help better catch misused memory under it's care. - Royce Mitchell III
  • Improved low level page mapping - Hartmut Birr
  • Implemented PAE (physical address extension) mapping - Hartmut Birr
  • Implemented the no execution feature for AMD 64 cpus - Hartmut Birr
  • Made a tlb entry invalid on all processors if the mapping is deleted or changed. - Hartmut Birr
  • Implemented the driver loading by the sequence of tag entries in the GroupOrderList key - Hartmut Birr
  • Rewrote parts of the Process & Thread time count functions - Hartmut Birr
  • Rewrote (copied from ntdll) parts of the relocation and import fixup code. Don't load no-load sections at the end of the driver. Don't relocate the relocation section itself. Set the correct page protection for section which are executable. - Hartmut Birr
  • Fixed the scanning for boot options. - Hartmut Birr
  • Started the implementation of the ipi calls. Implemented KiIpiSendRequest for simple requests. - Hartmut Birr
  • Changed the init sequence in KeInit1 and KePrepareForApplicationProcessorInit. Fixed the pae mode initialisation for application processors. - Hartmut Birr
  • Prevent from terminate a thread for twice. - Hartmut Birr
  • Replaced PiThreadLock with the dispatcher databae lock. Fixed some problems while setting/changing the affinity of a thread. - Hartmut Birr
  • Improved KeBugCheckWithTf for smp machines. - Hartmut Birr
  • Split KdInitSystem in two phases, to enable debug prints (serial line and bochs) in the very early boot stage (before the initialisation from hal). - Hartmut Birr
  • Get rid of the "global" system process handle - Thomas Weidenmueller
  • Better, but as of now - untested - implementation of rundown protections - Thomas Weidenmueller
  • Fixed prototypes of NtSetEvent(), NtResetEvent(), NtQueryEvent(), NtPulseEvent(), NtOpenEvent(), NtCreateEvent(), NtCreateMutant(), NtQueryMutant(), NtQuerySemaphore(), NtQueryTimer(), NtReleaseMutant(), NtReleaseSemaphore(), NtSetTimerResolution(), NtSetTimer(), NtCreateProfile() and NtQueryIntervalProfile() - Thomas Weidenmueller
  • Implemented PsGetProcessJob(), PsGetJobLock(), PsGetJobSessionId() and PsGetJobUIRestrictionsClass() - Thomas Weidenmueller
  • Group Threads into processes instead of a global thread list - Thomas Weidenmueller
  • Got rid of all reactos-specific fields in the E/KTHREAD structure and make them match the win2k layout - Thomas Weidenmueller
  • Added preliminary ClientID management - currently only used for thread IDs - Thomas Weidenmueller
  • Disabled thread event pair functions by default (NT4 only) as they require a field in the ETHREAD structure that is not present in more recent versions - Thomas Weidenmueller
  • Removed some bad window station/desktop hacks - Thomas Weidenmueller
  • Added boot logging - Eric Kohl
  • Support changing the system time and timezone - Eric Kohl
  • Fix registry bugs - Eric Kohl
  • Support the FILE_APPEND_DATA file access right - Eric Kohl

ADVAPI32

  • Implement Trustee and Crypto functions based on Wine - Thomas Weidenmueller, Steven Edwards
  • Implement more Trustee Functions - Eric Kohl
  • Fix bugs in registry functions that broke Regedit.exe - Eric Kohl
  • Added stubs for SetSecurityInfo(), GetInheritanceSourceA/W() and FreeInheritedFromArray() - Thomas Weidenmueller
  • Implemented LookupAccountSidA() - Thomas Weidenmueller

KERNEL32

  • Split up the handling if the fsd returns STATUS_NOT_IMPLEMENTED in MoveFileWithProgressW. Converted the destination name before calling NtSetInformationFile in MoveFileWithProgressW. - Hartmut Birr
  • Used the shared user data page instead of NtQuerySystemTime to get the time. - Hartmut Birr
  • Implemented SetDllDirectory() and GetDllDirectory() - Thomas Weidenmueller
  • Implemented CheckRemoteDebuggerPresent(), GetThreadIOPendingFlag(), CreateMemoryResourceNotification() and QueryMemoryResourceNotification() (only kernel32 part) - Thomas Weidenmueller
  • Made SetUnhandledExceptionFilter() thread-safe and use the default unhandled exception filter on startup - Thomas Weidenmueller
  • Implemented undocumented GetConsoleInputExeNameA/W() and SetConsoleInputExeNameA/W() used by NT's cmd.exe - Thomas Weidenmueller
  • Added stub for SetThreadUILanguage() to get NT's cmd.exe to load - Thomas Weidenmueller
  • Implemented GetUserDefaultUILanguage(), WriteConsoleW(), ReadConsoleW(), FillConsoleOutputCharacterW(), WriteConsoleInputW(), ReadConsoleOutputCharacterW(), ScrollConsoleScreenBufferW(), GetProcessIdOfThread(), GetThreadId(), GetThreadSelectorEntry(), SetProcessWorkingSetSize(), GetProcessHandleCount(), GetSystemRegistryQuota(), CheckNameLegalDOS8Dot3A/W(), IsDBCSLeadByte() and IsDBCSLeadByteEx() - Thomas Weidenmueller
  • Fixed ProcessIdToSessionId() to actually work and some minor fixes to GetHandleInformation(), SetHandleInformation(), CloseHandle() and DuplicateHandle() - Thomas Weidenmueller
  • Implemented GetNamedPipeHandleStateA() and a few fixes for GetNamedPipeHandleStateW(), atomically increment pipe IDs to be thread-safe - Thomas Weidenmueller
  • Create mailslots and named pipes with security information if requested - Thomas Weidenmueller
  • Fixed return value of FindCloseChangeNotification() - Thomas Weidenmueller
  • Implemented ToolHelp API: Heap32ListFirst(), Heap32ListNext(), Module32First(), Module32FirstW(), Module32Next(), Module32NextW(), Process32First(), Process32FirstW(), Process32Next(), Process32NextW(), Thread32First(), Thread32Next(), Toolhelp32ReadProcessMemory() and CreateToolhelp32Snapshot() - Thomas Weidenmueller
  • Fixed memory leak in CheckNameLegalDOS8Dot3A() (free the allocated unicode string) - Thomas Weidenmueller
  • Fixed Set/GetPriorityClass() not to call csrss and use NtSet/QueryInformationProcess() instead - Thomas Weidenmueller
  • Implemented Job APIs: CreateJobObjectA/W(), OpenJobObjectA/W(), IsProcessInJob(), AssignProcessToJobObject(), QueryInformationJobObject(), SetInformationJobObject() and TerminateJobObject() - Thomas Weidenmueller

PSAPI

  • Implemented GetProcessImageFileNameA/W(), EnumPageFilesA/W(), GetPerformanceInfo(), InitializeProcessForWsWatch() and GetWsChanges() - Thomas Weidenmueller

CRTDLL

  • made timezone buffers large enough to avoid buffer overflow caused by Firefox/Thunderbird - Thomas Weidenmueller

MSCVRT

  • Housekeeping on some code imported from Wine - Steven Edwards, Filip Navara
  • Allow always shared read for a file which is opened for read only. - Hartmut Birr
  • made timezone buffers large enough to avoid buffer overflow caused by Firefox/Thunderbird - Thomas Weidenmueller

VFAT

  • Implement support for FATX filesystems- Hervé Poussineau

WIN32K

  • Many bug fixes in win32k - significant increase in stability - Royce Mitchell III, Filip Navara
  • Implementation of monitor functions - Gregor Anich
  • GDI Handle allocation speed-up - Thomas Weidenmueller
  • Fixed a bug that caused locking a not anymore existing message queue while dispatching a message - Thomas Weidenmueller
  • Don't dispatch sent messages to windows during destruction - Thomas Weidenmueller
  • Preliminary "fixed" window class lookup so classes of other processes can be found - Thomas Weidenmueller
  • Removed some mouse cursor hacks and the ReactOS-only ENG handle table from the ENG code - Thomas Weidenmueller
  • Implemented more win2k-like and much faster gdi handle table - Thomas Weidenmueller
  • Improved inheritance of window stations/desktops where threads/processes are created in - Thomas Weidenmueller

NETWORKING

  • Fixed implementations of myriad things in tcpip. Telnet, CVS, basic routing, ipconfig experimentally working. This will be the first net release effectively. Not much works, and we're still missing key features from userland and afd that allow a majority of networked apps to work. This is a milestone of sorts because anything works at all. - Art Yerkes
  • Simple gethostbyname implementation - Adam Kelly
  • Thanks to Filip Navarra, Royce Mitchell III, Alex Ionescu for doing an amazing amount of work in msafd, tcpip and afd as well.

NDIS

  • Partial conversion to Plug & Play model and bring the registry configuration closer to the Windows. - Filip Navara
  • Miscellaneous small fixes to get 3rd party drivers to work (RTL8139 particulary). - Filip Navara

PCNET

  • Basic support for sends and receives including various fixes to make the driver work. - Filip Navara

EXPLORER/WINEFILE

  • Included winefile into the distribution - Martin Fuchs
  • Configuration dialog to choose between MDI and SDI mode with persistent storage - Martin Fuchs
  • Now handle "." and ".." as special direcory names and move them at the very first beginning of directory listings - Martin Fuchs
  • Moved direct version output from explorer into the kernel - Martin Fuchs
  • Encoding of quotation marks and apostrophs in bookmark link addresses - Martin Fuchs
  • Designed Shell About dialog more Windows-like - Klemens Friedl
  • Adjusted about dialog to ROS font sizes - Klemens Friedl

Directx

  • Port over wine dinput / dinput8 to reactos - Magnus Olsen
 rewrite wine dinput from using gdi hooks for it is not support yet in reactos
 it has a bug on mouse buffer. Some directx apps are working if it only need keyboard or mouse.

Libraries shared with Wine

  • Merge Wine-20041201 release - Lots of Wine developers

Csrss

  • Implemented waitable console handles. - Hartmut Birr
  • Removed a fake event after a input event to empty the queue in CsrReadInputEvent. - Hartmut Birr

USER32

  • Fixed MessageBoxIndirectA() not to use random pointers if MB_USERICON wasn't specified - Thomas Weidenmueller

FMIFS

  • Implemented EnableVolumeCompression() - Thomas Weidenmueller

VGA

  • Fixed some problems with mouse cursor handling - Thomas Weidenmueller

RTL

  • Fixed RtlLargeIntegerArithmeticShift() not to return uninitialized data from the stack - Thomas Weidenmueller
  • Adapted RtlIntegerToUnicode() from RtlIntegerToChar() and RtlInt64ToUnicodeString() from RtlIntegerToUnicodeString() - Thomas Weidenmueller
  • Implemented RtlIpv4AddressToStringA/W() and RtlValidRelativeSecurityDescriptor() - Thomas Weidenmueller
  • Fixed RtlValidSecurityDescriptor() that attempted to validate nonexisting owner/group SID - Thomas Weidenmueller

Template:Changelog