Haskell Language Server Versions Save

Official haskell ide support via language server (LSP). Successor of ghcide & haskell-ide-engine.

1.10.0.0

1 year ago

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:

  • 8.10.7
  • 9.0.2
  • 9.2.7
  • 9.4.4
  • 9.6.1

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.

Changelog

  • Support for GHC 9.6
  • Binaries for GHC 9.2.7 and GHC 9.6.1
  • Eval plugin support for GHC 9.4+ (#3391)
  • Don't show lenses for TH generated instances when using hls-class-plugin (#3531)

Pull requests merged for 1.10.0.0

  • Support fourmolu 0.11 (#3533) by @brandonchinn178
  • Don't show lenses for TH generated instances (#3531) by @July541
  • Bump haskell/actions from 2.3.3 to 2.3.6 (#3529) by @dependabot[bot]
  • Use GHC 9.2.7 in flake (#3527) by @cydparser
  • Remove HsLogger (#3526) by @fendor
  • Use hie-bios 0.12 (#3524) by @wz1000
  • Bump haskell/actions (#3520) by @michaelpj
  • Bump cachix/install-nix-action from 19 to 20 (#3514) by @dependabot[bot]
  • Docs: update Emacs section: add eglot with config example (#3509) by @m4lvin
  • Eval plugin is now supported in 9.4 (#3508) by @michaelpj
  • Update flake to GHC 9.2.6 and 9.4.4 (#3503) by @cydparser
  • Fix lower ghcide bounds of rename and fourmolu plugins (#3501) by @pepeiborra
  • Add 9.2.6 to ghc-version-support.md (#3494) by @wz1000
  • Bump versions and add changelogs for 1.9.1.0 (#3493) by @hasufell
  • Bump cachix/install-nix-action from 18 to 19 (#3490) by @dependabot[bot]
  • Experiment with loading matrix values from a file (#3481) by @michaelpj
  • 9.6 support for HLS (#3480) by @wz1000
  • Make the Ormolu plugin respect .ormolu fixity files when Ormolu ≥0.5.3.0 (#3449) by @amesgen
  • Migrate release CI to github (#3406) by @hasufell
  • Eval plugin for GHC 9.4 (#3391) by @wz1000

1.9.1.0

1 year ago
  • Binaries for GHC 9.2.6.
  • Fix for hls-hlint-plugin being unable to apply fixes due to GHC libdir from CI machines (#3241)
  • Improvements for recompilation avoidance, particularly for non-vscode editors which don't support the LSP workspace/didChangeWatchedFiles method (#3458)

1.9.0.0

1 year ago

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:

  • 8.10.7
  • 9.0.2
  • 9.2.5
  • 9.4.3
  • 9.4.4

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.

Installation

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.

Changelog

  • 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:

    • Expanding record wild cards using hls-explicit-record-fields-plugin (#3304).
    • Formatting cabal fields using cabal-fmt via hls-cabal-fmt-plugin (#2047).
    • Warnings and errors for cabal files using hls-cabal-plugin (#2954).
    • Folding ranges using hls-code-range-plugin (#3058).
  • 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

1.8.0.0

1 year ago

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:

  • 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 or version 2.0.0 and above of the VSCode extension. Older versions of the VSCode extension will not attempt to download this version.

Installation

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.

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)
  • Memory usage improvements due to using a packed representation for filepaths (#3067, @kokobd)
  • Improvements for hls-class-plugin (#2920, @July541)
  • The new hls-gadt-plugin (#2899, @July541)
  • Moving code actions from ghcide to the new hls-refactor-plugin (#3091, @wz1000)
  • Many more improvements and bug fixes thanks to our contributors!

Pull requests merged for 1.8.0.0

  • Alternate Number Format Plugin buildable with GHC 9.4 (#3138) by @drsooch
  • Enable a bunch of plugins that build with ghc 9.4 (#3136) by @pepeiborra
  • Enable support for 9.4 on windows (#3132) by @wz1000
  • flake.nix Add ghcide-bench to sourceDirs (#3125) by @akshaymankar
  • Update hls-retrie-plugin to be usable with 9.2.4. (#3120) by @drsooch
  • Add link to homepage and issues for hie-compat (#3119) by @parsonsmatt
  • Remove pluginId from getNormalizedFilePath error message (#3118) by @drsooch
  • HLS benchmarks (#3117) by @pepeiborra
  • Fix --testing (#3113) by @pepeiborra
  • Deduplicate HLS plugins (#3112) by @pepeiborra
  • Do not send Heap Stats to the LSP log (#3111) by @pepeiborra
  • Send begin progress message synchronously (#3110) by @pepeiborra
  • Remove unused config in hls-class-plugin (#3107) by @July541
  • Support fourmolu-0.8.1.0 (#3103) by @brandonchinn178
  • Probe-tools: Print stack ghc version (#3093) by @andys8
  • Fix #3047 (#3092) by @July541
  • Remove exactprint dependencies from ghcide by introducing hls-refactor-plugin. (#3091) by @wz1000
  • Stan: Avoid terminal colors in messages (#3090) by @andys8
  • Support ghc-9.2.4 (#3085) by @July541
  • Bump Nix flake GHC 9.2.3 to 9.2.4 (#3081) by @cydparser
  • fix lsp-types benchmark (#3079) by @pepeiborra
  • Add support for Fourmolu 0.8 (#3078) by @brandonchinn178
  • upgrade lsp to 1.5 (#3072) by @kokobd
  • Bump actions/cache from 2 to 3 (#3071) by @dependabot[bot]
  • Bump actions/setup-python from 3 to 4 (#3070) by @dependabot[bot]
  • Run the benchmark suite on GHC 9.2.3 (#3069) by @pepeiborra
  • Simplify instructions about 'ghcup compile hls' (#3068) by @hasufell
  • Improve performance of NormalizedFilePath (#3067) by @kokobd
  • add a prefix to plugin CPP definitions (#3065) by @kokobd
  • Add Github precommit workflow (#3060) by @lunaticare
  • Run pre-commit hooks (#3059) by @lunaticare
  • Fix grammar and spelling errors in configuration.md (#3056) by @arsenkhy
  • Remove redundant WARNING prefix (#3055) by @michaelpj
  • fix a typo in src/Ide/Plugin/Class/CodeLens.hs (#3053) by @tensorknower69
  • fix record-dot-syntax test (#3051) by @coltenwebb
  • build(nix): ghc922 -> ghc923 (#3049) by @teto
  • build(nix): bumped gitignore dependency (#3048) by @teto
  • Update issue templates (#3044) by @michaelpj
  • Simplify hlint config (#3038) by @michaelpj
  • handle trailing comma in import list properly (#3035) by @kokobd
  • upgrade ghc-check to fix #3002 (#3034) by @kokobd
  • Fix Stack build with Nix on macOS (#3031) by @lunaticare
  • haskell-language-server: add lower bound for githash (#3030) by @Bodigrim
  • hls-eval-plugin: add lower bound for parser-combinators (#3029) by @Bodigrim
  • hls-fourmolu-plugin: add lower bound for process-extras (#3028) by @Bodigrim
  • ghcide: lower bounds (#3025) by @Bodigrim
  • remove all usages of pre-commit-check in nix (#3024) by @kokobd
  • hls-plugin-api: add lower bounds (#3022) by @Bodigrim
  • hls-graph: add lower bound for async (#3021) by @Bodigrim
  • Hlint: CodeAction with isPreferred (#3018) by @andys8
  • Record Dot Hover Types (#3016) by @coltenwebb
  • re-enable haddock (#3015) by @kokobd
  • add Helix to configuration.md (#3014) by @0rphee
  • Renaming of indirect references (RecordFieldPuns) (#3013) by @OliverMadine
  • Revert back to Warning not Error in Logging ResponseErrors (#3009) by @drsooch
  • Disable flaky test on Windows (#3008) by @michaelpj
  • Improve troubleshooting and installation docs a bit (#3004) by @michaelpj
  • refactor selection range plugin (#3003) by @kokobd
  • Hlint more partial functions, and Debug.Trace (#3000) by @michaelpj
  • Don't use typecheck rule for non FOIs in refine imports plugin (#2995) by @wz1000
  • GHC 9.4 compatibility + Multiple Home Units (#2994) by @wz1000
  • unify pre-commit hook & update Gitpod config (#2991) by @kokobd
  • Log response errors returned from Plugins (#2988) by @drsooch
  • Add associated type families to local completions (#2987) by @gasparattila
  • Remove some partial functions from Shake.hs (#2986) by @michaelpj
  • Clean up ghc-9.0 partial support contents (#2983) by @July541
  • fix new import position (#2981) by @kokobd
  • Implement PluginMethod for hard-wired in handlers (#2977) by @fendor
  • Set up partial functions ratchet (#2974) by @michaelpj
  • Turn HLS-wrapper into an LSP Server (#2960) by @smatting
  • More Fourmolu improvements (#2959) by @georgefst
  • hls-class-plugin: Only create placeholders for unimplemented methods (#2956) by @akshaymankar
  • Fix Fourmolu 0.7 support (#2950) by @georgefst
  • Teach HLS about different file extensions (#2945) by @fendor
  • Support fourmolu ^>= 0.7 (#2944) by @parsonsmatt
  • hls-explicit-fixity-plugin (#2941) by @July541
  • chore(nix): bump nixpkgs to prevent glibc issues (#2937) by @teto
  • Support ghc-9.2.3 (#2936) by @July541
  • Typo fix, dependecies -> dependencies (#2934) by @vikrem
  • Update Archlinux installation section (#2933) by @marcin-rzeznicki
  • docs/installation: Remove unused clone with submodule command (#2930) by @sloorush
  • Omit more parens for wildcard type signature (#2929) by @sergv
  • Add throwPluginError to Plugin Utilities (#2924) by @drsooch
  • hls-class-plugin enhancement (#2920) by @July541
  • Bump documentation requirements (#2918) by @xsebek
  • Document eval plugin limitations (#2917) by @xsebek
  • Replace TextDocumentIdentifier with Uri in getNormalizedFilePath (#2912) by @July541
  • Fix hover format (#2911) by @July541
  • Fix multiline eval plugin padding (#2910) by @xsebek
  • Stan integration #258 (#2908) by @uhbif19
  • A plugin for GADT syntax converter (#2899) by @July541
  • Fix DisplayTHWarning error (#2895) by @pepeiborra
  • Enable hls-eval-plugin test on ghc-9.2.2 (#2893) by @July541
  • nix update (#2892) by @michaelpj
  • Build hls-alternate-number-format-plugin with stack.yaml (#2891) by @July541
  • Modify ghcide requirements of hls-change-type-signature-plugin (#2889) by @July541
  • Fix hls-call-hierarchy-plugin tests (#2888) by @July541
  • Add .txt files as extra-source-files for hls-change-type-signature-plugin (#2887) by @cdepillabout
  • Prefer Data.HashSet.member to Data.Foldable.elem (#2886) by @sergv
  • no longer disable -dynamic in CI (#2885) by @pepeiborra
  • hls-pragmas-plugin requires ghcide >= 1.7 (#2884) by @Bodigrim
  • Make iface-error-test-1 less flaky (#2882) by @pepeiborra
  • hls-haddock-comments does not support ghc-exactprint >= 1.0 (#2878) by @Bodigrim
  • Restore compat. with prettyprinter 1.6 (#2877) by @pepeiborra
  • ghcide requires ghc-exactprint >= 1.4 (#2876) by @Bodigrim
  • ghcide needs prettyprinter-1.7 to build (#2875) by @juhp
  • Review project stack descriptors according to #2533 (#2874) by @pepeiborra
  • hls-call-hierarchy-plugin Patch release (#2873) by @pepeiborra
  • Expand input to pragma if available (#2871) by @July541
  • Fix hanging redundant import on Unicode function (#2870) by @drsooch
  • Compatibility with older aeson releases (#2868) by @pepeiborra
  • simplify hlint plugin Cabal descriptor (#2867) by @pepeiborra
  • Consolidate all cabal.project files (#2866) by @pepeiborra
  • release script fixes (#2861) by @wz1000
  • Support hls-hlint-plugin and hls-stylish-plugin for ghc9.0 and ghc9.2 (#2854) by @July541
  • Bump haskell/actions from 1 to 2 (#2852) by @dependabot[bot]
  • Add scripts for releases and final 1.7 tweaks (#2850) by @wz1000
  • Fix Completion document format (#2848) by @July541
  • Improve name export code action (#2847) by @sergv
  • Update plugin support table (#2840) by @michaelpj
  • Unify showSDocUnsafe (#2830) by @July541
  • ghcide: remove redundant env NIX_GHC_LIBDIR (#2819) by @sloorush
  • Serialize Core (#2813) by @wz1000
  • Expose runtime metrics via EKG (#2267) by @pepeiborra

1.7.0.0

2 years ago

Binaries 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:

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

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)

Change Type Signature Demo

Change Type Signature Demo

  • 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!

Pull requests merged for 1.6.1.1

  • Restore concise type variables in ghc-9.2 (#2828) by @July541
  • Should no related code lens if the module name is correct (#2826) by @July541
  • Bump cachix/install-nix-action from 16 to 17 (#2823) by @dependabot[bot]
  • Bump actions/upload-artifact from 2 to 3 (#2822) by @dependabot[bot]
  • Bump actions/download-artifact from 2 to 3 (#2821) by @dependabot[bot]
  • bench: Add more metrics (#2814) by @wz1000
  • Enable rename plugin (#2809) by @OliverMadine
  • Fix cabal install commands for local HLS build in docs (#2807) by @9999years
  • Bump actions/cache from 2 to 3 (#2806) by @dependabot[bot]
  • [hls-graph] Optimise waitConcurrently (#2805) by @pepeiborra
  • [bench] track changes to hls-* projects (#2803) by @pepeiborra
  • Fix Show instance (#2802) by @pepeiborra
  • Provide all format suggestions in AlternatFormat Code Action (#2790) by @drsooch
  • Avoid race conditions with VFS and VFS versions (#2789) by @wz1000
  • Don't show the redundant space (#2788) by @July541
  • Target GHC 9.2.2 (#2787) by @pepeiborra
  • Allow import all constructors (#2782) by @July541
  • Customizable TH warning (#2781) by @pepeiborra
  • Fix #2693 (#2780) by @wz1000
  • Add Gentoo installation details (#2778) by @paul-jewell
  • Eval plugin: mark exceptions (#2775) by @xsebek
  • Fix 2 space leaks (#2774) by @pepeiborra
  • Delete HLS installer scripts (#2773) by @fendor
  • Purge some more hslogger (#2770) by @michaelpj
  • Abbreviate explicit import code lenses (#2769) by @michaelpj
  • Review masking and add traces when things don't cancel timely (#2768) by @pepeiborra
  • Upgrade to hie-bios 0.9.1 (#2766) by @fendor
  • Avoid extra parens for wildcard type signature (#2764) by @xsebek
  • Add an option to run Fourmolu via the CLI interface of a separate binary, rather than the bundled library (#2763) by @georgefst
  • Fix Change Type Signature Plugin test suite for 9.2.1 (#2761) by @drsooch
  • Bump actions/checkout from 2 to 3 (#2759) by @dependabot[bot]
  • Refactor LSP logger and log via window/logMessage also (#2758) by @michaelpj
  • Fix the tower of Babel (#2757) by @hasufell
  • Implement cycle detection in hls-graph (#2756) by @pepeiborra
  • Adjust rendering of error logs and drop unneeded MonadUnliftIO instance (#2755) by @pepeiborra
  • Estimate file versions safely (#2753) by @pepeiborra
  • Fix test failure for AlternateNumberFormat (#2752) by @drsooch
  • LSP window message log recorder (#2750) by @pepeiborra
  • Fix FreeBSD bindist build (#2748) by @hasufell
  • Improve bindist makefile (#2746) by @hasufell
  • Fix flake.lock (#2743) by @michaelpj
  • Add failing test for variables in hovers (#2742) by @michaelpj
  • Update Define Function Code Action to have knowledge of comments (#2740) by @drsooch
  • Upgrade to hie-bios 0.9.0 (#2738) by @fendor
  • Track file versions accurately. (#2735) by @wz1000
  • Fix hls-class-plugin on ghc-9.2 (#2733) by @July541
  • Bump actions/github-script from 2 to 6 (#2730) by @dependabot[bot]
  • Delete the Telemetry log level (#2727) by @michaelpj
  • Tone down logging of plugin rules (#2723) by @pepeiborra
  • Troubleshooting: GHC 9.2 partial support (#2722) by @andys8
  • Remove getHspecFormattedConfig which is no longer used (#2721) by @hololeap
  • Fix crash for non-LSP modes wrt #2627 (#2719) by @hasufell
  • Wingman: Don't use keywords for variable names (#2717) by @isovector
  • Expose DisplayTHWarning (backport #2712) (#2714) by @mergify[bot]
  • Send LSP error when GHC cannot be found (#2713) by @hasufell
  • Expose DisplayTHWarning (#2712) by @pepeiborra
  • Improve wrapper cradle errors (#2711) by @hasufell
  • Fix min bound for ghc-exactprint dependency in hls-class-plugin (#2710) by @pepeiborra
  • Remove duplicate help messages & format CRLF to LF (#2709) by @July541
  • Add @July541 for call-hierarchy-plugin (#2708) by @July541
  • Fix releasing (#2707) by @hasufell
  • Print info message when ignoring a file due to a none cradle (#2701) by @ThomasCrevoisier
  • fix: handle comma in extend import list with ghc 9.2 (#2697) by @guibou
  • Build Alternate Number Format Plugin with GHC 9.2 (#2696) by @drsooch
  • Optionally publish packages definitely in the hackage workflow (#2689) by @jneira
  • Set -dynamic in cabal.project (#2688) by @jneira
  • Multi component issues in GHC 9.2 (#2687) by @pepeiborra
  • Fix flaky boot def test (#2686) by @eddiemundo
  • Fix typos in troubleshooting.md (#2680) by @visortelle
  • Add pre-commit hook for cleaning up mixed-line endings (#2679) by @drsooch
  • Add a test for #2673 (#2676) by @pepeiborra
  • Implement distribution of dynamic builds (#2675) by @hasufell
  • Restore eval plugin build for GHC 9.2 (#2669) by @guibou
  • Change Type Signature Plugin (#2660) by @drsooch
  • Nix flake fix dev shells (#2655) by @guibou
  • Speed up fuzzy search (#2639) by @Bodigrim
  • Improve logging (#2558) by @eddiemundo
  • Improve recompilation avoidance in the presence of TH (#2316) by @wz1000

1.6.1.0

2 years ago

This is a bug fix release to restore a fully statically linked haskell-language-server-wrapper executable.

  • It has been reported here
    • Thanks all reporters for the fast feedback
  • The bug has been traced here
  • And the fix is in this pr

Pull requests merged for 1.6.0

  • Post 1.6.0.0 fixes and prepare 1.6.1.0 bug fix release (#2647) by @jneira- Move hackage back to flake.nix (#2652) by @guibou
  • Wingman: Fix #1879 (#2644) by @MorrowM

1.6.0.0

2 years ago

1.6.0.0

Time for a new and exciting hls release:

  • It includes three brand new plugins:
  • Finally hls supports ghc 9.2.1
    • Including core features and many plugins
    • Thanks to a great collective effort coordinated by @pepeiborra and with the help of @wz1000, @mpickering and @alanz among others
  • Hls now also supports ghc 9.0.2 with all plugins but the stylish-haskell formatter
  • And many many fixes and performance improvements, thanks to all contributors!

Deprecation notice for 1.6.0

  • As we noted in the previous release we have dropped support for ghc versions 8.10.5 and 8.8.3 in this release
    • We recommend upgrading ghc to the last minor version: 8.8.4 or 8.10.7
    • You can read more about ghc deprecation policy and schedule here
  • After this release:
    • We will remove all project stack.yaml's but two: one for last lts and other for nightly. Temporary we could keep one more stack yaml when nightly upgrades the ghc version, to help in the transition
    • We will remove the install script which lives here
      • If you want to install hls from source we recommend using ghcup. Download it and run ghcup compile hls --help to get more info about.

Pull requests merged for 1.6.0

  • Implement stripPrefix via T.stripPrefix (#2645) by @Bodigrim
  • Change Type Family Export pattern (#2643) by @drsooch
  • Disable alpine build by default (#2638) by @jneira
  • Use T.decodeUtf8 + BS.readFile instead of T.readFile (#2637) by @Bodigrim
  • Add ghc 9.2.1 to gitlab ci (#2636) by @jneira
  • Specialize ghcide indent style to .hs (#2631) by @mrgutkun
  • Fix off by one indexing error in openingBacktick (#2629) by @pepeiborra
  • Drop bytestring-encoding (#2628) by @pepeiborra
  • fix positionInRange (#2625) by @kokobd
  • Fix #2612 - hlint plugin - Apply fixities to parsed source before sending to apply-refact (#2624) by @eddiemundo
  • Flake ghc 92 (#2621) by @guibou
  • Use ghc+integer-gmp for alpine linux build release (#2615) by @jneira
  • Use helpers from lsp to do code action prefixing (#2614) by @michaelpj
  • Wingman: Fix fundeps (#2611) by @isovector
  • Wingman idioms (#2607) by @isovector
  • Make work stack-9.2.1.yaml and enable pedantic (-WError) for cabal (#2606) by @jneira
  • Improve qualified import plugin readme (#2605) by @eddiemundo
  • Correct typo in Ide.Arguments:listPluginsParser (#2604) by @tombusby
  • Rework features documentation (#2603) by @michaelpj
  • [ghc-9.2] Fix refine-imports plugin (#2601) by @mrgutkun
  • [ghc-9.2] Fix qualify-imported-names plugin (#2600) by @mrgutkun
  • Correct issues with pre-commit hook (#2597) by @bradrn
  • Fix some import module completions being dropped (and fix flaky test too) (#2595) by @eddiemundo
  • Fix module-name plugin on ghc-9.2.1 (#2594) by @mrgutkun
  • [ghc-9.2] Fix rename plugin (#2593) by @pepeiborra
  • Fix progress eval test randomly failing (#2590) by @eddiemundo
  • More work around next ghc-9.2.1 support (#2587) by @jneira
  • Post ghc-9.2.1 config cleanup (#2582) by @jneira
  • GHC-9.0 support for hls-tactics-plugin (#2581) by @isovector
  • Wingman: Fix TODO(sandy) when performing subsequent actions (#2580) by @isovector
  • Bump Ormolu and Fourmolu to GHC-9.2-compatible versions (#2579) by @georgefst
  • test: Add regression tests for #2403 (#2576) by @guibou
  • Fix crash on completion with type family (#2569) by @guibou
  • Add support for ghc 9.0.2 (#2567) by @jneira
  • support selection range lsp feature (#2565) by @kokobd
  • Reuse build setup using a dedicated github action (#2563) by @jneira
  • Fix ci update hackage index (#2562) by @jneira
  • Enable aarch64-darwin in flake.nix (#2561) by @Gabriel439
  • Fix freeze cache key correctly (#2560) by @jneira
  • Fix nix flake by explicit version for lsp-xxx packages (#2557) by @guibou
  • Apply missing update for stack-9.0.1.yaml (#2556) by @Ailrun
  • doc: Enable relative links with anchors (#2555) by @sir4ur0n
  • Fix space leak where EPS retained HPTs from old HscEnv (#2553) by @mpickering
  • Remove cabal.project.freeze files in workflows after computing the cache key (#2552) by @jneira
  • Add support for brittany (needs aeson-2) and floskell with ghc-9.0.1 (#2551) by @jneira
  • Restore TemplateHaskell pragma in hls-graph (#2549) by @pepeiborra
  • Add space after comma when exporting a name (#2547) by @sergv
  • Set an unique name for Hlint job (#2544) by @jneira
  • Fix ghcide handling project root (#2543) by @drsooch
  • CI: linting (#2538) by @Anton-Latukha
  • CI: add hlint workflow (#2537) by @Anton-Latukha
  • CI: caching: closer match work/CI guarantees (#2536) by @Anton-Latukha
  • CI: caching: keep-going (#2535) by @Anton-Latukha
  • CI: {caching,test,bench}: mk cache aware of package dep versions (#2532) by @Anton-Latukha
  • Test hls-pragmas-plugin in ci (#2530) by @jneira
  • Enable manual run for caching, hackage and build workflows (#2528) by @jneira
  • Fix random SQLite busy database is locked errors (#2527) by @eddiemundo
  • Fix some hlint warnings (#2523) by @jhrcek
  • Improve action for fixing import typo (#2522) by @jhrcek
  • CI: caching: fix early termination expression check & cabal.project replacement (#2520) by @Anton-Latukha
  • Solve crash with module name plugin under certain circumstances (#2518) by @ttylec
  • Rework troubleshooting section, add basic explainer (#2517) by @michaelpj
  • Refactor collectLiterals in AlternateNumberFormat. (#2516) by @drsooch
  • cabal-*.project: index-state +1s (#2515) by @Anton-Latukha
  • Bump up retrie (#2513) by @jneira
  • Sort out some compatibility issues (#2511) by @alanz
  • Fix ci cache for windows (#2507) by @jneira
  • CI: caching: add early termination & run check on schedule (#2506) by @Anton-Latukha
  • Fix tracing of recordDirtyKeys (#2505) by @pepeiborra
  • Unhandled exceptions fixed (#2504) by @pepeiborra
  • Build with GHC 9.2 (#2503) by @pepeiborra
  • Ignore stack.yamls in test cabal workflow (#2502) by @jneira
  • small stack yaml updates to ease maintenance (#2501) by @simonmichael
  • Automatically read in the doc version from the cabal file (#2500) by @michaelpj
  • Disable alternate numbers format plugin temporary (#2498) by @jneira
  • Revert "Send unhandled exceptions to the user (#2484)" (#2497) by @jneira
  • Upgrade to new version of lsp libraries (#2494) by @michaelpj
  • Fail if main or pre jobs are cancelled (#2493) by @jneira
  • stack-9.0.1: update/cleanup (#2489) by @simonmichael
  • Correctly handle LSP shutdown/exit (#2486) by @pepeiborra
  • Fix hls-graph ide build with embed-files (#2485) by @pepeiborra
  • Send unhandled exceptions to the user (#2484) by @pepeiborra
  • Fix redundant import actions for names starting with _ (#2483) by @Ailrun
  • Update flake to use fourmolu plugin in GHC 9 (#2482) by @Ailrun
  • Delete some dead or deprecated settings (#2481) by @michaelpj
  • Class plugin bump up (#2475) by @Ailrun
  • Fix some pragma completion cases (#2474) by @Ailrun
  • Minor org to contribution doc (#2472) by @Anton-Latukha
  • Warn if TH and Mac and static binary (#2470) by @pepeiborra
  • Lock-less debouncer (minimal change) (#2469) by @pepeiborra
  • Handle re-exported modules when constructing ExportsMap (#2468) by @jhrcek
  • Caching process update (#2467) by @Anton-Latukha
  • #2418 Also use .hlint.yaml fixity rules when HLINT_ON_LIB_GHC not defined (#2464) by @eddiemundo
  • Build linux binaries in alpine container (#2463) by @pepeiborra
  • Lockless iorefs (#2460) by @pepeiborra
  • Join nested IO actions of the form IO (IO ()) (#2459) by @fendor
  • #600 Code action to ignore hlint hints module wide (#2458) by @eddiemundo
  • lock-less progress-reporting (#2453) by @pepeiborra
  • Fix the nix build (#2452) by @michaelpj
  • Fix rerun log cache handling (#2450) by @jneira
  • Make heavy use of common sections (#2447) by @fendor
  • CI: organizing bootstraping (#2446) by @Anton-Latukha
  • Describe hls installed binaries (#2445) by @jneira
  • Remove support for ghc 8.8.3/8.10.5 (#2444) by @jneira
  • CI: cabal 3.6 use & clean-up 8.10.5 builds (#2443) by @Anton-Latukha
  • Lockless FileExistsMap and position mapping (#2442) by @pepeiborra
  • Fix regression in Eval plugin and add test (#2441) by @pepeiborra
  • Makes local record field completion respects the fields sharing one single type signature (#2439) by @konn
  • Enable top-level hover signature test (#2435) by @jneira
  • Lockless diagnostics (#2434) by @pepeiborra
  • Move Common Plugin Functions into PluginUtils (#2433) by @drsooch
  • lock-less Values state (#2429) by @pepeiborra
  • Extract the pre-decl pragma parsing to its own module (#2428) by @eddiemundo
  • CI: cache-deps: rm pull request hook (#2426) by @Anton-Latukha
  • Add known broken tests for import placement (#2425) by @nini-faroux
  • Use stm-stats to reduce contention in hls-graph (#2421) by @pepeiborra
  • Build on FreeBSD12 only (#2420) by @hasufell
  • Centralized caching workflow (#2419) by @Anton-Latukha
  • Configuration docs: Typo (#2417) by @andys8
  • Use dependent-sum from hackage (#2412) by @jneira
  • Lock-less hls-graph (#2411) by @pepeiborra
  • hls-graph.cabal: link to actual readme (#2404) by @juhp
  • Disable check project in the ghcide test suite (#2397) by @pepeiborra
  • Add modern issue templates (#2394) by @jneira
  • Fix extension pragma inserted below ghc options pragma #2364 (#2392) by @eddiemundo
  • Avoid unnecessary Target canonicalisation in Session setup (#2359) by @fendor
  • Decrease contention in Progress reporting (#2357) by @pepeiborra
  • Qualify imported names plugin (#2355) by @eddiemundo
  • HLS Plugin to provide Alternate Literal Formats. (#2350) by @drsooch
  • Log live_bytes and heap_size as reported by GHC.Stats (#1508) by @mpickering

1.5.1

2 years ago

1.5.1

This is a bug fix release for two regressions found after releasing 1.5.0:

  • #2365: hs-boot files not handled correctly, discovered in the ghc codebase and fixed with #2377
  • #2379: 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)

Hackage release notice

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

Pull requests merged for 1.5.1

  • Fix hls-graph build with embed-files flag (#2395) by @pepeiborra
  • Prepare 1.5.1 (#2393) by @jneira
  • Revert "Update to latest prettyprinter API (#2352)" (#2389) by @pepeiborra
  • Add extra logging around build queue (#2388) by @pepeiborra
  • docs: Fix typo (#2386) by @nh2
  • Update release instructions (#2384) by @jneira
  • ghcide: Update dependency on hls-plugin-api (#2382) by @hololeap
  • Fix regression in GhcSessionDeps (#2380) by @pepeiborra
  • Boot files (#2377) by @pepeiborra
  • hls-module-name-plugin: Add missing golden file to hackage tarball (#2374) by @maralorn
  • hls-explicit-imports-plugin: Add golden files to hackage tarball (#2373) by @maralorn
  • Update ghcide dependency for various plugins (#2368) by @hololeap
  • Fix several hlint issues related with the use of parsed module without comments (#2366) by @jneira

1.5.0

2 years ago

1.5.0

Time for another hls release:

  • @pepeiborra has done an epic work to improve performance, redefining some of the core pieces of HLS
    • You can take an overall look to improvements in these slides
    • Performance would be noticeable in large projects without too much template haskell usage
  • We have fourmolu support for ghc-9.0.1 thanks to @georgefst
  • We have got improvements over import suggestions thanks to @yoshitsugu and @alexnaspo
  • Completions also has been improved in general thanks to @pepeiborra
  • There have been lot of documentation updates by several contributors, thanks also to all of you
  • In this release we still don't have full support for all plugins and ghc-9.0.1
    • Missing plugins for ghc-9.0.1 are: hls-class-plugin, hls-tactics-plugin (wingman), hls-brittany-plugin and hls-stylish-haskell-plugin

Deprecation notice for 1.5.0

  • As we noted in the previous release we have dropped support for ghc versions 8.6.4, 8.10.2, 8.10.3, 8.10.4 in this release
  • We will drop support for ghc versions 8.10.5 and 8.8.3 after this release
  • The advise is upgrade ghc to the last minor version: 8.6.5, 8.8.4 or 8.10.7
  • You can read more about ghc deprecation policy and schedule here

Pull requests merged for 1.5.0

  • More completion fixes (#2354) by @pepeiborra
  • Update to latest prettyprinter API (#2352) by @fendor
  • Use hackage version of czipwith (#2346) by @jneira
  • Show build graph statistics in ghcide-bench (#2343) by @pepeiborra
  • contributing: add implicit-hie gen-hie > hie.yaml note (#2341) by @Anton-Latukha
  • add dependabot: add Actions CI merge requests automation (#2339) by @Anton-Latukha
  • Skip parsing without haddock for above GHC9.0 (#2338) by @yoshitsugu
  • Give unique names to post-jobs (#2337) by @jneira
  • Cancel prev runs for bench and nix (#2335) by @jneira
  • Trace diagnostics (#2333) by @pepeiborra
  • Include sortText in completions and improve suggestions (#2332) by @pepeiborra
  • Not suggest exported imports (#2329) by @yoshitsugu
  • Update troubleshooting section (#2326) by @jneira
  • Remove automatic comment to [skip circleci] (#2325) by @jneira
  • Add README.md in install/ subproject (#2324) by @sir4ur0n
  • Improve the performance of GetModIfaceFromDisk in large repos and delete GetDependencies (#2323) by @pepeiborra
  • Add support for install hls from hackage using ghc 9.0.1 (#2322) by @jneira
  • Rename hlint test data files and add regression tests (#2321) by @jneira
  • Suggest hiding imports when local definition exists (#2320) by @yoshitsugu
  • Improve trace readability (#2319) by @pepeiborra
  • Sir4ur0n/doc/cleanup hie (#2311) by @sir4ur0n
  • Add option to effectively cancel prev runs (#2310) by @jneira
  • Separate features from demos (#2307) by @jneira
  • Prevent Tactics hover provider from blocking at startup (#2306) by @pepeiborra
  • Fix defaultIdeOptions to use the initial config settings (#2302) by @pepeiborra
  • Use new queue rules for mergify bot (#2301) by @jneira
  • Fix reverse dep. tracking for alwaysRerun rules (#2298) by @pepeiborra
  • Reorganize github workflows and use specific label [skip circleci] (#2297) by @jneira
  • Enable func-test suite for windows (#2296) by @jneira
  • Generate linkables in the Eval plugin (#2295) by @pepeiborra
  • [hls-graph] clean up databaseDirtySet (#2294) by @pepeiborra
  • Update link to supported platforms by ghcup (#2293) by @chshersh
  • Make circleci honour [skip ci] wherever is placed in the pr info (title, description) (#2289) by @jneira
  • Note in the install script that listed ghcs are the supported ones (#2286) by @jneira
  • Move hlint tests to its own package (and other clean ups) (#2284) by @jneira
  • Trace rebuilds (#2283) by @pepeiborra
  • Fix excessive interface recompilation caused by the Tactics plugin (#2282) by @pepeiborra
  • Preserve dirty set and add dirtiness assertion (#2279) by @pepeiborra
  • Ignore null WatchedFile events (#2278) by @pepeiborra
  • Trace log events and fix ghcide logger (#2277) by @pepeiborra
  • Point to GitHub from Contributing.md (#2275) by @georgefst
  • installation.md: add Fedora copr repo (#2274) by @juhp
  • avoid double rebuilds for FOIs (#2266) by @pepeiborra
  • Update installation on ArchLinux - new package (#2265) by @marcin-rzeznicki
  • Garbage collection of dirty keys (#2263) by @pepeiborra
  • Add lsp-mode links (#2260) by @jneira
  • Add more features and demos in docs (#2257) by @jneira
  • Add nix installation section (#2256) by @jneira
  • Bump Fourmolu to 0.4 (#2254) by @georgefst
  • Remove custom version of operational (#2249) by @jneira
  • Generate custom source tarball (#2248) by @jneira
  • Enable the ghcide test plugin in HLS test suites (#2243) by @pepeiborra
  • Partial sort of fuzzy filtering results (#2240) by @pepeiborra
  • Fix build with fbghc (#2234) by @pepeiborra
  • Tweaks to GHC support docs (#2232) by @michaelpj
  • Add ghc deprecation policy to documentation (#2231) by @jneira
  • Add ghcup compile option (#2230) by @jneira
  • Parallel fuzzy filtering (#2225) by @pepeiborra
  • Revert "Inline Text.Fuzzy to add INLINABLE pragmas" (#2223) by @pepeiborra
  • feat(flake): expose hie-bios (#2221) by @teto
  • flake: remove the 'follows' directive (#2218) by @teto
  • Return completions lazily for massive savings (#2217) by @pepeiborra
  • Inline Text.Fuzzy to add INLINABLE pragmas (#2215) by @pepeiborra
  • Add chat on irc badge (#2214) by @jneira
  • ghcide: Add flags to toggle building each executable (#2212) by @hololeap
  • Add matrix haskell-tooling channel (#2210) by @jneira
  • Relax upper bounds over ormolu and stylish-haskell (#2207) by @jneira
  • Add missing config options in documentation (#2203) by @jneira
  • Add gitlab CI (#2200) by @hasufell
  • Apply workaround for 8.8.4 and windows to enable it in ci (#2199) by @jneira
  • Drop ghc support for 8.6.4, 8.10.2, 8.10.3, 8.10.4 (#2197) by @jneira
  • Consider all root paths when suggesting module name change. (#2195) by @cdsmith
  • enable completions of local imports (#2190) by @alexnaspo
  • Drop ghc-api-compat from dependency closure (#2128) by @fendor
  • Reimplement shake (continued) (#2060) by @pepeiborra

1.4.0

2 years ago

1.4.0

After a month of vacation a new hls release has arrived:

  • Support for ghc 8.10.6 and 8.10.7
  • The ormolu formatter plugin works with ghc 9.0.1
  • Call hierarchy plugin has been improved thanks to @July541:
    • Add call from type signature
    • Add call from a function pattern
    • Go to typeclass instance directly
  • As usual @isovector has been busy improving wingman plugin:
    • New "intro and destruct" code action
    • Streaming tactic solutions: when Wingman times outs, it can still pick the best solution it found
    • Let-bindings in metattactics: allows you to bind variables in tactic metaprogram
    • Several bug fixes
  • We have new docs thanks to @michaelpj: https://haskell-language-server.readthedocs.io
  • Now you can ask the executable for included plugins with: haskell-language-server --list-plugins
  • There are several bug fixes and features you can found in the merged pull requests list

DEPRECATION NOTICE

  • After this release we will drop support for ghc versions 8.6.4, 8.10.3 and 8.10.4
    • The advise is upgrade ghc to the last minor version: 8.6.5 or 8.10.7
    • Take a look to this issue for more details

Pull requests merged for 1.4.0

  • Update flake to fix nix builds (#2188) by @jneira
  • Completions for project identifiers (#2187) by @pepeiborra
  • Wingman: Don't clobber where clauses (#2184) by @isovector
  • Add rerun workflow (#2181) by @jneira
  • Bump up shake-bench version (#2178) by @jneira
  • Fix hackage release (#2177) by @jneira
  • Use maxBound of uinteger not Int. (#2169) by @pranaysashank
  • enable the PR gitpod badge and drop the label (#2167) by @pepeiborra
  • Plugin in config files (#2166) by @jneira
  • Complete contributing guide (#2165) by @jneira
  • Wingman: Add "New Unification Variable" helper (#2164) by @isovector
  • Semiautomatic hackage releases (#2163) by @jneira
  • Improve incoming call for typeclass and type family instance (#2162) by @July541
  • Add a Gitpod descriptor (#2161) by @pepeiborra
  • Wingman: Let-bindings in metatactics (#2160) by @isovector
  • Update nix flake (#2159) by @lf-
  • Add ghc-8.10.7 to release build (#2158) by @jneira
  • Reduce duplication in pragma tests (#2157) by @nini-faroux
  • Remove ghc-api source snapshot (#2156) by @pepeiborra
  • Create a citation (#2155) by @ndmitchell
  • Disable window job for ghc-8.10.2 (#2154) by @jneira
  • Auto complete definitions within imports (#2152) by @alexnaspo
  • Filter code actions based on prefix, not equality (#2146) by @michaelpj
  • perform a GC before find resolution (#2144) by @pepeiborra
  • case sensitive language pragmas fix (#2142) by @alexnaspo
  • Add ghc-8.10.7 support (#2141) by @jneira
  • List all available plugins (#2139) by @July541
  • update LTS for GHC 8.10.6 (#2138) by @peterbecich
  • fix GitHub Actions badges (#2135) by @peterbecich
  • Move pragmas completion to pragmas plugin (#2134) by @alexnaspo
  • Update ghc-9.0.1 support (#2131) by @jneira
  • Support call hierarchy on pattern matching (#2129) by @July541
  • GHCIDE_BUILD_PROFILING env var (#2125) by @pepeiborra
  • [ghcide] support -d cli switch (#2124) by @pepeiborra
  • don't crash when an unused operator import ends in . (#2123) by @tscholak
  • [benchmarks] Fix edit and "after edit" experiments (#2122) by @pepeiborra
  • Add fix for correct placement of import (#2100) (#2116) by @nini-faroux
  • Support for ghc-8.10.6 (#2109) by @jneira
  • New rename plugin implementation (#2108) by @OliverMadine
  • [ghcide-bench] Support extra args in examples (#2107) by @pepeiborra
  • Fix filepath identity in cradle dependencies when using reactive change tracking (#2106) by @pepeiborra
  • [ghcide-bench] preserve threading details in eventlogs (#2105) by @pepeiborra
  • [ghcide-bench] fix edit experiment (#2104) by @pepeiborra (#2102) by @isovector
  • reduce allow-newer entries for shake-bench (#2101) by @pepeiborra
  • Wingman: Don't count it as using a term if you only destruct it (#2099) by @isovector
  • Clean cabal project (#2097) by @jneira
  • Wingman: New AbstractLSP interface (#2094) by @isovector
  • Add badge with github release (#2093) by @jneira
  • Add a bit more prose and some links to the README (#2090) by @michaelpj
  • Enable tests for ormolu plugin (#2086) by @felixonmars
  • Allow ormolu 0.2 and fix compatibility with GHC 9 (#2084) by @felixonmars
  • Add initial sphinx doc site for RTD (#2083) by @michaelpj
  • Amend fix for correct placement of file header pragmas (#1958) (#2078) by @nini-faroux
  • Wingman: "Intro and destruct" code action (#2077) by @isovector
  • Support call hierarchy on type signature & add plugin to generic config & docs (#2072) by @July541
  • Update nix flake (#2065) by @berberman
  • Include sponsorship section (#2063) by @jneira
  • Add more communication channels (#2062) by @jneira
  • Don't suggest disabling type errors (#2061) by @anka-213
  • Build with lsp 1.2.0.1 (#2059) by @pepeiborra
  • Remove HIE_CACHE from circleci cache key (#2050) by @jneira
  • [#1958] Fix placement of language pragmas (#2043) by @nini-faroux
  • [#2005] Fix Formatting When Brittany Returns Warnings (#2036) by @prikhi