Recent

Author Topic: FPC 3.2.4-rc1 available  (Read 37206 times)

marcov

  • Administrator
  • Hero Member
  • *
  • Posts: 12851
  • FPC developer.
Re: FPC 3.2.4-rc1 available
« Reply #90 on: April 18, 2026, 06:57:37 pm »
I think it's a negative mindset if the tested patches allow, for example, the use of an operating system (OpenBSD) that hasn't been accessible for five years.

Good luck with that. I hope it makes 3.2.4. If it is not in RC1, chances are slim IMHO.

Hey, stop with the same old song, "It's because of GitLab."

Not gitlab per se , but the haphazard way it was forced through. I don't was not in favour of the gitlab itself, true, but I was ready to defer to other people's wishes and be constructive. But I warned back then that rushing it through and only caring about "MR to main" and forward branches could hurt releases. I stepped down, and guess what happened.......

I don't think the others stopped releasing because of my gitlab negativity. So, maybe it is something else? What could it be ?

Quote
the new vision is "we experiment as much as possible," a la Elon Musk (your good friend, I know).

At least he has the cash to back it up. Mark Shuttleworth (of Ubuntu fame) might be a better IT relevant example though.

Quote
For the rest of your post, I agree with you, producing a release is a tedious task that requires a lot of energy and time.

But it's part of the game and absolutely must be done, without excuses.

And I did it for years. And I stopped because I got no cooperation during the gitlab migration, and nobody picked it up in an effective way afterwards. And that despite I did carry out my regular fixes merge jobs as good as possible as soon as it was made possible. It is not hard to verify, just check the FIXES_3_2 logs, and you'll see who did most of the merging of 3.2.4RC1.
« Last Edit: April 18, 2026, 08:16:53 pm by marcov »

Fred vS

  • Hero Member
  • *****
  • Posts: 3919
    • StrumPract is the musicians best friend
Re: FPC 3.2.4-rc1 available
« Reply #91 on: April 18, 2026, 07:08:05 pm »
Quote
For the rest of your post, I agree with you, producing a release is a tedious task that requires a lot of energy and time.

But it's part of the game and absolutely must be done, without excuses.

And I did it for years. And I stopped because I got no cooperation during the gitlab migration, and nobody picked it up in an effective way afterwards.

Sorry to be blunt, but as the release manager, you, more than any other developer, should have eagerly embraced this new GitLab world and fully grasped it. Instead of waiting for others to do your work.
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: 12851
  • FPC developer.
Re: FPC 3.2.4-rc1 available
« Reply #92 on: April 18, 2026, 08:08:03 pm »
Quote
And I did it for years. And I stopped because I got no cooperation during the gitlab migration, and nobody picked it up in an effective way afterwards.

Sorry to be blunt, but as the release manager, you, more than any other developer, should have eagerly embraced this new GitLab world and fully grasped it. Instead of waiting for others to do your work.

And I did, once after 1.5 years, Florian finally created a viable procedure for merging. I saw he updated some release engineering pages and scripts for 3.2.4rc1, so some things finally have been done. It is all down to the final execute. As I'm not release manager, I didn't keep tabs during the post 3.2.2 cycle, so I couldn't take over even if I wanted to.

Anyway, both you, Graeme and Michael are barking up the wrong tree. My current commit rates are low, and even though other minority committers like Nikolay and Tomas already expressed doubts. Convince people like Pascaldragon and you might have a shot.

Good luck, but as said, if Michael was sure of the acceptance of this avenue , he would have put the proposal before the committers immediately. Apparently he considers it a long shot, and the whole fpc-devel thread is an exercise in gaslighting to build his case with "popular support". As Trump and Elon prove, demagogy can get you anything.
« Last Edit: April 21, 2026, 09:09:44 am by marcov »

wpostma

  • New Member
  • *
  • Posts: 13
Re: FPC 3.2.4-rc1 available
« Reply #93 on: April 21, 2026, 03:22:54 am »
Well maybe now 3.2.4 RC2 is imminent. Thanks to those making it so.

dbannon

  • Hero Member
  • *****
  • Posts: 3805
    • tomboy-ng, a rewrite of the classic Tomboy
Re: FPC 3.2.4-rc1 available
« Reply #94 on: April 21, 2026, 08:41:56 am »
Hmm, can I please clarify here ?  Correct me if I am wrong.

