Development

Free Pascal is always under development. If you want to see how the development is progressing you can take a peek at the developer versions.

Note: There is no support for the development versions.

Note: Always start using the latest official release when compiling a development version. Any other starting compiler is not guaranteed to work.

You have the following options:


Download Daily Source Snapshot of Development Tree (trunk)

You can download today's development (trunk - currently v3.3.x) sources in the form of a packed source snapshot from our FTP server (and its mirrors). These source snapshots are updated on a daily basis, and reflect the state of the source repository.

Entire fpc sources archive of trunk: fpc.zip (31 MB).

Furthermore, there is an even larger archive including the fpc sources together with documentation sources and release-building-related files in the same directory - fpcbuild.zip.

Download Daily Source Snapshot of the Fixes Tree

You can download today's fixes branch (currently v3.2.x) sources in the form of a packed source snapshot from our FTP server (and its mirrors). These sources may eventually be used to build the next stable (fixes) release. These source snapshots are updated on a daily basis, and reflect the state of the source repository.

Entire fpc sources archive of the fixes branch: fpc.zip (31 MB)

Furthermore, there is an even larger archive including the fpc sources together with docs sources and release building related files in the same directory - fpcbuild.zip.



Download Daily Update of Development Tree (trunk)

These compiled snapshots contain the latest development updates and bug fixes. There is no guarantee that the new development updates are fully working and that the snapshot is bugfree.

The files are available from our ftp site and mirrors.

Download Daily Update of the Fixes Tree

These compiled snapshots contain the latest bug fixes, without major new features. They may be more stable than the development snapshots (and even than the last official release), but there is still no guarantee that these snapshots are bug free.

The files are available from our ftp site and mirrors.



Connect to Source Repository with Git

As an alternative to the daily zip files of the FPC sources, the git repository is accessible for everyone, with read-only access; All Free pascal related source material is available on Gitlab:

https://gitlab.com/freepascal.org/fpc
This means that you can always have access to the latest source code. It is also a method which requires less bandwidth once you have done the first download (called a "clone" in git lingo).

You can find more information about the FPC gitlab setup and how to use git in our FPC and git Wiki page

Development snapshots

How do you obtain the sources via git? Generally, you need 3 steps:
(once you have Git installed, of course. Look here for a list of git clients.)

  1. To retrieve the full fpc source repository, type
    git clone https://gitlab.com/freepascal.org/fpc/source.git fpc
    
    This will create a directory called "fpc" in the current directory, containing subdirectories with the following components:
    • rtl, the run time library source code for all platforms.
    • compiler, the compiler source code.
    • packages, packages source code (contains Free Component Library, gtk, ncurses, mysql and many more)
    • utils, the utilities source code.
    • tests, the compiler and RTL tests.
    • installer, the text mode installer source code.

    Normally, you should perform this checkout step just once.

  2. To update the sources that were downloaded (checked out) above to the latest available version, use
    git pull
    
    inside the repository directory. This command will retrieve patches ONLY for the files that have changed on the server.

    You can repeat this step whenever you want to update your sources. It is by far the most economic way to remain up-to-date in terms of bandwidth.

Fixes to 3.2.x

The sources of the fixes branch can be checked out in the same directory using the usual git `checkout` command:

cd fpc
git checkout svn/fixes_3_2
and to update:
git pull

To checkout a release, you have to checkout the tagged versions, e.g.

cd fpc
git checkout release_3_2_2

The sources of docs are in a separate repository called "documentation", so the command to get them is

git clone https://gitlab.com/freepascal.org/fpc/documentation.git

If you want to learn more about git, read this excellent Git book, which is also available online in different formats for free.


Other repositories

The Gitlab Freepascal.org group hosts more repositories than only the fpc source repository. Amongst others the Lazarus project is also hosted there. Please navigate to the gitlab group to see them all.

Browse the Source Repository with a Web Browser

The contents of the git archive can also be browsed with your web-browser by simply visiting the gitlab group.


Bugs and the Future

Bugs can be reported in the Gitlab bugtracker.
Future plans for Free Pascal can be viewed here.
If you are interested in FPC development, you may also be interested in the wiki.