Normally, you'd run any of my programs with the runtime switch --checkver to see if a newer version of the software was available. That won't work if you're trying to upgrade from Niente versions earlier than 3.00, however.
Unfortunately, a bug was introduced into earlier versions of Niente such that the upgrade checker searches for a program called 'Niente', rather than for one called 'niente': the seemingly minor difference between an initial upper- or lower-case letter means that the upgrade checker never sees a newer version of the software is available and will accordingly not try to obtain one.
You should therefore first run this command at a terminal prompt:
sudo sed -i 's/PROGNAME="Niente"/PROGNAME="niente"/g' /usr/bin/niente.sh
...which directly modifies your existing Niente program file and substitutes a lower-case 'niente' for the upper-cased version. Once that change has been made you can simply invoke the program with the --checkver switch and have it work normally. The command would therefore be:
...which should prompt you to upgrade and then (assuming you agree to it), should perform the upgrade without much further ado.
2.0 New Software Dependency on sqlite3
Niente Version 3.00 introduces a dependency on the sqlite3 database program. If you already have it installed, then there should be no dramas: the program will spot that and run with it automatically. On first running Niente after upgrading to version 3.00 or above, however, the program may prompt you to install sqlite3 manually. It will not give any hint as to how to do this, so it's up to you to know how your particular operating system expects to install new software packages.
On Fedora, for example, you'd type sudo dnf install sqlite (noting that Fedora is the only mainstream distro to call the package 'sqlite' without a number). On Ubuntu, it would be sudo apt install sqlite3. On Arch it would be sudo pacman -S sqlite3. On OpenSuse Tumbleweed, it would be sudo zypper in sqlite3 and so on.
Once sqlite3 exists on your system, all further prompts from Niente will be much nicer and more informative!
3.0 Miscellaneous Upgrade Issues
Niente Version 3.00 introduces a very different look-and-feel to the program than you'd be used to from its Version 1 or 2 days. You are encouraged to read the Quick Start Guide in this revised manual to understand it.
Niente now also offers a profoundly different workflow: database refreshes have seemingly disappeared, for example. You now just create a database and then immediately start doing integrity checks. The refreshes still happen under the hood, but you don't get to request them manually (and cannot schedule them via crontab, for example). If you have crontab entries doing periodic database refreshes, you will need to instead schedule one or other of the Niente integrity checks. See the section in this manual about runtime parameters to understand your options in this respect.
Niente now checks for a whole bunch of new logical inconsistencies than it did in earlier versions. You should read the user manual section on producing reports to understand the new testing and reporting capabilities and understand this website's 'Axioms of Classical Tagging' to see why Niente checks what it does and declares problems when it does!