Marcov used to be the FPC Release Manager (history says a pretty good one too). At some point in time he decided he did not want that job. It does not matter why he so decided, he had every right to do so.

Thats about it isn't it ?  Sure, Release has become a problem but maybe this discussion needs to be about the future, not the past ?

Davo
Lazarus 3, Linux (and reluctantly Win10/11, OSX Monterey)
My Project - https://github.com/tomboy-notes/tomboy-ng and my github - https://github.com/davidbannon

JuhaManninen

  • Global Moderator
  • Hero Member
  • *****
  • Posts: 4715
  • I like bugs.
Re: FPC 3.2.4-rc1 available
« Reply #95 on: April 21, 2026, 09:27:17 am »
Sure, Release has become a problem but maybe this discussion needs to be about the future, not the past ?
I am happy it is moving forward.
Yet I have been amazed by all the reasons about not having a release, which felt like lame excuses to me.

See how Lazarus project does it. The human resources are equally limited.
- First, developers themselves push their bug fix commits to fixes branch, or at least decide which commits are pushed. In SVN times there was a Wiki page where the commits were listed and then a middle man merged them. That was a useless extra step. A developer himself knows the best if his commit is a pure bug fix and should be merged. He must pay attention to the future fixes release while fixing bugs.
- At some point there are enough commits and enough time have passed. An RC1 for a new release is built and announced for people to test. All developers try to make the release as stable and good as possible because they are responsible people. No special discipline or orders are needed. Users report their findings. They also want a stable and good release. RC2 is released, more bugs are fixed. Then RC3 ... typically that is enough and the actual release is built. There was nothing agonizing about this process. After fixing a bug it is super easy to merge. Users also love to help for a good release.
- The build process itself is now done by Mattias and Martin for 3 major platforms: Windows, MaxOS and Linux (DEB + RPM). I admit I don't know how to do it. Maybe I should study it. There are scripts involved and the binaries are made rather quickly. Clearly building the binaries does not hinder the process.

Now compare that to FPC release. So many artificial problems! For example the excuse that a timely release would be a "snapshot". OK, a well tested "snapshot" can be called a release. The RC1, RC2 etc. "snapshots" are part of the testing phase. That's what Lazarus project and most other open source SW projects do. Is a release totally bug free? Of course not. Now Lazarus project has 2100 open bug reports. Most of them will be still open when the next release comes out.
Mostly Lazarus trunk and FPC 3.2 on Manjaro Linux 64-bit.

dbannon

  • Hero Member
  • *****
  • Posts: 3805
    • tomboy-ng, a rewrite of the classic Tomboy
Re: FPC 3.2.4-rc1 available
« Reply #96 on: April 21, 2026, 10:46:47 am »
Yep, 100% agree Juha. Marco mentions that there is/are FPC Devs who commit only to main, not caring about Fixes. That seems to be a real problem and the reason, perhaps, that main is now so different.

I would expect anyone with commit access would understand that Fixes and Release is the real target for any patches, main just a testing platform. But because its so long since that transition from Fixes to Release happened, no one think about it. Or its technically difficult because of that disparity. 'Someone' needs to remind committers of the need to target Fixes. But that will not solve the problem we have now.

Now, its to get 3.2.4 out and, then, maybe, a new model consisting of a snapshot of main as a series of RC and a real release. And then strict rules about commits targeting the new Fixes. Wow, thats not going to be easy.

Plenty of people here willing to help, most likely testing ...

Davo
Lazarus 3, Linux (and reluctantly Win10/11, OSX Monterey)
My Project - https://github.com/tomboy-notes/tomboy-ng and my github - https://github.com/davidbannon

Thaddy

  • Hero Member
  • *****
  • Posts: 19150
  • Glad to be alive.
Re: FPC 3.2.4-rc1 available
« Reply #97 on: April 21, 2026, 11:02:49 am »
Yep, 100% agree Juha. Marco mentions that there is/are FPC Devs who commit only to main, not caring about Fixes. That seems to be a real problem and the reason, perhaps, that main is now so different.
Have you been living under a tree?
Of course all commits are against trunk. It is the task of a release manager to back-port candidates to a release candidate.
Michael has just asked suggestions for that for 3.2.4 RC2 and the suggestions are many.
Basically: one never commits to a RC unless approved by a release manager and done with his/hers permission or by him/herself. Even if you a core developer. Basic rule number one.
objects are fine constructs. You can even initialize them with constructors.

