Official haskell ide support via language server (LSP). Successor of ghcide & haskell-ide-engine.
Binaries for this release are available at https://downloads.haskell.org/~hls/haskell-language-server-1.10.0.0/.
All of these tarballs have associated GPG signatures. The signature should be from Zubin Duggal <[email protected]>
(key ID 588764FBE22D19C4).
The prebuilt binaries in this release support the following GHC versions:
These binaries can be installed using GHCup or version 2.0.0 and above of the VSCode extension. Older versions of the VSCode extension will not attempt to download this version.
.ormolu
fixity files when Ormolu ≥0.5.3.0
(#3449) by @amesgenhls-hlint-plugin
being unable to apply fixes due to GHC libdir from CI machines (#3241)workspace/didChangeWatchedFiles
method (#3458)Binaries for this release are available at https://downloads.haskell.org/~hls/haskell-language-server-1.9.0.0/.
All of these tarballs have associated GPG signatures. The signature should be from Zubin Duggal <[email protected]>
(key ID 588764FBE22D19C4).
The prebuilt binaries in this release support the following GHC versions:
These binaries can be installed using GHCup or version 2.0.0 and above of the VSCode extension. Older versions of the VSCode extension will not attempt to download this version.
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 most similar platform suffix to the GHC bindist you installed from https://downloads.haskell.org/~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.8.0.0-x86_64-linux-fedora33.tar.xz.
If you use GHCup to install, then it will automatically make this decision for you.
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.
Binaries for GHC 9.4.3, GHC 9.4.4 and GHC 9.2.5.
Dropped support for GHC 8.6 and GHC 8.8.
New plugins including:
9.4 Support for many plugins like the refactor, splice, retrie, gadt, hlint, fourmolu and class plugins.
Completion for record dot fields (#3080).
Performance and memory usage improvements.
And many more bug fixes and improvements!
Enable plugin tests in CI for GHC 9.4 (#3420) by @wz1000
Add a mergify action to update PRs (#3418) by @michaelpj
GHC 9.4: Compute the source hash before the preprocessor (#3415) by @wz1000
Clear the mi_globals field when generating an iface (#3414) by @wz1000
Various strictness improvements (#3413) by @wz1000
Remove unused GHC compat code (#3412) by @fendor
Bump shake-bench to v0.2.0.0 (#3411) by @pepeiborra
Support fourmolu 0.10 (#3410) by @brandonchinn178
Fix nix build CI (#3404) by @wavewave
Fix fourmolu with -f-fixity-th in nix env (#3400) by @wavewave
Correct list of GHC versions in caching.yml to match test.yml (#3397) by @fendor
Add CI flows for 9.4.3 (#3396) by @pepeiborra
Bump technote-space/get-diff-action from 6.1.1 to 6.1.2 (#3392) by @dependabot[bot]
Unload once per linkable instead of once per splice (#3390) by @wz1000
Fix table in ghc-version-support.md (#3389) by @k4z4n0v4
Fix Nix CI, probably (#3388) by @lf-
[hls-explicit-record-fields-plugin] Expand used fields only (#3386) by @ozkutuk
Bump hlint version CI flow (#3384) by @fendor
Bump fkirc/skip-duplicate-actions from 5.2.0 to 5.3.0 (#3381) by @dependabot[bot]
Reword intro section in releases.md (#3378) by @fendor
Make redundant import removal work on PatSyn imports (#3377) by @ozkutuk
Add CI flows for GHC 9.2.5 (#3376) by @fendor
Delete dead code in hls-test-utils (#3368) by @fendor
Bump gha versions in setup-build/action.yml (#3366) by @fendor
Wingman copy old to new (#3363) by @santiweight
Cleanup Development.IDE.CodeAction (#3360) by @santiweight
Use latest GHC 9.2 and 9.4 in flake.nix (#3354) by @cydparser
wingman: move wingman to new directory (#3352) by @santiweight
Introduce common code for Recorders in Plugin Tests (#3347) by @fendor
Add RangeMap
for unified "in-range" filtering
(#3343) by @ozkutuk
Docs: update and split neovim/vim configurations (#3342) by @MrcJkb
Extract AddArgument modules (#3339) by @santiweight
Add hls-cabal-fmt-plugin to hackage release CI script and HLS library (#3335) by @fendor
Ensure at least 1 capability (#3334) by @pepeiborra
Add support for Fourmolu 0.9 (#3331) by @brandonchinn178
[skip ci] Add myself to CODEOWNERS (#3329) by @ozkutuk
Typo fixes (#3325) by @Deltaspace0
Gitlab CI improvements (#3324) by @wz1000
Refactor overlay composition (#3323) by @Gabriella439
Add support for .env
shells to flake.nix
(#3322) by @Gabriella439
feat: update type signature during add argument action (#3321) by @santiweight
Update refactor/splice/hlint/fourmolu/retrie/gadt plugin for GHC 9.4 (#3317) by @9999years
Remove stack from installation docs since it is not supported anymore (#3314) by @fendor
Bump cachix/cachix-action from 11 to 12 (#3310) by @dependabot[bot]
Restore ability to run source plugins (#3309) by @JakobBruenker
New plugin: Explicit record fields (#3304) by @ozkutuk
support haddock-library 1.11 (#3303) by @kokobd
Record diagnostics source rule when testing (#3301) by @pepeiborra
Make a test more reliable (#3300) by @pepeiborra
Change default cabal install target name on docs/installation.md (#3298) by @caiquefigueiredo
Bump technote-space/get-diff-action from 6.1.0 to 6.1.1 (#3293) by @dependabot[bot]
Bump cachix/install-nix-action from 17 to 18 (#3292) by @dependabot[bot]
Bump cachix/cachix-action from 10 to 11 (#3291) by @dependabot[bot]
Purge GHC 8.8 (#3287) by @michaelpj
Bump partial ghc support warning to 9.4 (#3286) by @andys8
Improved message for missing command or plugin (#3285) by @andys8
Register Fourmolu plugin properties (#3284) by @georgefst
Cleanup GHC macros (because min version is 8.8.4) (#3281) by @andys8
Remove unlawful Ord instance and replace it by a compare function (#3279) by @ChristophHochrainer
Exclude the implicit prelude import (#2798) (#3277) by @ChristophHochrainer
Fix typos in documentation (#3274) by @bendo
Use an importance score to order the suggested import code action (#3271) by @ChristophHochrainer
Update plugin tutorial (#3266) by @dyniec
configuration-ghc-94.nix: Fix references to lsp and lsp-types source (#3265) by @akshaymankar
Add suggestions about licenses in cabal file (#3261) by @dyniec
Fix action removes ticks from TemplateHaskellQuotes (#628) (#3260) by @bendo
Hlint: A handful of fixes to hints (#3259) by @andys8
Support ghc 9.4 for hls-class-plugin (#3258) by @July541
Fix nix developement shell (#3257) by @akshaymankar
GCH -> GHC (#3252) by @michaelpj
Docs: Plugin Support hls-explicit-fixity-plugin (#3251) by @andys8
Fix dead link to supported GHC versions (#3244) by @buggymcbugfix
Update link to supported versions in README (#3242) by @citrusmunch
Bump fkirc/skip-duplicate-actions from 5.1.0 to 5.2.0 (#3239) by @dependabot[bot]
Move new imports down the code action list (#3235) by @kokobd
Improve memory characteristics of ExportsMap (#3231) by @wz1000
[skip ci] Remove myself from codeowners (#3230) by @jneira
Fix error in code range (#3229) by @kokobd
Use nixpkgs variants of Sphinx packages (#3227) by @ozkutuk
Bump fkirc/skip-duplicate-actions from 4.0.0 to 5.1.0 (#3226) by @dependabot[bot]
Add source-repository
to all cabal files
(#3219) by @hololeap
hls-hlint-plugin: Update README.md (#3216) by @hololeap
wrapper.in: Require runtime ghc-pkgs to be an abi compatible superset of bootpkgs (#3214) by @maralorn
Add diagnostics to Stan descriptor (#3213) by @pepeiborra
Document the stack
requirement in wrapper tests
(#3212) by @ozkutuk
Improve haddock comments (#3207) by @kokobd
Implement sharing for hls-graph Keys (#3206) by @wz1000
Improve hls-fixity-plugin (#3205) by @wz1000
Implement completionItem/resolve (#3204) by @wz1000
Sort vscode extension schema json by keys (#3203) by @fendor
docs/supported-versions: Fix typo and more precise brittany support (#3201) by @maralorn
Stylish Haskell: CPP parse issues (#3199) by @andys8
Bump technote-space/get-diff-action from 4.0.1 to 6.1.0 (#3198) by @dependabot[bot]
Log plugin name and attribute errors to plugins (#3194) by @pepeiborra
Support optional plugins (#3193) by @pepeiborra
Add policy on plugin support tiers (#3189) by @michaelpj
Fix broken call-hierarchy-plugin-tests for type signatures (#3188) by @July541
Update supported GHC versions doc (#3186) by @michaelpj
Docs: Fix checkParents documentation (#3184) by @andys8
Configuration: more advanced Vim / Coc example (suggestion) (#3181) by @andys8
Docs: List stan plugin (#3180) by @andys8
Stan: Respect plugin configuration globalOn (#3179) by @andys8
Solve formatting issues (stylish-haskell, pre-commit CI) (#3171) by @andys8
remove manual heap profiling from ghcide (#3168) by @pepeiborra
Refactor plugin: Prefer code action (#3167) by @andys8
Fixes the flake deps to align with cabal bounds (#3163) by @mjrussell
Remove unused build-depends and install warnings (#3155) by @pepeiborra
Release script fixes (#3154) by @wz1000
Allow hackage upload (#3153) by @wz1000
support add-argument action (#3149) by @santiweight
Only run the pre-commit hook on changed files (#3145) by @drsooch
unescape printable characters (#3140) by @kokobd
nix: fix nix environment for GHC 9.4 (#3133) by @guibou
Drop compatibility with GHC 8.6.5 (#3101) by @pepeiborra
Feat: basic record dot completions (#3080) by @coltenwebb
Feat: Folding Ranges (#3058) by @sloorush
Parse .cabal files; show error and warning diagnostics (#2954) by @runeksvendsen
Make splice plugin compatible with GHC 9.2 (#2816) by @eddiejessup
Add formatting plugin for cabal files which uses cabal-fmt (#2047) by @VeryMilkyJoe
Binaries for this release are available at https://downloads.haskell.org/~hls/haskell-language-server-1.8.0.0/.
All of these tarballs have associated GPG signatures. The signature should be from Zubin Duggal <[email protected]>
(key ID 588764FBE22D19C4).
The prebuilt binaries in this release support the following GHC versions:
These binaries can be installed using GHCup or version 2.0.0 and above of the VSCode extension. Older versions of the VSCode extension will not attempt to download this version.
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 most similar platform suffix to the GHC bindist you installed from https://downloads.haskell.org/~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.8.0.0-x86_64-linux-fedora33.tar.xz.
If you use GHCup to install, then it will automatically make this decision for you.
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.
hie-compat
(#3119) by @parsonsmattResponseErrors
(#3009) by @drsoochfourmolu ^>= 0.7
(#2944) by @parsonsmattthrowPluginError
to Plugin Utilities
(#2924) by @drsoochBinaries for this release are available at https://downloads.haskell.org/~hls/haskell-language-server-1.7.0.0/. Subsequent releases will also be available at https://downloads.haskell.org/~hls.
The prebuilt binaries in this release support the following GHC versions:
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 https://downloads.haskell.org/~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.
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!
cabal install
commands for local HLS build in docs
(#2807) by @9999yearsgetHspecFormattedConfig
which is no longer used
(#2721) by @hololeapTime for a new and exciting hls release:
ghcup
. Download it and run ghcup compile hls --help
to get more info about.pedantic
(-WError
) for cabal
(#2606) by @jneiraaarch64-darwin
in flake.nix
(#2561) by @Gabriel439lsp-xxx
packages
(#2557) by @guibouIO (IO ())
(#2459) by @fendorThis is a bug fix release for two regressions found after releasing 1.5.0:
tried to look at linkable for GetModIfaceWithoutLinkable for NormalizedFilePath...
error handling template haskell, fixed with #2380
Both quick fixes thanks to @pepeiborra
Also it fixes some long standing bugs in the hlint plugin due to comments being ignored (see #2366)
Now hls can be installed from hackage using ghc-9.0.1. Like github release, it does not include brittany, stylish-haskell, class and wingman plugins.
https://hackage.haskell.org/package/haskell-language-server-1.5.1.0
hls-plugin-api
(#2382) by @hololeapTime for another hls release:
After a month of vacation a new hls release has arrived:
haskell-language-server --list-plugins
.
(#2123) by @tscholak