
                            Free Pascal Compiler

                                Version 2.0.4

******************************************************************************
                              What's New in 2.0.4
******************************************************************************

More than 1000 changes have been made to 2.0.4 since 2.0.2. As this is a bug
fix release, most are fixes for some issues, but new features and performance
enhancements have been added as well.

Compiler:
  * Lot of small bugs and compatibility fixes
  * Updated several translations
  * Improved code generation
  * Improved and fixed PIC code generation
  * Improved register allocation
  * Improved ansistring string code generation
  * Several alignment values increased so the requirements of modern processors
    are met better
  * WINDOWS defined on all windows platforms (Win32, Win64, WinCE)
  * Parameter order for methods with structured results changed
    (result pointer<->self swapped), please check such methods if they are
    implemented in assembler
  * i386 compiler no longer needs environment variables set when installed on
    an x86_64 Linux distribution

RTL:
  * Lot of small bug and compatibility fixes
  * 64 bit file pointer support on most targets
  * Faster integer to string conversion
  * Endian conversion routines added
  * Improved heap manager
  * Improved ansistring routines
  * PowerPC: Power3/4/5/PPC970 compatibility

FCL:
  * Lot of small bugs and compatibility fixes
  * Improved database support
  * The interbase, fpodbc, ddg, mysqldb3 and mysqldb4 units
    are obsolete and replaced by the sqldb components
  * Oracle support added

Packages:
  * Lot of small bugs and compatibility fixes
  * Improved database support
  * Apple universal interfaces added

Free Vision:
  * New outline unit
  * Small bug fixes
  * Unix: much improved video and keyboard handling
  * Unix: Free Vision applications no longer need to link to libc
  * Linux: grab_vcsa utility to ensure vcsa access

IDE:
  * Small bug fixes
  * Redesigned directories window
  * Reorganised compiler options window
  * Option to use Ctrl+X,C,V for cut/copy/paste

Misc:
  * Improved documentation
  * Better cross compilation support

******************************************************************************
                              What's New in 2.0.2
******************************************************************************
This is a bug fix release, so don't expect a big new feature list here. Most
of the almost 700 changes made to 2.0.2 since 2.0.0 are fixes for some issues.

Compiler:
  * Lot of small bugs and compatibility fixes
  * Improved SSE support
  * Improved inlining
  * Enhanced variant support
  * Embedded resource support for targets using elf32 executable format
  + Type checking of compile time expressions
  + Mode MacPas: Support for Mac style objects
  + Mode MacPas: Compile time variables can be given on command line

RTL:
  * Lot of small bugs and compatibility fixes
  * Enhanced variant support
  * Embedded resource support for targets using elf32 executable format

FCL:
  * Lot of small bugs and compatibility fixes
  * Improved SqlDB package

Packages:
  * Lot of small bugs and compatibility fixes
  * Improved data base support

IDE:
  * Small bug fixes

Misc:
  * Improved docs
  * Bug fixes for FreeVision

******************************************************************************
                              What's New in 2.0.0
******************************************************************************
Compiler:
  + properties in objects are now allowed
  + use of cmov when at least -Cppentium2 is supplied (i386+ only)
  + .p is a searched source extension in macpas mode now
  * Improved MacPas mode
  * Improved variant support
  * Updated language files
  * Improved warnings regarding uninitialised variables
  * Lot of small bugs and compatibility fixes

RTL:
  * Several widestring and unicode fixes
  * Heavily improved variant support
  * Improved threading support
  * Improved 64 bit compatibility
  * Lot of small bugs and compatibility fixes

FCL:
  * Improved data base support
  * Lot of small bugs and compatibility fixes

Packages:
  + Jedi windows api is part of the packages now
  + Windows specific units of the rtl have been moved to packages/base/winunits
  + XFree header conversions to X package added
  * Endian and 64 bit fixes
  * Lot of small bugs and compatibility fixes

IDE:
  * Small bug fixes