marcov

  • Administrator
  • Hero Member
  • *
  • Posts: 12851
  • FPC developer.
Re: FPC 3.2.4-rc1 available
« Reply #98 on: April 21, 2026, 11:31:59 am »
A.s. the  discussion raging now everywhere should be how to accelerate FPC major branches, not optimise the shit out of a fixes release process that, while far from optimal, isn't a reason why you couldn't have releases twice an year. That is all detracting from the real problems.

Most of the current discussions are by people that see the release gap as an easy ride to force through changes that they want because "it will fix the release process".

But the proposals are light on details, and fix any counter with software/scripting that must still be written. Even if it accelerates the first major branch after current main (so the one after 3.4.0), the migration will at first have a delaying effect. I doubt users will really see a better product because of it before 2030.

Ask yourself why after 4 years, the gitlab integration check only checks the compiler, and not the whole snapshot. The gitlab transition was managed by the same people....

Sure, Release has become a problem but maybe this discussion needs to be about the future, not the past ?
I am happy it is moving forward.
Yet I have been amazed by all the reasons about not having a release, which felt like lame excuses to me.

See how Lazarus project does it. The human resources are equally limited.
- First, developers themselves push their bug fix commits to fixes branch, or at least decide which commits are pushed. In SVN times there was a Wiki page where the commits were listed and then a middle man merged them. That was a useless extra step. A developer himself knows the best if his commit is a pure bug fix and should be merged. He must pay attention to the future fixes release while fixing bugs.

That step was not useless, there were reasons for that.

  • It was considered a good practice to first test fixes in main for a while, before merging (also think on effects on minor targets and compiler stability is very important)
  • Trouble during merging was generally lower when done in original commit order in old branches (FIXES_3_2 is almost 8 years old!). In the beginning conflicts are easily resolved, but any manual intervention creates problems down the line.
  • The older the fixes branch is, the bigger chance that some large rearrangement frequently causes problems. In Trunk, some commits changed arguments of hundreds, if not thousands of places from pchar to pansichar. Some additional big commits were about mass fixing Debian lint complaints
  • The person doing the fix might not be aware of above differences between branches, specially major rearrangements.
  • And then I'm not even talking about fundamental changes in the compiler. They are the biggest reason why only very few compiler changes are backported to fixes
  • Lower parts of the RTL are partially tied to the compiler
  • And of course obviously there are dialect changes. What if trunk uses trunk features and you merge them back?
  • I did a lot of merging in GIT post 3.2.2, and while git merge performance is slightly better than SVN (it gets not as often confused if there are massive changes in other parts of a file), it is not a game changer that matters for maintaining the fixes branch

Why Lazarus used a wiki page instead of simply reviewing the list of eligible revisions, I don't know.  It was also possible with mantis (at least in FPC) to set the status of a bugreport as "tomerge", avoiding manual administration. All it required was the bugfixer to enter the revisions into the bugreport and set the status.  Easier with gitlab to link those, but not a real gamechanger.

The point of this is that making fixes releases is not the problem, the core focus should be to accelerate FPC major branches to get to at least half the pace of Lazarus. But that means limits on when major features might be introduced and maybe a staging branch for such major features if they can't go into main yet.

The developers don't like to talk about that, because that would mean constraints on their work, and a lot of thinking of releases outside the release cycle. They are much happier to talk about technology that will make all the release headaches magically go away (or at least postpone such constraints and obligations for a while).

So the current discussions devolved into sprinkling gitlab magic on a process that was already not really a problem, with the convenient release gap as a stick to vilify the old process. But the fact is that everything for RC1 was merged, but Florian simply didn't formally announce it, and didn't follow it up with a release build, or allow post RC1 merges or reacting on release related mails.   And all of that process could have happened 1 year earlier too.

The problem is not the process, but that people simply don't execute it.

So those delays have nothing to with how release branches are prepared.   It is the last minute analysis "are we complete?", "is everything buildable?" and the "GO!" that followed it that simply wasn't done. As said usually that has a two times 6 week timeframe for a fixes release (6 wks RC1 and release, but sometimes either one can go faster if no issues are detected) . _IF_ executed.

