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.