Keep floating versions evergreen with a graceful child restart.
Evergreen
A floating version — unspecified, @*, @*-*, or a NuGet range — stays current. ndnx starts the latest match, watches the feed, downloads a newer matching version before stopping the child, then sends SIGINT / Ctrl+C (and WM_CLOSE if the tool is a GUI) and restarts.
ndnx stop # latest stable, restart when a newer one lands
ndnx stop@* # same
ndnx stop@*-* # include prerelease
ndnx stop@[2.0,3.0) # stay on the newest 2.x
ndnx stop@2.1.0 # exact pin: one-shot, no loop
Short tools still exit as soon as the child exits. Only a long-running child is watched and restarted.
The new package is staged in the global packages folder first, so the old process keeps running until the update is on disk. If the child exits on its own during that window, ndnx returns that exit code and does not restart.
The poll interval defaults to 5 seconds and can be set in .netconfig:
[ndnx]
interval = 5
ndnx walks from the working directory up, then ~/.netconfig. --verbosity quiet hides the Updating … line.
Sponsors
The following sponsors made this release possible: @clarius, @MFB-Technologies-Inc, @sandrock, @drivenet, @Keflon, @tbolon, @kfrancis, @rbnswartz, @jfoshee, @Mrxx99, @eajhnsn1, @Jonathan-Hickey, @KenBonny, @SimonCropp, @agileworks-eu, @arsdragonfly, @vezel-dev, @ChilliCream, @4OTC, @DominicSchell, @adalon, @torutek, @mccaffers, @SeikaLogiciel, @wizardness, @eska-gmbh, @geodata-no.
Thanks 💜