FPC 3.2.4-rc1 available

Topic: FPC 3.2.4-rc1 available  (Read 23578 times)

As some might have noticed, we have placed the first release candidate of the Free Pascal Compiler version 3.2.4 on our download servers already for some time.

You can help improve the upcoming 3.2.4 release by downloading and testing this release. If you want you can report what you have done here or in the maillist.

Changes that may break backwards compatibility will be documented here.

Downloads are available here.

The evaluation time frame for this release is at least two weeks, so bug reports within that period will be looked at before the final release is branched.

Enjoy!

The Free Pascal Compiler Team

Release Notes:


                           

Free Pascal Compiler

                                Version 3.2.4


Free Pascal 3.2.4 is a minor release of the 3.2.x fixes branch. As such, it contains mostly fixes of bugs discovered in the previous version, plus some updates for included packages.

There are currently no known changes which might result in incompatibility with the previous version 3.2.2.

The main highlights of this version:

  • large number of issue and bug fixes
  • FPC development switched to git, all tools adapted accordingly
  • fixes to avoid year 2038 problem
  • updated translations of compiler messages
  • Issues with newer glibc fixed

Platforms:

  • Support for new AVR targets: megaAVR 0 and tinyAVR 0/1
  • FreeBSD 12 support
  • Darwin: made -gl working

Utilities:

  • FPDoc: markdown support
  • fpcres: several improvements

Packages:

  • fcl-image improved, e.g. resolution support and orientation flag support
  • fcl-base: thread pool support
  • fcl-pdf: pdf reader
  • vcl-compat significantly improved

    Logged


    Great! Thanks to the whole team!

    Logged

    function GetRandomNumber: integer; // xkcd.com
    begin
      GetRandomNumber := 4; // chosen by fair dice roll. Guaranteed to be random.
    end;

    http://www.formatio-reticularis.de

    Lazarus 4.2.0 | FPC 3.2.2 | PPC, Intel, ARM | macOS, Windows, Linux


    Great progress PD, thanks !  A couple of comments -

    • The Testers page seems to have its content duplicated.
    • There is not a link to the download page from the Testers page
    • The download  page has all its text in a very finely stroked font and, critical information is in pale blue on a grey background, on at least one of my monitors almost impossible to read.

    But putting that aside, progress !

    Davo

    Logged


    Its worth noting that Testers page points you to another wiki page, https://wiki.freepascal.org/index.php?title=How_to_start that tells you how to run the "testsuite".

    For that you need a source install (not the packages at https://downloads.freepascal.org/fpc/beta/3.2.4-rc1) and the process is not completely clear. But quite doable ! (assuming Linux here.)

    Firstly, you will be running make in the fpc324rc1 source tree, and that requires you to use fpc322. So, fiddle the PATH accordingly if you have it installed. Its will almost certainly build OK.

    Then, to run the testsuite, restore your PATH so it points again, to fpc324 but the makefile also requires you to point to new compiler on the command line -

    1. $> make clean all digest TEST_FPC=/home/dbannon/fpc-3.2.4/bin/fpc

    The Wiki page tells you to compare testsuite to previous results but I don't have any previous results !  So, I'll post to the Testers page. I think...

    Davo

    Logged


    One remark:
    In a Release Candidate, should not the VER_3_2_4 conditional be defined?
    Also the %FPCVERSION% macro seems to return 3.2.3. :(
    To my understanding, a RC is exactly the same as a final Release, but without official approval. It may be committed without any modification in its final state, if there is no stopping bug.

    I tested it with mORMot trunk, and all tests did pass successfully on Linux x86_64.
    So this release sounds in a good shape:
    https://gist.github.com/synopse/a43b0ec86edd995fc7de346ab8862fc5
     ;D

    « Last Edit: June 24, 2025, 11:34:33 am by abouchez »

    Logged


    Yes, I already pointed out the fixes branch should be 3.2.5 because a release rc is basically frozen.
    From that branch you can then do backports to the RC until final release.

    Logged

    If Europe sells their USA bonds the USD will collapse. Europe can affort that given average state debts. The USA can't affort that. Just an advice...


    Packages:
    • fcl-pdf: pdf reader

      Any example for that?

      Logged


      Packages:
      • fcl-pdf: pdf reader

        Any example for that?

        1. c:\repo\fpc\packages\fcl-pdf\examples>grep -i read *

        2. pdfdump.pp

        3. F:=TFileStream.Create(FN,fmOpenRead or fmShareDenyWrite);

        4. simpleread.pp

        5. procedure ReadPDF(const aStream: TStream; aDoc: TPDFDocument);

        6. Writeln('Usage : simpleread filename');

        7. ReadPDF(F,Doc);

        8. simpleread2.pp

        9. Writeln('Usage : simpleread filename');

        10. testfppdf.lpr

        11. fpreadjpeg,

        The last one seems to read jpgs to write them into the PDF, but the rest looks like reading demos.

        Logged


        TFT Sven, I'll try to take a look.

        MarkMLl

        Logged

        MT+86 & Turbo Pascal v1 on CCP/M-86, multitasking with LAN & graphics in 128Kb.
        Logitech, TopSpeed & FTL Modula-2 on bare metal (Z80, '286 protected mode).
        Pet hate: people who boast about the size and sophistication of their computer.
        GitHub repositories: https://github.com/MarkMLl?tab=repositories


        Logged


        Logged


        Logged


        Logged


        Logged


        Logged

        If Europe sells their USA bonds the USD will collapse. Europe can affort that given average state debts. The USA can't affort that. Just an advice...