More info on VF-1 updates
-------------------------

In my recent post updating progress toward my various "Operation
Blazing Star" goals, I mentioned that I had made a new VF-1 release
(the first in over five years!!!).  This post is to say a little
more about that and the planned 1.0.0 release in the nearish future.

It's been a long time since anybody wrote me an email about VF-1,
or since I saw anybody mention it in their phlog.  Which is perhaps
not surprising, given that there hasn't been in a release in such
a long time.  But I remember fondly the days when it was newish,
and this happened a lot then.  I got really nice emails from people
I'd never met before telling me how much they enjoyed using it,
and it was very gratifying.  I felt like VF-1 was a genuine success,
that it was popular, that people liked it.  I hope that's still true
these days, that there exists a "VF-1 user community" not only in
my head but also out there in the world.  If there is, I hope this
post reaches that community.  If you think you can help make that
happen by sharing the link via some channel, please do so.

As I mentioned, the impetus behind this release is that I relocated
the VF-1 source code repository from its original home at GitHub
to my SourceHut account.  The VF-1 repository was the only one
I had associated with my account (I switched to tildegit.org for
later projects), so moving it away allowed me to close the account.
This aids my quest to simultaneously reduce both the absolute number
of accounts I have anywhere on the internet and the proportion of
them which are attached to large evil corporations.  Or rather,
this aided my quest, past tense.  The account is deleted.  I did
it the day before it would anyway have been locked out of doing
various things if I didn't set up 2FA.

So here's the first important bit of information that I want widely
propagated: Ye olde https://github.com/solderpunk/VF-1 is gone
forever and the new authoritative location for the VF-1 codebase
is https://git.sr.ht/~solderpunk/VF-1.  If you have published
links somewhere to the old address, please update them.  If you
have checked out working copies of the repository, you can use
`git remote set-url` to update them (or, in grand git tradition,
just the nuke the thing and clone afresh from the new location).

The second important bit of information is that there is
now an official VF-1 gopherhole!  In retrospect, it is
absurd that for so long there wasn't.  Any self-respecting
piece of Gopher-related software clearly ought to have a
dedicated presence in Gopherspace.  There is one now, at
gopher://zaibatsu.circumlunar.space:70/1/~solderpunk/vf-1.
You can e.g. use moku-pona to watch this page if you'd
like to hear about future releases.  So if your old links to
https://github.com/solderpunk/VF-1 are in a Gopher menu and not on a
webpage, it might make more sense to update it to link to here rather
than to the SourceHut repo, which only displays the README file.

Third, although the recent v0.0.12 release was largely made to the
get the new repository URL into the PyPi system, it did include
actual code changes as well.  Mostly various small assorted bugfixes
which were committed to the repo years ago but never made it into
an official release, but there's a small number of more substantial
ones too, including one compatibility breaking change which I am kind
of hoping will not affect many people.  These changes are detailed
below after the fourth and final important bit of information.

Finally, I would like to solicit extensive debugging assistance
from the user community during the end of this year.  I consider
VF-1 essentially complete and long overdue for a 1.0.0 release.
I am not interested in adding any new features.  I use it regularly
myself, of course, by I do not routinely use every single feature
and I usually just visit the same relatively small number of
Gopherholes each time.  Those old commits which I made years ago
but never released have certainly not been extensively stress tested
by applying diverse usage patterns across a range of remote server
configs.  I would like to shake out any defects before making a
1.0.0 release sometime in December.  So if you are a VF-1 user, or
you are the admin of a pubnix community which has VF-1 users in it,
please consider updating to v0.0.12 ASAP to help me kick the tyres.

Noteworthy changes in VF-1 v0.0.12:

* You can now invoke vf1 with `--download` or `--dl` followed by
 a gopher:// URL to download and save a Gopher-hosted resource to a
 local file, like you would use curl or wget for HTTP(S).  You can
 optionally use `--output` or `-o` to specify the local filename,
 otherwise it will be derived from the URL.  This interface mirrors
 the one which exists for AV-98.
* When fetching files larger than 100 KiB, an animated ASCII spinner
 and a byte count is now shown (both in interactive use and when
 using --download).  All the associated output is overwritten with
 the VF-1> prompt once the download is complete, so you only see it
 in the moment.  This size limit was chosen so that this behaviour
 would basically never happen when browsing and reading phlogs,
 but will kick in quickly when e.g. downloading binary media files.
 This makes it clear that something is in fact happening, and gives
 the user the option to abort with ctrl-C if they are bandwidth
 limited.  Previously, large/slow downloads had the look and feel
 of the program having "frozen".
* The experimental TLS support has been substantially simplified
 to save the effort of debugging observed strange behaviour.
 You basically need to manually toggle TLS on and off with the `tls`
 command, and it will either always or never be used, correspondingly.
 The unofficial `gophers://` scheme for TLS-secured Gopher is no
 longer recognised.  I expect that this will affect approximately
 nobody as Gopher-over-TLS has never been widespread or popular, and
 now that Gemini exists I feel like the incentive for experimenting
 with it is much reduced.
* Here's the big one, the compatibility-breaking change.  The command
 previously called `search`, which prints out only a subset of the
 active Gopher menu, showing those items whose names include the
 entered search term, has been renamed to `filter`.  This command
 is super handy and I expect it is widely used, however I was not
 too reluctant to rename it because I also strongly suspect that
 very few people actually make use of it by typing out `search`,
 because you can also just prefix your search term with `/`.
 That's so much quicker and easier, and for vi(m) uses also leverages
 well-established muscle memory.  The `/` abbreviation now triggers
 `filter` instead of `search`, and so if you rely on `/` then you
 will not notice any change.  Why the change?  Well, as previously,
 you can still use the `veronica` command to submit a search term
 to the Veronica-2 search engine.  But you can now use the `search`
 command to submit search terms to a user-customisable endpoint (via
 `set search_url`).  You can, for example, configure the `search`
 command to submit terms to Gopherpedia.  My recommendation is that
 even if you want to search Veronica-2 more often than anything
 else, you still get in the habit of using the `search` command.
 This is more future-proof: if Veronica-2 disappears one day and/or
 a new Gopher search engine comes on the scene, you can modify your
 .vf1rc file to point `search` at that new resource easily, even if
 VF-1 is no longer being maintained.