Haskell Language Server 2.15.0.0 release

VeryMilkyJoe October 21, 2026 [HLS] #Release

The HLS team is excited to announce the 2.15.0.0 Haskell Language Server release!

You can install it today with GHCup: $ ghcup install hls --set 2.15.0.0

Two successful GSOC 2026 projects!

Before we dive into the technical details and new features we want to announce a fruitful Google Summer of Code for HLS. We are very happy to announce that our two projects were a success, and one of them is already in this very release!

@Aster89 has implemented the highly anticipated hls-case-split-plugin with the support of mentors @MangoIV, @AndreasPK and @fendor. This plugin can be used with HLS 2.15.0.0 but only with GHC 9.14. It adds refactoring options for case x of which supplies holes for all possible constructors of data X.

@vidit-od finished his project: goto third-party definition with mentors @wz1000 and @fendor, which will enable developers to view source code of external libraries by clicking goto definition on them. Within external libraries, many of the usual intellisense will keep working such as hover or goto references.

This feature is not yet merged, but we expect the first part of this project (Type Rules #5025) to land before the next HLS release. So keep your eyes peeled for it in future HLS releases!

Features

Export Plugin

This new HLS version introduces the hls-export-plugin which will encompass utility for module export lists. Currently, this plugin supports code actions for adding and removing symbols to and from the import list but more features are planned as you can see in this summary issue.

Improved Component Loading

Performance Improvements

HLS 2.15.0.0 comes with considerable startup performance improvements as well as import resolution correctness #4600. The module discovery now avoids repeated on-disk lookups during import resolution speeding up initial startup time and reducing memory usage. One user reports startup time reducing from a few minutes to 3 seconds. Moreover, we fixed the handling of source modules imports. Lastly, we now add newly created modules to the most likely GHC session on creation, which should smooth out the IDE behaviour for new modules. With pending improvements to hls-cabal-plugin #4961, we will soon be capable of adding new modules to .cabal files as well.

Some notable bug fixes

Supported GHC versions

Thank you, Haskell Community

Thank you to all Munihackers who attended and decided to join us in hacking on HLS! We had a great time and were excited to welcome some brand new contributors as well as seeing some old faces return to the HLS table :heart: Lots of progress was made, issues closed, pull requests merged and most importantly fun was had. Thank you so much for your time and effort!

We wish all Haskellers happy hacking while using the latest release of the Haskell Language Server, and hope to see you in the issue tracker or even in some pull requests!

Finally, a big thank you to @crtschin for taking care of this release and a reminder that you can donate to the development of HLS via OpenCollective. The OpenCollective money pays for tedious, but important maintenance work and, sometimes, for getting new features over the finish line.