Year-based version numbers are pretty neat IMO, particularly for applications. Not only can you quickly estimate how up-to-date any particular application is, it also avoids the version number racing problem between competing applications, because some people equate lower version numbers with a less developed application.
For programming libraries though semantic versioning is still the good ol’ reliable.
Can recommend as well. I recently checked what’s out when it comes to anything terminal-related and for the multiplexer I landed on zellij. Works well, looks neat, is easy to learn and well configured out of the box.
My current stack looks like this: