Recent

Author Topic: Status of FPC 3.4.0 or FPC 4.0.0 [major release]  (Read 22366 times)

robert rozee

  • Sr. Member
  • ****
  • Posts: 377
Re: Status of FPC 3.4.0 or FPC 4.0.0 [major release]
« Reply #45 on: February 03, 2026, 01:46:27 pm »
from reading this thread, it seems that the major issue with FPC progress is "feature creep". now i have been a part of hardware projects where i've seen feature creep well nigh destroy the project. in one case it was only 'defeated' by a hard-nosed manager who 1) physically cut off communications between the development team and the rest of the company, and 2) ruthlessly trimmed any existing 'feature' that could not be rapidly fixed. the end result was a product that shipped within a year and kept 99% of customers happy.

i'd like to ask one main question: what features are now being added to FPC? more specifically: it seems like Version 3.2.2 of FPC (released on May 20, 2021 according to wikipedia) is fully functional - it seems to be the one that introduced support for macOS on AArch64 (M1 et al). and is nearly 5 years old.

for each feature added subsequent to FPC 3.2.2, what does said feature add to the usefulness of the compiler? what can NOT be accomplished WITHOUT said feature?

perhaps a useful approach would be to simply take 3.2.2 and funnel programming resources into bug fixes. nothing more; essentially abandon 3.3.x completely, and back-port JUST bug fixes from 3.2.x (x>2) code.

how far would such an approach get us? how much would we really 'lose' by abandoning any feature added since May 20, 2021?


cheers,
rob   :-)

Thaddy

  • Hero Member
  • *****
  • Posts: 19249
  • Glad to be alive.
Re: Status of FPC 3.4.0 or FPC 4.0.0 [major release]
« Reply #46 on: February 03, 2026, 02:02:17 pm »
@robert rozee
There won't be new features, just bug fixes in 3.2.4
Read what the devs wrote, not what the wishlisters wrote.
« Last Edit: February 03, 2026, 02:04:07 pm by Thaddy »
objects are fine constructs. You can even initialize them with constructors.

kupferstecher

  • Hero Member
  • *****
  • Posts: 618
Re: Status of FPC 3.4.0 or FPC 4.0.0 [major release]
« Reply #47 on: February 03, 2026, 02:29:25 pm »
how much would we really 'lose' by abandoning any feature added since May 20, 2021?

I guess we'd loose the developers...

robert rozee

  • Sr. Member
  • ****
  • Posts: 377
Re: Status of FPC 3.4.0 or FPC 4.0.0 [major release]
« Reply #48 on: February 03, 2026, 02:47:17 pm »
how much would we really 'lose' by abandoning any feature added since May 20, 2021?
I guess we'd loose the developers...

are you are suggesting that ALL the developers are more interested in adding features than in fixing existing bugs? in that case, the project is truly doomed!

it is perhaps more realistic to say that some developers will remain with 3.2.2 (or 3.2.4 as Thaddy suggests), while others will go down the 3.3.x / 3.4.0 / 4.0.0 path. time will tell which path is more successful - sometimes a smaller team can achieve more provided they are suitably focused.


cheers,
rob   :-)

Fred vS

  • Hero Member
  • *****
  • Posts: 3939
    • StrumPract is the musicians best friend
Re: Status of FPC 3.4.0 or FPC 4.0.0 [major release]
« Reply #49 on: February 03, 2026, 02:53:49 pm »
I propose that all FPC core developers cease work on the main FPC branch for one month and focus exclusively on branch 3.2.4.

I know this will be difficult; it's infinitely more stimulating to create new features and do "real" development.

But the house is on fire, and we must act urgently.

(And set yourself the challenge of producing a release at the end of the "branch 3.2.4 only" session.

Then, every 6 months, produce a new release of branch 3.2.x, with the latest fixes.

Of course, you will continue to develop the main 3.3.1 branch, but for 3.2.x, a new challenge: a release every 6 months.)

Amen.
« Last Edit: February 03, 2026, 03:24:20 pm by Fred vS »
I use Lazarus 2.2.0 32/64 and FPC 3.2.2 32/64 on Debian 11 64 bit, Windows 10, Windows 7 32/64, Windows XP 32,  FreeBSD 64.
Widgetset: fpGUI, MSEgui, Win32, GTK2, Qt.

