Difference between revisions of "ChangeLog-0.2.5"
DangerGround (talk | contribs) m (rename template, remove additional category) |
|||
(3 intermediate revisions by 3 users not shown) | |||
Line 3: | Line 3: | ||
== GENERIC == | == GENERIC == | ||
− | * New fancy half-verbose output for the build system | + | * New fancy half-verbose output for the build system ([[Gregor Anich]]) |
− | * Import notepad from Wine | + | * Import notepad from Wine ([[Steven Edwards]]) |
− | * Fixed a variety of wrong definitions for structures | + | * Fixed a variety of wrong definitions for structures ([[Alex Ionescu]]) |
− | * Improved support for other languages | + | * Improved support for other languages ([[Gé van Geldorp]]) |
− | * Simplify build system by removing .edf files | + | * Simplify build system by removing .edf files ([[Gé van Geldorp]]) |
− | * Automatically generate stub functions | + | * Automatically generate stub functions ([[Gé van Geldorp]]) |
− | * Added the dependency checking for precompiled headers | + | * Added the dependency checking for precompiled headers ([[Hartmut Birr]]) |
− | * Added stubs for winfax.dll | + | * Added stubs for winfax.dll ([[Thomas Weidenmueller]]) |
− | * Removed loadros, boot.bat and friends as they're depreciated and don't work properly | + | * 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 | + | * Added 'Regional Options' and 'Keyboard and Mouse' control panel application stubs ([[Eric Kohl]]) |
− | * Implemented 'Date/Time' control panel application | + | * Implemented 'Date/Time' control panel application ([[Eric Kohl]]) |
− | * Setup uses WIZARD97 style | + | * Setup uses WIZARD97 style ([[Eric Kohl]]) |
− | * Setup installs class installers | + | * Setup installs class installers ([[Eric Kohl]]) |
− | * Use localized shell folder names | + | * Use localized shell folder names ([[Eric Kohl]]) |
== FREELDR == | == FREELDR == | ||
− | * Add support for chainloading from Grub | + | * Add support for chainloading from Grub ([[Gé van Geldorp]]) |
− | * FATX Support | + | * FATX Support ([[Gé van Geldorp]]) |
− | * Add PCI-BIOS detection | + | * Add PCI-BIOS detection ([[Eric Kohl]]) |
== HAL == | == HAL == | ||
− | * Create a new HAL to support the Xbox | + | * Create a new HAL to support the Xbox ([[Gé van Geldorp]]) |
− | * Rewritten DMA routines. | + | * Rewritten DMA routines. ([[Alex Ionescu]]) |
− | * Used the time stamp counter from a pentium if it is available (in KeStallExecutionProcessor/KeQueryPerformanceCounter). | + | * 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. | + | * 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 == | == 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 | + | * 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 | + | * Floating point and SSE state saving for uni- and multiprocessor systems ([[Gregor Anich]]) |
− | * Unmasked floating point and SSE exception support | + | * Unmasked floating point and SSE exception support ([[Gregor Anich]]) |
− | * Various fixes to registry handling | + | * Various fixes to registry handling ([[Eric Kohl]], [[Filip Navara]]) |
− | * Rewrote APC implementation | + | * Rewrote APC implementation ([[Alex Ionescu]]) |
− | * Rewrote/improved most of the DPC implementation | + | * Rewrote/improved most of the DPC implementation ([[Alex Ionescu]]) |
− | * Allowed ReactOS to use 2GB/2GB Kernel/User memory model | + | * 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 | + | * 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 | + | * Fixed a couple of I/O Manager bugs related to IRPs ([[Alex Ionescu]]) |
− | * Implemented basic Process Quota support | + | * Implemented basic Process Quota support ([[Alex Ionescu]]) |
− | * Use 64k granularity for virtual memory | + | * Use 64k granularity for virtual memory ([[Gé van Geldorp]]) |
− | * Add shutdown messages | + | * Add shutdown messages ([[Gé van Geldorp]]) |
− | * PagedPool modified to keep track of Tags and a couple support functions added to access this information | + | * 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 | + | * 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. | + | * 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 | + | * Improved low level page mapping ([[Hartmut Birr]]) |
− | * Implemented PAE (physical address extension) mapping | + | * Implemented PAE (physical address extension) mapping ([[Hartmut Birr]]) |
− | * Implemented the no execution feature for AMD 64 cpus | + | * 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. | + | * 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 | + | * 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 | + | * 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. | + | * 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. | + | * Fixed the scanning for boot options. ([[Hartmut Birr]]) |
− | * Started the implementation of the ipi calls. Implemented KiIpiSendRequest for simple requests. | + | * 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. | + | * 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. | + | * 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. | + | * 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. | + | * 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). | + | * 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 | + | * Get rid of the "global" system process handle ([[Thomas Weidenmueller]]) |
− | * Better, but as of now - untested - implementation of rundown protections | + | * 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() | + | * 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() | + | * Implemented PsGetProcessJob(), PsGetJobLock(), PsGetJobSessionId() and PsGetJobUIRestrictionsClass() ([[Thomas Weidenmueller]]) |
− | * Group Threads into processes instead of a global thread list | + | * 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 | + | * 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 | + | * 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 | + | * 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 | + | * Removed some bad window station/desktop hacks ([[Thomas Weidenmueller]]) |
− | * Added boot logging | + | * Added boot logging ([[Eric Kohl]]) |
− | * Support changing the system time and timezone | + | * Support changing the system time and timezone ([[Eric Kohl]]) |
− | * Fix registry bugs | + | * Fix registry bugs ([[Eric Kohl]]) |
− | * Support the FILE_APPEND_DATA file access right | + | * Support the FILE_APPEND_DATA file access right ([[Eric Kohl]]) |
== ADVAPI32 == | == ADVAPI32 == | ||
− | * Implement Trustee and Crypto functions based on Wine | + | * Implement Trustee and Crypto functions based on Wine ([[Thomas Weidenmueller]], [[Steven Edwards]]) |
− | * Implement more Trustee Functions | + | * Implement more Trustee Functions ([[Eric Kohl]]) |
− | * Fix bugs in registry functions that broke Regedit.exe | + | * Fix bugs in registry functions that broke Regedit.exe ([[Eric Kohl]]) |
− | * Added stubs for SetSecurityInfo(), GetInheritanceSourceA/W() and FreeInheritedFromArray() | + | * Added stubs for SetSecurityInfo(), GetInheritanceSourceA/W() and FreeInheritedFromArray() ([[Thomas Weidenmueller]]) |
− | * Implemented LookupAccountSidA() | + | * Implemented LookupAccountSidA() ([[Thomas Weidenmueller]]) |
== KERNEL32 == | == KERNEL32 == | ||
− | * Split up the handling if the fsd returns STATUS_NOT_IMPLEMENTED in MoveFileWithProgressW. Converted the destination name before calling NtSetInformationFile in MoveFileWithProgressW. | + | * 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. | + | * Used the shared user data page instead of NtQuerySystemTime to get the time. ([[Hartmut Birr]]) |
− | * Implemented SetDllDirectory() and GetDllDirectory() | + | * Implemented SetDllDirectory() and GetDllDirectory() ([[Thomas Weidenmueller]]) |
− | * Implemented CheckRemoteDebuggerPresent(), GetThreadIOPendingFlag(), CreateMemoryResourceNotification() and QueryMemoryResourceNotification() (only kernel32 part) | + | * Implemented CheckRemoteDebuggerPresent(), GetThreadIOPendingFlag(), CreateMemoryResourceNotification() and QueryMemoryResourceNotification() (only kernel32 part) ([[Thomas Weidenmueller]]) |
− | * Made SetUnhandledExceptionFilter() thread-safe and use the default unhandled exception filter on startup | + | * 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 | + | * 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 | + | * 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() | + | * 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() | + | * 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 | + | * 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 | + | * Create mailslots and named pipes with security information if requested ([[Thomas Weidenmueller]]) |
− | * Fixed return value of FindCloseChangeNotification() | + | * 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() | + | * 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) | + | * Fixed memory leak in CheckNameLegalDOS8Dot3A() (free the allocated unicode string) ([[Thomas Weidenmueller]]) |
− | * Fixed Set/GetPriorityClass() not to call csrss and use NtSet/QueryInformationProcess() instead | + | * 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() | + | * Implemented Job APIs: CreateJobObjectA/W(), OpenJobObjectA/W(), IsProcessInJob(), AssignProcessToJobObject(), QueryInformationJobObject(), SetInformationJobObject() and TerminateJobObject() ([[Thomas Weidenmueller]]) |
== PSAPI == | == PSAPI == | ||
− | * Implemented GetProcessImageFileNameA/W(), EnumPageFilesA/W(), GetPerformanceInfo(), InitializeProcessForWsWatch() and GetWsChanges() | + | * Implemented GetProcessImageFileNameA/W(), EnumPageFilesA/W(), GetPerformanceInfo(), InitializeProcessForWsWatch() and GetWsChanges() ([[Thomas Weidenmueller]]) |
== CRTDLL == | == CRTDLL == | ||
− | * made timezone buffers large enough to avoid buffer overflow caused by Firefox/Thunderbird | + | * made timezone buffers large enough to avoid buffer overflow caused by Firefox/Thunderbird ([[Thomas Weidenmueller]]) |
== MSCVRT == | == MSCVRT == | ||
− | * Housekeeping on some code imported from Wine | + | * Housekeeping on some code imported from Wine ([[Steven Edwards]], [[Filip Navara]]) |
− | * Allow always shared read for a file which is opened for read only. | + | * 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 | + | * made timezone buffers large enough to avoid buffer overflow caused by Firefox/Thunderbird ([[Thomas Weidenmueller]]) |
== VFAT == | == VFAT == | ||
− | * Implement support for FATX filesystems- Hervé Poussineau | + | * Implement support for FATX filesystems- ([[Hervé Poussineau]]) |
== WIN32K == | == WIN32K == | ||
− | * Many bug fixes in win32k - significant increase in stability | + | * Many bug fixes in win32k - significant increase in stability ([[Royce Mitchell III]], [[Filip Navara]]) |
− | * Implementation of monitor functions | + | * Implementation of monitor functions ([[Gregor Anich]]) |
− | * GDI Handle allocation speed-up | + | * GDI Handle allocation speed-up ([[Thomas Weidenmueller]]) |
− | * Fixed a bug that caused locking a not anymore existing message queue while dispatching a message | + | * 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 | + | * Don't dispatch sent messages to windows during destruction ([[Thomas Weidenmueller]]) |
− | * Preliminary "fixed" window class lookup so classes of other processes can be found | + | * 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 | + | * 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 | + | * Implemented more win2k-like and much faster gdi handle table ([[Thomas Weidenmueller]]) |
− | * Improved inheritance of window stations/desktops where threads/processes are created in | + | * Improved inheritance of window stations/desktops where threads/processes are created in ([[Thomas Weidenmueller]]) |
== NETWORKING == | == 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. | + | * 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 | + | * 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. | * Thanks to Filip Navarra, Royce Mitchell III, Alex Ionescu for doing an amazing amount of work in msafd, tcpip and afd as well. | ||
== NDIS == | == NDIS == | ||
− | * Partial conversion to Plug & Play model and bring the registry configuration closer to the Windows. | + | * 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). | + | * Miscellaneous small fixes to get 3rd party drivers to work (RTL8139 particulary). ([[Filip Navara]]) |
== PCNET == | == PCNET == | ||
− | * Basic support for sends and receives including various fixes to make the driver work. | + | * Basic support for sends and receives including various fixes to make the driver work. ([[Filip Navara]]) |
== EXPLORER/WINEFILE == | == EXPLORER/WINEFILE == | ||
− | * Included winefile into the distribution | + | * Included winefile into the distribution ([[Martin Fuchs]]) |
− | * Configuration dialog to choose between MDI and SDI mode with persistent storage | + | * 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 | + | * 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 | + | * Moved direct version output from explorer into the kernel ([[Martin Fuchs]]) |
− | * Encoding of quotation marks and apostrophs in bookmark link addresses | + | * Encoding of quotation marks and apostrophs in bookmark link addresses ([[Martin Fuchs]]) |
− | * Designed Shell About dialog more Windows-like | + | * Designed Shell About dialog more Windows-like ([[Klemens Friedl]]) |
− | * Adjusted about dialog to ROS font sizes | + | * Adjusted about dialog to ROS font sizes ([[Klemens Friedl]]) |
== Directx == | == Directx == | ||
− | * Port over wine dinput / dinput8 to reactos | + | * Port over wine dinput / dinput8 to reactos (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.) ([[Magnus Olsen]]) |
− | |||
− | |||
== Libraries shared with Wine == | == Libraries shared with Wine == | ||
Line 170: | Line 168: | ||
== Csrss == | == Csrss == | ||
− | * Implemented waitable console handles. - Hartmut Birr | + | * Implemented waitable console handles. - ([[Hartmut Birr]]) |
− | * Removed a fake event after a input event to empty the queue in CsrReadInputEvent. | + | * Removed a fake event after a input event to empty the queue in CsrReadInputEvent. ([[Hartmut Birr]]) |
== USER32 == | == USER32 == | ||
− | * Fixed MessageBoxIndirectA() not to use random pointers if MB_USERICON wasn't specified | + | * Fixed MessageBoxIndirectA() not to use random pointers if MB_USERICON wasn't specified ([[Thomas Weidenmueller]]) |
== FMIFS == | == FMIFS == | ||
− | * Implemented EnableVolumeCompression() | + | * Implemented EnableVolumeCompression() ([[Thomas Weidenmueller]]) |
== VGA == | == VGA == | ||
− | * Fixed some problems with mouse cursor handling | + | * Fixed some problems with mouse cursor handling ([[Thomas Weidenmueller]]) |
== RTL == | == RTL == | ||
− | * Fixed RtlLargeIntegerArithmeticShift() not to return uninitialized data from the stack | + | * Fixed RtlLargeIntegerArithmeticShift() not to return uninitialized data from the stack ([[Thomas Weidenmueller]]) |
− | * Adapted RtlIntegerToUnicode() from RtlIntegerToChar() and RtlInt64ToUnicodeString() from RtlIntegerToUnicodeString() | + | * Adapted RtlIntegerToUnicode() from RtlIntegerToChar() and RtlInt64ToUnicodeString() from RtlIntegerToUnicodeString() ([[Thomas Weidenmueller]]) |
− | * Implemented RtlIpv4AddressToStringA/W() and RtlValidRelativeSecurityDescriptor() | + | * Implemented RtlIpv4AddressToStringA/W() and RtlValidRelativeSecurityDescriptor() ([[Thomas Weidenmueller]]) |
− | * Fixed RtlValidSecurityDescriptor() that attempted to validate nonexisting owner/group SID | + | * Fixed RtlValidSecurityDescriptor() that attempted to validate nonexisting owner/group SID ([[Thomas Weidenmueller]]) |
− | {{Changelog}} | + | {{Navigation Changelog}} |
Latest revision as of 13:42, 7 September 2008
The changelog for 0.2.5 in terms meaningful to technical end-users.
Contents
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 (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.) (Magnus Olsen)
- 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)
Versions / Official Changelogs / Community Changelogs | |
---|---|
0.0.x Series | 0.0.8 | 0.0.9 | 0.0.10 | 0.0.11 | 0.0.12 | 0.0.13 | 0.0.14 | 0.0.15 | 0.0.16 | 0.0.17 | 0.0.18 | 0.0.19 | 0.0.20 | 0.0.21 |
0.1.x Series | 0.1.0 | 0.1.1 | 0.1.2 | 0.1.3 | 0.1.4 | 0.1.5 |
0.2.x Series | 0.2.0 | 0.2.1 | 0.2.2 | 0.2.3 | 0.2.4 | 0.2.5 | 0.2.6 | 0.2.7 | 0.2.8 | 0.2.9 |
0.3.x Series | 0.3.0 | 0.3.1 | 0.3.2 | 0.3.3 | 0.3.4 | 0.3.5 | 0.3.6 | 0.3.7 | 0.3.8 | 0.3.9 | 0.3.10 | 0.3.11 | 0.3.12 | 0.3.13 | 0.3.14 | 0.3.15 | 0.3.16 | 0.3.17 |
0.4.x Series | 0.4.0 | 0.4.1 | 0.4.2 | 0.4.3 | 0.4.4 | 0.4.5 | 0.4.6 | 0.4.7 | 0.4.8 | 0.4.9 | 0.4.10 | 0.4.11 | 0.4.12 | 0.4.13 | 0.4.14 |