Skip to content

Prepare 1.2.0 June release #1912

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 10 commits into from
Jun 12, 2021
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
212 changes: 212 additions & 0 deletions ChangeLog.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,217 @@
# Changelog for haskell-language-server

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

## 1.1.0

Haskell Language Server 1.1.0 has finally come! Many thanks to all contributors -- since the last release, we have merged over 100 PRs!
Expand Down
2 changes: 1 addition & 1 deletion GenChangelogs.hs
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@ import System.Process

main = do
callCommand "git fetch --tags"
tags <- filter (isPrefixOf "0.") . lines <$>
tags <- filter (isPrefixOf "1.") . lines <$>
readProcess "git" ["tag", "--list", "--sort=v:refname"] ""

lastDateStr <- last . lines <$> readProcess "git" ["show", "-s", "--format=%cI", "-1", last tags] ""
Expand Down
6 changes: 3 additions & 3 deletions ghcide/ghcide.cabal
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@ cabal-version: 2.4
build-type: Simple
category: Development
name: ghcide
version: 1.3.0.0
version: 1.4.0.0
license: Apache-2.0
license-file: LICENSE
author: Digital Asset and Ghcide contributors
Expand Down Expand Up @@ -56,7 +56,7 @@ library
Glob,
haddock-library >= 1.8 && < 1.11,
hashable,
hie-compat ^>= 0.1.0.0,
hie-compat ^>= 0.2.0.0,
hls-plugin-api ^>= 1.1.0.0,
lens,
hiedb == 0.3.0.*,
Expand All @@ -73,7 +73,7 @@ library
rope-utf16-splay,
safe,
safe-exceptions,
hls-graph ^>= 1.3,
hls-graph ^>= 1.4,
sorted-list,
sqlite-simple,
stm,
Expand Down
6 changes: 3 additions & 3 deletions haskell-language-server.cabal
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
cabal-version: 2.4
category: Development
name: haskell-language-server
version: 1.1.0.1
version: 1.2.0.0
synopsis: LSP server for GHC
description:
Please see the README on GitHub at <https://github.com/haskell/haskell-language-server#readme>
Expand Down Expand Up @@ -61,7 +61,7 @@ library
, cryptohash-sha1
, data-default
, ghc
, ghcide ^>=1.3
, ghcide ^>=1.4
, gitrev
, lsp
, hie-bios
Expand Down Expand Up @@ -220,7 +220,7 @@ common retrie

common tactic
if flag(tactic) || flag(all-plugins)
build-depends: hls-tactics-plugin ^>= 1.1.0.0
build-depends: hls-tactics-plugin ^>= 1.2.0.0
cpp-options: -Dtactic

common hlint
Expand Down
2 changes: 1 addition & 1 deletion hie-compat/hie-compat.cabal
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
cabal-version: 1.22
name: hie-compat
version: 0.1.0.0
version: 0.2.0.0
synopsis: HIE files for GHC 8.6 and other HIE file backports
license: Apache-2.0
description:
Expand Down
2 changes: 1 addition & 1 deletion hls-graph/hls-graph.cabal
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
cabal-version: 2.4
name: hls-graph
version: 1.3.0.0
version: 1.4.0.0
synopsis: Haskell Language Server internal graph API
description:
Please see the README on GitHub at <https://github.com/haskell/haskell-language-server#readme>
Expand Down
4 changes: 2 additions & 2 deletions hls-plugin-api/hls-plugin-api.cabal
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
cabal-version: 2.4
name: hls-plugin-api
version: 1.1.0.1
version: 1.1.0.2
synopsis: Haskell Language Server API for plugin communication
description:
Please see the README on GitHub at <https://github.com/haskell/haskell-language-server#readme>
Expand Down Expand Up @@ -52,7 +52,7 @@ library
, opentelemetry
, process
, regex-tdfa >=1.3.1.0
, hls-graph ^>=1.3
, hls-graph ^>=1.4
, text
, unordered-containers

Expand Down
4 changes: 2 additions & 2 deletions hls-test-utils/hls-test-utils.cabal
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
cabal-version: 2.4
name: hls-test-utils
version: 1.0.0.1
version: 1.0.1.0
synopsis: Utilities used in the tests of Haskell Language Server
description:
Please see the README on GitHub at <https://github.com/haskell/haskell-language-server#readme>
Expand Down Expand Up @@ -41,7 +41,7 @@ library
, directory
, extra
, filepath
, ghcide >=1.3 && <1.4
, ghcide ^>=1.4
, hls-graph
, hls-plugin-api ^>=1.1
, hspec <2.8
Expand Down
2 changes: 1 addition & 1 deletion plugins/hls-brittany-plugin/hls-brittany-plugin.cabal
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,7 @@ library
, filepath
, ghc
, ghc-boot-th
, ghcide >=1.2 && <1.4
, ghcide >=1.2 && <1.5
, hls-plugin-api ^>=1.1
, lens
, lsp-types
Expand Down
4 changes: 2 additions & 2 deletions plugins/hls-class-plugin/hls-class-plugin.cabal
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
cabal-version: 2.4
name: hls-class-plugin
version: 1.0.0.1
version: 1.0.0.2
synopsis:
Class/instance management plugin for Haskell Language Server

Expand Down Expand Up @@ -30,7 +30,7 @@ library
, ghc
, ghc-api-compat
, ghc-exactprint
, ghcide >=1.2 && <1.4
, ghcide >=1.2 && <1.5
, hls-plugin-api ^>=1.1
, lens
, lsp
Expand Down
4 changes: 2 additions & 2 deletions plugins/hls-eval-plugin/hls-eval-plugin.cabal
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
cabal-version: 2.4
name: hls-eval-plugin
version: 1.1.0.0
version: 1.1.1.0
synopsis: Eval plugin for Haskell Language Server
description:
Please see the README on GitHub at <https://github.com/haskell/haskell-language-server#readme>
Expand Down Expand Up @@ -62,7 +62,7 @@ library
, ghc-api-compat
, ghc-boot-th
, ghc-paths
, ghcide >=1.2 && <1.4
, ghcide >=1.2 && <1.5
, hashable
, hls-plugin-api ^>=1.1
, lens
Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
cabal-version: 2.2
name: hls-explicit-imports-plugin
version: 1.0.0.2
version: 1.0.0.3
synopsis: Explicit imports plugin for Haskell Language Server
license: Apache-2.0
license-file: LICENSE
Expand All @@ -20,7 +20,7 @@ library
, deepseq
, ghc
, ghc-api-compat
, ghcide ^>=1.3
, ghcide ^>=1.4
, hls-graph
, hls-plugin-api ^>=1.1
, lsp
Expand Down
2 changes: 1 addition & 1 deletion plugins/hls-floskell-plugin/hls-floskell-plugin.cabal
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,7 @@ library
build-depends:
, base >=4.12 && <5
, floskell ^>=0.10
, ghcide >=1.2 && <1.4
, ghcide >=1.2 && <1.5
, hls-plugin-api ^>=1.1
, lsp-types
, text
Expand Down
Loading