Skip to content

Commit 7d7c2ef

Browse files
authored
Prepare 1.2.0 June release (#1912)
* Fix changelog generator * Prepare 1.2.0 * Update plugin versions * Fix hls plugin dependency * Update changelog * Fix a wrong link * Bump other packages versions * Revert version changes of unreleased packages * Fix ghcide bound for hls * Update version dependencies
1 parent 7ba6279 commit 7d7c2ef

File tree

24 files changed

+251
-39
lines changed

24 files changed

+251
-39
lines changed

ChangeLog.md

+212
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,217 @@
11
# Changelog for haskell-language-server
22

3+
## 1.2.0
4+
5+
We have finally released a new version of Haskell Language Server!
6+
Thanks for all contributors, many bugs has been fixed, and many features has landed.
7+
Here are the summary of changes:
8+
9+
- Basic support for GHC 9.0.1 is added.
10+
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).
11+
- Support for GHC 8.10.5 is added.
12+
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).
13+
- HLS wrapper and GHCIDE session loader uses the same logic with implicit-hie.
14+
This fixes [a build issue](https://github.com/haskell/haskell-language-server/issues/1782) of a stack project with implicit `hie.yaml` .
15+
- Wingman plugin has added numerous features and fixed many bugs:
16+
- It now supports tactic metaprogramming!
17+
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).
18+
![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)
19+
- "Refine hole" and "Split all function arguments" code actions are publicly opened.
20+
- "Empty case split" code lens is added.
21+
- The name generator is fixed [to avoid dangerous summon rituals](https://github.com/haskell/haskell-language-server/pull/1760).
22+
- Many bugs related to type families and GADTs are fixed.
23+
- We support [nix flake](https://nixos.wiki/wiki/Flakes), an upcoming way to manage dependencies in nix.
24+
- Every plugin (other than example plugins) now lives in its own package.
25+
26+
### Pull requests merged for 1.2.0
27+
28+
- Cleanup stack build output in circleci
29+
([#1905](https://github.com/haskell/haskell-language-server/pull/1905)) by @jhrcek
30+
- Remove FeatureSet
31+
([#1902](https://github.com/haskell/haskell-language-server/pull/1902)) by @isovector
32+
- Correct a typo in ConfigUtils.hs
33+
([#1900](https://github.com/haskell/haskell-language-server/pull/1900)) by @felixonmars
34+
- Add GHC 8.10.5 support
35+
([#1899](https://github.com/haskell/haskell-language-server/pull/1899)) by @Ailrun
36+
- Fix getCurrentDirectory calls in ghcide
37+
([#1897](https://github.com/haskell/haskell-language-server/pull/1897)) by @pepeiborra
38+
- Wingman: FIx evidence when using GADT constructors
39+
([#1889](https://github.com/haskell/haskell-language-server/pull/1889)) by @isovector
40+
- [explicit-imports] Take in a predicate to filter modules
41+
([#1888](https://github.com/haskell/haskell-language-server/pull/1888)) by @pepeiborra
42+
- Fix unification pertaining to evidence
43+
([#1885](https://github.com/haskell/haskell-language-server/pull/1885)) by @isovector
44+
- Let Wingman peek through type families
45+
([#1881](https://github.com/haskell/haskell-language-server/pull/1881)) by @isovector
46+
- Use file watches for all workspace files
47+
([#1880](https://github.com/haskell/haskell-language-server/pull/1880)) by @pepeiborra
48+
- Update IRC details in README.md
49+
([#1877](https://github.com/haskell/haskell-language-server/pull/1877)) by @fendor
50+
- Fix nix build for #1858
51+
([#1870](https://github.com/haskell/haskell-language-server/pull/1870)) by @berberman
52+
- Wingman metaprogram command documentation
53+
([#1867](https://github.com/haskell/haskell-language-server/pull/1867)) by @isovector
54+
- Catamorphism and collapse tactics
55+
([#1865](https://github.com/haskell/haskell-language-server/pull/1865)) by @isovector
56+
- Fix condition of nix build job
57+
([#1864](https://github.com/haskell/haskell-language-server/pull/1864)) by @berberman
58+
- Technology preview: Keep track of changes to minimize rebuilds
59+
([#1862](https://github.com/haskell/haskell-language-server/pull/1862)) by @pepeiborra
60+
- Trace more Shake evaluation details
61+
([#1861](https://github.com/haskell/haskell-language-server/pull/1861)) by @pepeiborra
62+
- No need to delete the same key twice
63+
([#1860](https://github.com/haskell/haskell-language-server/pull/1860)) by @pepeiborra
64+
- Use cabal-install if nix is failing in CI
65+
([#1859](https://github.com/haskell/haskell-language-server/pull/1859)) by @berberman
66+
- Use last apply-refact and several stack.yaml updates
67+
([#1858](https://github.com/haskell/haskell-language-server/pull/1858)) by @jneira
68+
- Split ghcide actions into different descriptors
69+
([#1857](https://github.com/haskell/haskell-language-server/pull/1857)) by @berberman
70+
- Allow module-local and imported functions in Wingman metaprograms
71+
([#1856](https://github.com/haskell/haskell-language-server/pull/1856)) by @isovector
72+
- Update mergify.yml
73+
([#1853](https://github.com/haskell/haskell-language-server/pull/1853)) by @Ailrun
74+
- Fix flake compat
75+
([#1852](https://github.com/haskell/haskell-language-server/pull/1852)) by @berberman
76+
- Fix record layout
77+
([#1851](https://github.com/haskell/haskell-language-server/pull/1851)) by @isovector
78+
- Avoid package-qualified import in Fourmolu plugin
79+
([#1848](https://github.com/haskell/haskell-language-server/pull/1848)) by @georgefst
80+
- Skip cachix jobs if token is unset
81+
([#1845](https://github.com/haskell/haskell-language-server/pull/1845)) by @berberman
82+
- Refine should either do intros or split, not both
83+
([#1842](https://github.com/haskell/haskell-language-server/pull/1842)) by @isovector
84+
- Add hspec upper bound
85+
([#1837](https://github.com/haskell/haskell-language-server/pull/1837)) by @jneira
86+
- Extract last 2 plugins and clean up others
87+
([#1836](https://github.com/haskell/haskell-language-server/pull/1836)) by @Ailrun
88+
- Extract pragmas plugin
89+
([#1833](https://github.com/haskell/haskell-language-server/pull/1833)) by @Ailrun
90+
- Extract floskell plugin as a standalone plugin
91+
([#1829](https://github.com/haskell/haskell-language-server/pull/1829)) by @Ailrun
92+
- nix: refactor with flakes
93+
([#1827](https://github.com/haskell/haskell-language-server/pull/1827)) by @berberman
94+
- Bump up hls-splice-plugin to 1.0.0.2 (backport #1825)
95+
([#1826](https://github.com/haskell/haskell-language-server/pull/1826)) by @mergify[bot]
96+
- Bump up hls-splice-plugin to 1.0.0.2
97+
([#1825](https://github.com/haskell/haskell-language-server/pull/1825)) by @jneira
98+
- Apply formats again
99+
([#1824](https://github.com/haskell/haskell-language-server/pull/1824)) by @Ailrun
100+
- Extract fourmolu plugin into a standalone package
101+
([#1823](https://github.com/haskell/haskell-language-server/pull/1823)) by @gustavoavena
102+
- Ignore filemode in diff
103+
([#1819](https://github.com/haskell/haskell-language-server/pull/1819)) by @Ailrun
104+
- ghc-api cleanups cleanup
105+
([#1816](https://github.com/haskell/haskell-language-server/pull/1816)) by @pepeiborra
106+
- Add a hook for modifying the dynflags from a plugin
107+
([#1814](https://github.com/haskell/haskell-language-server/pull/1814)) by @isovector
108+
- Prepare ghcide release v1.3.0.0
109+
([#1811](https://github.com/haskell/haskell-language-server/pull/1811)) by @pepeiborra
110+
- Remove hls-ghc-x.y from install script and wrapper
111+
([#1805](https://github.com/haskell/haskell-language-server/pull/1805)) by @berberman
112+
- Fix unwanted import refinement
113+
([#1801](https://github.com/haskell/haskell-language-server/pull/1801)) by @rayshih
114+
- Canonicalize hiedb path before comparing
115+
([#1800](https://github.com/haskell/haskell-language-server/pull/1800)) by @pepeiborra
116+
- Pin nix-pre-commit-hooks (backport #1780)
117+
([#1798](https://github.com/haskell/haskell-language-server/pull/1798)) by @mergify[bot]
118+
- Add upper bound to hlint (backport #1795)
119+
([#1797](https://github.com/haskell/haskell-language-server/pull/1797)) by @mergify[bot]
120+
- Add bounds for base in hls-stylish-haskell-plugin (backport #1794)
121+
([#1796](https://github.com/haskell/haskell-language-server/pull/1796)) by @mergify[bot]
122+
- Add upper bound to hlint
123+
([#1795](https://github.com/haskell/haskell-language-server/pull/1795)) by @jneira
124+
- Add bounds for base in hls-stylish-haskell-plugin
125+
([#1794](https://github.com/haskell/haskell-language-server/pull/1794)) by @berberman
126+
- Add bounds for base in hls-test-utils (backport #1791)
127+
([#1793](https://github.com/haskell/haskell-language-server/pull/1793)) by @mergify[bot]
128+
- Replace faulty signature test
129+
([#1792](https://github.com/haskell/haskell-language-server/pull/1792)) by @kderme
130+
- Add bounds for base in hls-test-utils
131+
([#1791](https://github.com/haskell/haskell-language-server/pull/1791)) by @berberman
132+
- Fix backport conflict of refine-import plugin
133+
([#1790](https://github.com/haskell/haskell-language-server/pull/1790)) by @Ailrun
134+
- Fix progress counting
135+
([#1789](https://github.com/haskell/haskell-language-server/pull/1789)) by @pepeiborra
136+
- Loosen dependency bounds (backport #1787)
137+
([#1788](https://github.com/haskell/haskell-language-server/pull/1788)) by @mergify[bot]
138+
- Loosen dependency bounds
139+
([#1787](https://github.com/haskell/haskell-language-server/pull/1787)) by @berberman
140+
- clean up ghc-api pragmas
141+
([#1785](https://github.com/haskell/haskell-language-server/pull/1785)) by @pepeiborra
142+
- Progress reporting improvements
143+
([#1784](https://github.com/haskell/haskell-language-server/pull/1784)) by @pepeiborra
144+
- Unify session loading using implicit-hie
145+
([#1783](https://github.com/haskell/haskell-language-server/pull/1783)) by @fendor
146+
- Pin nix-pre-commit-hooks
147+
([#1780](https://github.com/haskell/haskell-language-server/pull/1780)) by @Ailrun
148+
- Replace the unsafe getmodtime with safe posix calls
149+
([#1778](https://github.com/haskell/haskell-language-server/pull/1778)) by @pepeiborra
150+
- Tactic metaprogramming
151+
([#1776](https://github.com/haskell/haskell-language-server/pull/1776)) by @isovector
152+
- Fix wrong extend import while type constuctor and data constructor have the same name
153+
([#1775](https://github.com/haskell/haskell-language-server/pull/1775)) by @July541
154+
- Add codetriage badge
155+
([#1772](https://github.com/haskell/haskell-language-server/pull/1772)) by @jneira
156+
- Wingman: configurable auto search depth
157+
([#1771](https://github.com/haskell/haskell-language-server/pull/1771)) by @isovector
158+
- Prevent accidental Cthulhu summons
159+
([#1760](https://github.com/haskell/haskell-language-server/pull/1760)) by @isovector
160+
- Delay the Shake session setup until the Initialized handler
161+
([#1754](https://github.com/haskell/haskell-language-server/pull/1754)) by @pepeiborra
162+
- Wrap the Shake functions with newtypes
163+
([#1753](https://github.com/haskell/haskell-language-server/pull/1753)) by @ndmitchell
164+
- Fix reduction depth
165+
([#1751](https://github.com/haskell/haskell-language-server/pull/1751)) by @pepeiborra
166+
- Add hls-graph abstracting over shake
167+
([#1748](https://github.com/haskell/haskell-language-server/pull/1748)) by @ndmitchell
168+
- Explicitly import liftIO if you need it, rather than getting it from Shake
169+
([#1747](https://github.com/haskell/haskell-language-server/pull/1747)) by @ndmitchell
170+
- Tease apart the custom SYB from ExactPrint
171+
([#1746](https://github.com/haskell/haskell-language-server/pull/1746)) by @isovector
172+
- Remove unnecessary Shake dependencies
173+
([#1745](https://github.com/haskell/haskell-language-server/pull/1745)) by @ndmitchell
174+
- Delete an unused import
175+
([#1744](https://github.com/haskell/haskell-language-server/pull/1744)) by @ndmitchell
176+
- Improve vscode extension schema generation
177+
([#1742](https://github.com/haskell/haskell-language-server/pull/1742)) by @berberman
178+
- Fix class method completion
179+
([#1741](https://github.com/haskell/haskell-language-server/pull/1741)) by @July541
180+
- Add heralds to Wingman's use of runAction
181+
([#1740](https://github.com/haskell/haskell-language-server/pull/1740)) by @isovector
182+
- Wingman: case split on punned record fields
183+
([#1739](https://github.com/haskell/haskell-language-server/pull/1739)) by @isovector
184+
- Wingman feature release
185+
([#1735](https://github.com/haskell/haskell-language-server/pull/1735)) by @isovector
186+
- Add haskell-language-server Homebrew installation instructions
187+
([#1734](https://github.com/haskell/haskell-language-server/pull/1734)) by @kret
188+
- Add a "Split using NamedFieldPuns" code action
189+
([#1733](https://github.com/haskell/haskell-language-server/pull/1733)) by @isovector
190+
- Insert pragmas after shebang or to existing pragma list
191+
([#1731](https://github.com/haskell/haskell-language-server/pull/1731)) by @OliverMadine
192+
- Add executable stanza in hls-install.cabal.
193+
([#1730](https://github.com/haskell/haskell-language-server/pull/1730)) by @arrowd
194+
- Add installation instructions for FreeBSD.
195+
([#1729](https://github.com/haskell/haskell-language-server/pull/1729)) by @arrowd
196+
- HLint: Pass options through user config
197+
([#1724](https://github.com/haskell/haskell-language-server/pull/1724)) by @rmehri01
198+
- Prepare ghcide 1.2.0.2 and HLS 1.1.0
199+
([#1722](https://github.com/haskell/haskell-language-server/pull/1722)) by @berberman
200+
- Wingman: Destruct on empty case
201+
([#1721](https://github.com/haskell/haskell-language-server/pull/1721)) by @isovector
202+
- Fix: #1690 - Infix typed holes are now filled using infix notation
203+
([#1708](https://github.com/haskell/haskell-language-server/pull/1708)) by @OliverMadine
204+
- Implement refine imports
205+
([#1686](https://github.com/haskell/haskell-language-server/pull/1686)) by @rayshih
206+
- Ghc 9.0.1 support for ghcide
207+
([#1649](https://github.com/haskell/haskell-language-server/pull/1649)) by @anka-213
208+
- hie-compat: Add basic support for ghc 9.0.1
209+
([#1635](https://github.com/haskell/haskell-language-server/pull/1635)) by @anka-213
210+
- Fix remove constraint
211+
([#1578](https://github.com/haskell/haskell-language-server/pull/1578)) by @kderme
212+
- Limit CodeActions within passed range
213+
([#1442](https://github.com/haskell/haskell-language-server/pull/1442)) by @aufarg
214+
3215
## 1.1.0
4216

5217
Haskell Language Server 1.1.0 has finally come! Many thanks to all contributors -- since the last release, we have merged over 100 PRs!

GenChangelogs.hs

+1-1
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@ import System.Process
1717

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

2323
lastDateStr <- last . lines <$> readProcess "git" ["show", "-s", "--format=%cI", "-1", last tags] ""

ghcide/ghcide.cabal

+3-3
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@ cabal-version: 2.4
22
build-type: Simple
33
category: Development
44
name: ghcide
5-
version: 1.3.0.0
5+
version: 1.4.0.0
66
license: Apache-2.0
77
license-file: LICENSE
88
author: Digital Asset and Ghcide contributors
@@ -56,7 +56,7 @@ library
5656
Glob,
5757
haddock-library >= 1.8 && < 1.11,
5858
hashable,
59-
hie-compat ^>= 0.1.0.0,
59+
hie-compat ^>= 0.2.0.0,
6060
hls-plugin-api ^>= 1.1.0.0,
6161
lens,
6262
hiedb == 0.3.0.*,
@@ -73,7 +73,7 @@ library
7373
rope-utf16-splay,
7474
safe,
7575
safe-exceptions,
76-
hls-graph ^>= 1.3,
76+
hls-graph ^>= 1.4,
7777
sorted-list,
7878
sqlite-simple,
7979
stm,

haskell-language-server.cabal

+3-3
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
cabal-version: 2.4
22
category: Development
33
name: haskell-language-server
4-
version: 1.1.0.1
4+
version: 1.2.0.0
55
synopsis: LSP server for GHC
66
description:
77
Please see the README on GitHub at <https://github.com/haskell/haskell-language-server#readme>
@@ -61,7 +61,7 @@ library
6161
, cryptohash-sha1
6262
, data-default
6363
, ghc
64-
, ghcide ^>=1.3
64+
, ghcide ^>=1.4
6565
, gitrev
6666
, lsp
6767
, hie-bios
@@ -220,7 +220,7 @@ common retrie
220220

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

226226
common hlint

hie-compat/hie-compat.cabal

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
cabal-version: 1.22
22
name: hie-compat
3-
version: 0.1.0.0
3+
version: 0.2.0.0
44
synopsis: HIE files for GHC 8.6 and other HIE file backports
55
license: Apache-2.0
66
description:

hls-graph/hls-graph.cabal

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
cabal-version: 2.4
22
name: hls-graph
3-
version: 1.3.0.0
3+
version: 1.4.0.0
44
synopsis: Haskell Language Server internal graph API
55
description:
66
Please see the README on GitHub at <https://github.com/haskell/haskell-language-server#readme>

hls-plugin-api/hls-plugin-api.cabal

+2-2
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
cabal-version: 2.4
22
name: hls-plugin-api
3-
version: 1.1.0.1
3+
version: 1.1.0.2
44
synopsis: Haskell Language Server API for plugin communication
55
description:
66
Please see the README on GitHub at <https://github.com/haskell/haskell-language-server#readme>
@@ -52,7 +52,7 @@ library
5252
, opentelemetry
5353
, process
5454
, regex-tdfa >=1.3.1.0
55-
, hls-graph ^>=1.3
55+
, hls-graph ^>=1.4
5656
, text
5757
, unordered-containers
5858

hls-test-utils/hls-test-utils.cabal

+2-2
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
cabal-version: 2.4
22
name: hls-test-utils
3-
version: 1.0.0.1
3+
version: 1.0.1.0
44
synopsis: Utilities used in the tests of Haskell Language Server
55
description:
66
Please see the README on GitHub at <https://github.com/haskell/haskell-language-server#readme>
@@ -41,7 +41,7 @@ library
4141
, directory
4242
, extra
4343
, filepath
44-
, ghcide >=1.3 && <1.4
44+
, ghcide ^>=1.4
4545
, hls-graph
4646
, hls-plugin-api ^>=1.1
4747
, hspec <2.8

plugins/hls-brittany-plugin/hls-brittany-plugin.cabal

+1-1
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,7 @@ library
2525
, filepath
2626
, ghc
2727
, ghc-boot-th
28-
, ghcide >=1.2 && <1.4
28+
, ghcide >=1.2 && <1.5
2929
, hls-plugin-api ^>=1.1
3030
, lens
3131
, lsp-types

plugins/hls-class-plugin/hls-class-plugin.cabal

+2-2
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
cabal-version: 2.4
22
name: hls-class-plugin
3-
version: 1.0.0.1
3+
version: 1.0.0.2
44
synopsis:
55
Class/instance management plugin for Haskell Language Server
66

@@ -30,7 +30,7 @@ library
3030
, ghc
3131
, ghc-api-compat
3232
, ghc-exactprint
33-
, ghcide >=1.2 && <1.4
33+
, ghcide >=1.2 && <1.5
3434
, hls-plugin-api ^>=1.1
3535
, lens
3636
, lsp

plugins/hls-eval-plugin/hls-eval-plugin.cabal

+2-2
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
cabal-version: 2.4
22
name: hls-eval-plugin
3-
version: 1.1.0.0
3+
version: 1.1.1.0
44
synopsis: Eval plugin for Haskell Language Server
55
description:
66
Please see the README on GitHub at <https://github.com/haskell/haskell-language-server#readme>
@@ -62,7 +62,7 @@ library
6262
, ghc-api-compat
6363
, ghc-boot-th
6464
, ghc-paths
65-
, ghcide >=1.2 && <1.4
65+
, ghcide >=1.2 && <1.5
6666
, hashable
6767
, hls-plugin-api ^>=1.1
6868
, lens

plugins/hls-explicit-imports-plugin/hls-explicit-imports-plugin.cabal

+2-2
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
cabal-version: 2.2
22
name: hls-explicit-imports-plugin
3-
version: 1.0.0.2
3+
version: 1.0.0.3
44
synopsis: Explicit imports plugin for Haskell Language Server
55
license: Apache-2.0
66
license-file: LICENSE
@@ -20,7 +20,7 @@ library
2020
, deepseq
2121
, ghc
2222
, ghc-api-compat
23-
, ghcide ^>=1.3
23+
, ghcide ^>=1.4
2424
, hls-graph
2525
, hls-plugin-api ^>=1.1
2626
, lsp

plugins/hls-floskell-plugin/hls-floskell-plugin.cabal

+1-1
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@ library
2222
build-depends:
2323
, base >=4.12 && <5
2424
, floskell ^>=0.10
25-
, ghcide >=1.2 && <1.4
25+
, ghcide >=1.2 && <1.5
2626
, hls-plugin-api ^>=1.1
2727
, lsp-types
2828
, text

0 commit comments

Comments
 (0)