Skip to content

Releases: nix-community/lorri

Release 1.7.0

26 Jun 16:35
1.7.0
cdf37d7
Compare
Choose a tag to compare

Added

  • Add support for Nix Flakes. Lorri will still prefer a shell.nix by default, but if overridden or only a flake.nix is available, Lorri will build a flake and use its default devShell.
  • Delegate adding roots to the nix-daemon. This improves a number of use cases, especially for new users.
  • Improvements to the watcher code, including smoother debounce of filesystem events. This provides more reliable builds, and fewer unneeded ones.
  • Better output from lorri info, including information about the project, and details about how lorri is running.

Fixed

  • Always log to stderr.
  • Fix systemd configuration: replace ProjectHome with ProjectSystem.

Release 1.6.0

02 Oct 12:09
1.6.0
Compare
Choose a tag to compare

Added

  • Add a lorri gc command to allow the gc to operate on old or removed projects.

Fixed

  • Fix another file descriptor leak in the daemon.
  • Fix the behaviour of the --verbose flag’s logging output. Some messages were logged but not printed.
  • Fix default .envrc generated by lorri init. Add a fallback to direnv’s use nix in case lorri is not installed.
  • Provide a better error message when the user tries to use flakes, which we don’t support yet.

Release 1.5.0

11 May 06:46
Compare
Choose a tag to compare

Add support for builtins.filterSource, refine builtins.readDir

The filter of filterSource is only respected for direct children of
the source root. For example, if you use nix-gitignore, .git is not
watched.

builtins.readDir’ed paths are now not watched recursively, which should
greatly reduce inotiy resource consumption.


Fix watcher not starting if the first nix build fails.

We were not actually watching the nix file, only indirectly picking
it up from the first nix build; so if that failed, we’d not watch any file.

Now lorri will always add the shell.nix to the watchlist,
ensuring it triggers a rebuild as soon as it is fixed again.


Various fixes to lorri internal stream-events after daemon socket
protocol rewrite. It would hang and leak file descriptors in the
daemon.

Release 1.4.0

28 Mar 11:45
fee4ffa
Compare
Choose a tag to compare

Rewrite the internal daemon socket protocol.

This should be a purely internal change, but if you have been using
lorri internal stream-events in your scripts, the json output might
have changed. Since the command is internal and not yet stable,
not much time was spent keeping it compatible, so beware.

The --socket-address command to lorri ping was removed for now,
since only having it for this command doesn’t make much sense, it
looks like it was originally introduced for debugging purposes.
In the long run we could add a LORRI_SOCKET environment variable.

Release 1.3.1

11 Mar 22:49
Compare
Choose a tag to compare

Fix lorri direnv triggering an unconditional rebuild every time it is run.

After fixing up the build loop people suddenly started noticing that
lorri was evaluating every time something ran lorri direnv, which
could potentially be every time the user switched between buffers in
the editor.

This is not the intended behaviour, since we should run an
unconditional build only the first time the project is added to the
watcher, and after rely on the watcher to notify us of any file
changes (or the user running lorri internal ping to force a
rebuild).

Release 1.3.0

05 Mar 11:35
Compare
Choose a tag to compare

Fix the build loop.

Previously, any change (for example a direnv ping or a change in the nix files)
would add a new build invocation to the queue, and the builds would all be done
one after the other.

However, a new build will always use the newest state of the files anyway,
so the CPU time spent on all the other builds will be wasted (and hog your processor).

Now lorri will only

  1. finish the current build (if running)
  2. schedule at maximum one additional build if requested

This should improve the resource use drastically in some situations.


Make lorri daemon exit with exit code 0 instead of 130/143 on
SIGINT or SIGTERM.


Add lorri self-upgrade branch sub-subcommand.
This enables us to point users to a branch name,
in order to test out fixes from repository branches.