# \[ANN\] Haskell Language Server 1.8.0.0 released

**URL:** <https://discourse.haskell.org/t/ann-haskell-language-server-1-8-0-0-released/5053>\
**Category:** Uncategorized\
**Created:** [September 14, 2022, 12:10pm UTC](https://discourse.haskell.org/t/ann-haskell-language-server-1-8-0-0-released/5053 "2022-09-14T12:10:24Z")\
**Posts on this page:** 19\
**Page:** 1

<div class="post-metadata">

**Author:** ![pepeiborra](https://sea2.discourse-cdn.com/flex002/user_avatar/discourse.haskell.org/pepeiborra/32/623_2.png) [@pepeiborra](https://discourse.haskell.org/u/pepeiborra)\
**Post date:** [September 14, 2022, 12:10pm UTC](https://discourse.haskell.org/t/ann-haskell-language-server-1-8-0-0-released/5053/1 "2022-09-14T12:10:24Z")

</div>

Just in time for the Haskell Symposium, HLS [1.8.0.0](https://github.com/haskell/haskell-language-server/releases/tag/1.8.0.0) has been released. The prebuilt binaries in this release support the following GHC versions:

- 8.6.5
- 8.8.4
- 8.10.7
- 9.0.2
- 9.2.3
- 9.2.4
- 9.4.1
- 9.4.2

These binaries can be installed using [GHCup](https://www.haskell.org/ghcup/) or version [2.0.0 and above](https://github.com/haskell/vscode-haskell/releases) of the VSCode extension or downloaded directly from [here](https://downloads.haskell.org/~hls/haskell-language-server-1.8.0.0/). Older versions of the VSCode extension will not attempt to download this version.

## Changelog

- Binaries for GHC 9.2.3 and GHC 9.2.4
- Initial support for GHC 9.4 with binaries for GHC 9.4.1 and GHC 9.4.2
- Startup time and performance improvements on projects using Template Haskell by serializing intermediate core ([#2813](https://github.com/haskell/haskell-language-server/pull/2813))
- Memory usage improvements due to using a packed representation for filepaths ([#3067](https://github.com/haskell/haskell-language-server/pull/3067), [@kokobd](https://github.com/kokobd))
- Improvements for hls-class-plugin ([#2920](https://github.com/haskell/haskell-language-server/pull/2920), [@July541](https://github.com/July541))
- The new hls-gadt-plugin ([#2899](https://github.com/haskell/haskell-language-server/pull/2899), [@July541](https://github.com/July541))
- Moving code actions from ghcide to the new hls-refactor-plugin ([#3091](https://github.com/haskell/haskell-language-server/pull/3091), [@wz1000](https://github.com/wz1000))
- Many more improvements and bug fixes thanks to our contributors!

---

<div class="post-metadata">

**Author:** ![ParetoOptimalDev](https://avatars.discourse-cdn.com/v4/letter/p/b782af/32.png) [@ParetoOptimalDev](https://discourse.haskell.org/u/ParetoOptimalDev)\
**Post date:** [September 14, 2022, 4:41pm UTC](https://discourse.haskell.org/t/ann-haskell-language-server-1-8-0-0-released/5053/2 "2022-09-14T16:41:44Z")

</div>

Should there be an aarch64-linux binary? Maybe that’s too niche still?

---

<div class="post-metadata">

**Author:** ![Lsmor](https://sea2.discourse-cdn.com/flex002/user_avatar/discourse.haskell.org/lsmor/32/3302_2.png) [@Lsmor](https://discourse.haskell.org/u/Lsmor)\
**Post date:** [September 14, 2022, 5:17pm UTC](https://discourse.haskell.org/t/ann-haskell-language-server-1-8-0-0-released/5053/3 "2022-09-14T17:17:33Z")

</div>

I fails to start on Ubuntu Focal (20.0.4). Essentially, it looks for `glibc-2.32`, but Ubuntu Focal uses `glibc-2.31`. Manual update of `glibc` is needed as `apt` version is `2.31`. I don’t trust myself updating such a library. Is there any chance a version compatible with `glibc-2.31` is able?

---

<div class="post-metadata">

**Author:** ![wz1000](https://sea2.discourse-cdn.com/flex002/user_avatar/discourse.haskell.org/wz1000/32/1245_2.png) [@wz1000](https://discourse.haskell.org/u/wz1000)\
**Post date:** [September 14, 2022, 5:27pm UTC](https://discourse.haskell.org/t/ann-haskell-language-server-1-8-0-0-released/5053/4 "2022-09-14T17:27:12Z")

</div>

Try the debian 10 binaries: [https://downloads.haskell.org/hls/haskell-language-server-1.8.0.0/haskell-language-server-1.8.0.0-x86\_64-linux-deb10.tar.xz](https://downloads.haskell.org/hls/haskell-language-server-1.8.0.0/haskell-language-server-1.8.0.0-x86_64-linux-deb10.tar.xz)

---

<div class="post-metadata">

**Author:** ![Lsmor](https://sea2.discourse-cdn.com/flex002/user_avatar/discourse.haskell.org/lsmor/32/3302_2.png) [@Lsmor](https://discourse.haskell.org/u/Lsmor)\
**Post date:** [September 14, 2022, 5:31pm UTC](https://discourse.haskell.org/t/ann-haskell-language-server-1-8-0-0-released/5053/5 "2022-09-14T17:31:53Z")

</div>

Umm, I’ve been investigating. `GHCup` downloads `fedora33` binaries. Shouldn’t it point to debian ones as Ubuntu is based on debian? (Honest question, distro jungle is a headache to me).

Also, do you know how to tell `ghcup` to download a different binary?

---

<div class="post-metadata">

**Author:** ![wz1000](https://sea2.discourse-cdn.com/flex002/user_avatar/discourse.haskell.org/wz1000/32/1245_2.png) [@wz1000](https://discourse.haskell.org/u/wz1000)\
**Post date:** [September 14, 2022, 5:31pm UTC](https://discourse.haskell.org/t/ann-haskell-language-server-1-8-0-0-released/5053/6 "2022-09-14T17:31:59Z")

</div>

The aarch64-deb10 job timed out this time so I elected to proceed with the release without them. I’ve restarted the job now and will upload binaries if it completes successfully. There are aarch64-deb10 binaries available for HLS 1.7.0.0 though: [https://downloads.haskell.org/hls/haskell-language-server-1.7.0.0/haskell-language-server-1.7.0.0-aarch64-linux-deb10.tar.xz](https://downloads.haskell.org/hls/haskell-language-server-1.7.0.0/haskell-language-server-1.7.0.0-aarch64-linux-deb10.tar.xz)

---

<div class="post-metadata">

**Author:** ![wz1000](https://sea2.discourse-cdn.com/flex002/user_avatar/discourse.haskell.org/wz1000/32/1245_2.png) [@wz1000](https://discourse.haskell.org/u/wz1000)\
**Post date:** [September 14, 2022, 5:37pm UTC](https://discourse.haskell.org/t/ann-haskell-language-server-1-8-0-0-released/5053/7 "2022-09-14T17:37:17Z")

</div>

> Shouldn’t it point to debian ones as Ubuntu is based on debian? (Honest question, distro jungle is a headache to me).

I’m not sure, it would be a good issue to open on the ghcup tracker. Keep in mind that alternate binaries will not work if it doesn’t match your GHC bindist, for example if your GHC bindist is `fedora33` and you try to install the `deb10` HLS bindist.

> Also, do you know how to tell `ghcup` to download a different binary?

I think `ghcup install hls -u <URL> 1.8.0.0` should do the trick.

---

<div class="post-metadata">

**Author:** ![Lsmor](https://sea2.discourse-cdn.com/flex002/user_avatar/discourse.haskell.org/lsmor/32/3302_2.png) [@Lsmor](https://discourse.haskell.org/u/Lsmor)\
**Post date:** [September 14, 2022, 6:05pm UTC](https://discourse.haskell.org/t/ann-haskell-language-server-1-8-0-0-released/5053/8 "2022-09-14T18:05:36Z")

</div>

Interestingly, up to [ghcup-metada](https://github.com/haskell/ghcup-metadata/blob/master/ghcup-0.0.7.yaml#L1836) `ghc-8.10.7` uses fedora27 and `hls-1.8.0` uses fedora33, but `hls-1.7.0` uses fedora27, that would explain why `hls-1.7` works but upgrading doesn’t… I don’t know what this really means actually 😅

I think, I am not updating `hls` until I have better information. @hasufell sorry for spaming, but could you light the way?.

---

<div class="post-metadata">

**Author:** ![reuben](https://sea2.discourse-cdn.com/flex002/user_avatar/discourse.haskell.org/reuben/32/4733_2.png) [@reuben](https://discourse.haskell.org/u/reuben)\
**Post date:** [September 14, 2022, 6:13pm UTC](https://discourse.haskell.org/t/ann-haskell-language-server-1-8-0-0-released/5053/9 "2022-09-14T18:13:00Z")

</div>

Hooray! Have been looking forward to this for a while! Thanks to everyone involved 🙂

---

<div class="post-metadata">

**Author:** ![Lsmor](https://sea2.discourse-cdn.com/flex002/user_avatar/discourse.haskell.org/lsmor/32/3302_2.png) [@Lsmor](https://discourse.haskell.org/u/Lsmor)\
**Post date:** [September 14, 2022, 7:50pm UTC](https://discourse.haskell.org/t/ann-haskell-language-server-1-8-0-0-released/5053/10 "2022-09-14T19:50:02Z")

</div>

> [@wz1000](#):
>
> I think `ghcup install hls -u <URL> 1.8.0.0` should do the trick.

Indeed. This did the trick for me

```haskell
ghcup install hls -u https://downloads.haskell.org/~hls/haskell-language-server-1.8.0.0/haskell-language-server-1.8.0.0-x86_64-linux-deb10.tar.xz 1.8.0.0

```

And now I hls works.

---

<div class="post-metadata">

**Author:** ![lucascolley](https://sea2.discourse-cdn.com/flex002/user_avatar/discourse.haskell.org/lucascolley/32/2647_2.png) [@lucascolley](https://discourse.haskell.org/u/lucascolley)\
**Post date:** [September 14, 2022, 10:41pm UTC](https://discourse.haskell.org/t/ann-haskell-language-server-1-8-0-0-released/5053/11 "2022-09-14T22:41:36Z")

</div>

Bump to what others have said in here, it seems ghcup is attempting to install incorrect binaries.

On windows I am getting this error upon running `ghcup install hls 1.8.0.0`:

```haskell
[Info] Unpacking: haskell-language-server-1.8.0.0-x86_64-windows.zip to C:\ghcup\tmp\ghcup-b829821325f0b3ce
[Error] Both installation and setting the tool failed. Install error was: Tar directory does not exist: haskell-language-server-1.8.0.0

```

It seems that there are two ways to get around this issue. Either download the correct binaries manually like Lsmor did here (not sure how this would work for windows):

> [@Lsmor](#):
>
> Indeed. This did the trick for me
> 
> ```haskell
> ghcup install hls -u https://downloads.haskell.org/~hls/haskell-language-server-1.8.0.0/h
> 
> ```

Or stop the vscode force like agustmina did here ([`hls-1.8.0.0` is broken on Ubuntu 20.04 due to missing GLIBC\_2.34 · Issue #3160 · haskell/haskell-language-server · GitHub](https://github.com/haskell/haskell-language-server/issues/3160)) by adding this to vscode’s settings.json:

```haskell
"haskell.toolchain": {
      "hls" : "1.7.0.0"
    }

```

---

<div class="post-metadata">

**Author:** ![hasufell](https://sea2.discourse-cdn.com/flex002/user_avatar/discourse.haskell.org/hasufell/32/1250_2.png) [@hasufell](https://discourse.haskell.org/u/hasufell)\
**Post date:** [September 15, 2022, 1:13am UTC](https://discourse.haskell.org/t/ann-haskell-language-server-1-8-0-0-released/5053/12 "2022-09-15T01:13:48Z")

</div>

The problem is that GHC stopped providing fedora27 bindists. So, some GHC versions on fedora use 27 glibc, some 33.

The only way to truly fix this is to add another build recipe to the release configuration that builds in an ubuntu docker container (both pre 19 and post 20).

Using Debian bindists may only work by accident, not by design. Same goes for Fedora. They just happened to coincide and we were lazy.

---

<div class="post-metadata">

**Author:** ![bflyblue](https://sea2.discourse-cdn.com/flex002/user_avatar/discourse.haskell.org/bflyblue/32/2650_2.png) [@bflyblue](https://discourse.haskell.org/u/bflyblue)\
**Post date:** [September 15, 2022, 11:16am UTC](https://discourse.haskell.org/t/ann-haskell-language-server-1-8-0-0-released/5053/13 "2022-09-15T11:16:45Z")

</div>

I believe this line,

```haskell
dlSubdir: haskell-language-server-1.8.0.0

```

in ghcup-0.0.7.yaml is causing the install for windows to break with the following error:

```haskell
[Info] Unpacking: haskell-language-server-1.8.0.0-x86_64-windows.zip to C:\ghcup\tmp\ghcup-62cc8f558d600943
[Error] Both installation and setting the tool failed. Install error was: Tar directory does not exist: haskell-language-server-1.8.0.0
[...] Set error was: The version 1.8.0.0 of the tool hls is not installed.

```

---

<div class="post-metadata">

**Author:** ![hasufell](https://sea2.discourse-cdn.com/flex002/user_avatar/discourse.haskell.org/hasufell/32/1250_2.png) [@hasufell](https://discourse.haskell.org/u/hasufell)\
**Post date:** [September 15, 2022, 12:05pm UTC](https://discourse.haskell.org/t/ann-haskell-language-server-1-8-0-0-released/5053/14 "2022-09-15T12:05:53Z")

</div>

Already fixed: [Fix windows HLS 1.8 · haskell/ghcup-metadata@c5d3930 · GitHub](https://github.com/haskell/ghcup-metadata/commit/c5d3930c8ff809a23fe2337e61656fe429b4d37d)

---

<div class="post-metadata">

**Author:** ![wz1000](https://sea2.discourse-cdn.com/flex002/user_avatar/discourse.haskell.org/wz1000/32/1245_2.png) [@wz1000](https://discourse.haskell.org/u/wz1000)\
**Post date:** [September 15, 2022, 1:31pm UTC](https://discourse.haskell.org/t/ann-haskell-language-server-1-8-0-0-released/5053/15 "2022-09-15T13:31:27Z")

</div>

Binaries here: [https://downloads.haskell.org/~hls/haskell-language-server-1.8.0.0/haskell-language-server-1.8.0.0-aarch64-linux-deb10.tar.xz](https://downloads.haskell.org/~hls/haskell-language-server-1.8.0.0/haskell-language-server-1.8.0.0-aarch64-linux-deb10.tar.xz)

---

<div class="post-metadata">

**Author:** ![hasufell](https://sea2.discourse-cdn.com/flex002/user_avatar/discourse.haskell.org/hasufell/32/1250_2.png) [@hasufell](https://discourse.haskell.org/u/hasufell)\
**Post date:** [September 15, 2022, 2:45pm UTC](https://discourse.haskell.org/t/ann-haskell-language-server-1-8-0-0-released/5053/16 "2022-09-15T14:45:21Z")

</div>

> <https://github.com/haskell/ghcup-metadata/commit/fd71594ee6f1ab39a00a2380b9e08f2d4afda029>

---

<div class="post-metadata">

**Author:** ![hasufell](https://sea2.discourse-cdn.com/flex002/user_avatar/discourse.haskell.org/hasufell/32/1250_2.png) [@hasufell](https://discourse.haskell.org/u/hasufell)\
**Post date:** [September 16, 2022, 9:24am UTC](https://discourse.haskell.org/t/ann-haskell-language-server-1-8-0-0-released/5053/17 "2022-09-16T09:24:31Z")

</div>

Ubuntu has been fixed: [Fix ubuntu HLS 1.8.0.0 · haskell/ghcup-metadata@cea8655 · GitHub](https://github.com/haskell/ghcup-metadata/commit/cea865595a748aa697720b09a35f5c4c9210955a)

Bindists are unofficial: [Index of /ghcup/unofficial-bindists/haskell-language-server/1.8.0.0/](https://downloads.haskell.org/~ghcup/unofficial-bindists/haskell-language-server/1.8.0.0/)

CI run: [Bindist installation · haskell/ghcup-metadata@70f6aa4 · GitHub](https://github.com/haskell/ghcup-metadata/actions/runs/3066752966)

* * *

To fix your existing installation run this:

```haskell
ghcup rm hls 1.8.0.0
ghcup install hls 1.8.0.0

```

---

<div class="post-metadata">

**Author:** ![Lsmor](https://sea2.discourse-cdn.com/flex002/user_avatar/discourse.haskell.org/lsmor/32/3302_2.png) [@Lsmor](https://discourse.haskell.org/u/Lsmor)\
**Post date:** [September 16, 2022, 11:43am UTC](https://discourse.haskell.org/t/ann-haskell-language-server-1-8-0-0-released/5053/18 "2022-09-16T11:43:35Z")

</div>

Just to let you know, I confirm it works on my machine

---

<div class="post-metadata">

**Author:** ![PiDelport](https://sea2.discourse-cdn.com/flex002/user_avatar/discourse.haskell.org/pidelport/32/5222_2.png) [@PiDelport](https://discourse.haskell.org/u/PiDelport)\
**Post date:** [September 16, 2022, 3:29pm UTC](https://discourse.haskell.org/t/ann-haskell-language-server-1-8-0-0-released/5053/19 "2022-09-16T15:29:16Z")

</div>

Thank you! This fixes HLS 1.8 on my Ubuntu 20.04.5 LTS installation too.
