This release brings a brand new NixOS module and quite a lot of bug fixes and improvements.
Highlights
- added a NixOS module (see below)
- added "Terminal cursor" setting (blinking/steady/hidden) for recordings and streams
- added "Keystroke overlay" setting for recordings and streams, disabled by default
- upgraded asciinema player to 3.16.0
- Docker image now includes
tzdata, so theTZenvironment variable is honored - boolean environment variables now consistently honor values such as
false,0,no, andoff - recording view counting no longer depends on CSRF/session state
- uploads now reject recordings with no events
- recording duration is now always computed as a float
- unauthenticated non-HTML write requests now return 401 instead of redirecting to login
- unauthorized recording API access now returns 404 instead of 403
- fixed several crash/race cases around invalid UTF-8 usernames, stream deletion, account merging, token generation, and empty stream recordings
- 4xx client errors are no longer reported to Sentry
- server JavaScript is now marked as LibreJS-compatible
NixOS module
This release adds a NixOS module to the flake, exposed as nixosModules.default, configured under services.asciinema.
The module can provision a local PostgreSQL database, generate and persist SECRET_KEY_BASE and the Erlang release cookie, manage upload/cache/runtime directories, pass non-secret runtime configuration through typed environment options, and load secrets from an out-of-store environmentFile.
See NixOS setup docs for quick start and more details.
Upgrading
For regular Docker/container installs, no manual changes are needed other than bumping the container image version number as shown here (https://docs.asciinema.org/manual/server/self-hosting/upgrading/).
If you set TZ in the Docker environment, it should now be honored by the container.