https://github.com/fredvs
https://gitlab.com/fredvs
https://codeberg.org/fredvs

JuhaManninen

  • Global Moderator
  • Hero Member
  • *****
  • Posts: 4715
  • I like bugs.
Re: Status of FPC 3.4.0 or FPC 4.0.0 [major release]
« Reply #50 on: February 03, 2026, 03:37:28 pm »
I propose that all FPC core developers cease work on the main FPC branch for one month and focus exclusively on branch 3.2.4.
It has been proposed many times during the past 5 years. It does not help. The latest excuse is that some commits for macOS should be merged first but they don't do even that. :(

Quote
But the house is on fire, and we must act urgently.
What kind of urgent measures do you propose?
I seriously propose that somebody forks FPC project and starts to publish releases. That is the whole essence and power of GPL. It can be freely copied and forked.
The new project would commit all valid patches to fix known bugs. First it would concentrate to 3.2.4 equivalent (it may have new version numbering) out.
Next it would temporarily disable any new unstable syntax from the trunk development branch and start to prepare for a new major release.
The temporarily disabled syntax features can be enabled and developed again later. They only should not hinder stable releases on the way.
The top priorities of the new forked project would be :
  • Take valid patches seriously. Either apply or reject a patch relatively quickly.
  • Release often. A minor dot-release must contain only bug fixes.
So, why don't I do it myself? My skills and energy are not enough for that. I can contribute to Lazarus project but only part of the year.
I have sometimes built FPC for Linux and even Windows but that's it. I don't even do cross-compiling. And I don't know how to administer repositories like GitLab.
Mostly Lazarus trunk and FPC 3.2 on Manjaro Linux 64-bit.

Fred vS

  • Hero Member
  • *****
  • Posts: 3939
    • StrumPract is the musicians best friend
Re: Status of FPC 3.4.0 or FPC 4.0.0 [major release]
« Reply #51 on: February 03, 2026, 03:58:07 pm »
I seriously propose that somebody forks FPC project and starts to publish releases. That is the whole essence and power of GPL. It can be freely copied and forked.

Hello Juha.
I have this with last fix of fpc 3.2.4 + some fixes that are not commited (for OpenBSD for example) + some features (that I like but some core devs dont).

For the releases, a script does all the work, so I dont understand why it is so difficult for fpc dev to do it.
And even if some bugs are still there (your MacOS example-excuse), a new release will come soon.


I use Lazarus 2.2.0 32/64 and FPC 3.2.2 32/64 on Debian 11 64 bit, Windows 10, Windows 7 32/64, Windows XP 32,  FreeBSD 64.
Widgetset: fpGUI, MSEgui, Win32, GTK2, Qt.

https://github.com/fredvs
https://gitlab.com/fredvs
https://codeberg.org/fredvs

440bx

  • Hero Member
  • *****
  • Posts: 6528
Re: Status of FPC 3.4.0 or FPC 4.0.0 [major release]
« Reply #52 on: February 03, 2026, 03:59:02 pm »
@JuhaManninen,

What you suggest sounds very reasonable but, as you pointed out, forking FPC is not, for practical purposes, a one man job. 

v3.2.4 is supposed to be a, relatively speaking, easy/simple release.  It has the advantage of having everyone's agreement that it is needed. 

Maybe the first step is, as has already been suggested in this thread and, possibly others, to make a public list of what needs to be done along with what area needs the greatest effort/manpower.  With that knowledge, maybe a concerted community effort can make it a reality in a reasonable amount of time (iow, no more than a few months.)

« Last Edit: February 03, 2026, 04:00:36 pm by 440bx »
FPC v3.2.2 and Lazarus v4.0rc3 on Windows 7 SP1 64bit.

marcov

  • Administrator
  • Hero Member
  • *
  • Posts: 12894
  • FPC developer.
Re: Status of FPC 3.4.0 or FPC 4.0.0 [major release]
« Reply #53 on: February 03, 2026, 04:16:43 pm »
First of all, I would like to apologize if I am wrong, as I am not normally involved in compiler development/maintenance, especially with a compiler like fpc, which has to perform truly “incredible” tasks (platform, CPU, etc.).

