[ANN] Haskell Language Server 1.7.0.0 released

Binaries for this release are available at Index of /~hls/haskell-language-server-1.7.0.0/.
Subsequent releases will also be available at Index of /~hls/.

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.1
  • 9.2.2

These binaries can be installed using GHCup or version 2.0.0 and above of the VSCode extension (currently prerelease). Older versions of the VSCode extension will not attempt to download this version.

If you would like to install these manually, note that we have changed the process by which we distribute binaries. For non-Windows platforms, there is now a Makefile which will install a dynamically linked version of HLS after verifying that it is compatible with your local GHC installation.

You must download the tarball with the same platform suffix as the GHC bindist you installed from Index of /ghc/ - for instance, if you used ghc-8.10.7-x86_64-fedora27-linux.tar.lz to install GHC, you will need haskell-language-server-1.7.0.0-x86_64-linux-fedora27.tar.xz.

If you get your GHC binaries from a source other than https://downloads.haskell.org (or GHCup), then you will need to build HLS from source yourself.

Changelog

  • Distribute dynamically linked binaries for HLS to avoid statically linking against GLIBC
    and system libraries, and to avoid unpredictable failures due to subtle differences
    between the GHC used to compile HLS and the GHC installed on the users machine
    (@hasufell, #2675, #2431)

  • Improved recompilation avoidance in projects that make use of Template Haskell (#2316). See
    the blog post for more details.
    This release includes the avoid-recompile set of commits described in the blog post.

  • A new Change Type Signature Plugin (# #2660, @drsooch)

  • Support for GHC 9.2.2

  • Removal of HLS installer scripts as mentioned by the deprecation notice last release (#2773)

  • Many more improvements and bug fixed thanks to our contributors!

18 Likes

Yay for a new version!

I do have one issue though, which is that I now get a

haskell-language-server 1.7.0.0 is not supported on Darwin

error. Any suggestions for troubleshooting? (I’m on a newish Mac)

Where do you get that error? In VSCode? Is it darwin M1? What GHC version?

I’m getting a similar problem using Ubuntu 20.04 WSL (vscode)

haskell-language-server 1.7.0.0 is not available on Linux

Yeah I got a similar error on Windows.

The log dump is

Debug: Identified Platform as: Windows
Debug: last access was 5.0696416s ago, cache interval is 300s
Debug: Decoding yaml at: C:\ghcup\cache\ghcup-0.0.7.yaml
Info: verifying digest of: gs.exe
Debug: Requested to install hls version 1.7.0.0
Info: downloading: https://downloads.haskell.org/~hls/haskell-language-server-1.7.0.0/haskell-language-server-1.7.0.0-x86_64-unknown-mingw32.zip as file C:\Users\Peter\AppData\Local\Temp\ghcup-d688aaab56dc7b98\haskell-language-server-1.7.0.0-x86_64-unknown-mingw32.zip
Info: verifying digest of: haskell-language-server-1.7.0.0-x86_64-unknown-mingw32.zip
Info: Unpacking: haskell-language-server-1.7.0.0-x86_64-unknown-mingw32.zip to C:\Users\Peter\AppData\Local\Temp\ghcup-68e4eb25e0c9dedd
Info: Installing HLS
Error: (Unable to copy a file. Reason was: C:\Users\Peter\AppData\Local\Temp\ghcup-68e4eb25e0c9dedd\haskell-language-server-wrapper.exe: copyFile:atomicCopyFileContents:withReplacementFile:copyFileToHandle:openBinaryFile: does not exist (No such file or directory),
The version 1.7.0.0 of the tool hls is not installed.)
Error: Also check the logs in C:\ghcup\logs

Sorry to be clearer, I am installing using GHCup, the installation doesn’t finish and tells me to check this log. Executables with the hls 1.7.0.0 names exist in the ghcup folder, but when I open up vsCode it tells me that hls 1.7.0.0 isn’t supported on Windows

Yes. You’ll have to upgrade to the vscode prerelease to get this update. We haven’t made a stable release for the new vscode extension yet, but it should follow shortly.

3 Likes

Windows tarballs are currently busted. It will be fixed sometime today.

2 Likes

Ok, so known problems are:

  1. Windows tarball is busted: fix ETA today
  2. VSCode extension needs to be updated to pre-release to get the update: stable release ETA this week
  3. HLS is broken for stack users of GHC 9.0.2 (more information here). Workaround: install 9.0.2 via GHCup and use stack’s system-ghc: true feature. Fix ETA unknown.
3 Likes

Finally, I could stop compiling HLS on my end!

VSCode, Darwin M1, a range of GHC versions

Darwin M1 has these supported GHC versions: ghcup-metadata/hls-metadata-0.0.1.json at 5f4cd006317ee300f89c5f84a457e1358b7dbbc3 · haskell/ghcup-metadata · GitHub

Upgrade to the vscode prerelease.

2 Likes