Changelog archive

4th, june 2004:
Ported Open Transport Tycoon Deluxe
Added ISSDirectSound for easy and fast sound sample playback.
Implemented new WindUI buttons
Added sound effect support for open transport tycoon
Added GI_SetMousePos
Added GI_HideMouseInWindow

3rd, june 2004:
Fixed combo box handling.
Added "checkable items" support for listbox
Added CopyFile function to libsky
Implemented user management plugin
Updated user management library libuser

2nd, june 2004:
Fixed icon parsing for 32bpp icons.
Implemented security context.
Implemented user database.
Implemented command line tools to manage users
Implemented login application
Implemented new boot screen
Removed "installation" screen when booting installed system.

31th, may 2004:
Fixed NULL pointer reference in ES1371 driver
Fixed bugs:
#000058
#000055
#000052

26th, may 2004:
Fixed bugs:
#000041
Implemented "overwrite always" and "skip always" buttons into viewer dialog when prompting for file overwritting.
Added recursive directory deletion to viewer.
Fixed possible locking in SkyFS/Vnode handling when deleting files.

25th, may 2004:
Fixed bugs:
#000002
#000003
#000006
#000009
#000014
#000017
#000020
#000026
#000028
#000033
#000034
#000037
Implemented device configuration plugins. Each hardware device can now be individually configured using the system manager. This configuration plugins can be developed by the hardware manufacturers and come in bundeled with the driver itself. When you click on the "Advanced" button in the graphic, sound, network,... configuration, this hardware specific configuration dialog/program popsup and allowes your to configure device specific settings.
Merge viewer changes from Chris Marshall:
Fixed Help->About menu, changed copyright and incremented version to 1.01.
Double Click support to execute APP files
Fixed Mount Dialog
Added Tools->Find
Added View->Refresh
Fixed New Folder refresh
Moved Mount Dialog code to mount.c and added 3 FileSystem types to list.
Added Tools->Mount and Tools->Dismount to main menu
Added File->New->Folder to main menu and implemented code
Added Delete and Unmount Confirmation Messages
Fixed Open in new viewer bug
Fixed Mount Dialog cancel button

SkyOS 5.0-beta6
===========================
21th, may 2004:
Fixed BSS segment mapping.
Fixed virtual memory region merging logic.
Fixed non-zero initialized allocated memory in libsky and panel.
Changed version number.

20th, may 2004:
Fixed Vnode locking. Implemented busy counting and removed a few semaphores.
Added demo music and video files.
Perparing beta6...

18th, may 2004:
Fixed critical SkyFS / VNode manager bug.
Accessing directories/inodes with multiple threads the same time could
have caused a deadlock between the SkyFS Volume and vnode manager semaphores.

14th, may 2004:
Redesigned mediaplayer to match audioplayer design.
Fixed VLC video provider.
Added seek for audioplayer and mediaplayer.
Implemented GI_SetWindowSize for easier setting the client window size.

12th, may 2004:
Implemented mach64/3d rage accelerator function (copy screen rect)
Fixed mach64 / 3d rage resource usage

11th, may 2004:
Implemented VesaModeTiming service.
Implemented mach64/3d rage pro driver.
Fixed Nvidia timing.

10th, may 2004:
Fixed vmware driver deinit. (free virtual memory mapped FIFO)
Added double linked Memory Context. Free mapped virtual kernel memory from all user tasks.
Changed the way how allocated virtual memory is synchronized to user tasks.
Changed virtual kernel base address from 3GB to 2GB. Allowing to use up to 2GB of installed RAM.
Added SB Live specific mixer channels.
Added "advanced" display settings options (hsync, hfreq, vfreq,....)

7th, may 2004:
Implemented new sound driver / ISS mixing interface. (Removed OSS ioctls).
ISSPlay/Audioplayer. Fetch data of specified stream only.
(e.g. Required to play only audio stream of videos).
Added ISS_StopStream to stop stream playback immediatly. (Discard already buffered packets).
Add "Play testsound..." functionality into System Manager audio configuration

6th, may 2004:
Fixed gtk to work with new titlebar control
Fixed ISS mixer function when using multiple mixer devices
Implemented widget button owner draw support.
Implemented AudioPlayer.
Fixed SB Live 5.1 / Audigy driver.
Fixed GI_set_high_timer. (Send messages to task which owns destination window, not current task)
Fixed SB Live 5.1 / Audigy driver buffering. (added silent blocks)

5th, may 2004:
Added ISS_CreateBasicStream function.
Began SB Live 5.1 / Audigy driver.
Implemented hlt into idle task.
Reordered kernel task priorities. Reduced number of priorities from
256 to 16

4th, may 2004:
Fixed locking in ISSFlusher

3rd, may 2004:
Updated SkyGI to support window-shape-bitmaps for all type of windows.
(desktop, top level, child windows and controls)
Implemented "rounded / non-rectangular" buttons.

1st, may 2004:
Implemented new window style
Don't do "good-time" schedule when in interrupt routine. (Could hang the system)

28th, apr 2004:
Fixed VIA VT82XX driver bugs
Updated ISS multiple soundcard handling.
Fixed ISS memory leaks

27th, apr 2004:
Begin VIA VT82XX driver implementation.

26th, apr 2004:
Implemented "Sticky notes" application

25th, apr 2004:
Created WAV input plugin
Created FFMPEG input plugin
Created LibISS input plugin handling
Created system manager audio/iss configuration and "LiveStreamWatcher" plugin

24th, apr 2004:
Begin ISS implementation
Created ISSService, LibISS, fast DataExchangePorts

23th, apr 2004:
New widget: wgColorShow
Added new configuration sheet to system manager: Desktop
Implemented CTRL+ATL+DEL shortcut. Opens "shutdown" window from panel application
Implemented DataExchangePorts. Used for fast and easy packet-based interprocess communication.
(Mainly used by the ISS)

22th, apr 2004:
Fixed missing signature when writting a partition table to a blank disk.

Fixed critical SkyFS bug which could cause to much diskacess by writting to much blocks to disk.
Viewer generates/updates thumbnails of picture files in a seperate thread now.

20th, apr 2004:
Fixed listbox widget memory leak when using background DIB's
Fixed ZSNES, map .text section for ZSNES as read/write. (objcopy in zsnes makefile)
Fixed Quake. Improved performance.
Fixed keyboard/scancode handling.
Added GetApplicationDirectory syscall
Fixed quake2

19th, apr 2004:
Proportional scaling for picture thumbnails in viewer.
Implemented new panel layout.
Updated listbox background image handling.

16th, apr 2004:
Huge SkyGI performance increase by doing better clipping when blitting partial DIB content

15th, apr 2004:
Fixed GRUB installation.
Implemented 'flag files/folder' feature into viewer.
Implemented folder background. You can apply individual background images for folders. (path to bitmap stored as attribute)

10th, apr 2004:
Fixed SkyFS and BFS filesystem support in GRUB.
Fixed GRUB/SkyFS 64bit alignment
Implemented read/write/opendir/readdir/closedir attribute support.
Implemented viewer "mark files/directories" feature
Fixed context menu in viewer for files with no extension.
Implemented writeattr, readattr, rmattr and lsattr applications.
Fixed taskmanager initiale listbox size.

SkyOS 5.0-beta5
===========================
9th, apr 2004:
Began redesign of start/popup menus.

