After a couple of months since the last release, here I am again, announcing a new updated version of Novus - v0.0.5.

This version includes new features and minor enhancements, but most importantly, it introduces the trust command—something I have wanted to have since the very beginning.

This command creates a sudoers file that grants Novus passwordless sudo privileges. This means the annoying password prompt showing up whenever you want to restart or update your Novus configuration will no longer pop up.

But worry not, while this may sound like a potential vulnerability threat, this feature was built with security in mind. The scope of the passwordless sudo access is limited to the commands and filesystem directories Novus directly uses, so the rest remains still protected by a password.

If you are curious about how this is implemented, read more in this article or check out the code.

This feature is completely optional to use, so it’s only up to you to decide if you want to improve your developer experience by not having to type the password every time. Also, whenever you want, you can revoke the sudoers access by running novus trust --revoke.

I’m really excited about this one.

Moreover, Novus v0.0.5 adds more transparency when it asks for sudo password by printing additional logs whenever such an operation occurs, so the user knows what exactly is going on under the hood.

There has also been a minor UI improvement when it comes to the long-running operations, e.g. when restarting Nginx. Novus now shows a loading animation to better communicate the ongoing activity to the user.

Last but not least, this version comes with the support for the so-called “inline domains”, that you can quickly define without needing to define them in the novus.yml configuration file. You can now serve your domain directly using novus serve [domain] [upstream].

$ novus serve my-domain.test http://localhost:3000

This feature is very handy for single domains and improves efficiency even more. Similarly, to remove such a domain, you can use the already existing novus remove command.

$ novus remove my-domain.test

And that's all for now. Go ahead and update Novus to enjoy an even better development experience!

$ brew update
$ brew upgrade novus