All these points are deliberately talked down to push forward to more gitlab usage by some vocal advocates. But those advocates point to use in companies and organisations with dedicated branch maintainers to do the grunt work. I really wonder if this will fly long term, specially since the proposals are very light on how it would actually work in practice, and scenarios for when problems come up. Since gitlab doesn't take decisions, it is only a lists keeper.

Quote
- The build process itself is now done by Mattias and Martin for 3 major platforms: Windows, MaxOS and Linux (DEB + RPM). I admit I don't know how to do it. Maybe I should study it. There are scripts involved and the binaries are made rather quickly. Clearly building the binaries does not hinder the process.

In SVN times, a Windows release build takes about 2-3 minutes on a Ryzen 5700. Twice that for the x86 - x86_64  combi release (for hopefully obvious reasons). For windows, you do need an innosetup configuration, I assume it is the same for Lazarus.  OS X is a black art, but if I understood it right, adapting the constant flux of changes (newer releases, changes in packaging of tools needed for the build, making sure that the binaries are properly signed to pass gatekeeper) are the main complexity, not the build itself.

For the GIT build of RC1 add another 5 minutes to get a proper export of the tree to build in.  I don't know how to do that with git (including submodules!), but that might be on me.

FreeBSD roughly the same, maybe a bit slower due to the VMs lower I/O performance.

Quote
Now compare that to FPC release. So many artificial problems! For example the excuse that a timely release would be a "snapshot". OK, a well tested "snapshot" can be called a release.

You say they are artificial, but don't even know how Lazarus binaries are really made?

Technically snapshots differ from releases :

  • Snapshots are built daily, and are basically a toplevel "make all" in a tgz, so no additional work like innosetup, signing , no documentation, and a few other things.  Due to these lower they are somewhat easier to crosscompile on some leased Linux server.  In some cases there were multiple such snapshots for development versions (e.g. built with and without optimization).
  • For releases the additional things (examples, documentation etc) are added,  build conditions are more fixed (-Ur, a certain level of optimization), and more additional packaging(innosetup, signing etc)


For the rest it is just branch preparation, what to release. But for major releases that is the biggy. For fixes less so, and is usually resolved with a RC1, pretty much with anything sane merged, then a 6 week feedback period, and then the final release. Sometimes some build problems popup, usually OSX or iOS, but they are then resolved by giving the maintainer a few weekends time.

So executed tightly (as done for e.g. 3.2.2), that means a 6-12 week release process, most of which is waiting for feedback. Do you now understand why I say that the fixes process is not the problem?

Quote
The RC1, RC2 etc. "snapshots" are part of the testing phase. That's what Lazarus project and most other open source SW projects do. Is a release totally bug free? Of course not. Now Lazarus project has 2100 open bug reports. Most of them will be still open when the next release comes out.

It is not about _any_ bugs, but blocking bugs are more about things that limit an entire aspect of the compiler or new feature. This is specially one of the reasons for slow major branch turnover.

One of the reasons it is this way is Lazarus. Lazarus had a tendency to skip FPC releases (FPC 3.2.0 was the first .0 compiler that was wholly used by Lazarus). You can't want a stable compiler for Lazarus, but at the same time say that we should use a more laissez fare approach about bugs, and say "pity, just wait for the next". That is a bit inconsistent  :)

In addition to that, in FPC the RCs are both for feedback on blocker bugs, and to test the packaging. 

« Last Edit: April 21, 2026, 12:33:57 pm by marcov »

dbannon

  • Hero Member
  • *****
  • Posts: 3805
    • tomboy-ng, a rewrite of the classic Tomboy
Re: FPC 3.2.4-rc1 available
« Reply #99 on: April 21, 2026, 11:37:16 am »
Have you been living under a tree?
Yes, as a matter of fact I have been camped under a tree for the last week. A bush festival, displays of horse and dog skills, country music (both sorts). https://bushfestival.com.au
Quote
Of course all commits are against trunk. It is the task of a release manager to back-port candidates to a release candidate.
Firstly, I am suggesting that commits should be tested and adapted if necessary against FIXES, not an RC. And, maybe auto pushed to FIXES after a testing period. That way, fixes tracks main (with a delay) and the Release Manager's job is greatly eased. I have managed several projects with a model like that.