8th, apr 2004:
Fixed VFS repair URL function.
Modified MemUserCheckArea when handling user supplied memory buffers.
Fixed user memory verification routines.
(Installer didn't list available paritions always)

7th, apr 2004:
Fixed SkyFS/Vnode caching.
Vnode caching is disabled for journaled filesystems now.
Fixed vnode/url caching problem.
Fixed possible race condition between ThreadCreate and ThreadWait
Fixed SkyFS file delete function.
Fixed SkyFS mkdir function.
Fixed SkyFS rmdir function.
Fixed buffer cache/journaling problem. This caused unexpected stops/crashes while copying big amount of data. (e.g. installation)
Fixed user memory verification routines.
(Installer didn't list available paritions always)

29th, mar 2004:
Fixed wrong buffer cache hash algorithmus
64bit offset/size used for ATA driver.
Fixed DiskManaager partition table logic.
Didn't detect all logical partitions.
Fixed kernel partition manager partition table logic.
Didn't detect all logical partitions.
Reimplemented Diskmanager. It's not easier the create/handle extended/logical partitions.
Created/Modified partitions table are compatible to linux/windows now.

19th, mar 2004:
Fixed stream buffering.
Initial, input/output streams connected to a pipe are line buffered,
else they are full buffered.
Fixed wrong referenc count usage for fstat.

SkyOS 5.0-beta4
===========================
19th, mar 2004:
Implemented profilers.
Normal profiler: Profiles each 10ms using EIP.
SkyProfiler: Profiles microsecond based.
Integrated profiler into SkyDeveloperStudio.

17th, mar 2004:
Implemented new select kernel function. (No active waiting anymore).
Can be used to wait for files/sockets/pipes/fifos and GUI messages.
Compiled GTK and depended libs/applications with debugging.

15th, mar 2004:
GTK/AbiWord/GIMP bugfixes.
Implemented new malloc function.
Dump stack backtrace into notifcation window if an application calls abort.
Fixed LibSkyGI recursive window destroy
Fixed GTK window destroy functions
Fixed GTK memory leak
User applications can now post messages into Notification window.

11th, mar 2004:
Ported libxml2 and libexpat
Ported libpopt
Ported glade
Ported fribidi
Optimized window creating and show/hide functions.
Added AbiWord-SkyGI font rendering.

10th, mar 2004:
Fixed VFS repair/normalize URL function.
Implemented missing rewinddir subfs functions.
Implemented thread local storage variables.
Updated glib thread/mutex handling.
Began porting of AbiWord

9th, mar 2004:
Performance improvements for task creating / DLL loading.
Using resource manager instead of list for image lookup.
Fixed a few GIMP bugs.
Internal i386PE / Binary / Image changes. (speed improvements).
Implemented "DUPLICATE_ALL_FDS" for task creation. (Needed by GIMP)
Implemented DLL and Image caching.

8th, mar 2004:
Fixed GIMP mouse handling.
Implemented SkyGI (Window and DIB) ROP operations. (COPY,INVERT,XOR)
Removed historical window limit of 300 child windows.
Use resource manager to store valid window references instead of list.

5th, mar 2004:
Updated copy on write handling.
If more applications use the same DLL, the DLL is loaded once only.
Read/Exec DLL code is mapped directly into every application.
Read/Write code is mapped by using "copy on write" into the application.
This all results is a much higher performance when loading applications.
Changed entire binary image handling and binary image memory mapping.
Updated i386pe binary loader.

4th, mar 2004:
Compiled all GTK/GLIB/GIMP libraries as DLL's.
Fixed DLL data import/export.

3rd, mar 2004:
Implemented missing rewinddir
Ported GIMP 2.0-pre3

28th, feb 2004:
Ported GTK 2.3.4
Ported libart_lgpl

26th, feb 2004:
Ported libiconv
Ported glib
Ported pango
Ported atk
Ported parts of GTK (GDK still missing)

25th, feb 2004:
Implemented window grouping
New notification window

24th, feb 2004:
Merged translations for SkyOS OS-Installer

23th, feb 2004:
New translations for skypad, desktop and skygires.
(Polish, Dutch, Sweden, Hungarian, Spanish, France, Catalan,...)
Global GUI fonts can be changed now.
(To switch to fonts which support UNICODE characters needed in a few languages)
WgFont dialog updated.
Installer is translatable now.

19th, feb 2004:
Implemented more crystal icons.
Implemented user POSIX signals and functions.
(signal and sigaction). Ignore, Default, Function
Automatic syscall restart and signal blocking implemented.
Updated shutdown dialog and translated to german.
Fixed most stability issues now.
Solved almost all stability issues.

18th, feb 2004:
Skypad is fully translated to german now.
Desktop is translated to german.
Implemented registry setable PIO speed for ATA
driver.
Implemented new crystal icon set.
Fixed blitting when using alpha level in
combination with global alpha level.
Fixed icon 32 bit AND mask handling. (Actually
32bit alpha icons have no AND mask)
Stripped .text/.data/.bss/.idata section from
kernel debug symbols file.
System shutdown is performed by a new kernel
thread now. "shutdownThread".

17th, feb 2004:
Application and OS translation implemented.
Implemented resource string tables.
Implemented "set prefered language" in system
manager.
Resource parser tries to get resources (dialogs,
strings,...) in current selected language. If not available,
default language (english) is used.
Translated system manager to german.
Translated default open/save dialog to german.
Implemented language depended menu resource
parsing

15th, feb 2004:
Fixed "not movable window" when pressing on icon positions
when icons are not visible.

14th, feb 2004:
Removed title window icons from messagebox window
Ported SNAP.
Fixed theme title draw function.
Recoded the entire "process termination" functions. Should work much more
stable now.
Fixed "extremly slow" boot problem.

SkyOS 5.0-beta3
===========================
10th, feb 2004:
Fixed viewer. (Didn't display a directory when initial directory is not valid)Implemented better random number generator (Needed for SimpleMineSweeper)
Implemented a subset of POSIX signals.
(Mainly used for process termination and system reboot now)
Implemented APM Shutdown/PowerOff support.
Implemented new directory/node name caching for fast node lookup.
....(Directory and file namse are cached up to a size of 128characters,
....Resource manager hash indexed directory is used for fast lookup).
Implemented new "shutdown" dialog.

9th, feb 2004:
Fixed SkyFS formatting problem on drives > 2GB.
Added "Linux swap" partition identifier.
Update SkyMon to save/load readable text files.

8th, feb 2004:
Changed partition naming.
Added partition limit check.
Added disk device read/write partition limit check.
Fixed terminal memory bug.
VFS I/O Layer check for device/partion limits on all supported
read/write cached and non-cached operations.

6th, feb 2004:
Updated SkyMonitor. Support loading/saveing of configurations.
Fixed wrong position for gray/red dots in installer
Changed partition naming.

SkyOS 5.0-beta2
===========================
6th, feb 2004:
Implemented SkyMonitor
Fixed CDFS
You can force the start of the Installer by pressing CTRL.

5th, feb 2004:
CacheSize can be limited per device now.
Fixed reboot/shutdown.
Fixed position of "system shutdown" dialog from panel.

4th, feb 2004:
Changed all filenames to lowercase in installation folder.
Viewer and SysMan are using lowercase names to load DLL's now.
Fixed more SkyFS bugs.
Updated CDFS to new VFS.
Implemented vnode caching.
Implemented sub filesystem stat function. (Moved stat functionality from read_vnode to stat)
Implemented create/modify/access times for SkyFS
Optimized real time clock GetTime function
Updated SkyKruzer a bit

3rd, feb 2004:
Rewrote most parts of virtual filesystem.
Add filesystem interface functions: read_vnode, write_vnode, get_vnode, release_vnode, remove_vnode
Changed sub-filesystem lookup functions.
Implemented better VNode caching.
Fixed close/vnode-refcount bug.
Implemented multiline for tooltip widget.
Implemented format for SkyFS partitions.

1st, feb 2004:
Fixed buffer caching.
Automounting doesn't rely on correct partition ID's anymore.
Setup allows installation to any partition now. (fat, skyfs, ntfs, ext2,....)
The user is asked to format the partition to skyfs prior installation.

28th, jan 2004:
Fixed sub filesystem mount calls.
Fixed parameters for subfilesystem unlink function.
Implemented SkyFS/BFS support into GRUB.
Changed WindUI framewindow border
Fixed partition codes (using global header file now)
Changed automount. Automounts SkyFS/FAT/Ext2/CDFS partitions now.
Updated partition managager, Setup and DiskManager to support
SkyFS partitions.
Fixed widget fileview bug.
Implemented cookies for subfilesystems.
Changed CacheSubSystem.
- Support for block locking
- Support for individual block size

25th, jan 2004:
Support for hidden FAT partitions.
Updated cache system.
Implemented write support for SkyFS.
Fixed panel "jumping redraw" bug.
Fixed taskmanager bug.
Fixed viewer-crash when displaying font preview.
Fixed ATA / write_multiple_blocks ioctl.

23th, jan 2004:
Rewrote entire cache subsystem. Uses individual buffer locking now.
Buffer cache can be initialized to use any desired logical blocksize.
Entire disk addressing is zero relative now.

21th, jan 2004:
Changed opendir/readdir/rewinddir/closedir functions in kernel and libraries
Removed GetDirEntry function from kernel, libraries and applications
Changed opendir/readdir/rewinddir/closedir functions in all filesystems

20th, jan 2004:
Begin implementation of SkyFS

19th, jan 2004:
Implemented network filter driver.
Implemented network monitor.
(Live display of sent/received network packet including protcol information and memory dump)
Fixed widget toolbar alignment bug.

16th, jan 2004:
Graphic settings are serialized now.
Serialized settings are not applied if you boot with the "/safemode" bootoption.
Fixed window resize problem. (was not easy to hit resize points).
Fixed window moving/resizing problem.
Fixed media center video output resize bug.

15th, jan 2004:
Fixed viewer application crash when resizing splitter window.
Fixed popup menu draw bug. (missing pixels at top-right).

14th, jan 2004:
Installer is able to create application specific shortcuts in panel menu.
(So only shortcuts to INSTALLED applications are visible in the panel menu)
Updated all .sif files.
widget_menu can autosort entries now. (used by the panel)

13th, jan 2004:
Fixed english keyboard mapping.
Ported SDL 1.2
Ported Bochs 2.1

12th, jan 2004:
Implemented character encoding library to convert between ASCII, UTF8, UTF16 and Unicode
Keymap parser supports Unicode values now.
Fixed german keyboard layout.
Fixed keyboard driver to handle extended keys correctly.
Fixed keyboard driver to handle led state correctly.
Added keypad support.
Updated wgList to support UTF8 text input.
Implemented new WindUI incative windows title bar and icons.
Update System Manager localization panel

08th, jan 2004:
Changed entire keyhandling to UTF8 / Unicode.
Keymap parser supports Unicode values now.
(For russian, chinese,.... keyboard layouts)
Ported GRUB to SkyOS.
Finally GRUB can be installed within SkyOS.
Created source packages for ported GPL applications.
Added localization settings to SystemManager
Implemented character encoding library to convert between ASCII, UTF8, UTF16 and Unicode

07th, jan 2004:
Implemented keymap parser.
Fixed Registry buffer checks.

06th, jan 2004:
Implemented new WindowTitle
Fixed terminal echo bug.
Fixed FifoFS EchoOn/Off ioctl.
Fixed VFS ioctl return codes.
Fixed virtual console interface rendering/scrolling bug.

SkyOS 5.0-beta
===========================

4th , jan 2004: Ported ZSNES
29th, dec 2003: Implemented DiskManager. (Partitioner)
Fixed panel/desktop icons.

22th, dec 2003: Fixed critical i386pe loader bug when loading binaries with cyclic dll dependencies.

SkyOS 5.0-pre-beta1
===========================
18th, dec 2003: Fixed LibSkyGI Multiline text centering
Implemented disk space check in OS Installer
Implemented more memory accounting. (imagesize, reserved size, commit size)
Fixed SkyGI clipping bug. (window destroy generated multiple clipping regions for the same rectangle)

17th, dec 2003: Updated SkyOS Installer
Fixed critical bug when switching resolutions.

15th, dec 2003: Implemented antitaliased truetype fonts for GUI widgets
Added WindUI (low resource) theme.

10th, dec 2003: Fixed draw text multiline.
Implemented new cursor icons. (From hexydes)

SkyOS 5.0-alpha1
===========================
9th, dec 2003: Fixed possible crash when moving windows.
Fixed panel "skyos logo" rendering.
Added a few math functions to libsky export file.
Fixed window resize/redraw bug. (Transparent regions were not drawn correctly when resizing windows)

5th, dec 2003: Fixed mouse cursor memory free bug.
Fixed critical boot bug.
- Virtual framebuffer memory was not freed on graphic driver closed.
This could result in a "Out of Virtual memory" situation.
Furthermore, graphic drivers allocated all installed memory always, instead
only the amount of really needed.
E.g. If you have 512MB of RAM and 128MB of VideoRAM, SkyOS most likely crashed when booting.
Implemented delete_memory_mapping function.

4th, dec 2003: Implemented ATI Radeon series driver.
This ATI Radeon driver supports following features:
- Resolutions from 320x200 to 2048x1538.
- Desktop cloning to second graphics port.
- Auto detect connected displays (LCD, DFP, CRT)
- 2D Acceleration engine

2nd, dec 2003: Fixed module loading/unloading
Fixed FATLFN bug with deleted files.
Fixed FAT Volume information file bug.
Fixed floppy driver.

1st, dec 2003: New icons and cursors
Fixed critical error when deleting tasks.
(not all associated windows were unlinked)
Added License agreement to software installer for following licenses: SkyOS, GPL, LGPL
Added License agreement for SkyOS installer

26th, nov 2003: Implemented 32bit alpha blended icons support.

25th, nov 2003: Ported Bochs 2.1-pre1 to SkyOS.
Fixed system interface filesystem. (tasks)
Fixed taskmanager
Implemented check for serialized window positions

24th, nov 2003: Fixed WindUI theme title window.
The complete iconset is now changed when switching between themes.
WindUI Frame rendering fixed.
WindUI Scrollbar implemented.
Merged new icons from hexydes.

19th, nov 2003: Implemented antialiased font rendering.
(Can be enabled/disabled through registry for the entire system).
Fixed fopen(...., "rw"). Didn't create a file.
Updated WindUI theme.
Updated Fusion theme.

SkyOS 4.9-alpha2
===========================
18th, nov 2003: Window resize is now possible from each window corner/side.
17th, nov 2003: Fixed listbox scroll bug.
Fixed themeing in general.
Fixed windui themeing. (frame and close icon).
Implemented off-screen rendering. (experimental)

03rd, nov 2003: Implemented better expection report. (function names)
SkyGI drawing functions are checking for valid windows now.

30th, oct 2003: Improved ATA disk throughput by using a larger minimum transfer size.
Implemented DMA transfer for harddisks
Optimized schedule timing.
Better process switching when releasing blocking resources.
Fixed syscall return code conversion.

27th, oct 2003: New PCI BusManager. (Much more compact now).
Bugfixes and stability issues fixed.
Implemented System manager.
Bugfixed USB stack.

16th, oct 2003: Updated device manager.
Fixed PCI/USB/ISA BusManager.
Updated system manager.
Fixed resource file parser to support TreeView.
Fixed windowbitmap handling.
Changed panel appearance.
Fixed widget popup-menu appearance.

14th, oct 2003: Implemented system manager.
Implemented following system manager plugins: keyboard, graphic, themes, network and sound
Added GI_CreateApplication libSkyGI function.
Fixed WindUI theme rendering.
Fixed SkyGI transparent draw for bottom most window.

08th, oct 2003: SkyGI remebers the position and size of each application.
When starting and app, the last used postition/window size will be used.

07th, oct 2003: Fixed Links WebBrowser bugs.
Implemented "hardware" accelerated VMWARE graphic driver.
Fixed package compilation for setup.

06th, oct 2003: Implemented progress bar stacked style.
SkyGI supports PNG format now.
(Following bitmap formats can be loaded with GI_load_bitmap(...) now:
BMP, GIF, JPEG, ICO, PNG)
Ported Links WebBrowser
Updated developer studio debugger.

05th, oct 2003: Fixed crititcal bug when closing file (could hang the system when closing applications)
Implemented pipe libc function.
Fixed WindowCaptureing and ScrollBar.
Ported zLib and libpng.

3rd , oct 2003: Ported/Compiled GNU CC1PLUS compiler for SkyOS.
Ported libgcc2.a.
C++ Exception handling and runtime type information works fine now.
Added standard C++ header files.

2nd , oct 2003: Fixed SkyPad loading/saving
Fixed memory leaks in ScaleDIB

1st , oct 2003: Fixed wgText widget and scrollbar handling.
Implemented GC_ReadPixels function.
Implemented magnifier application.

30th, sep 2003: Fixed window shadows
Fixed scrollbar handling.
Began implementing BeOS theme.

25th, sep 2003: Implemented new bootscreen.
Implemented new boot method. (Booting is performed multithreaded now).
Fixed window shadow bug.
Created SDK.

16th, sep 2003: Implemented default theme and SkyOS5.0theme.
Implemented complete new themeing concept.
Fixed GiConfig graphic/resolution/refresh rate selection.
Updated NVidia Driver
Implemented new kernel logger.
Optimized free form window rendering.
...

12th, sep 2003: Implemented NVidia driver. (More chipset should be supported).
(Hardware acceleration for lines, rectangles, memory and screen bitmaps)
Redesigned complete SkyGI -> Graphic driver interface
Fixed DLL mapping for threads

08th, sep 2003: Implemented NVidia driver. (Screen initilzation only)
GeForce 4 TI4200 supported.

04th, sep 2003: Implemented freeform windows.
Implemented OpenGL Graphic driver
Implemented complete OpenGL 1.4 subsystem.
Fixed setup application and listboxes. (Scrollbar is now visible)

SkyOS 4.0.0a
===========================
08th, aug 2003: Fixed DefaultExceptionHandler to notify debugger about occured
task fault.
Implemented debugger for developer studio.
Implemented disassembly window for debugger.
Implemented source window for debugger.
Implemented functions window for debugger.
Implemented register window for debugger.
Implemented memory window for debugger.
Implemented watch window for debugger.
Implemented breakpoint handling.

29th, july 2003: Fixed wgTextField tabulator display.
Fixed kernel posix sys_waitpid function.
Implemented USB Mass storage driver automounting.

28th, july 2003: Improved SkyGI Window draw performance
Implemented Message Dumper for SkyGI Dumper (Displays all send messages)
Fixed USB HID and USB Mass storage driver.
Implemented wgstatic hyperlinks.
(e.g. "Press to continue" )
Fixed critical timer bug.
Improved PCI Bus handling.
Fixed implicit listbox item edit.
Fixed wgFrame resize bug.

14th, july 2003: Implemented USB1.1
Implemented UHCI Driver, USB Driver.
Implemented Mass storage class for USB.

13th, july 2003: Fixed ATA LBA detection

SkyOS 3.9.8b
===========================
17th, june 2003: Fixed combo widget when using as Top Level window.
Ported RegEx.
Load/Save/Run Dialog can use normal search and regular expressions as file pattern.
Implemented SkyGI Dumper. (Displays various information from the
window you point with the mouse to.)

16th, june 2003: Improved file select dialog.
Implemented IconCache. (Stored in local resource manager along with FontCache)
Implemented GetIconByFileType function. Returns "registry-registered" icon for file
types.

SkyOS 3.9.8
===========================
12th, june 2003: Increase kernel stack size.
Write protect last kernel stack page.
Fixed virtual memory bug.

06th, june 2003: Fixed ATA/ATAPI bug
Implemented SkyOS installation process
Fixed mount/unmount
Fixed FAT Filesystem
Fixed CacheSubSystem
Fixed Harddisk partition parser. (Validate partitions)
Improved overall ATA/ATAPI detection.

SkyOS 3.9.7b
===========================
26th, may 2003: Fixed ISO9660 file version handling.

20th, may 2003: Fixed TCP receive acknowledge handling.
Fixed TCP retransmit handling.

19th, may 2003: Fixed SkyKruzer bugs.
Fixed DNS Lookup for SkyKruzer.
Implemented DNS Configuration with NetConf.
Fixed TCP/IP stack and apache.
Fixed systeminterface filesystem
Optimized SkyGI. (Faster initial window draw)

16th, may 2003: Implemented new apache module (skyos_system_info).
When accessing url /skyos-system-info a really big system information report is
sent. (about 350KB)

15th, may 2003: Fixed SkyKruzer gethostbyname bug.
Fixed TCP/IP Stack bug with loopback devices.
Fixed TCP layer for unbound sockets.
Fixed socket lookup in TCP layer.
Implemented bug workaround for ATA/ATAPI devices which reports an invalid
multisector count. (Will fix problem when SkyOS stops while loading registry).
Fixed TCP control block usage count and listen/accept handling.

14th, may 2003: Fixed LibC time functions. (time, localtime, gmtime, strftime, ....)
Fixed apache long long problem.
Fixed accept function parameter

12th, may 2003: Ported apache 2.0.45
Fixed select timeout problem.
Fixed TCP accept bug.
Fixed timeing functions like gmtime, localtime, ....
Optimized FAT. Implemented FAT flusher and unmount
Implemented SubFilesystem sync.
Fixed VFS and rewrote complete vnode handling.
Fixed usage count for files, vnodes and sockets.
Fixed sockets/files fd's.

05th, may 2003: Implemented busy cursor.

03rd, may 2003: Added buffer check in GI_compute_screen_coordinates
Changed lseek and internal file offset to 64bit. (was 32bit before).
This is needed to read DVD's with more than 4GB of data.

02nd, may 2003: Fixed ATA/ATAPI read/blocksize bug.
Fixed ATAPI bug. Timeout when accessing CD-ROM drives.

01st, may 2003: Fixed kernel sleep bug. (Took too long).
Ported VLC to SkyOS.
Ported libmad, ffmpeg and libdvd to SkyOS.

SkyOS 3.9.7a
===========================
20th, april 2003: Fixed terminal spelling bug.
Fixed desktop invalid-link bug.
Fixed sysserv messagebox bug when launching desktop application.
Fixed BugTracker bugs: #46, #47, #48, #49

SkyOS 3.9.7
===========================
16th, april 2003: Booting is now much easier. No bootdevice must be defined anymore.
Finished bug fixing phase (which I did mostly for the last 6 months)
MPG123 is now able to use winamp skins.

08th, april 2003: Ported mpg123
Implemented graphical MP3 player
Implemented graphical mixer
Fixed various kernel bugs.
Fixed important pagefault handler bug.
Implemented skinable windows.
Implemented wallpapers for windows.

01st, april 2003: Implemented ES1371 sound device driver.
26th, march 2003: Another FAT32 bugfix with FAT mirroring.
Ported unzip to SkyOS.
Fixed wgListbox/Edit mode bug.
Reimplemented strace application and fixed task-debug handling.

25th, march 2003: Fixed one more FAT32 bug when creating files.
Fixed FAT bug when truncating files which are opened already.

21th, march 2003: Clipboard is now able to store mime types.
Fixed wgText selection/cut/paste/copy routines.
Fixed horizontal glyph advance bug.
Fixed page fault handler bug when multiple threads access the same yet non mapped
memory region the same time.

20th, march 2003: Implemented wgText mouse selection.
Implemented wgText Copy/Cut/Paste with clipboard usage.

14th, march 2003: Fixed some more SkyKruzer problems.
GiConfig displays only supported graphic chips and modes now.
Changed/Implemented IOCTL routines of GFX drivers.

13th, march 2003: Removed global VFS lock.
Each driver and subfilesystem is responsible for its own lock.
Fixed window destory routine.
Fixed message sending to already destroyed window. (key, mouse)
Fixed vfs close routine. (uses reference count now)
Fixed GIF loader bug.
Fixed FAT32 create directory bug.

11th, march 2003: Implemented new network hardware type NET_HARDWARE_TYPE_SERIAL.
Implemented SLIP network driver.
Implemented libnet SLIP configuration library.
Update NetConf for Dial Up networking support.

10th, march 2003: Fixed FAT32 unlink bug.
Fixed serial driver blocking routines.

07th, march 2003: Fixed TCP Wrong recieve sequence order.

05th, march 2003: Implemented RealTek RTL8129/8139 Network device driver
Fixed another UDP/IP broadcast/routing problem.
Fixed scrollbar problem in wgList.

Fixed SkyKruzer rendering bugs. (LinkLink wasn't placed correctly).
Fixed SkyKruzer HTTP loader. (Faster download and redraw)
Implemented SkyKruzer MIME type download and download dialog.
Implemented SkyKruzer download manager.

04th, march 2003: Fixed UDP autobind bug.
Fixed VESA driver bug. (On some systems (specially VMWARE3.2, VMWARE4 and GeForce2) no
compatible VESA mode was found).
Implemented basic DNS Resolver.
Fixed SkyKruzer race condition in socket loader.

28th, feb 2003: Implemented ext2 (read-only) filesystem.
Changed auto mount to support ext2 as boot filesystem.
Fixed hd DmDeviceRead and DmDeviceWrite function.
Implement new shell command:
dumpfile .

SkyOS 3.9.6b
===========================
27th, feb 2003: Implemented ext2 (read-only) filesystem.
Changed auto mount to support ext2 as boot filesystem.
New boot screen (white/blue)

SkyOS 3.9.6a
===========================
25th, feb 2003: Removed freetype-2.1.4 because of a rendering problem with Arial Monospaced SAP font.
freetype-2.0.8 is used again.

24th, feb 2003: Fixed crash when sending messages to already destroyed window.
Implemented freetype-2.1.4 (ft2-1-4.dll)
Cleaned up desktop and panel shortcut's.
Fixed wgpopup mouse handling.

19th, feb 2003: New disk driver handling.
Improved IDE performance by using multiple sector reads.

13th, feb 2003: Fixed some SkyKruzer problems.
Fixed entire vfs read/write error handling.
Fixed vfs open error handling.
Fixed libsky errno handling.
Implemented HRESULT to posix error code map table.

29th, jan 2003: Major speed improvement for window moving.

28th, jan 2003: Cleaned up the BitBlt code in gfxblit.c.
Finally alpha blitting is supported.
SkyGI supports different transparent modes now:
1. Use a specific color as transparent color key.
2. Use the alpha value when using 32bit DIB's.
3. Use a transparent level value for the complete DIB.
4. Use a AND mask

23th, jan 2003: Fixed a major FAT32 filesystem bug. On some systems it was not possible
to load the setup application.

23th, jan 2003: Major GUI speed improvements by reducing message sending operations.
e.g. No more mouse moved messages are sent to windows which don't made
an explicit GI_EnableMouseTracking(...).

22th, jan 2003: SkyGI can handle and display different sized cursor images now.
Fixed SkyGI GI_child_window(...) function.
Update SkyKruzer and implemented configuration dialogs as well as proxy support.
Implemented user-memory file systems which makes it possible to access memory of user
tasks by opening a file. (e.g. open("/umfs/SkyKruzer_CurrentWindowContent", O_RDONLY) to
get the current displayed window in the browser)

13th, jan 2002: Fixed FAT corruption when createing new files.

10th, jan 2002: Implemented global constuctor/destructor call. (crt0_pe.o)
Removed -fpack-struct compiler option for kernel, libs and applications

18th, dec 2002: Fixed get_cmos_time function
Implemented time static widget for panel application.
Implemented VertScrollbars for widgetText.

17th, dec 2002: SkyKruzer implemented. (WebBrowser)
Replace widgetEdit with much more powerful widgetTextField.
Widget TextField updated.
Supports following features now:
- Single/MultiLine
- Vertical and horizontal scrolling
- Syntax highlighting
- Full editing and navigation
- Selectable font and size (fixed and proportional)
- Password mode

Ported make to SkyOS.
Update developer studio. Fixed taskmanager.
Implemented VFS_VSI_NO_VNODE_CACHING Flag which makes it possible that vnodes
are not cached for filesystems were the vnode number is computed dynamically and
may change between opens/closes.

Fixed SkyPad save bug.
Implemented >Edit Theme< support to GiConfig.

Fixed panel redraw bug. Fixed GIWM Destroy window and screen masking.
Changed default font for title widget.

12th, dec 2002: Ported telnet from inetutils 1.3.2-19 to SkyOS
Fixed select syscall. Works with devices, files and sockets now.
Fixed TCP/IP routing code.

10th, dec 2002: Ported ftp from inetutils 1.3.2-19 to SkyOS.

9th, dec 2002: Implemented getsockname
Implemented getpeername
Implemented VFS ioctl
Implemented tcgetattr and tcsetattr.
Implemented VCI and FIFOFS echo/no echo.
Implemented getpass.
Updated samba
Updated select syscall.
Implemented IP route configuration utility.
Implemented sethostname.
Implemented isatty.

6th, dec 2002: Implemented gethostname.
Implemented gethostbyname. (Uses hosts configuration file)
Implemented select syscall.
Implemented getsockopt and setsockopt syscall.
Implemented vfs<->socket access.
Changes vfs fileallocation method.
Update network configuration utility.
Implemented sethostname and registry serialization.
Begin porting SAMBA to SkyOS. Message sending is already possible.
Fixed widget groupbox redraw problem.

SkyOS 3.9.5g (Released)
===========================
4th, dec 2002: Fixed ISO9660 CDFS where it was possible that not all files were listed.
Using virt_alloc instead of valloc now.
Fixed GiWM/SkyGI Font handling and caching.
Fixed multiple block read function. It was not possible to read last block on medium.
Fixed user->kernel space memory copy. Makes better checks now.
Fixed viewer copy/cancel bug.
Fixed VFS Bug when creating files on filesystems which don't support create or createdir.
Fixed Fonthandling in libSkyGI. (strncasecmp was used with just 2 parameters instead of 3. So
sometimes a wrong font was selected)

3rd, dec 2002: Fixed vfs read function.
Check for medium limit when reading from filesystem or using readahead buffer.

CPU Vendor ID string was not null terminated always, so sometimes it was possible
to get a buffer overrun in CPUID function. (Caused reboots right after the kernel was booted)

Fixed very bad bug in scheduler.
The scheduler was repsonsible for checking timers/sleeptimers/functiontimers and messagetimers. Whenever
one of this timers expired, a message was sent. The message send routine allocated some memory and
because of the memory manager locking it was possible that the task gets suspended.
If for example the idle task was suspended, and all other task were sleeping/waiting, the scheduler
was not possible to activate any task and died.
This explains the unexpected system hangs. (Especially when booting)

Fixed critical section bug, where it was possible that a killing task wasn't removed from the critical
section path. (Deadlock)

26th, nov 2002: Implemented new buffer cache. x4 performance increase.
This cache uses the resource manager for fast double hashed name and index lookup
as well as LRU hased list.
Fixed FPU Exception handler bug which causes unexplained system crashes.
(Espescially before launching the desktop application)

22th, nov 2002: Developer Studio is now able to create 'C/C++', Java and Perl projects.
Ported Perl 5.0.8 to SkyOS.
Fixed terminal bug.

SkyOS 3.9.1e
===========================
17th, nov 2002: Fixed a lot of minor SkyGI bugs.
Exception report is able to dump kernel and user stack backtrace now.
Updated various widgets.

15th, nov 2002: Update Quake and Quake II. (Fixed keyboard handling)
Implemented ToolTip widget.

11th, nov 2002: Fixed MTRR support. Framebuffer is write combined again.

07th, nov 2002: Implemented faster timer for SkyGI Timer messages.
(Based on 50ms now).
Implemented function to check if messages are pending for a thread.
Implemented OpenGL and OpenGL demo application.
Fixed fatal thread management bug. Thread list got corrupt sometimes.
Fixed spurious hang before loading desktop application.

25th, oct 2002: New application:
System information

Implemented GI_optimize_visible_rects which optimizes
the list of visible rects for a window.
(Intersect, combine and remove double visible regions)
The drawing speed is much faster now.
(especially when there are a log of controls, e.g. more than 50
in a window)

21th, oct 2002: Builtin bitmap resource are supported now.
Updated Developer Studio.
Fix window resize code / messages.
Updated SkyGI code documentation.

17th, oct 2002: Resource can be included in and loaded from executable files now.
(Modified i386_pe loader and resource handling in libSkyGI)
Just use GI_OpenResource(RESOURCE_SOURCE_PROCESS,
NULL)
to get a handle to the resource stored in the current executable.

16th, oct 2002: SkyOS can use windows resource files to create dialogs now.
Fixed BMP loader. (Precaches BMP file now)

14th, oct 2002: Began coding of Developer Studio.
Fixed SkyGI (WaitRedrawBug).
Fixed fd usage problem. (dup2, exec, autoclose,....)

9th, oct 2002: widget_text supports syntax highlighting.
GI_draw_text_advanced can be use to draw each character from a string
individually.
SkyPad supports 'C' sytax highlighting.

5th, oct 2002: Implemented new widget_text. (Notepad like control).
Changed the complete key mapping code.
SkyOS uses virtual keys now.
ScanCode --> Virtual Key --> Virtual Key --> Ascii
^ ^ ^
| | |
--------------------------------------
|
Here happens the complete 'locale' key mapping

4th, oct 2002: Removed all carriage return from SkyOS source code.
This is necessary for the SkyOS compiler which will fail when compiling
multiline #define else.

2rd, oct 2002: Fixed exit / waittask syscall. Error code is correct now.
Fixed GCC Default include directories.
Update wq_wakeup to pass exit_code.

1st, oct 2002: Ported gcc, libiberty and ccp/ccp0.
Fixed vfs_repair_url. (check for XXXXXXXX. filenames now and removes the trailing .)

30th, sep 2002: Fixed seek syscall. (Files can be enlarged now)
Fixed binutils with i386pe output format.
Binutils and ld are working now.

29th, sep 2002: Fixed Quake II Keyboard-input bug.
Accelerated SkyGI Blit routine. (Is now much faster when blitting
DIB's with same DIB-BPP's and display bpps.

27th, sep 2002: Implemented VNode Cache Subsystem.
All access directories are cached in the resource manager tree for
faster directory lookups.
Foxed PageTable modification bug.

26th, sep 2002: Ported Quake II to SkyOS.
Fixed CDFS directory name compare function.
ISO9660 FSDriver returns lowercase filenames now.

24th, sep 2002: Ported Quake I to SkyOS.
Fixed virt_alloc / pagetable handling.
Image manager uses virt_alloc instead of alloc_pages now.
(Bigger images are allowed now)

20th, sep 2002: Implemented sni_pict.dll for viewing picture files in viewer
Fixed GI_exclude_rect routine which run into an infinite loop when moving
windows out of the visible region.

SkyOS 3.9.1d
===========================
17th, sep 2002: Fixed registry loading bug.
Fixed extended/logical partition recognization.
Fixed i386pe .BSS segment loading
Fixed debug message "non registered interrupt "
Fixed FATFS Problem with clustersize 1 and greater 8

SkyOS 3.9.1c
===========================
11th, sep 2002: Parents are clipped against child windows now!!!
Optimized redraw now. Multiple redraw regions are combined to
one region which includes all dirty regions.
Support for transparent Parent windows.

09th, sep 2002: Implemented manual DLL loading and GetDllFunction.
DLL's can be loaded automatically and manually now.

04th, sep 2002: Update style handling.
DllMain is now called from each DLL when application starts.

03rd, sep 2002: Update IDE device driver.
Update applications (test, shell,....)
Implemented new style/theme concept.

SkyOS 3.9.1 (release version)
===========================
26th, aug 2002: Implemented mixer device.
Fixed dynamic module loader .BSS/structure bug.

SkyOS 3.9 (release version)
===========================
28th, aug 2002: Fixed FTP Client.
Fixed Module Load/unload and resource manager deletenode bug.
Fixed SB module unload code.
Fixed TCP Data/FIN bug. Data was not recognized in FIN packet.
Fixed devicefs filesystem.
(Boot bug).
Updated 3c509. Works again.

26th, aug 2002: Fixed soundblaster driver. MP3 playback works perfectly now.
Implemented VMWARE Graphic driver. (doesn't work very well yet).
Fixed a lot of boot bugs.

23th, aug 2002: Fixed some more bugs.

20th, aug 2002: Modified start code to support multiboot bootloaders.
Modified start code to support GRUB.
Changed physical kernel address to 0x100000 (1MB).
Modified GRUB v0.92 to initialize 640x480x16 right before starting the kernel.
- implemented prot->real, int 0x10, real->prot in function multi_boot in file
asm.s of stage2 loader
Implemented new sBootInfo structure.

12th, aug 2002: Fixed lseek parameter. (using int instead of unsigned int now)

NEWS 12th, aug 2002: Implemented vfs locking.

09th, aug 2002: Ported freetype 2.1.2 to SkyOS as DLL.
Ported freetype 2.0.8 to SkyOS as DLL.
Fixed ISO9660 filename bug. '-' are converted to '_' now.
Fixed ISO9660 sector overlapping directories.
Updated init application to autoload all installed modules.
Fixed scheduler TaskDeleteFunction bug. (parent was not linked).

08th, aug 2002: Fixed vfs_close bug an various other bugs.
Updated panel, test and disktest utility.
Fixed sys_cache_configure memory allocation bug.

05th, aug 2002: Fixed a lot of boot and task management bugs.
Updated init application to autoload all drivers.

27th, july 2002: Fixed some scheduler and task bugs.
Caused some reboots on various PC's right before loading the desktop.

26th, july 2002: Implemented new scheduler and task management system.
System runs really faster now.

25th, july 2002: Implemented SMP detect and CPU boot phase

SkyOS 3.7.7 (development version)
================================
22th, july 2002: Implemented shell file redirection for stdin, stdout and stderror
13th, july 2002: Implemented .DLL's.
All major SkyOS libraries are PE DLLs now.
PMPView supports logging to file now.
SystemEventService implemented. (Displays various system events like Exceptions,
DLL linking failures,....)

10th, july 2002: Implemented PE loader.
Changed compiler suite to cygwin for applications.
Kernel is still in DJGPP.
All apps are PE or COFF now.

05th, july 2002: Implemented .ICO bitmap provider for libSkyGI. Desktop uses .ICO icons now. (Looks pretty fine now)
Implemented GI_rotate_DIB and AND-Mask for blitting.

04th, july 2002: Implemented Parallel port device driver. (DdParallel).
Creates up to 4 parallel devices. (IOports are read from registry)
Ported Hewlet Packars APDK printing C++ library.

02nd, july 2002: Implement FAT-LFN for readdir.
Updated HTTPD. (Following mime-types supported: text/html/gif/bmp)

01st, july 2002: Implemented performance monitor.
Fixed semaphore problem. (250000 semaphore operations/second. Idletask had no sleep loop,
so more than 250000 semaphore operations were performed by the idle task. This is fixed now.
Normal systemload with about 200 operations/sec. )

06th, may 2002: Updated FAT filesystem driver. Implemented unlink as well as time/date support.
Implemented vfs/shell/viewer file delete support.
Update Shell to view create,modify,access time and date.

Fixed FAT32 mount problem.

02nd, may 2002: FAT16 bootcode fixed. It's again possible to boot SkyOS from a harddisk partition or from a bootable CD-ROM.

29th, apr 2002: Different keyboard layouts supported. (german and us).
At the very first boot, SkyOS starts with an english keyboard layout. You can change this with the GiConfig utility later. (The new settings will be activated imediatly and stored in the registry, so on the next boot your prefered keyboard layout is activated too.)

SkyOS 3.7.5b
============
25th, apr 2002: Registry isn't serialized anymore if the bootdevice is removeable or read-only.
Implemented graphical boot-device select wizard if booting from a floppy-disk.
Added some new registry keys.

CDROM-Driver does not get opened anymore if you unmount the device.
(It still closes and locks the tray when mounting)
Fixed FAT mount problem when mounting devices with a bigger blocksize than 512 byte.
(Could crash the init application when booting SkyOS from a CD-ROM drive).

SkyOS 3.7.5
===========
23th, apr 2002: Implemented statfs syscall.
Implemented FATFS and CDFS statfs SubFilesystem function.
Implemented statfs shell command and modified 'ls' to display available space.
Implement DWORD, TEXT and DIRECTORY registry keys.

22th, apr 2002: Implement first version of SkyOS registry.

20th, apr 2002: Implemented clipped copy screen rect function.
(Faster shell scrolling)
Fixed GI_query_message function.

16th, apr 2002: Implemented file usage counting.
This was neccassery to know when to really close files which
are used multiple times trough exec,spawn or dup.
(Caused some unexplained system crashes)

Fixed AddTaskToQueue locking problem.

Merged LibSky into one library.

12th, apr 2002: Implemented shell token replacement with $.
(e.g. 'cd $HOME')
Fixed very funny crash when syscall return jumped into
data segment at address of _errno variable.
Implemented environment variables. (stored in resource manager tree)
Implemented SET command to list/modify environment variables.

11th, apr 2002: Fixed open syscall.
Fixed stat syscall.
Implemented truncate for SubFilesystems.
Ported BinUtils 2.9.1
Implement path lookup for shell.

SkyOS 3.7.4
===========
08th, apr 2002: Another bugfix for Dynamic module loader
Fixed TCP accept handling.
Fixed TCP max window transfer.
New Features:
Very basic WebServer for SkyOS.

SkyOS 3.7.3
===========
04th, apr 2002: Fixed dynamic module linking bug.
No memory space for uninitialized variable was allocated.
Fixed animated GIF in init application

SkyOS 3.7.2
===========
02th, apr 2002: Boot crash while initializing ramdisk
Desktop parameter passing fixed.

SkyOS 3.7
===========
Resource manager for usertasks.
FontCacheing for freetype.
Lots of bugfixes.
New boot screen

SkyOS 3.6
============
10th, feb 2002: Implemented SkyGI FontCache. (x40 performance increase for FreeType2)

04th, feb 2002: Implemented task local resource manager.

29th, jan 2002: Update TreeWidget. (Full key,mouse and scrollbar navigateable)
Added icons for tree and treeitems.

Kernel consist of 79,000lines now.
Overall system with user libraries + standard applications:
290,000lines of code.

28th, jan 2002: New device manager. Uses resource manager for drivers,devices and opened devices
now. (Speed improvement)

27th, jan 2002: Seems that SkyOS runs more stable now.
Implemented Dynamic Bitmap Widget.

26th, jan 2002: Still optimizing and bugfixing.
Implement the resource manager now. All central data structures
of the SkyOS kernel will be stored in this hash (name, index) indexed
Tree.
Fixed listbox widget and created RSMEdit application to browse
the resource manager tree.

02nd, jan 2002: Performance optimized.
GiMsg and KernelMsg uses a prev pointer for adding new list items now.
CriticalSection handling much faster.
Changes mouse pointer drawing from IOCTL to function pointers.
Impoved SkyGI WM Blit function performance.

Implemented dynamic task quantum.
Improved Kernel timer/sleeptimer and timout-handler performance.

SkyOS 3.5
============
19th, dec 2001: SkyView Implemented.
SkyView is a software monitor which keeps track of context switches,
interrupts, semaphore accesses, ....... all saved with a timestamp.

17th, dec 2001: Compiled libjpeg for SkyOS.
Added JPEG support the libSkyGI.
Implemented media center for viewing BMP files.
Added JPEG support to media center.
Added 256-Color FLC/FLI animation file support to media center.

12th, dec 2001: Implemented viewer.
Implemented global Clipboard. (Clipboard type URL support only)

11th, dec 2001: SkyGI supports full software fallback. This means that a GFX driver
only have to set the graphic mode. All drawing operations can be
emulated by the SkyGI WM.

10th, dec 2001: Desktop uses wallpapers now. (Automatically loading of default.bmp)
User creatable desktop icons and shortcuts.
(Desktop and icon layout is stored and automatically loaded from a
configuration file)

06th, dec 2001: Fixed user-application-bugs.
Added SkyGI function prototypes.
Fixed ISO9660 and ATAPI read bug. (kernel2user)
Fixed init application page fault bug.
Filemanager support right-mouse menu to copy/delete and view files
with SkyPAD.

27th, nov 2001: Completly removed SkyOS LibC and replaced it by newlib and LibSky.
Portet newlib's libm to SkyOS.

22th, nov 2001: Compiled bin86 successfully for SkyOS.
First attemps to execute bin86.
(Implementing terminal redirecting, parameter passing,...)

20th, nov 2001: Implemented taskmanager.
Little bugfixes to SkyGI widgets.

19th, nov 2001: Improved IDE/FDD read routines
Added module_unload function
Impromed window drag performance
Bugfixed driver/module code.
Added usage counting for modules.
Added graphical driver sheet to GiConfig. (Load/Unload drivers...)

14th, nov 2001: Block device readahead implemented.
Each driver can have it's own readahead buffer and size.
Increased block device speed.

13th, nov 2001: Modules containing multiple object files are supported now.
6th, nov 2001: SkyGI supports themes now.
A theme is a textfile which defines the whole appearence of SkyGI
controls.

SkyOS 3.4
=========
6th, nov 2001: Added columns + caption to listbox widget
Createdir bugfixed
Listbox Colums are sizeable now. (mouse drag)

5th, nov 2001: Implemented createdir function.
Implemented FATFS creatdir function.
Updated ramdisk driver. (Added medium size Ioctl)
Implemented format utility for FAT filesystem.
Added sync syscall.
Kernel debugger uses 115200 baud as default now.
Added cache_configure syscall to change cache size.

30th, oct 2001: New terminal implemented. Init/Desktop/SkyGI bugfixes.
Bugfix in open/close. (memory waste)

22th, oct 2001: Init application parses init script to autoset gfx mode.
VESA support for VMWARE.

21th, oct 2001: init application uses init script to load modules/drivers and additional
system information.
21th, oct 2001: New virtual systeminterface filesystem.
Dynamic addition/deletion of system or task specific files.

17th, oct 2001: Critical COFF loader bug fixed.
Loading an application which has a text/data size not aligned to a page size failed
sometimes. (Not all code was loaded in such a case).

Implemented graphic contexts.
Rewrote the whole SkyGI and applications to use windowed-graphic contexts.

16th, oct 2001: Added blocking FIFO read/write calls.
Bugfix in task_wait_for_state(...). (deadlock).
FD redirect updated.

15th, oct 2001: Add delete_memory_space function.
Update Linux emulation layer and ELF loader.
It's already possible to launch simple linux/i386 ELF applications.
Implemented dup,dup2 syscall.
Implemented shell pipe read thread.

SkyOS 3.3.5 (TCPIP, bugfix, optimization release)
=================================
12th, oct 2001: Added MTRR support. Framebuffer memory region is set to write-combining.
Performance increase on a 850Mhz,Celeron:
-Blitting 16bit color bitmap.
16Mega Pixel / sec. After enableing MTRR: 74Mega Pixel/sec.

Serial microsoft compatible mouse bugfix!!

11th, oct 2001: Updated panel. Using 32x32icons instead of text.
Bugfixed PS2 mouse driver. (ran out of sync sometimes).

10th, oct 2001: Added clean reboot routine.
Disks are synced on reboot now.
Fixed some task delete bugs.
Implemented syslog watcher

Window switch/redraw looks faster now. Only really overlapped regions are
redrawn on a window switch.

08th, oct 2001: Optimized multiple block read.
Bugfix in list widget.
Updated filemanager. Graphical copy implemented (copy/paste).

26th, sep 2001: TFTP client
Implemented closesocket.
UDP/IP list race condition fixed.
Socket proc parser implemented.
Taskkill kills also all children now.
Memory watch implemented.

Keyboard driver bugfix. (enable failed on some keyboards).
Fixed various race conditions with kernel lists.
3c509 device driver updated, bugfixed.
FATfs bugfixed. (continues read/write over cluster boundaries failed)

25th, sep 2001: Added support for RAWIP Sockets. (send + receive)
Implemented ping utility

24th, sep 2001: Implemented UDP layer + Berkley socket interface.
Created graphical network interface configuration tool.

23th, sep 2001: Reimplemented IP layer. Added support for fragmenting
22th, sep 2001: Reimplemented Ethernet/Arp/ICMP layer
21th, sep 2001: Implemented Loopback network driver
19th, sep 2001: Implemented AmdPCNet/PCI netcard driver.
18th, sep 2001: FifoFS implemented.
Init Application searches and installs all fonts.
Modified source so that SkyOS can be compiled with gcc2.95+
ATA device detection modified. More devices are detected now.
Longer timeout and correct ATAPI identification. (+DVD)

SkyOS 3.3.4c (Bugfix version 'c')
=================================
17th, sep 2001: Bugfix: PS2 Mouse and keyboard is initialized correctly now.

SkyOS 3.3.4b (Bugfix version 'b')
=================================

11th, sep 2001: Bugfix: ISO9660 support file executing now.
Bugfix: Init application was not found on some systems.
Bugfix: Stack allocation problem (allocated on demand now)
Bugfix: Task memory is freed now
Bugfix: Implemented boot parameters
Bugfix: SkyOS crashed if odd amount of memory is installed.
(118MB, 254MB). (memory shared graphic cards)

SkyOS 3.3.4 (released)
===========
7th, sep 2001: Bugfix: GiGFX initialize could crash on some systems
Updated desktop.
Automouning cdrom drivers on ISO9660 module load.

6th, sep 2001: Bugfix in Memory manager. (DMA alloc)
Waveplayer/Soundblaster bugfix
Added multiple popup windows
Updated shell.

Panel updated. (All installed applications are listed in the panel menu.
(panel->Application->Installed)

5th, sep 2001: Modules are supported now.
VESA, ELO, SB, ISO9660 and DeviceFS are loaded when the system boots.

SkyOS 3.3.3
===========
4th, sep 2001: Enable -O3 compiler switch. Modified VGA16 device driver.
Reimplemented dynamic loadable modules.
Soundblaster and ISO9660 are configured as loadable modules now.

31th, aug 2001: Soundblaster driver supports stereo now.

29th, aug 2001: Soundblaster driver implemented. (8bit, mono, double buffering, dma)
Added .wav support to SkyGI.
WavePlayer implemented.

28th, aug 2001: Reimplemented ISO9660 CD Filesystems.
Reimplemented Complex edit widget.
SkyPad updated. (font selection included)

27th, aug 2001: FatFS write bug fixed.
Screenshot capture utility implemented.
SkyGI BMPWrite function implemented.

25th, aug 2001: Fatal bug fixed. On some systems SkyOS rebooted right after the bootlogo
was shown. This was because of a bug while building the page tables and setting
up the freearea bitmap table.
SkyOS should boot a nearly every PC now.

24th, aug 2001: Kernel timeout function handler
IDE device driver bugfix. (write operations could hang the system)

23th, aug 2001: Bugfix in FAT filesystem.
Bugfix in buffer-cache. (workaround)
Screenshot utility implemented.
Screenshot syscall implemented.

22th, aug 2001: Implemented ELO Touch driver
Kernel profiler implemented.
UART driver updated. Fixed bugs.
Memory detection code changed. This could explain various reboots
on a few PC's.

17th, aug 2001: Implemented new FAT12/FAT16 bootcode. Modified automount.
It's now possible to boot SkyOS from a FAT12 floppy disk
or a FAT16 harddisk partition.
Create install.bat script file.

15th, aug 2001: Fixed some memory manager bugs.
Removed warnings from scheduler.
This version is now able to boot on nearly every PC here.

SkyOS 3.3.2
===========
11th, aug 2001: Demand loading implemented.
GiConfig updated.
Memory manager updated (do_mmap_file implemented)
Binary handler for ELF.
Removed warnings from memory manager and vfs.

SkyOS 3.3.1
============
07th, aug 2001: Complete new memory manager implemented.
Demand paging implemented.
(SBRK doesn't allocate needed memory anymore). Instead
page fault handler is resposible to allocate memory.
VM areas implemented.
Page allocater uses buddy system now.

Binary file manager implemented.
Binary handler for COFF implemented.

SkyOS 3.2.6
============

01th, aug 2001: Implemented freetypes library.
Widgets use truetype fonts now.
Shell is now able to use different fonts. (user selectable)
Fontselect dialog implemented.
Removed BDF fonts.

23th, July 2001: Filehandles are task private now.
Support for BDF proportinal fonts.

05th, July 2001: Fixed floppy LED bug.
Fixed serial mouse detection bug.
Fixed FATFS bug. Some medium were detected as FAT12 and
not as FAT16 which was correct.

04th, July 2001: SkyGI supports now 4bpp/8bpp/32bpp video modes.
DIBs implemented.
DDB implemented
New color management implemented. (All colors are 24/32 bit colors now)
DDB supports 4/8bpp DIBs
SkyGFX Blit routine supports 4,8,24,32 bpp
VESA driver doesn't support banked modes anymore.
VESA driver supports 8bpp/32bpp video modes
VidConf application is able to activate any VESA mode.

03rd, July 2001: BMP loader bugfix. (crashed sometimes)

02th, July 2001: CriticalProcessEvents implemented.
Each time an application causes an exception a application-definied
CriticalProcessEvent handler is called, which shows a messagebox that
a exception occured and kills the application.

SkyOS 3.2.5
============
29th, June 2001: New window styles: WF_NO_BUTTONS, WF_SMALL_TITLE
Framewindow dimension changing works fine.
New message: MSG_PARENT_SIZED
Media center updated
VidConf updated

28th, June 2001: Implemented Tab-Control
Multiple desktops supported.

27th, June 2001: Reimplemented procfs filesystem. Using vnodes now.
Windows are hide/showable now.

26th, June 2001: Memory bugs fixed.
Implemented group box widget.

22th, June 2001: BMP loader implemented.
Picture viewer implemented.
Blit operation is now user-clipable.
Overall SkyGI speed improvments.
Clipping Bug "InvisibleLine" removed.
Selectable background image for the desktop

21th, June 2001: Window-Systemmenu implemented.
20th, June 2001: Window show/hide/minimize implemented.
Panel updated.
20th, June 2001: Dialogs implemented. (Special style/handling)
20th, June 2001: Rebuilt big parts of vfs/subfs. Directory searching
is performed by the VFS now. (instead of each subfs before)
Vnode's implemented. Each opened file descriptor block is
cached in memory. If you change something of a vnode (e.g. the size),
this vnode gets flushed to disk automatically in the next flush-task
cyclic.
Changes for LIBC:
readdir(...) implemented.

13th, June 2001: BugFix fatfs.
FAT write optimized (memory mirror)
Shutdown syscall/application implemented.

12th, June 2001: VFS create and write implemented
FAT create implemented (root directory only)
FAT write implemented.
BufferWrite cache implemented.
(All block write operations are cached in a buffer.
Every 3 seconds, this buffer is checked and all
dirty blocks are written to disk)
Don't show deleted FAT files

11th, June 2001: New GI style. (SkyGIBlue)
Panel implemented.
CheckBox implemented.
05th, June 2001: GI_application_fault implemented
01st, June 2001: Added icons to message box window.
30th, May 2001: GI-Filemanager implemented.
30th, May 2001: Listbox Icons added. (looks really cool now ;-))

SkyOS 3.2.2
============

30th, May 2001: ARP cache cyclic update implemented.
28th, May 2001: automount for FAT filesystems implemented.
28th, May 2001: sendto(), recvfrom() implemented. UDP send/recieve works
27th, May 2001: Sockets reimplemented
27th, May 2001: UDP reimplemented. Receive works fine.
26th, May 2001: Soundblaster driver implemented.
25th, May 2001: DeviceFS implemented
25th, May 2001: Started to rewrite the complete TCPIP Stack
25th, May 2001: netif application implemented, ARP, ICMP, ETH and 3c509 reimplemented.
23th, May 2001: Implemented FLI/FLIC player
23th, May 2001: Added 800x600 and 1024x768 graphic mode for Chips & Technologies driver
23th, May 2001: Optimized SkyGI Blit routine.
23th, May 2001: Second Level Cache (named 512FileCache) implemented.
(Reads always 512 byte of a file).
Sequential file access speed improvment (1500% faster)
21th, May 2001: Menu updated. (Mouseover effect)
SkyGI Blit function implemented
17th, May 2001: CT65000 - CT69000 device driver (BitBlitter) implemented
16th, May 2001: Menus implemented
15th, May 2001: complexEdit widget. SkyPad (Notepad like application) implemented
14th, May 2001: Panel application
13th, May 2001: Desktop Icons added
12th, May 2001: Popup Menu implemented
10th, May 2001: Different fonts supported.
09th, May 2001: Icon's are supported now.
07th, May 2001: BUG: Fdd didn't user get_user_data() and caused exceptions.
07th, May 2001: Init Application created.
SkyOS is now able to load disk image into ramdrive.
06th, May 2001: Makefiles created. It's now possible to compile SkyOS/Libraries and
Applications with makefiles. You don't need Visual 6.0/.NET any longer.

SkyOS 3.2.1
============

19th, April 2001: Implemented redraw_rect function.
24th, April 2001: BUG: deadlock with critical sections fixed
24th, April 2001: Implemented serial UART driver
24th, April 2001: Implemented kernel function which allows to switch
between screen debug oder serial debug output.
24th, April 2001: MS-Mouse driver uses serial driver now.
25th, April 2001: Moved SkyGI to priority PR_NORMAL + 5. Same priority as
usertask use. If the SkyGI is at a higher priority, the user-
tasks aren't fast enough to redraw the screen if a window
is moved.
26th, April 2001: Rebuilt the whole graphic interface. It's named GiGFX now. This
interface handles the complete communication between the SkyGI
and the GFX device drivers. (Device manager and function table)
26th, April 2001: Critical Bug found. When a kernel task called the scheduler manually,
it was possible that the tasklist gets inconsistent. Now, everytime
the scheduler is called manually a cli() is performed.
This explains some unmotivated deadlocks while heavy system load.
2nd, May 2001: Added VM86 support. It's now possible to execute real-mode BIOS interrupts.
(e.g. set vga/vesa mode)
BUG: Exceptionhandler didn't restore EAX value. (It got loaded with Errorcode)
2nd, May 2001: VESA und VGA16 GFX driver are able to use VM86 realmode BIOS interrupts.
3rd, May 2001: BUG: VM86 crashed system sometimes.
Virtual address space for usertask start at 0x400000 now. The low 4MB of ram
are reserved for VM86 tasks.
3rd, May 2001: It's not longer neccassery to ask the user which GFX mode should be intialized.
The system boots up with 640x480x16. After booting if a VESA2.0 PM Interface
is found, 1024x768x256 colors is initiated.
Also it is possible to change the video mode/gfx driver every time you want.
3rd, May 2001: GFX_setup syscall implemented which allows user programs to switch GFX mode/driver.
VidConf Application available. Allows GFX mode setup.
4th, May 2001: Listbox and Progress bar implemented.

SkyOS 3.2
==========

10th, apr 2001: Removed NewGUI from SkyOS.
SkyOS has now a new graphical interface called SkyGI. SkyGI is splitted into
two parts, a kernel part and a library. Each SkyOS application with needs
graphic support is linked with this library.

Also all objects are handled as windows now. (No more difference between windows and
widgets). Clipping is performed for child windows too.
Only clipping, messages passing and managing physical windows is done in the kernel.
Standard widgets like MainFrame, Titelbar, Statusbar, Buttons... are all handled
by the SkyGI user-library.
Overall, SkyGI uses message passing to send messages from one window to another. It
is similar to the Win32 API.

Standard C library updated.
Argument passing between applications is supported now.
exec(...) syscall added.

11th, April 2001: Focus is set by mousepress
13th, April 2001: GI_settimer implemented. Periodic message sender
13th, April 2001: Shell reimplemented
13th, April 2001: Window destroy implemented
13th, April 2001: Cursor for shell and edit boxes

SkyOS 3.1
==========

05th, Feb 2001: Shell-based CD Player implemented
ATAPI CD Commands implemented
memory manager is locked better
ATAPI devices are detected
SkyOS is able to read from ATAPI CD-ROM devices
CDFS implemented.
FAT32 implemented
Block-Cache can store variable blocksizes now