[USRP-users] maint, master and auto clock rates

Martin Braun martin.braun at ettus.com
Mon Apr 20 16:07:59 EDT 2015

As there were some recent confusions between our branches, I'd like to
recap officially what our branches mean:

* maint: This is the stable branch. All our releases come off of maint.
In general, we only merge bugfixes into this branch, although we have
had some exceptions to this rule (e.g. the UBX driver). API should never
change on maint.

* master: This is where new development happens. New devices get support
on master first, and new features that change behaviour and/or API will
go onto this branch. maint is merged into master, so consider this
mostly a superset of maint -- except where master changes things.

When we put out patch-level releases (e.g. 3.8.2 -> 3.8.3), we use the
current state of maint, and tag that as the new release. master branch
doesn't care about this.

When we put out actual new versions (e.g. 3.8.x -> 3.9.0), things are
different: maint gets reset to master, then we tag the version. So for
every major release, maint and master are identical for a few weeks.

One thing we recently changed is that master now gets a new version
number. At this point, maint is identical to release 3.8.3, but master
has version number 3.9.git (the .git showing that this is a development

On a side note, we might have other branches (e.g. the rfnoc-devel
branch) that get other suffixes than .git.

We recently had some B200-related changes that caused some confusion,
which was related to this master/maint difference. In particular, on
master, we changed these things:
- The B200 has an auto-clock-rate feature, which will try to choose a
clock rate based off of your chosen sampling rate.
- The DSP chain changed on master, improving aliasing. We could have put
this into maint, but it did also change group delay of the filter chain,
hence we considered it too intrusive for maint.


More information about the USRP-users mailing list