ChangeLog-0.3.6
This is the changelog for ReactOS™ version 0.3.6 (not released yet), an open-source operating system designed to be binary executable- and device driver-compatible with Microsoft™ Windows NT™ and subsequent Microsoft operating systems such as Windows 2000™ and Windows XP™. ReactOS is written by the ReactOS development team, and the last previous version of ReactOS was version 0.3.5 (released 30 June, 2008).
Contents
- 1 General
- 2 Host Tools
- 3 Core
- 4 USETUP
- 5 Win32™ Personality
General
Generic 0.3.6 Changes
Translations
- Update Slovak and Czech translations for calc, solitaire, winmine, shell32 and desk.cpl by Mário Kačmár (bug #3519)
- Add/update Spanish and basque translations for notepad, explorer, explorere-new, winlogon, access.cpl, deskadp, deskmon, slayer, shell32 and shimgvw. (Javier Remacha, bug #3376)
- Add/update Ukrainian translation for kbswitch and shell32 by Artem Reznikov (bug #3405).
- Added German translation of Strings in INF-files (media/inf) (bug #3396) (Matthias Kupfer)
- Add/update Slovak translation for shell32, newdev, intl.cpl, mmsys.cpl, media/inf/*.inf, calc, solitare, winemine, setup/reactos and desk.cpl by Mário Kačmár (bug #3414, #3518, #3519)
- Update Czech translation for several win32/cpl files and calc by Radek Liska (bug #3413)
- Update Italian translation for usetup, regedit and sehll32 by Paolo Devoti (bug #3435)
- Update Polish translation of usrmgr by Maciej Bialas (bug #3480)
- Update Slovak, Ukrianian and Polish translations for packmgr by Mário Kačmár (bug #3601)
Host Tools
Buildno
CabMan
RBuild
Sysreg
Core
Bootloader (FreeLoader)
- Reduce Freeldr memory requirements: FreeLoader first reads entire ntoskrnl.exe (about 20M) into memory, then copies it to other address. Now, freeldr reads it straight to the place, not allocating extra memory for buffer (Dmitry Gorbachev, bug #3447)
Kernel and Executive (NTOSKRNL)
Cache
CM
EX
- Include a "System Idle Process" as the first item in QSI SystemProcessInformation (Aleksey Bragin)
- Pass thread's CreateTime in QSI SystemProcessInformation (Aleksey Bragin)
- Better implementation of QSI SystemInterruptInformation (Aleksey Bragin)
FSRTL
IO
- Save pointer to driver's section in DriverSection during driver loading (Aleksey Bragin, bug #3221)
- Fix unloading function to check if a driver to be unloaded really has DriverSection set, and if not, fail (Aleksey Bragin, bug #3221)
KD
KE
- Fix a problem with normal and special APCs being inserted in the wrong order, spotted by Jury Sidorov. Now Borland Turbo Debugger should be able to debug applications, also it can fix hangs in other applications (Aleksey Bragin, Jury Sidorov, bug #3426)
- PDT of CSRSS has no entry for TCB of the thread, fix this problem (Dmitry Gorbachev, bug #3591)
MM
- Prevent boolean flags from being optimized away by compiler (due to PSEH usage) by making them volatile (Jury Sidorov, bug #3408)
- MiGetLastKernelAddress was totally broken on x86 and always returned the highest available physical page, thus the PFN database always end up at the address 0x80000000 and higher (just before the kernel). And when PFN database's size was bigger than usual (e.g. 1Gb of RAM and more), the PFN database zeroed out the kernel. This logic was introduced by 32640 commit. Fix it. (Aleksey Bragin)
OB
PO
PS
- Don't leak critical region when going through failure return branch (Dmitry Gorbachev)
Hardware Abstraction Layer (HAL)
Run Time Library (RTL)
- Prevent crashes when heapPtr is NULL, also fix broken heap magic output (Aleksey Bragin, Mephisto -- TODO: Put real name please!)
- Always call ZwRaiseException in user mode and RtlDispatchException in kernel mode. If RtlDispatchException failed call ZwRaiseException in kernel mode. Otherwise unhandled RtlRaiseException() call in kernel mode simply ignored (do nothing)! (Jury Sidorov)
- Call RtlRaiseStatus in RtlRaiseException, if something went wrong (Jury Sidorov)
Kernel Mode Drivers
AFD
- Move IRP completion out of spinlock (Cameron Gutman)
- Fix problems with handling cancelled IRPs (Cameron Gutman)
- Fix a few memory leaks (Cameron Gutman)
- Fix lock releasing issues (Cameron Gutman)
- Don't pass a bad IRP on failure (Cameron Gutman)
- Also cancel the connect IRP (Cameron Gutman)
- Add DeviceObject checks (Cameron Gutman)
- Don't double free an IRP (Michael Martin)
TCPIP
- Fix problems in the IRP cancellation routine (Cameron Gutman)
- Fix a problem in which we wait on an event that isn't set (Cameron Gutman)
- Don't mark the IRP as pending while setting its cancel routine (Cameron Gutman)
- Remove a hack from DispTdiSendDatagram (Cameron Gutman)
NDIS
- Reenable commented out spinlocks in MiniIndicateData (Cameron Gutman)
- Don't raise IRQL before calling MiniDoRequest (Cameron Gutman)
BLUE
BOOTVID
- Fix a problem in VgaIsPresent: Content of the Address Register goes to the Data Register, and vice versa. It also writes content of the Map Select Register (which is number 4) into the Bit Mask Register (number 8) (Dmitry Gorbachev, bug #2125)
EXT2
FASTFAT
I8042PRT
KDCOM
NDIS
NTFS
RAMDISK
SCSIPORT
- Don't release the same spinlock twice on failure (Cameron Gutman) (bug #3520)
SERIAL
SERENUM
VIDEOPRT
NT System Library (NTDLL)
- Initialize TLS expansion bitmap properly, it fixes accessing uninitialized memory when all regular TEB slots for TLS data are occupied (Aleksey Bragin)
Static Libraries
CRT
- Use "size_t" instead of "unsigned int" where appropriate in crt string functions (Samuel Serapión)
- Fix double linking of snprintf, _snprintf should be used in CRT (Aleksey Bragin)
- Implement %p for scanf (Peter Oberndorfer)
- Implement ___setlc_active_func/___unguarded_readlc_active_add_func (Jon Griffiths)
TCP
- Release spinlock on failure path before returning (Cameron Gutman)
NTFSLIB
SCRNSAVE
Keyboard Layouts
- Add Slovak QWERTY keyboard layout (kbdsk1.dll) by Mário Kačmár (bug #3528)
USETUP
Win32™ Personality
User mode subsystem server (CSRSS)
Kernel-mode subsystem server (Win32K)
- Fix a typo in the DC_ATTR structure (mxDevicetoWorld -> mxDeviceToWorld) (Stefan Ginsberg)
- Check if pool allocation succeeded right after allocation, not at the end of the function, when the pointer has been used quite a few times already (Aleksey Bragin)
Services
services
tcpsvcs
umpnpmgr
Control panel applets
Appwiz-New
Desk
Input
Intl
- Fixed country codes (each country appears once only) (Matthias Kupfer) (bug #3488)
Ncpa
Usrmgr
Sysdm
Timedate
Win32™ Applications
3dtext
Autochk
Blankscr
Charmap
Cmd
Control
Downloader
Dwnl
Explorer
Explorer_new
Fontview
Magnify
Matrix
Mazescr
Msconfig
Notepad
Regedt32
Taskmgr
Vgafontedit
Win32™ Libraries
ADVAPI32
- Check for DELETE access for deleting services (Michael Martin)
COMCTL32
D3D9
DirectX
GDI32
- Fix a typo in the DC_ATTR structure (mxDevicetoWorld -> mxDeviceToWorld) (Stefan Ginsberg)
GDIPLUS
INETMIB1
KERNEL32
KERNEL32
MSVCRT
OpenGL32
- Modified to make use of precompiled headers (Stefan Ginsberg)
SECUR32
SETUPAPI
- Support of [Strings.LanguageID]-sections for INF-files added in setupapi (bug #3396) (Matthias Kupfer)