# v2.2 Release

by sammyette // December 25, 2023

> The release with full changelogs and prebuilt binaries can be seen at the v2.2.0 tag.

Welcome to a very long awaited release of Hilbish, and on Christmas. Just think of it as a long preparing, late Christmas gift. :) This release does not contain a whole lot of changes, but it is a new release with enhancements and bug fixes!

## Documentation

As is a trend, the documentation has been improved by ONE HUNDRED TIMES. Okay, not quite, but they’ve definitely been given an uplift. Everything has been rewritten, new documentation has been added to both the website and the local docs accessible with the `doc` command. Both the website and local docs are now in sync with each other.

This means that the `doc` command has also been improved to consolidate the documentation changes. It looks a lot better, has pagination, etc!

Speaking of pagination…

## Features

### Greenhouse

The first new added feature is the Greenhouse pager! It is a library and command accessible via `greenhouse`. It will have better integration with Hilbish things, like notifications and can be used as a base for displaying multi-line text output instead of paging to less. The usage of Greenhouse is more efficient and better in Hibish!

### Notifications

Wait… notifications? Yes! All new in the 2.2 release is a generic notification interface for things in Hilbish to alert the user of things going on. Stuff like background jobs finishing, simple alarms, actual messages, whatever you like.

### Fuzzy Searching

Users can now use fuzzy search for command history and completion search. Enable it with `hilbish.opts.fuzzy = true`!

#### Smaller Enhancements

Did you know of the `cdr` command? I personally don’t use it, but I’ve made it look slightly better for ease of use. That simple change is adding the indexes next to the directory so you’ll know to type `cdr 2`.

Users can now add aliases with numbered substitutions. In shell script, some people have to make functions for certain things that are actually just aliases. A simple example: `nix run nixpkgs#package` cannot be aliased because if it was aliased to something like `run` normally there would be a space after.

Simple fix:

    1hilbish.alias('run', 'nix run nixpkgs#%1')

Rejoice!

## Bug Fixes

There are a small amount of bug fixes but they’re still fixes!

In some cases Hilbish will panic if:

- Alias resolution results in something empty
- A user does not return a table in a runner functions These are both fixed.

An infinite loop has been patched out if someone navigates without having any prior history. Imagine pressing the up key on a fresh Hilbish install and you shell no longer working… that’s gone now.

Something else that’s gone… is still Windows support, but I added a fix which will make file completion work now. Job management commands work as well now too due to an oversight when changing up the job functions.

## Towards v2.3

For the next release, I’m hoping that it won’t take as long to deliver on what is realistically a small amount of changes. So v2.3 will be coming in a short time with some good changes, promise! See you in the next blog post.