1.2.0
We have finally released a new version of Haskell Language Server!
Thanks for all contributors, many bugs has been fixed, and many features has landed.
Here is the summary of changes:
- Basic support for GHC 9.0.1 is added.
It does not support all plugins yet, but core GHCIDE features will work. For the detailed information that which plugins work, please refer this list. - Support for GHC 8.10.5 is added.
Note that macOS version is unfortunately not included in this release because of a GHC issue withnetwork
package.
Finally, we can provide executable for GHC 8.10.5 on macOS as well. (Thanks @mouse07410 for finding workaround!) - HLS wrapper and GHCIDE session loader uses the same logic with implicit-hie.
This fixes a build issue of a stack project with implicithie.yaml
. - Wingman plugin has added numerous features and fixed many bugs:
- It now supports tactic metaprogramming!
For list of commands, see this document.
- "Refine hole" and "Split all function arguments" code actions are publicly opened.
- "Empty case split" code lens is added.
- The name generator is fixed to avoid dangerous summon rituals.
- Many bugs related to type families and GADTs are fixed.
- It now supports tactic metaprogramming!
- We support nix flake, an upcoming way to manage dependencies in nix.
- Every plugin (other than example plugins) now lives in its own package.
Pull requests merged for 1.2.0
- Cleanup stack build output in circleci
(#1905) by @jhrcek - Remove FeatureSet
(#1902) by @isovector - Correct a typo in ConfigUtils.hs
(#1900) by @felixonmars - Add GHC 8.10.5 support
(#1899) by @Ailrun - Fix getCurrentDirectory calls in ghcide
(#1897) by @pepeiborra - Wingman: FIx evidence when using GADT constructors
(#1889) by @isovector - [explicit-imports] Take in a predicate to filter modules
(#1888) by @pepeiborra - Fix unification pertaining to evidence
(#1885) by @isovector - Let Wingman peek through type families
(#1881) by @isovector - Use file watches for all workspace files
(#1880) by @pepeiborra - Update IRC details in README.md
(#1877) by @fendor - Fix nix build for #1858
(#1870) by @berberman - Wingman metaprogram command documentation
(#1867) by @isovector - Catamorphism and collapse tactics
(#1865) by @isovector - Fix condition of nix build job
(#1864) by @berberman - Technology preview: Keep track of changes to minimize rebuilds
(#1862) by @pepeiborra - Trace more Shake evaluation details
(#1861) by @pepeiborra - No need to delete the same key twice
(#1860) by @pepeiborra - Use cabal-install if nix is failing in CI
(#1859) by @berberman - Use last apply-refact and several stack.yaml updates
(#1858) by @jneira - Split ghcide actions into different descriptors
(#1857) by @berberman - Allow module-local and imported functions in Wingman metaprograms
(#1856) by @isovector - Update mergify.yml
(#1853) by @Ailrun - Fix flake compat
(#1852) by @berberman - Fix record layout
(#1851) by @isovector - Avoid package-qualified import in Fourmolu plugin
(#1848) by @georgefst - Skip cachix jobs if token is unset
(#1845) by @berberman - Refine should either do intros or split, not both
(#1842) by @isovector - Add hspec upper bound
(#1837) by @jneira - Extract last 2 plugins and clean up others
(#1836) by @Ailrun - Extract pragmas plugin
(#1833) by @Ailrun - Extract floskell plugin as a standalone plugin
(#1829) by @Ailrun - nix: refactor with flakes
(#1827) by @berberman - Bump up hls-splice-plugin to 1.0.0.2 (backport #1825)
(#1826) by @mergify[bot] - Bump up hls-splice-plugin to 1.0.0.2
(#1825) by @jneira - Apply formats again
(#1824) by @Ailrun - Extract fourmolu plugin into a standalone package
(#1823) by @gustavoavena - Ignore filemode in diff
(#1819) by @Ailrun - ghc-api cleanups cleanup
(#1816) by @pepeiborra - Add a hook for modifying the dynflags from a plugin
(#1814) by @isovector - Prepare ghcide release v1.3.0.0
(#1811) by @pepeiborra - Remove hls-ghc-x.y from install script and wrapper
(#1805) by @berberman - Fix unwanted import refinement
(#1801) by @rayshih - Canonicalize hiedb path before comparing
(#1800) by @pepeiborra - Pin nix-pre-commit-hooks (backport #1780)
(#1798) by @mergify[bot] - Add upper bound to hlint (backport #1795)
(#1797) by @mergify[bot] - Add bounds for base in hls-stylish-haskell-plugin (backport #1794)
(#1796) by @mergify[bot] - Add upper bound to hlint
(#1795) by @jneira - Add bounds for base in hls-stylish-haskell-plugin
(#1794) by @berberman - Add bounds for base in hls-test-utils (backport #1791)
(#1793) by @mergify[bot] - Replace faulty signature test
(#1792) by @kderme - Add bounds for base in hls-test-utils
(#1791) by @berberman - Fix backport conflict of refine-import plugin
(#1790) by @Ailrun - Fix progress counting
(#1789) by @pepeiborra - Loosen dependency bounds (backport #1787)
(#1788) by @mergify[bot] - Loosen dependency bounds
(#1787) by @berberman - clean up ghc-api pragmas
(#1785) by @pepeiborra - Progress reporting improvements
(#1784) by @pepeiborra - Unify session loading using implicit-hie
(#1783) by @fendor - Pin nix-pre-commit-hooks
(#1780) by @Ailrun - Replace the unsafe getmodtime with safe posix calls
(#1778) by @pepeiborra - Tactic metaprogramming
(#1776) by @isovector - Fix wrong extend import while type constuctor and data constructor have the same name
(#1775) by @July541 - Add codetriage badge
(#1772) by @jneira - Wingman: configurable auto search depth
(#1771) by @isovector - Prevent accidental Cthulhu summons
(#1760) by @isovector - Delay the Shake session setup until the Initialized handler
(#1754) by @pepeiborra - Wrap the Shake functions with newtypes
(#1753) by @ndmitchell - Fix reduction depth
(#1751) by @pepeiborra - Add hls-graph abstracting over shake
(#1748) by @ndmitchell - Explicitly import liftIO if you need it, rather than getting it from Shake
(#1747) by @ndmitchell - Tease apart the custom SYB from ExactPrint
(#1746) by @isovector - Remove unnecessary Shake dependencies
(#1745) by @ndmitchell - Delete an unused import
(#1744) by @ndmitchell - Improve vscode extension schema generation
(#1742) by @berberman - Fix class method completion
(#1741) by @July541 - Add heralds to Wingman's use of runAction
(#1740) by @isovector - Wingman: case split on punned record fields
(#1739) by @isovector - Wingman feature release
(#1735) by @isovector - Add haskell-language-server Homebrew installation instructions
(#1734) by @kret - Add a "Split using NamedFieldPuns" code action
(#1733) by @isovector - Insert pragmas after shebang or to existing pragma list
(#1731) by @OliverMadine - Add executable stanza in hls-install.cabal.
(#1730) by @arrowd - Add installation instructions for FreeBSD.
(#1729) by @arrowd - HLint: Pass options through user config
(#1724) by @rmehri01 - Prepare ghcide 1.2.0.2 and HLS 1.1.0
(#1722) by @berberman - Wingman: Destruct on empty case
(#1721) by @isovector - Fix: #1690 - Infix typed holes are now filled using infix notation
(#1708) by @OliverMadine - Implement refine imports
(#1686) by @rayshih - Ghc 9.0.1 support for ghcide
(#1649) by @anka-213 - hie-compat: Add basic support for ghc 9.0.1
(#1635) by @anka-213 - Fix remove constraint
(#1578) by @kderme - Limit CodeActions within passed range
(#1442) by @aufarg