---
title: "v2.1 Release"
date: 2023-02-07T18:25:38-04:00
draft: false
---

> The release with full changelogs and prebuilt binaries can be
seen at the [v2.1.0](https://github.com/Rosettea/Hilbish/releases/tag/v2.1.0)
tag.

Oh look! A new release of Hilbish! This time is the v2.1 release,
with a small amount of features and mainly documentation changes and
bug fixes.

# Documentation
There have been a few documentation enhancements for this release.
This includes:
- Adding the return types for all functions that need them
- Documenting Hilbish types like job objects and timers properly.
They now have a separate heading and listing of properties and methods.
- Fixing outdated documentation

# Features
## Sinks
A major addition is the new "sink" type for commanders to write
their output to. This was the solution to pipes and other shell
operators not working with builtins. If you wrote a commander
and made it `print`, use `sinks.out:write` instead.

This is also documented at the [commander docs](./docs/api/commander).

## `doc` command
Since API documentation has been moved to an API folder and also includes
interfaces, a change has been made to get the module name from the
passed from the requested page. This means that
`doc api hilbish hilbish.jobs` is now shortened to `doc api hilbish.jobs`

# Bug Fixes
Small release, small amount of bug fixes. Even though, this is the main
part of this release.

## Completions and Symlinks
Previously Hilbish completions did not work with symlinks properly.
This can be tested in the previous 2.0 release by attempting to
path complete to `/bin`. Since this is (or can be?) a symlink to
`/usr/bin`, it was not marked as a directory and therefore did not
automatically add the ending slash. This has been fixed.

## Segfaults
I found that when I updated my terminal of choice ([Tym]) for the new
daemon feature, Hilbish would sometimes segfault on startup. This is due
to it getting a resize event on startup while `bait` was not initialized
yet.

## API Fixes
- The `hilbish.which` function works with aliases.
- `hilbish.completion.files` and `hilbish.completion.bins` will no longer
cause a panic with all empty arguments passed.

# Next Release
Stay tuned for the v2.2 release, which will have a bigger set of features
and maybe some more bug fixes!

[Tym]: https://github.com/endaaman/tym
