fpc/install/doc/whatsnew.txt
2001-06-28 21:07:13 +00:00

316 lines
11 KiB
Plaintext

Free Pascal Compiler
Version 1.0.4
******************************************************************************
Whats New in 1.0.4
******************************************************************************
Compiler:
+ Fpc executable
+ Rangechecking for int64
+ Better cardinal rangechecking
+ Debugging support for classes
+ FreeBSD and Linux define both UNIX
* XMM registers in assembler fixed
* Optimizer fixes
* Fixed some reported bugs
RTL:
+ keyboard, mouse and video units added (originally in API)
+ Lot of FreeBSD updates
* FindFirst/FindClose fixes
* Termios updates for FreeBSD and Linux
* FExpand fixes
* TypInfo fixes
* Val(qword) works
FCL:
* sstream example added
* fixed some missing .o and .a files
Utils:
* fpcmake updates for freebsd
* ppufiles fix to allow / in filenames under go32v2/win32
Docs:
+ IDE documentation
API:
- standalone API removed from distribution, units added to RTL
******************************************************************************
Whats New in 1.0.2
******************************************************************************
Compiler:
+ memory requirements reduced a lot when creating smartlink libraries
+ identical procedures or functions are now already found in the interface instead
of after parsing the implementation also
+ overload directive parsing is now D5 compatible
+ stop compiling if -S2 or -Sd is required and give a nicer error message
+ don't allow wrong assemblers for targets (i.e. refuse as.exe for win32)
* fixed smartlinking for win32 imports
* some -Or and other optimizer fixes
* fixed some crashes with undeclared identifiers and inlined functions
* packenum fixes
* internal binary writer is now a lot faster when creating smartlink libraries
with a lot of files (like the windows unit)
* better targetdir support
* don't allow word = word like type definitions
* integer(char) typecast works now
* some other small reported bugs
RTL:
+ bsd port files
+ sysutils more delphi compatible
+ sysutils.syserrormessage added for platforms supporting it
* some graph fixes
* linux crt handles ctrl-c better
* win32 crt returns alt-<key> correct
* small int64 fixes
* paramstr(0) fix for linux 2.0 kernels
* go32v2 getenv made case insensitive
* lot of os2 updates
******************************************************************************
Whats New in 1.00
******************************************************************************
Compiler:
+ -gl switch to automaticly load the lineinfo unit
+ Lot of Delphi compatibility additions, especially when using -Sd
* Optimizer fixes, mainly register allocations needed for -Or
* int64/qword fixes
* RTTI fixes
* Smartlinking fixes for classes
* inline fixes (but still Beta)
* Exceptions generate more usefull backtraces which also support the
new lineinfo unit
* {$Packrecords C} fixes to be better C compatible
* operator should now work correctly when defined in other units
and locally and other fixes
* Better glibc 2.1.x support under linux
* Lot of other small bugfixes for the reported bugs
RTL:
+ lineinfo unit to display the file and line when a backtrace is
generated, this works for runtime errors, unhandled exceptions and
heaptrc unit (hint: use -ghl to easily detect and fix memory leaks)
* better precision when converting float to string
* Better exception support for Go32v2 without the need to load dpmiexcp
* Better Signal handling under linux for exception reporting
* Windows unit for win32 has now more delphi compatible declarations
* disksize/diskfree return now int64 so drives > 2GB work correctly
* lot of graph unit fixes, with generic mode support
* paramstr(0) under linux now returns the full executable instead of
the commandline
* heaptrc fixes for reallocmem
* other fixes reported by users
IDE:
+ don't allow wrong assemblers with specific targets
+ default mode for which assembler to use
+ Recompiling a program does now also use unsaved files still in the editor
* the support files are now placed in the same dir as fp.exe where they were expected
Utils:
+ postw32 to postprocess win32 executables to patch the stacksize
* h2pas is now better and also has a compact output mode with less
spaces and blank lines.
* fpcmake supports .so library creation and example installation
Packages:
+ opengl for win32
* fixed win32 gtk interface
FCL:
+ db support (TDataSet,TDatabase) for mysql
* idea fixes
******************************************************************************
Whats New in 0.99.14
******************************************************************************
Compiler:
+ DLL creation fixed, it needs dlltool now
+ .so creation for linux works also with classes
+ Library writing works better, also linux library support
+ better FPU code generation
+ only one PPU is used per unit also when static, shared and smart linked
+ assembler understands KNI instructions
+ fail in class constructors works
+ resourcestrings support
+ gettext support for resourcestrings (localization)
+ > < >= <= support for boolean
+ checking for unused but assigned variables and private fields
* lot of RTTI fixes
* lot of property fixes
* pointer addition/substraction works like inc()/dec() (with the size
of the pointed type)
* assembler reader fixes so it works more like BASM
* exit in try...finally/except block works
* don't allow goto/label with exception blocks
* stabs debugging fixed for classes and result variable
* array constructor support
* initialization/finalization work also in default FPC mode
* assert works now also within $H+ mode
* lot of other fixes
RTL:
+ New graph unit for GO32v2, Win32, Linux
+ Delphi style GetMem/Freemem/ReAllocMem which knows the size of
the allocated block itself. Specifying wrong size for freemem gives
now also a Runtime Error
+ ports unit for both GO32v2 and OS/2, which contains the port[] support.
It's now compatible with Linux ports unit
+ timezone support for linux
+ primitive routines Compare[Byte,Word,Dword], Index[Byte,Word,Dword]
* better ioresult setting for GO32v2
* some pchar fixes in sysutils unit
* lot of RTTI fixes for typinfo
* ansistrings speedups
* some other small fixes
Utils:
+ fpcmake util to create a Makefile from Makefile.fpc
+ delp util to delete all created files after compiling (exe, o, ppu)
+ fprcp util for preprocessing win32 resource files
+ data2inc util to convert data into .inc files
+ binobj for binary to .o/.inc files, also with crypt, compression support
+ ppufiles show all created files needed by a unit
+ rstconv util to convert .rst files to gettext files
+ plex,pyacc Pascal Lex/Yacc
* ppudump, ppufiles updated for new ppu version
******************************************************************************
Whats New in 0.99.12
******************************************************************************
Compiler:
+ lot of ansistring fixes
+ coff writer for go32v2,win32 with instant .a creation (BETA)
+ working global browser
+ new compiler directives (path and other cmdline switches)
+ val,readln support range checking
+ initialization/finalization support
+ methodpointer support
+ message support
* better intel,at&t parsers with mmx,3dnow support
* better unit dependency handling and recompiling
* static var fixes
* better addr() support
* lot of other fixes, too many to list here
RTL:
+ Internationalization suport in sysutils
+ FileNameCaseSensitive boolean for go32v2,win32
* more precise str/val
* better val(),readln()
* io error handling much more like tp7
* small other fixes
Utils:
+ ptop to pretty print your sources
* beter ppudump
******************************************************************************
Whats New in 0.99.10
******************************************************************************
Compiler:
+ better optimizer
+ ansistring support
+ array of const support for FormatStr
+ automatic heaptrc unit including with the -gh option
+ open strings ($P+) support
+ DLL generation for Win32
+ printf support for cdecl using array of const
* exceptions are finally working
* fixed some ppu problems
* fixed unit interdependency problems
* better range checking, also for enums
* size of objects without virtuals is now the same as tp7
* lot of fixes for the assembler readers
* more constant expression evalutations
* removed all memoryleaks
* almost all reported bugs are fixed
RTL:
+ heaptrc unit to detect memoryleaks and other problems with the heap
+ graph unit works and some missing functions are added
* objects unit fully works
* more functions for the classes,sysutils unit
Utils:
* ppudump updated for new ppu entries
* h2pas updated to write new cdecl declaration
******************************************************************************
Whats New in 0.99.8
******************************************************************************
Compiler:
+ smartlinking support (-Cx)
+ new ppu format which much more portable en extendible
+ new scanner with better file position info
+ constant evaluation like tp7 (trunc,round,hi,swap)
+ rtti support
+ exception support
+ longbool,wordbool support
+ enumerated packing support like delphi
+ c variable support (-Sv)
+ Win32 support (no export and resource support yet)
* optimizer switches changed to be easier to use
* lot of fixes for sets, also supporting dynamic creation
* working open array (sizeof,high)
* better filename handling for all platforms
* ability to list source lines in the assembler file
* some error messages changed to for better understanding
* better calling convention support, delphi compatible
* glibc2 (linux) support
* too many other small bugfixes and internal enhancements
RTL:
+ sysutils unit for objpas
+ port[] array for go32v2
+ graph unit for linux
+ uniform objects unit for all platforms
+ rtti support
+ automatic Longfilename (LFN) support for go32v2
* go32 crt startup delay has been removed
* missing pchar support for some file functions (assign,rename)
* heapblocks support, which is much faster when allocating a lot
of small blocks (like objects)
* filerec/textrec is now uniform for all platforms (but not tp7 compatible)
* extended is the default floating point type
* lot of other fixes and small enhancements
Utils:
+ h2pas util to convert .h files to .pas file
+ ppudump util replaces the old dumpppu
* mkdep is now much less strict and (* *) support
******************************************************************************
Whats New in 0.99.5
******************************************************************************
Mainly, bugs are fixed and some improvements are
made in that release, besides that the following stuff is
added:
* compiler
- mem[] and absolute works now as expected (go32v2 target only)
- basic MMX support by the compiler (see docs for more infos)
* runtime library
- better support of floating point types