pizauth: First Stable Release

Blog archive

Recent posts
Some Reflections on Writing Unix Daemons
Faster Shell Startup With Shell Switching
Choosing What To Read
Debugging A Failing Hotkey
How Often Should We Sharpen Our Tools?
Four Kinds of Optimisation
Minor Advances in Knowledge Are Still a Worthwhile Goal
How Hard is it to Adapt a Memory Allocator to CHERI?
"Programming" and "Programmers" Mean Different Things to Different People
pizauth: First Stable Release

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 format [1] 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 bumped [2]. 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)