FreeCAD is switch­ing to the CalVer scheme for ver­sion­ing releas­es and a new devel­op­ment cycle that intro­duces time-based releas­es. Here is a quick explain­er on why the team is doing that and how this will affect users.

Why the switch?

There are mul­ti­ple issues with the cur­rent devel­op­ment cycle, such as an unpre­dictable, irreg­u­lar release sched­ule, as well as major updates being too far apart, which encour­ages users to rely on less sta­ble week­ly builds. The sched­uled branch­ing for releas­es should aid with that, and the CalVer scheme is being intro­duced to sup­port the new release schedule.

In oth­er words, users should expect more release pre­dictabil­i­ty and have few­er rea­sons to use unsta­ble builds, unless they need to test fix­es for bugs they report­ed or new fea­tures they requested.

If you are inter­est­ed in the devel­op­ers’ per­spec­tive, please see this forum announce­ment.

What is a CalVer scheme?

The two most com­mon ways to ver­sion a soft­ware release are seman­tic ver­sion­ing, or SemVer for short, and cal­en­dar ver­sion­ing, or CalVer.

FreeCAD used to rely on a form of seman­tic ver­sion­ing with releas­es like 1.0 and 1.1 rep­re­sent­ing major updates and releas­es like 0.21.2 or 1.1.1 rep­re­sent­ing updates with bug­fix­es (patch releases).

Cal­en­dar ver­sion­ing schemes typ­i­cal­ly con­tain the num­ber of the year and then either the sequen­tial num­ber of the release with­in a year or the month of the release. The par­tic­u­lar CalVer for­mat we are switch­ing to is YY.N, where YY is the two-dig­it year of the Jan­u­ary qual­i­ty-focused release, and N is the sequen­tial release num­ber with­in that year (1, 2, or 3). 

The next major releas­es will be 26.3, 27.1, 27,2, and 27.3. Patch releas­es will fol­low the YY.N.P for­mat, e.g., 27.1.1.

What’s the new development cycle?

We set­tled on three major releas­es per year as a com­pro­mise between suf­fi­cient fre­quen­cy of releas­es and hav­ing enough time to make qual­i­ty releases.

The releas­es with­in each year will have a slight­ly dif­fer­ent focus.

YY.1 release, branched on Jan­u­ary 31, will be qual­i­ty-focused. This means the team will pri­or­i­tize bug­fix­es over new features.

YY.2 and YY.2 releas­es, branched on May 31 and Sep­tem­ber 30, respec­tive­ly, will be more like reg­u­lar FreeCAD releas­es you already know, with a more or less equal share of new fea­tures and fixes.

The accept­ed pro­pos­al also cov­ers top­ics like fea­ture freezes, the sta­bi­liza­tion peri­od, release can­di­date sched­ul­ing, and more. You can read the pro­pos­al on GitHub.

How the plan was discussed

Jack­son Ours­land and Kacper Donat made the pro­pos­al and dis­cussed it with the broad­er com­mu­ni­ty of devel­op­ers on GitHub and dur­ing the bi-month­ly dev calls. After the dis­cus­sions and some flesh­ing out, the com­mu­ni­ty vot­ed to accept it.

When is the first CalVer release?

The first release under this new scheme will be 26.3. We will cre­ate a branch for it on 30 Sep­tem­ber 2026. Releas­es are expect­ed to ship with­in 4–6 weeks after branch­ing, with 2–3 release candidates.

The devel­op­ment builds are already ver­sioned as 26.3dev.


Discover more from FreeCAD News

Subscribe to get the latest posts sent to your email.

Leave a Reply

This site uses Akismet to reduce spam. Learn how your comment data is processed.

Discover more from FreeCAD News

Subscribe now to keep reading and get access to the full archive.

Continue reading