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