Yes, and that leads to sheer scale, and it is a nearly 100% volunteer effort. (which results in an inability to direct much centrally)

Quote
Compared to other projects I have participated in,  the number of open tickets would “overwhelm” me. Especially since the tickets affect many different developers, which always raises the questions: “How serious is the problem?”, “Does it affect me?”, “Should/must I take care of it?”

The current bugtracker is a step back from the mantis that we had, certainly. E.g. it seems to be not possible to store some filter as default. Also the policy to leave far out feature requests lingering forever is IMHO not healthy.

Quote
In addition, ticket management is also deceptive. Although the problems are recorded in tickets for processing, in reality they are lying somewhere in a basement, and the motto is “out of sight, out of mind” – to put it bluntly.

One suggestion for the topics discussed earlier would be to make these tickets “visible.” FPC already has a functioning and configurable test system. There should be at least one test case for each ticket (associated with the ticket number). These tests should not be blockers under any circumstances. But test runs of these tests would show which problems still exist or which problems have been resolved “by chance” (by fixing other problems).

For that they first need to triaged, narrowed down etc. If you have a good test for it, it might already be pretty close to resolving. I don't think this will change anything. The principle is already there, but the practice is simply more complex.

Quote
The respective tickets can be “marked” accordingly, which would be necessary for a ‘stable’ version. And as soon as all currently (!) affected tickets are resolved, a new “stable” version can be defined.

If you have hypothetical perfect test coverage. But the problem is getting to the hypothetical stage.

In practice if you tag a branch/revision for release (and basically freeze it for deeper compiler work), it will take up to six months of wide usage to get a somewhat complete overview of how usable it is.

Quote
FPC is currently still trying to maintain semantic versioning, but as we can see, this is not working. In reality, semantic versioning no longer exists in FPC in my opinion, but they are sticking to this concept.

I don't understand this at all. Yes, many agile organisations move on from semantic versioning to a quarterly or semi annual scheme, but they are usually not 100% volunteer driven. It would be pointless.

Quote
Even if some FPC users would like old compiler versions to receive bug fixes for a certain period of time, I believe that this is unrealistic for a project like FPC.

The FPC developers should be realistic enough to face this fact, act/change accordingly, and communicate this appropriately.

The stable versions typically have a few compiler bugs fixes (more in the x.y.2, less in the x.y.4), and the rest are mostly library fixes that are mostly compiler independent, and thus merged. At least in the old situation with a release every 18 months meant that at least that part was somewhat continuously released.

JuhaManninen

  • Global Moderator
  • Hero Member
  • *****
  • Posts: 4715
  • I like bugs.
Re: Status of FPC 3.4.0 or FPC 4.0.0 [major release]
« Reply #54 on: February 03, 2026, 04:18:32 pm »
What you suggest sounds very reasonable but, as you pointed out, forking FPC is not, for practical purposes, a one man job. 
True, there must be a team, a group of people.

Quote
v3.2.4 is supposed to be a, relatively speaking, easy/simple release.  It has the advantage of having everyone's agreement that it is needed. 
Was that sarcasm?  %)

Quote
Maybe the first step is, as has already been suggested in this thread and, possibly others, to make a public list of what needs to be done ...
You behave like you don't understand the situation. It has been almost 5 years since the last release. The same things about "lists" and "community effort" have been written many times. What makes you think it is different now?
Mostly Lazarus trunk and FPC 3.2 on Manjaro Linux 64-bit.

Fred vS

  • Hero Member
  • *****
  • Posts: 3939
    • StrumPract is the musicians best friend
Re: Status of FPC 3.4.0 or FPC 4.0.0 [major release]
« Reply #55 on: February 03, 2026, 04:19:36 pm »
to make a public list of what needs to be done...

Yes, absolutely, a list of all the bugs still there and mainly all the fixes that are not yet committed.

OK, I begin:
Apply the fix given there:
https://gitlab.com/freepascal.org/fpc/source/-/issues/41017
I use Lazarus 2.2.0 32/64 and FPC 3.2.2 32/64 on Debian 11 64 bit, Windows 10, Windows 7 32/64, Windows XP 32,  FreeBSD 64.
Widgetset: fpGUI, MSEgui, Win32, GTK2, Qt.

https://github.com/fredvs
https://gitlab.com/fredvs
https://codeberg.org/fredvs

