pizauth: First Stable Release

Recent posts
The LLM-for-software Yo-yo
The Fifth Kind of Optimisation
Better Shell History Search
Can We Retain the Benefits of Transitive Dependencies Without Undermining Security?
Structured Editing and Incremental Parsing
How I Prepare to Make a Video on Programming
pizauth: HTTPS redirects
Recording and Processing Spoken Word
Why the Circular Specification Problem and the Observer Effect Are Distinct
What Factors Explain the Nature of Software?

Blog archive

In pizauth: dump and restore I said:

However, there was one feature I couldn’t find a good design for: persisting state to disk. This missing feature had been nagging away at me (and a small, though growing, number of other people) for quite a while: recently I finally alighted upon a design that I thought would work well. pizauth-0.2.2 is the first release to support this. Perhaps this will be the last release before 1.0.0!

I was a little too optimistic. One of pizauth’s configuration option names had long bothered me, and addressing that caused a backwards-incompatible change that forced a 0.3.0 release.

Since then, I’ve added only one feature to pizauth: an info sub-command. This was explicitly inspired by Chris Siebenmann’s “Everything that uses configuration files should report where they’re located” post. pizauth info [-j] informs the user where pizauth is looking for configuration files and so on. For example:

$ pizauth info
pizauth version 1.0.0:
  cache directory: /home/ltratt/.cache/pizauth
  config file: /home/ltratt/.config/pizauth.conf

Adding -j outputs the same information in JSON format1 for integration with external tools. The info_format_version field is an integer value specifying the version of the JSON output: if incompatible changes are made, this integer will be monotonically increased.

It’s just under a year since pizauth’s first alpha release. While I have made three breaking changes since that first release, I did so early on. Two of the three changes are fairly trivial renamings of configuration options; the third is only marginally more “breaking”. All in all, pizauth’s initial interface seems to have held up fairly well, and while I can think of some possible additions I might make one day, I can’t think of any breaking changes.

It thus seems that the time is right for the pizauth’s first stable release: 1.0.0 is out! By “stable” I mean that, as far as possible, future releases will not change (though I might add to) the interface — and if such changes are necessary, the major version number will be bumped2. In one sense, the 1.0.0 version number means very little, but in another it means a great deal. When releasing software, it’s easy to jump too early to “stable” or to be scared to ever do so. 11 months after pizauth’s first release, and with a growing number of users, feels about the right time to me to commit to a stable release. Enjoy!

Newer 2023-08-13 08:00 Older
If you’d like updates on new blog posts: follow me on Mastodon or Twitter; or subscribe to the RSS feed; or subscribe to email updates:

Footnotes

1

I am not especially fond of JSON per se, but it is now a widely accepted interchange format. The older I get, the more I tend to prefer standards, even if they’re not the standard that I would most have preferred.

I am not especially fond of JSON per se, but it is now a widely accepted interchange format. The older I get, the more I tend to prefer standards, even if they’re not the standard that I would most have preferred.

2

Yes, I will be following Semantic Versioning — another standard that I’m not especially fond of, but which is better than nothing.

Yes, I will be following Semantic Versioning — another standard that I’m not especially fond of, but which is better than nothing.

Comments



(optional)
(used only to verify your comment: it is not displayed)