Misc:
  * Improved docs
  * Bug fixes for FreeVision


                        Version 1.9.8 aka 2.0.0-Rc2

******************************************************************************
                      What's New in 1.9.8 aka 2.0.0-Rc2
******************************************************************************


Compiler:
  + arm-linux cross compiler for i386-linux
  + SysV style syscalls added for MorphOS
  + Exportable macros for mode MacPas
  + Support procvar declaration in parameters for mode MacPas
  + Give warning if code is never executed in while/if statements
  + Directive {$COPERATORS ON} added, synomym for -Sc
  + Check for uninitialzed from and to values in for-loop statement
  + -Fa<unit> option added to load units in a program before the uses statement
    is parsed
  + -vz for output to stderr
  * Better support for unique types
  * AfterConstruction/BeforeDestruction behaviour is now compatible with Delphi
  * Better support for Widestring
  * Removed {$THREADING ON} directive, threading support is always available
  * Improved code generation on Sparc
  * Lot of small bugs and compatibility fixes
  + On target Mac OS, resource files is supported

RTL:
  + arm Linux support
  * Basic threading support moved to the system unit
  * Operator ** moved to math unit; system.power removed
  * Improved variant support
  * Lot of small bugs and compatibility fixes
  + The unit MacOS (api to Mac OS) for target MacOS

FCL:
  + Support for Interbase/Firebird, PostgreSQL and MySQL 4.0 under windows
  * Database drivers are now dynamically loaded
  * The TSQLQuery is now fully editable using cached updates
  * Lot of small bugs and compatibility fixes

Packages:
  + gtk2 interface units
  * 64 bit compatibility fixes
  * Lot of small bugs and compatibility fixes

IDE:
  + vector unit window
  * x86-64 asssembler debugging support improved
  * Sparc asssembler debugging support improved
  * Some bug fixes

Misc:
  + txt output to fpdoc added
  * some fpdoc bugs fixes
  + demo for macos


                        Version 1.9.6 aka 2.0.0-Rc1

******************************************************************************
                      What's New in 1.9.6 aka 2.0.0-Rc1
******************************************************************************

Compiler:
  + x86_64/amd64 (Linux) compiler
  + Sparc (Linux) compiler
  + PowerPC MorphOS support
  + Mac OS (classic) compiler (for MPW)
  + Netware Libc support (-Tnetwlibc)
  + Register variable support (-Or) for all targets
  + MacPas compiler mode (-Mmacpas)
  * Better inlining support
  * For loop variable assignment is not allowed anymore
  * $fpctarget expands to <cpu>-<os> (except for 8.3 limited targets),
    old $target removed
  * Implicit loading of Variants unit
  * Lots of bug fixes

RTL:
  + x86_64/amd64 Linux support
  + Sparc Linux support
  + PowerPC MorphOS support
  + Mac OS (classic) support (except Sysutils and its dependants)
  + Netware Libc support
  + New heap manager that releases memory back to the OS
  + TThread.Synchronize support
  + utf8bidi unit
  + GetHeapStatus added
  + GetProcessID added
  + SysUtils.GetEnvironmentVariableCount and SysUtils.GetEnvironmentString added
  * gpm unit does not need libgpm anymore
  + Further additions for improved Delphi compatibility
  + System.GetProcessID and System.GetThreadID added
  + Dos.GetMsCount added
  + Support for changing console resolution in Video for Win32
  + Support for using high memory (> 512 MB) under OS/2 (where available)
  - Removed MaxAvail, MemAvail, HeapSize due to their unreliability
    (bogus/misleading return values) in multitasking environment with swapping

FCL:
  + RTTIUtils unit added
  + fpcunit test-framework added
  * Lots of dbf and other db fixes

FV:
  * Updated to fvision implementation, first official release

IDE:
  * Lots of improvements and stability fixes
  * Support latest gdb 6.2.x and 6.3.x releases