marcov

  • Administrator
  • Hero Member
  • *
  • Posts: 12894
  • FPC developer.
Re: Status of FPC 3.4.0 or FPC 4.0.0 [major release]
« Reply #56 on: February 03, 2026, 04:20:53 pm »
are you are suggesting that ALL the developers are more interested in adding features than in fixing existing bugs? in that case, the project is truly doomed!

It never has been any different. Usually before the branching of a new stable branch there would be a drive to reduce bugs.

Quote
it is perhaps more realistic to say that some developers will remain with 3.2.2 (or 3.2.4 as Thaddy suggests), while others will go down the 3.3.x / 3.4.0 / 4.0.0 path. time will tell which path is more successful - sometimes a smaller team can achieve more provided they are suitably focused.

That's always the case, in the early years till say 2.4/2.6 .0 releases were even routinely skipped by Lazarus.

In this thread everybody thinks he is a project manager without really knowing the project, suggesting management solutions in a project that isn't topdown managed in the first place, and where the problem mostly is manpower, not lack of management.

Fred vS

  • Hero Member
  • *****
  • Posts: 3939
    • StrumPract is the musicians best friend
Re: Status of FPC 3.4.0 or FPC 4.0.0 [major release]
« Reply #57 on: February 03, 2026, 04:25:47 pm »
What makes you think it is different now?

Because all FPC core developers are very intelligent people and they have finally understood that the time has come to act NOW, without looking for excuses (even lack of manpower).  ;)
I use Lazarus 2.2.0 32/64 and FPC 3.2.2 32/64 on Debian 11 64 bit, Windows 10, Windows 7 32/64, Windows XP 32,  FreeBSD 64.
Widgetset: fpGUI, MSEgui, Win32, GTK2, Qt.

https://github.com/fredvs
https://gitlab.com/fredvs
https://codeberg.org/fredvs

JuhaManninen

  • Global Moderator
  • Hero Member
  • *****
  • Posts: 4715
  • I like bugs.
Re: Status of FPC 3.4.0 or FPC 4.0.0 [major release]
« Reply #58 on: February 03, 2026, 04:40:48 pm »
Because all FPC core developers are very intelligent people and they have finally understood that the time has come to act NOW, without looking for excuses (even lack of manpower).  ;)
OK   :)
BTW, I briefly checked your https://github.com/fredvs/freepascal-ootb
Nice! You should coordinate FPC releases!
Mostly Lazarus trunk and FPC 3.2 on Manjaro Linux 64-bit.

440bx

  • Hero Member
  • *****
  • Posts: 6528
Re: Status of FPC 3.4.0 or FPC 4.0.0 [major release]
« Reply #59 on: February 03, 2026, 04:41:28 pm »
v3.2.4 is supposed to be a, relatively speaking, easy/simple release.  It has the advantage of having everyone's agreement that it is needed. 
Was that sarcasm?  %)
No, it isn't.  I was just pointing out that the current goal, which is releasing v3.2.4 is simple compared to creating and managing a fork.  I suppose since that is obvious, it could be seen as sarcasm even though it wasn't intended that way.  At least, unlike in a new fork, there is some coherence among the participants/developers of the current project, something which is far from a given in a new fork.

You behave like you don't understand the situation. It has been almost 5 years since the last release. The same things about "lists" and "community effort" have been written many times. What makes you think it is different now?
And to some extent I don't understand the situation because I've never been involved in FPC's release process.  Like you, I know it's been 5 years but, as I write this, it is really unclear to me the reasons it has been that long.  That, in spite of the fact that, a number of reasons have been cited for quite some time now but, IMO, it's hard to see how they justify a 5 year span.

IMO and possibly overly simplistic view, I believe that compiler bug fixes are not given as much importance as they deserve.  I say this because, it seems unlikely that a release that consists of _only_ bug fixes can justifiably take 5 years, particularly when there is no shortage of bugs to fix.

I'll state the obvious again, whatever the problems are, we really need to do better than this if we want FPC to remain a viable alternative.  I suggest  that in the future the project focus more on a steady stream of bug-fix releases.
FPC v3.2.2 and Lazarus v4.0rc3 on Windows 7 SP1 64bit.

 

TinyPortal © 2005-2018