It's pretty calm in here...or is it?
Hello everyone!
I'm thrilled to announce the release of Ly v1.2.0, a big milestone in the project's life! Albeit not as packed as v1.1.0, it still boasts many new features and a few bug fixes. But first...
FreeBSD support
At long last! Ly finally officially supports FreeBSD. Note that this release doesn't strictly implement all features (like automatic TTY detection, see below), but it is functional, that is, you can log in using it (which is the most important part, obviously). This was on my backlog for way too long, and I'm really happy to finally announce proper support! (The previous release did do a lot of backend work to support FreeBSD though.)
And now, in no particular order, here are the new features, bug fixes and other (interesting) changes of this release:
- Added the Japanese and Latvian translations
- Updated the German and Russian translations
- Moved the version string to the bottom-left corner
- Added the name of unknown errors instead of showing "unknown error"
- Added an option to toggle the version string in the UI
- Added a Game of Life animation
- Added errors when failing to get the lock state and when failing to switch TTYs
- Improved the DOOM animation akin to how it was pre-v1.1.0, and added flame height control
- Added support for custom
.desktopsessions (by default in/etc/ly/custom-sessionson most systems) - Transformed the username text field into a cyclable list of all the users on the system
- Added support for the 12-hour format and for showing seconds in the big clock
- Added a global log file (available by default in
/var/log/ly.log) - Added back support for 8-color output in the TTY
- Added support for disabling the session log file
- Added the name of the error when shutting down or rebooting fails instead of only saying that an error occurred
- Fixed the dinit and s6 services not working
- Added a feature to always copy the default configuration file when installing Ly
- Added support for automatically detecting the TTY on which Ly spawned on Linux (with a fallback option for other platforms or when getting the TTY fails)
- Removed the
ttyconfiguration option as a consequence (users will now have to modify the system service to change the default TTY, or (re)install Ly manually)
- Removed the
- Added more detailled errors when the configuration file fails to parse
- Changed the default brightness control commands to prevent accidentally setting the backlight to 0%
- Added battery status support
- Added a shell execution fallback if a session's
Execfield is empty - Added support for remembering the last session of every user
- Added support for SysVinit
- Fixed the Xauthority file not being created or having a garbled name in some cases
And finally, here are all of the other, perhaps less interesting changes of this release:
- Added missing localisation files when building Ly
- Stopped hardcoding path of
catin the runit service - Removed semicolons after
loginandpasswordin the built-in fallback configuration - Added support for Zig 0.15.x
- Forced the use of LLVM even in
Debugfor performance reasons
- Forced the use of LLVM even in
- Replaced the deprecated
loginreadytarget withlogin.targetin the dinit service - Removed the
console_devandloadconfiguration options - Removed the
err_console_deverror string - Stopped vendoring the termbox2 dependency header
- Reduced dependence on libc and refactored code for better platform support
- Updated termbox2