Taking a snapshot of, or freezing main works too. (But I'd expect a lot of push back from the Devs.) A good example is the Debian Release model, that have a series of stages with increasing difficulty of making changes, and a hierarchy of change types. And Debian is a fairly big project Thaddy.

Davo
Lazarus 3, Linux (and reluctantly Win10/11, OSX Monterey)
My Project - https://github.com/tomboy-notes/tomboy-ng and my github - https://github.com/davidbannon

Thaddy

  • Hero Member
  • *****
  • Posts: 19150
  • Glad to be alive.
Re: FPC 3.2.4-rc1 available
« Reply #100 on: April 21, 2026, 11:44:50 am »
Well, that is actually close to what I proposed. The problem is that the release will be build against 3.2.3 and the patches do NOT apply to the RC, which if done correctly should be build against 3.2.3, not a frozen RC, if I was not clear.
3.2.3 is ahead of RC1, precisely because of that.
I am quite sure that RC2 will be build against 3.2.3.
objects are fine constructs. You can even initialize them with constructors.

440bx

  • Hero Member
  • *****
  • Posts: 6488
Re: FPC 3.2.4-rc1 available
« Reply #101 on: April 21, 2026, 12:00:22 pm »
I want to thank @marcov for exposing some of the details related to the previous and current release process.  A rather welcome change from the tired "lack of manpower" thing.
FPC v3.2.2 and Lazarus v4.0rc3 on Windows 7 SP1 64bit.

marcov

  • Administrator
  • Hero Member
  • *
  • Posts: 12851
  • FPC developer.
Re: FPC 3.2.4-rc1 available
« Reply #102 on: April 21, 2026, 12:29:32 pm »
That way, fixes tracks main (with a delay) and the Release Manager's job is greatly eased. I have managed several projects with a model like that.

There is a bit of a responsibility issue. It changes the goal of the release manager of finding things to merge to make the release as good as possible, to what is spoon fed by the developers.

So whatever happens, the eligible revisions list must remain.

Btw, Debian is primarily a packaging project, not a software development process. They simply package something old and stable if a new release is not available.
« Last Edit: April 21, 2026, 12:31:31 pm by marcov »

robert rozee

  • Sr. Member
  • ****
  • Posts: 376
Re: FPC 3.2.4-rc1 available
« Reply #103 on: April 21, 2026, 01:00:43 pm »
i posted to the fpc-devel list a suggestion on how to move forward :

From rozee@****.***  Fri Apr 17 17:17:56 2026
[...]
why not ask Claude to create a treatise detailing all the BUGS that it can
identify through examining the source code differences between FPC 3.2.2 and
the 4/5 years of subsequent code changes on GitLab? this would provide a
blueprint of fixes that could be applied to create a short-term successor to
the HIGHLY successful FPC 3.2.2. or it could be used as an errata document
to warn [FPC 3.2.2] users of 'things to avoid'.

one could also ask Claude to create a second treatise, detailing all the new
FEATURES that have been added since FPC 3.2.2. this would then provide a
blueprint to what enhancements could be considered for any future FPC 4.

with Claude doing the majority of the work (and writing NO code) the main thing
required to create these treatises would be a financial contribution from the
FPC Foundation to fund Claude's efforts. NO DEVELOPER INPUT REQUIRED.



could this be a way forward that no one would object to? while i applaud the efforts being made to get out an FPC 3.2.4 release using the existing tools available, i have reservations over the chances of success.

comments, anyone?


cheers,
rob   :-)

marcov

  • Administrator
  • Hero Member
  • *
  • Posts: 12851
  • FPC developer.
Re: FPC 3.2.4-rc1 available
« Reply #104 on: April 21, 2026, 01:12:58 pm »
could this be a way forward that no one would object to? while i applaud the efforts being made to get out an FPC 3.2.4 release using the existing tools available, i have reservations over the chances of success.

I don't see the point.  But anyway, I while I applaud using AI to get more insights, I think it should start small, and in parallel with normal efforts. Not directly in the way of critical processes. 

Such long shots only eat resource (sparse foundation money and managers to instrument the AI, and interpret the results), delaying the release further.   


« Last Edit: April 21, 2026, 01:14:47 pm by marcov »

 

TinyPortal © 2005-2018