My understanding from unc0rr is that as long as trunk and .17 are in sync, they maintain the protocol number.
Once they desync, trunk gets a new one
#! /usr/bin/sed -nf
s/^#define *FREETYPE_MAJOR *\([^ ][^ ]*\).*$/freetype_major="\1" ;/p
s/^#define *FREETYPE_MINOR *\([^ ][^ ]*\).*$/freetype_minor=".\1" ;/p
s/^#define *FREETYPE_PATCH *\([^ ][^ ]*\).*$/freetype_patch=".\1" ;/p