fed8da255b8c4f2e63f0218992e87bf40d74b127
markd
  Fri Aug 11 12:20:17 2023 -0700
allow gff3 minor versions in headers

diff --git src/lib/gff3.c src/lib/gff3.c
index 494e823..4da2b8a 100644
--- src/lib/gff3.c
+++ src/lib/gff3.c
@@ -892,31 +892,31 @@
     parseAnn(g3f, line);
 }
 
 static void parseHeader(struct gff3File *g3f)
 /* parse and validate a GFF3 header */
 {
 char *line;
 if (!lineFileNext(g3f->lf, &line, NULL))
     gff3FileErr(g3f, FALSE, "empty GFF file, must have header");
 char *ver = skipToSpaces(line);
 if ((ver != NULL) && (*ver != '\0'))
     {
     *ver++ = '\0';
     ver = trimSpaces(ver);
     }
-if (!(sameString(line, "##gff-version") && sameString(ver, "3")))
+if (!(sameString(line, "##gff-version") && ( sameString(ver, "3") || (startsWith("3.", ver)))))
     {
     gff3FileErr(g3f, FALSE, "invalid GFF3 header");
     errAbort("may not be a GFF3 file");
     }
 }
 
 static void parseFile(struct gff3File *g3f)
 /* do parsing phase of reading a GFF3 file */
 {
 g3f->lf = lineFileOpen(g3f->fileName, TRUE);
 parseHeader(g3f);
 char *line;
 while (lineFileNext(g3f->lf, &line, NULL))
     {
     parseLine(g3f, line);