Mailing list archives : pcb-rnd

ID:5331
From:rn...@igor2.repo.hu
Date:Wed, 10 Nov 2021 08:50:01 +0100 (CET)
Subject:[pcb-rnd] pcb-rnd dependency (librnd version bump)
Hi all,
 
before I can start the actual gtk4 work, I need to apply a few API 
extensions in librnd, which will bump librnd version to 3.1.0 (see below 
for detailed versioning rationale).
 
This means pcb-rnd svn HEAD and next release requires librnd 3.1.0. Librnd 
3.1.0 is scheduled to be released in mid december. For now, you can get 
librnd 3.1.0-dev from svn.
 
Tl;dr:
 
- if you use pcb-rnd 3.0.0, 3.0.1 or 3.0.2 you can use librnd 3.0.0, 
3.0.1, 3.0.2 or 3.1.0 from mid december or the current svn version at 
any time (for a long time)
 
- if you use pcb-rnd from svn: in the next ~2 weeks you will always need 
to use librnd from svn too; it's fine as both librnd and pcb-rnd are in 
cleanup-phase now. In other words, for a short period of time during the 
3.1.0 switchover, for up-to-date latest cutting edge version you will have 
to update and compile both librnd and pcb-rnd.
 
- if any software requires librnd 3.0.x, it will work fine with 3.1.x and 
in fact any later 3.x.x and I develop with a long term plan-ahead so that 
the first librnd version that won't be compatible with those apps will be 
librnd 4.0.0.
 
 
 
Versioning rationale
~~~~~~~~~~~~~~~~~~~~
 
As it is a lib, it makes sense that librnd follows semver, which means 
3.0.x are all binary compatible with 3.0.0 and 3.0.0 is binary compatible 
with 3.0.2. If I want to add a new API feature that pcb-rnd depends on, I 
need to bump minor version, to get 3.1.0, because I can't add a feature as 
3.0.3 and make a new pcb-rnd depend on 3.0.3 instead of 3.0.x.
 
So while working on the 3.0.x series, I accumulated a bunch of API 
additions in librnd TODO and pcb-rnd TODO, things I knew I will need to do 
once, but would break binary compatibility within 3.0.x. There are enough 
of them now to warrant switching librnd version to 3.1.0 in the next 
release. I do them all now, so for some time we won't need to bump version 
again. I expect such version bumps in the "minor version" (second number) 
will get more and more infrequent as the lib matures.
 
 
Best regards,
 
Igor2
 
 

Reply subtree:
5331 [pcb-rnd] pcb-rnd dependency (librnd version bump) from rn...@igor2.repo.hu