Set feedparser.USER_AGENT to Gopherfeed.
Small code tidy up / simplification.\n\nNew heuristic for assuming something went wrong with a feed and returning an emtpy string: do this if the entries list has length zero, rather than if the feed has no title.  Handle untitled feeds by falling back on the link, and falling back on the string literal "Untitled feed" as a last resort.
Don't open central index file until just before writing to it, otherwise if someone hits the server while gopherfeed is downloading feed data, they'll see an emtpy menu!  Unfortunately this means things like permissions failures won't happen early, potentially wasting some downloads.
Use os.path.join to construct paths instead of using + and "/" like a lazy person.
Add __version__ variable and use it in setup.py
Add Gopherfeed version line to bottom of gophermap.
Remove commented out old code.
Use makedirs and not mkdir.
Massive refactoring!

Creating master index is now separated from Gopherizing individual
feeds, permitting more fine grained reporting/handling of errors.

Accordingly, errors are now handled quite a bit better.

The Gopherfeed "plug line" can now be disabled using the -x option.

Probably lots of other small things too.
Document new -x switch.
Updating CHANGELOG.
Be more elegant.
Strip newline from end of URLs read from file.
Put newlines on end of all strings written to stderr.
Clenaup extraneous newline at end of usage string.
Fine grained error reporting for command line usage pattern 2.
Forgot to import some modules whose exceptions I'm using.
Replace all occurences of strerr with strerror, not sure what I was thinking...
Be more careful about checking HTTP status.
Create directories if necessary before trying to write to files in them.