---
title: "v2.2 Release"
date: 2023-12-25T23:56:36-04:00
draft: false
---

> The release with full changelogs and prebuilt binaries can be
seen at the [v2.2.0](https://github.com/Rosettea/Hilbish/releases/tag/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:
```lua
hilbish.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.