Docs:
  + Lots of updates
  + Easier to navigate html documentation
  * fpDoc is used to generate all unit documentation

Misc:
  * Makefiles create units in a separate directory units/cpu-os/
  * More cross compilation improvements


******************************************************************************
                      What's New in 1.9.4 aka 2.0.0-Beta3
******************************************************************************

Compiler:
  + ARM (Linux) compiler
  + PowerPC Darwin (Mac OS X) support
  + reintroduce keyword support
  + added prefetch(const mem) support
  + MacPas compile mode
  + -gv to generate an executable that can be run under Valgrind >= 2.1
  * register allocator fixes and tweaks
  * better support for preprocessor $IF expressions
  * better overloaded operator support
  * Win32 DLL export table fixes
  * stabs (debuginfo) generation cleanups
  * enum names in RTTI are now in their original case
  * record alignment fixes
  * lots of bug fixes

RTL:
  + ARM Linux support
  + Powerpc Darwin support
  + Sysutils.RaiseLastOSError added
  + Sysutils.GetLastOSError added
  + Classes.TOwnedCollection added
  + Sysutils.FileIsReadOnly added
  + support of widestring and currency in the typinfo unit
  * Better support for Libc based RTL (FPC_USE_LIBC)
  * 64bit cleanup for future x86_64 port
  * ExecuteProcess fixes
  * Linux use getdents syscall instead of deprecated readdir
  * bug fixes

FCL:
  + SDF DB backend
  + TGA support in fpImage
  + support of widestring and currency type in stream related classes
  * Lot of fixes to fpImage classes

Misc:
  * better cross development support
  * Documentation updates
  * Testsuite updates to store testrun results in a database
  * Testsuite updates for cross platform testing, with remote rsh/ssh support


******************************************************************************
                      What's New in 1.9.2 aka 2.0.0-Beta2
******************************************************************************

Compiler:
  + PowerPC compiler
  + sse/sse2 code generation support
  + "global" property support
  * improved inlining support
  * optimizer enabled again
  * uses register calling conventions by default
  * $fputype directive
  + properties of type single can have default values
  + support of $IF DECLARED()
  + support of DQWORD in inline intel assembler code
  * lots of bug fixes

RTL:
  * more improvements for unix runtime library
  * using FPC_USE_LIBC allows to compile an rtl which uses libc instead of
    syscalls
  + System.Initialize
  + Sysutils.ExecuteProcess
  + System.WideStringManager
  + System.PtrInt and System.PtrUInt
  * ipv6 support
  * lots of bug fixes

FCL:
  + sqlite support
  * bug fixes

Misc:
  * improved docs

******************************************************************************
                      What's New in 1.9.0 aka 2.0.0-Beta1
******************************************************************************

Compiler:
  + dynamic arrays
  + interfaces
  + variants
  + full widestring support
  + default parameters
  + cross name scope overloading
  + support for the PowerPC, Sparc and ARM processor, installation packages
    will follow within the next weeks
  + new and more sophisticated register allocator
  + inlining across units
  + register calling conventions
  + SSE and SSE2 support for inline assembler
  + PIC code generation
  + new language mode: "Mac Pascal"
  + full boolean evaluation is now also available
  + threadvar support, enabled by using {$threading on}
  * support of int64 integer constants
  * improved Delphi compatibility in -Sd mode
  * a lot of bug fixes
  * large parts of the compiler are rewritten to create a more stable,
    portable and maintainable compiler

RTL:
  + multithreading support
  * completely rewritten unix runtime library
  * improved Delphi compatiblity
  * significantly improved speed of exception related code
  * prepared for big endian and 64 Bit CPUs
  * a lot of bug fixes

FCL:
  + tdataset support
  + html generator
  + 64 Bit file handling
  * a lot of bug fixes

Docs:
  * adapted to reflect new language features

IDE:
  * a lot of bug fixes

Misc:
  * improved cross compilation


