[fpc-pascal] Free Pascal 2.4.4 RC1 available

silvioprog silvioprog at gmail.com
Thu Mar 17 02:28:51 CET 2011


Mega-big-full-ultra-power thanks. :)

I published this announcement here in Brazil.

Thanks again.

-- 
Silvio Clécio
=================================================
Blog - silvioprog.com.br
Twitter - twitter.com/silvioprog
LazSolutions - code.google.com/p/lazsolutions
Lazarus-BR - http://groups.google.com.br/group/lazarus-br?hl=pt-BR
=================================================

2011/3/16 Marco van de Voort <marcov at stack.nl>:
> Hello,
>
> We have placed the first release-candidate of the Free Pascal Compiler
> version 2.4.4 on our ftp-servers.
>
> You can help improve the upcoming 2.4.4 release by downloading and
> testing this release. If you want you can report what you have done here:
> http://wiki.freepascal.org/Testers_2.4.4
>
> Changes that may break backwards compatibility are documented at:
> http://wiki.freepascal.org/User_Changes_2.4.4
>
> Downloads are available at:
>
> the main FTP server at
>
> ftp://ftp.freepascal.org/pub/fpc/beta/2.4.4-rc1/
>
> and
>
> ftp://freepascal.stack.nl/pub/fpc/beta/2.4.4-rc1/
>
> Note:
>
> Some platforms are still being uploaded, among them Mac OS X, Linux/i386 and
> Linux/x86_64.
>
> Enjoy!
>
> The Free Pascal Compiler Team
>
>                            Free Pascal Compiler
>
>                                Version 2.4.4rc1
>
> ******************************************************************************
>                              What's New in 2.4.4rc1
> ******************************************************************************
>
> Free Pascal 2.4.4 contains most library fixes from early June 2010 till March
> 2011. There are also some compiler fixes, most relating to 64-bit.
>
> Please also see http://wiki.freepascal.org/User_Changes_2.4.4 for a list
> of changes which may affect the behaviour of previously working code, and
> how to cope with these changes.
>
> Some highlights are:
>
> Packages:
>  * Many improvements to the XML units
>  * Many improvements to the database units.
>        * Specially sqlite got quite some fixes.
>  * Many improvements to the chm units.
>        * Including a commandline CHM compiler
>  * Many improvements to fppkg and fpmake for another round of testing.
>
> Platforms:
>  * Fixes for multi-threading support in OS/2 RTL.
>
> See http://bugs.freepascal.org/changelog_page.php for the list of reported
> bugs which have been fixed in this release.
>
>
> ******************************************************************************
>                              What's New in 2.4.2
> ******************************************************************************
>
> Free Pascal 2.4.2 contains many fixes and a few new features. Most bugfixes
> in the RTL and packages before June 2010 have been merged.
>
> Please also see http://wiki.freepascal.org/User_Changes_2.4.2 for a list
> of changes which may affect the behaviour of previously working code, and
> how to cope with these changes.
>
> Some highlights are:
>
> Compiler:
>  * Support D2006+ FOR..IN, with some FPC specific enhancements. Refer to
>     http://wiki.freepascal.org/for-in_loop for more information
>  * Support for sealed and abstract classes.
>
> Packages:
>  * The existing Mac OS X Universal Interfaces units have been synchronised
>    with the Mac OS X 10.6 SDK. Several new units have also been added, and
>    where indicated in the Mac OS X 10.6 SDK they have also been enabled for
>    iPhoneOS/iOS.
>  * Many improvements to the XML units
>  * Many improvements to the database units
>  * Many improvemnets to the chm units
>
> Platforms:
>  * Long term bug in OS/2 implementation of unit Video finally fixed which
>    among others allows inclusion of the text-mode IDE (without debugger)
>    for this platform as part of the distribution again.
>
> See http://bugs.freepascal.org/changelog_page.php for the list of reported
> bugs which have been fixed in this release.
>
>
> ******************************************************************************
>                              What's New in 2.4.0
> ******************************************************************************
>
> Free Pascal 2.4.0 contains many fixes and new features. While we did not
> manage to incorporate all planned additions, we believe this release offers a
> nice collection of new functionality and bug fixes.
>
>
> Please also see http://wiki.freepascal.org/User_Changes_2.4.0 for a list
> of changes which may affect the behaviour of previously working code, and
> how to cope with these changes.
>
> Some highlights are:
>
> Platforms:
>  * New platform: Mac OS X/PowerPC64
>  * New platform: Mac OS X/x86_64
>  * New platform: Mac OS X/ARM (iPhone)
>
> Compiler:
>  * Support for Delphi-style resource handling
>  * Whole-program optimization infrastructure, which initially supports
>    program devirtualization and unused virtual method removal
>  * Much faster compilation of units containing many type-sections
>  * The ability to suppress individual hints/warnings/notes
>  * Several improvements to the DWARF debug information generation
>  * Fixes to the generics support
>  * Fixes to the interface delegation (implements) support
>  * Improved cpu register allocation
>  * Improved ARM/EABI support
>
> RTL:
>  * Linearly scaling multi-threaded memory manager
>  * Support for (advisory) file locking on Unix-based platforms
>    when using the SysUtils file creation/opening routines
>  * Support for ANSI ISO Extended Pascal ReadStr/WriteStr
>  * A UnicodeString type that, while not yet equivalent to Delphi 2009's
>    UnicodeString type, offers reference counted UnicodeString support on
>    the Windows, Linux, Mac OS X, FreeBSD and Beos/Haiku platforms.
>
> Packages:
>  * Many improvements to the XML units
>  * Many improvements to the database units
>  * Updated the common Mac OS X Pascal interfaces to r241, including
>    an updated header translation of the CFNetwork framework
>  * The zipper unit now works correctly on big endian platforms
>
> See http://bugs.freepascal.org/changelog_page.php for the list of reported
> bugs which have been fixed in this release.
>
>
> ******************************************************************************
>                              What's New in 2.2.4
> ******************************************************************************
>
> Free Pascal 2.2.4 contains many bug fixes and some new features. The
> main purpose of this release is to fix problems reported with FPC 2.2.2.
>
> Please also see http://wiki.freepascal.org/User_Changes_2.2.4 for a list
> of changes which may affect the behaviour of previously working code, and
> how to cope with these changes.
>
> Some highlights are:
>
> All:
>  * Experimental packages-installation tool
>
> Packages:
>  * Added support for TIFF reading/writing in fcl-image
>  * Improvements and fixes in CHM support
>  * Fixed linking the gtk2-package with gtk versions above 2.13.4
>
> IDE:
>  * Added support for CHM help files
>
> Documentation
>
> See http://bugs.freepascal.org/changelog_page.php for the list of reported
> bugs which have been fixed in this release.
>
>
> ******************************************************************************
>                              What's New in 2.2.2
> ******************************************************************************
>
> Free Pascal 2.2.2 contains many bug fixes and some new features. The
> main purpose of this release is to fix problems reported with FPC 2.2.0,
> and to remove all potentially tainted code from our source code base.
>
> Please also see http://wiki.freepascal.org/User_Changes_2.2.2 for a list
> of changes which may affect the behaviour of previously working code, and
> how to cope with these changes.
>
> Some highlights are:
>
> All:
>  *  All code potentially infringing on CodeGear copyrighted code has been
>     reimplemented using a cleanroom approach.
>
> Platforms:
>  * Incompatibilities with Mac OS X 10.5's new default linker have been
>    resolved.
>
> Compiler:
>  * PIC support for Mac OS X (on by default, disable with -Cg-)
>  * several bugs in the experimental generics support have been fixed,
>    but this feature is still in beta
>  * initialisation and finalisation of shared libraries has been fixed
>    for all Darwin platforms, and for Linux/i386
>  * support for {$packset x} directive to enable set packing
>    (use {$packset 1} for Delphi-compatible sets, but note that the
>     format is different on little and big endian platforms)
>
> RTL:
>  * thread resource leaking under unix has been fixed
>  * the widestring manager for unix has been completed
>  * several floating point to string conversion errors have been fixed
>  * significantly improved variant support
>  * implementation of RTL exception handler for OS/2 allowing proper
>    translation of some runtime errors
>  * various fixes for GO32v2 improving useability of this target
>  * OS/2 RTL enhanced to allow seamless working with large files (64-bit
>    file system API calls) where available (WSeB/MCP/eCS/Warp 4 with FP15)
>
> Packages:
>  * the Windows API interface units have been significantly updated
>  * Apple universal interfaces updated to r234 of the common FPC/GPC/MW
>    interfaces
>  * New TRegexEngine class to parse regular expressions
>
> Documentation
>  *  Documentation was updated completely to conform to the actual
>     state of the compiler and RTL.
>
> See http://bugs.freepascal.org/changelog_page.php for the list of reported
> bugs which have been fixed in this release.
>
>
> ******************************************************************************
>                              What's New in 2.2.0
> ******************************************************************************
>
> Free Pascal 2.2.0 contains a lot of bug fixes and new features. The work on
> Free Pascal 2.2.0 started halfway during the year 2005. A lot has been improved
> since then.
>
> Please also see http://wiki.freepascal.org/User_Changes_2.2.0 for a list
> of changes which may affect the behaviour of previously working code, and
> how to cope with these changes.
>
> Platforms:
>  * New platform: Win64. FPC is the first open source compiler for 64-bit
>     Windows operating systems.
>  * New processor architecture: 64-bit PowerPC
>    * PowerPC/64 support for Linux
>  * Mac OS X on Intel (i386) is now supported
>  * New platform: Windows CE (Windows Mobile)
>  * New platform: Nintendo Game Boy Advance
>  * New platform: Nintendo DS
>  * Native support for ARM-platform
>  * GO32V2 DOS platform got a long needed update
>
> Compiler:
>  * Internal linker for win32, win64 and wince, resulting in smaller
>    executables, less memory used during compilation, and faster compile
>    times for programs using large frameworks like for example the Lazarus
>    Component Library.
>  * Generics (experimental)
>  * Bit packed arrays and records
>  * Resourcestrings can now be smartlinked, resulting in smaller executables
>  * Multiple resource files support
>  * pointer[low..high] syntax to pass C-style pointer arrays to procedures
>    using open arrays
>  * Interface delegation
>  * Proper safecall implementation
>  * Wide strings are COM/OLE compatible on Windows
>  * Added several speed optimisations, for example:
>    * Compiler can omit stack frames (x86 and ARM)
>    * Compiler can store records in registers
>    * Tail recursion expansion
>    * Register renaming optimizations
>  * Improved optimizer for ARM CPU
>  * Compiler can initialise local variables, function results, and "out"
>    parameters with several values (command line parameters -gt till -gtttt)
>    to help find uses of uninitialised variables
>  * Compiler can now properly deal with paths > 255 characters in all cases
>  * Dwarf debug format support
>  * Reduced memory usage during compilation
>  * Lot of small bugs and compatibility fixes
>
> RTL:
>  * Heap uses less memory
>  * Improved variants support
>  * Improved currency support
>  * Exception handling can be used without SysUtils unit
>  * Lot of small bug and compatibility fixes
>
> FCL:
>  * Improved database support
>  * The obsolete sqlitedataset, interbase, fpodbc, ddg, mysqldb3 and mysqldb4
>    units are removed
>  * Lot of small bugs and compatibility fixes
>
> Packages:
>  * Added a new fppkg package manager
>  * Improved database support
>  * Added Delphi compatible RichEdit unit
>  * Apple universal interfaces updated to r204 of the common FPC/GPC/MW
>    interfaces
>  * Lot of small bugs and compatibility fixes
>
> Free Vision:
>  * Now uses resourcestrings
>
> IDE:
>  * Evaluate window
>  * Improved HTML rendering
>  * Improved xterm support
>  * Small bug fixes
>
> Misc:
>  * Improved documentation
>  * Better cross compilation support
>
> For a detailed list of reported bugs that are fixed in this release see the
> bugtracker report at http://www.freepascal.org/mantis/changelog_page.php
>
>
> ******************************************************************************
>                              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
>
>
> ******************************************************************************
>                      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
>
>
> ******************************************************************************
>                      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
> _______________________________________________
> fpc-pascal maillist  -  fpc-pascal at lists.freepascal.org
> http://lists.freepascal.org/mailman/listinfo/fpc-pascal



More information about the fpc-pascal mailing list