Skip to content

Commit e7c5e90

Browse files
Ailrunisovector
andauthored
Prepare 2021 July Release [HLS 1.3.0] (#2052)
* Prepare July 1.3.0 release * Update package versions * Fix typo * Reflect feedback Co-authored-by: Sandy Maguire <[email protected]> * Reflect feedback Co-authored-by: Sandy Maguire <[email protected]> * Update ChangeLog.md * Update ChangeLog.md Co-authored-by: Sandy Maguire <[email protected]>
1 parent d7e5c9b commit e7c5e90

File tree

23 files changed

+244
-90
lines changed

23 files changed

+244
-90
lines changed

ChangeLog.md

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

3+
## 1.3.0
4+
5+
2021 July release of HLS arrives! This release includes binaries for GHC 9.0.1
6+
and some new interesting features. Here is the brief summary of changes:
7+
8+
- Binaries for GHC 9.0.1 are added by @anka-213.
9+
- Call hierarchy plugin is added, contributed by @July541.
10+
![hierarchy](https://user-images.githubusercontent.com/12473268/127550041-094151a6-be7b-484a-bb82-c61f326ca503.gif)
11+
- Now completions work with definitions from non-imported modules, thanks to @pepeiborra.
12+
![completion](https://user-images.githubusercontent.com/12473268/127543694-718ae043-38f2-4fb0-be71-317f5f93b443.gif)
13+
- Eval plugin
14+
- The plugin supports GHC 9.0.1, thanks to @berberman.
15+
- `:info` command is added by @akrmn.
16+
- The plugin uses the same default language as GHCi with @fmehta's patch.
17+
- Wingman, where most changes owing to @isovector
18+
- Wingman no longer changes the fixity of function definitions.
19+
- Wingman now gives unique names to the holes it generates.
20+
- Wingman's ability to reason about polymorphic and GADT types is significantly improved.
21+
- Wingman no longer suggests homomorphic destructs when the codomain is larger than the domain.
22+
- "Complete case constructors" action supports empty lambda cases.
23+
- Wingman now gives a warning if it ran out of gas during "attempt to fill hole".
24+
- Metaprogramming for Wingman has been improved with symbolic-name support and the `pointwise` combinator.
25+
- An option to enable/disable Wingman's proof state styling is added.
26+
- Hole fit suggestions are now disabled for performance reasons when using Wingman.
27+
- Hovering on a name displays the package where the name is defined, contributed by @berberman.
28+
![hover](https://user-images.githubusercontent.com/12473268/127550516-acc1f1b4-bad7-44fd-99a0-a174ce9ac909.gif)
29+
30+
### Pull requests merged for 1.3.0
31+
32+
- Wingman: Properly destruct forall-quantified types
33+
([#2049](https://github.com/haskell/haskell-language-server/pull/2049)) by @isovector
34+
- Remove .stack-work from circleci cache
35+
([#2044](https://github.com/haskell/haskell-language-server/pull/2044)) by @jneira
36+
- Completions from non-imported modules
37+
([#2040](https://github.com/haskell/haskell-language-server/pull/2040)) by @pepeiborra
38+
- Wingman: Low gas warning
39+
([#2038](https://github.com/haskell/haskell-language-server/pull/2038)) by @isovector
40+
- Enable dynamic linking in stack builds
41+
([#2031](https://github.com/haskell/haskell-language-server/pull/2031)) by @pepeiborra
42+
- Fix nix flake
43+
([#2030](https://github.com/haskell/haskell-language-server/pull/2030)) by @Avi-D-coder
44+
- Tie plugins' pluginModifyDynflags to their enabled state
45+
([#2029](https://github.com/haskell/haskell-language-server/pull/2029)) by @isovector
46+
- Add benchmarks for hole fits
47+
([#2027](https://github.com/haskell/haskell-language-server/pull/2027)) by @pepeiborra
48+
- fix a typo
49+
([#2024](https://github.com/haskell/haskell-language-server/pull/2024)) by @cdsmith
50+
- Upgrade to refinery-0.4.0.0
51+
([#2021](https://github.com/haskell/haskell-language-server/pull/2021)) by @isovector
52+
- Use implicit-hie-cradle-0.3.0.5
53+
([#2020](https://github.com/haskell/haskell-language-server/pull/2020)) by @jneira
54+
- Disable hls tests for win and ghc-9.0.1
55+
([#2018](https://github.com/haskell/haskell-language-server/pull/2018)) by @jneira
56+
- Use operational master commit to fix build for ghc-9.0.1
57+
([#2017](https://github.com/haskell/haskell-language-server/pull/2017)) by @jneira
58+
- Fix Wingman dependency on extra
59+
([#2007](https://github.com/haskell/haskell-language-server/pull/2007)) by @pepeiborra
60+
- Add GHC 9.2 support for hie-compat
61+
([#2003](https://github.com/haskell/haskell-language-server/pull/2003)) by @fendor
62+
- Enable tests for ghc 9 and promote `ghcVersion` check
63+
([#2001](https://github.com/haskell/haskell-language-server/pull/2001)) by @jneira
64+
- Allow HLS plugins to declare cli commands
65+
([#1999](https://github.com/haskell/haskell-language-server/pull/1999)) by @pepeiborra
66+
- Remove >= from cabal-version
67+
([#1998](https://github.com/haskell/haskell-language-server/pull/1998)) by @felixonmars
68+
- Eval plugin: support ghc 9.0.1
69+
([#1997](https://github.com/haskell/haskell-language-server/pull/1997)) by @berberman
70+
- Maximize sharing of NormalizedFilePath values in getLocatedImports
71+
([#1996](https://github.com/haskell/haskell-language-server/pull/1996)) by @pepeiborra
72+
- nix: add support for ghc 9.0.1
73+
([#1995](https://github.com/haskell/haskell-language-server/pull/1995)) by @berberman
74+
- Warn GHC 9 Compatibility to LSP Client
75+
([#1992](https://github.com/haskell/haskell-language-server/pull/1992)) by @konn
76+
- Update nix to GHC 8.10.5
77+
([#1991](https://github.com/haskell/haskell-language-server/pull/1991)) by @berberman
78+
- Initialize ExportsMap using hiedb exports
79+
([#1989](https://github.com/haskell/haskell-language-server/pull/1989)) by @pepeiborra
80+
- Wingman: add emacs example config to Readme
81+
([#1988](https://github.com/haskell/haskell-language-server/pull/1988)) by @stuebinm
82+
- relax megaparsec constraint in hls-tactics-plugin
83+
([#1986](https://github.com/haskell/haskell-language-server/pull/1986)) by @pepeiborra
84+
- follow change in lsp-types
85+
([#1985](https://github.com/haskell/haskell-language-server/pull/1985)) by @pepeiborra
86+
- Don't suggest import an unnecessary data constructor.
87+
([#1984](https://github.com/haskell/haskell-language-server/pull/1984)) by @peterwicksstringfield
88+
- Enable hyphenation embedding
89+
([#1979](https://github.com/haskell/haskell-language-server/pull/1979)) by @isovector
90+
- Fix nix.yaml
91+
([#1974](https://github.com/haskell/haskell-language-server/pull/1974)) by @isovector
92+
- Add windows to ghcup artifacts and generate sha256 sums
93+
([#1970](https://github.com/haskell/haskell-language-server/pull/1970)) by @jneira
94+
- Wingman: Ensure homomorphic destruct covers all constructors in the domain
95+
([#1968](https://github.com/haskell/haskell-language-server/pull/1968)) by @isovector
96+
- Wingman: Add the correct file offset to metaprogram parse errors
97+
([#1967](https://github.com/haskell/haskell-language-server/pull/1967)) by @isovector
98+
- Wingman: Config option to suppress proofstate styling
99+
([#1966](https://github.com/haskell/haskell-language-server/pull/1966)) by @isovector
100+
- Wingman: Don't wildify vars when running beginMetaprogram
101+
([#1963](https://github.com/haskell/haskell-language-server/pull/1963)) by @isovector
102+
- Wingman: Don't suggest empty case lenses for case exprs with no data cons
103+
([#1962](https://github.com/haskell/haskell-language-server/pull/1962)) by @isovector
104+
- Wingman: Don't introduce too many variables
105+
([#1961](https://github.com/haskell/haskell-language-server/pull/1961)) by @isovector
106+
- Wingman: Code lens for empty lambda case
107+
([#1956](https://github.com/haskell/haskell-language-server/pull/1956)) by @isovector
108+
- Call hierarchy support
109+
([#1955](https://github.com/haskell/haskell-language-server/pull/1955)) by @July541
110+
- Bugfix type signature lenses / code actions for pattern synonyms.
111+
([#1952](https://github.com/haskell/haskell-language-server/pull/1952)) by @peterwicksstringfield
112+
- Add :info command in Eval plugin
113+
([#1948](https://github.com/haskell/haskell-language-server/pull/1948)) by @akrmn
114+
- avoid holding onto the hie bytestring when indexing
115+
([#1947](https://github.com/haskell/haskell-language-server/pull/1947)) by @pepeiborra
116+
- Wingman: Make getCurrentDefinitions return polymorphic types
117+
([#1945](https://github.com/haskell/haskell-language-server/pull/1945)) by @isovector
118+
- Wingman: Tactical support for deep recursion
119+
([#1944](https://github.com/haskell/haskell-language-server/pull/1944)) by @isovector
120+
- Properly scope GADT equality evidence in the judgment
121+
([#1942](https://github.com/haskell/haskell-language-server/pull/1942)) by @isovector
122+
- Add ghc-9.0.1 to the build release script
123+
([#1940](https://github.com/haskell/haskell-language-server/pull/1940)) by @anka-213
124+
- Cata tactic should generalize let and ensure unifiability
125+
([#1938](https://github.com/haskell/haskell-language-server/pull/1938)) by @isovector
126+
- Include chocolatey hls package
127+
([#1936](https://github.com/haskell/haskell-language-server/pull/1936)) by @jneira
128+
- Mention ghcup and warning about updating artifacts
129+
([#1935](https://github.com/haskell/haskell-language-server/pull/1935)) by @jneira
130+
- Remove ghc-8.8.2
131+
([#1934](https://github.com/haskell/haskell-language-server/pull/1934)) by @jneira
132+
- Workaround for GHC 8.10.5 on macOS
133+
([#1931](https://github.com/haskell/haskell-language-server/pull/1931)) by @konn
134+
- Add manual upload instructions
135+
([#1930](https://github.com/haskell/haskell-language-server/pull/1930)) by @jneira
136+
- Perform name lookup directly in TacticsM
137+
([#1924](https://github.com/haskell/haskell-language-server/pull/1924)) by @isovector
138+
- Include testdata in hls-refine-imports-plugin.cabal (backport #1922)
139+
([#1923](https://github.com/haskell/haskell-language-server/pull/1923)) by @mergify[bot]
140+
- Include testdata in hls-refine-imports-plugin.cabal
141+
([#1922](https://github.com/haskell/haskell-language-server/pull/1922)) by @felixonmars
142+
- Add pointwise command to the metaprogram parser
143+
([#1921](https://github.com/haskell/haskell-language-server/pull/1921)) by @isovector
144+
- Allow symbol identifiers in tactics
145+
([#1920](https://github.com/haskell/haskell-language-server/pull/1920)) by @isovector
146+
- Fall back to hiedb for invalid srcspan paths
147+
([#1918](https://github.com/haskell/haskell-language-server/pull/1918)) by @pepeiborra
148+
- Disable hole fit suggestions when running Wingman
149+
([#1873](https://github.com/haskell/haskell-language-server/pull/1873)) by @isovector
150+
- Wingman: maintain user-defined fixity for definitions
151+
([#1697](https://github.com/haskell/haskell-language-server/pull/1697)) by @isovector
152+
- Display package names of external libraries on hover
153+
([#1626](https://github.com/haskell/haskell-language-server/pull/1626)) by @berberman
154+
- Make the eval plugin use the same default language extensions as ghci.
155+
([#1596](https://github.com/haskell/haskell-language-server/pull/1596)) by @fmehta
156+
3157
## 1.2.0
4158

5159
We have finally released a new version of Haskell Language Server!

ghcide/ghcide.cabal

+2-2
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.4.0.3
5+
version: 1.4.1.0
66
license: Apache-2.0
77
license-file: LICENSE
88
author: Digital Asset and Ghcide contributors
@@ -58,7 +58,7 @@ library
5858
haddock-library >= 1.8 && < 1.11,
5959
hashable,
6060
hie-compat ^>= 0.2.0.0,
61-
hls-plugin-api ^>= 1.1.0.0,
61+
hls-plugin-api ^>= 1.2.0.0,
6262
lens,
6363
hiedb == 0.4.0.*,
6464
lsp-types >= 1.2 && < 1.4,

haskell-language-server.cabal

+20-20
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.2.0.0
4+
version: 1.3.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>
@@ -66,7 +66,7 @@ library
6666
, lsp
6767
, hie-bios
6868
, hiedb
69-
, hls-plugin-api ^>= 1.1
69+
, hls-plugin-api ^>=1.2
7070
, hslogger
7171
, optparse-applicative
7272
, optparse-simple
@@ -195,89 +195,89 @@ common example-plugins
195195

196196
common class
197197
if flag(class) || flag(all-plugins)
198-
build-depends: hls-class-plugin ^>= 1.0.0.1
198+
build-depends: hls-class-plugin ^>=1.0.0.1
199199
cpp-options: -Dclass
200200

201201
common callHierarchy
202202
if flag(callHierarchy) || flag(all-plugins)
203-
build-depends: hls-call-hierarchy-plugin ^>= 1.0.0.0
203+
build-depends: hls-call-hierarchy-plugin ^>=1.0.0.0
204204
cpp-options: -DcallHierarchy
205205

206206
common haddockComments
207207
if flag(haddockComments) || flag(all-plugins)
208-
build-depends: hls-haddock-comments-plugin ^>= 1.0.0.1
208+
build-depends: hls-haddock-comments-plugin ^>=1.0.0.1
209209
cpp-options: -DhaddockComments
210210

211211
common eval
212212
if flag(eval) || flag(all-plugins)
213-
build-depends: hls-eval-plugin ^>= 1.1.0.0
213+
build-depends: hls-eval-plugin ^>=1.1.0.0
214214
cpp-options: -Deval
215215

216216
common importLens
217217
if flag(importLens) || flag(all-plugins)
218-
build-depends: hls-explicit-imports-plugin ^>= 1.0.0.1
218+
build-depends: hls-explicit-imports-plugin ^>=1.0.0.1
219219
cpp-options: -DimportLens
220220

221221
common refineImports
222222
if flag(refineImports) || flag(all-plugins)
223-
build-depends: hls-refine-imports-plugin
223+
build-depends: hls-refine-imports-plugin ^>=1.0.0.0
224224
cpp-options: -DrefineImports
225225

226226
common retrie
227227
if flag(retrie) || flag(all-plugins)
228-
build-depends: hls-retrie-plugin ^>= 1.0.0.1
228+
build-depends: hls-retrie-plugin ^>=1.0.0.1
229229
cpp-options: -Dretrie
230230

231231
common tactic
232232
if flag(tactic) || flag(all-plugins)
233-
build-depends: hls-tactics-plugin ^>= 1.2.0.0
233+
build-depends: hls-tactics-plugin >=1.2.0.0 && <1.4
234234
cpp-options: -Dtactic
235235

236236
common hlint
237237
if flag(hlint) || flag(all-plugins)
238-
build-depends: hls-hlint-plugin ^>= 1.0.0.2
238+
build-depends: hls-hlint-plugin ^>=1.0.0.2
239239
cpp-options: -Dhlint
240240

241241
common moduleName
242242
if flag(moduleName) || flag(all-plugins)
243-
build-depends: hls-module-name-plugin ^>= 1.0.0.0
243+
build-depends: hls-module-name-plugin ^>=1.0.0.0
244244
cpp-options: -DmoduleName
245245

246246
common pragmas
247247
if flag(pragmas) || flag(all-plugins)
248-
build-depends: hls-pragmas-plugin ^>= 1.0.0.0
248+
build-depends: hls-pragmas-plugin ^>=1.0.0.0
249249
cpp-options: -Dpragmas
250250

251251
common splice
252252
if flag(splice) || flag(all-plugins)
253-
build-depends: hls-splice-plugin ^>= 1.0.0.1
253+
build-depends: hls-splice-plugin ^>=1.0.0.1
254254
cpp-options: -Dsplice
255255

256256
-- formatters
257257

258258
common floskell
259259
if flag(floskell) || flag(all-formatters)
260-
build-depends: hls-floskell-plugin ^>=1.0.0.0
260+
build-depends: hls-floskell-plugin ^>=1.0.0.0
261261
cpp-options: -Dfloskell
262262

263263
common fourmolu
264264
if flag(fourmolu) || flag(all-formatters)
265-
build-depends: hls-fourmolu-plugin ^>= 1.0.0.0
265+
build-depends: hls-fourmolu-plugin ^>=1.0.0.0
266266
cpp-options: -Dfourmolu
267267

268268
common ormolu
269269
if flag(ormolu) || flag(all-formatters)
270-
build-depends: hls-ormolu-plugin ^>= 1.0.0.0
270+
build-depends: hls-ormolu-plugin ^>=1.0.0.0
271271
cpp-options: -Dormolu
272272

273273
common stylishHaskell
274274
if flag(stylishHaskell) || flag(all-formatters)
275-
build-depends: hls-stylish-haskell-plugin ^>= 1.0.0.0
275+
build-depends: hls-stylish-haskell-plugin ^>=1.0.0.0
276276
cpp-options: -DstylishHaskell
277277

278278
common brittany
279279
if (flag(brittany) || flag(all-formatters))
280-
build-depends: hls-brittany-plugin ^>= 1.0.0.1
280+
build-depends: hls-brittany-plugin ^>=1.0.0.1
281281
cpp-options: -Dbrittany
282282

283283
executable haskell-language-server
@@ -398,7 +398,7 @@ test-suite func-test
398398
, hspec-expectations
399399
, lens
400400
, ghcide
401-
, hls-test-utils ^>= 1.0.0.0
401+
, hls-test-utils ^>= 1.1.0.0
402402
, lsp-types
403403
, aeson
404404
, hls-plugin-api

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.2.0.0
3+
version: 0.2.1.0
44
synopsis: HIE files for GHC 8.6 and other HIE file backports
55
license: Apache-2.0
66
description:

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

+3-3
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.2
3+
version: 1.2.0.0
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>
@@ -46,16 +46,16 @@ library
4646
, ghc
4747
, ghc-api-compat
4848
, hashable
49+
, hls-graph ^>=1.4
4950
, hslogger
5051
, lens
5152
, lsp ^>=1.2
5253
, opentelemetry
54+
, optparse-applicative
5355
, process
5456
, regex-tdfa >=1.3.1.0
55-
, hls-graph ^>=1.4
5657
, text
5758
, unordered-containers
58-
, optparse-applicative
5959

6060
if os(windows)
6161
build-depends: Win32

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

+3-3
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.1.0
3+
version: 1.1.0.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>
@@ -43,13 +43,13 @@ library
4343
, filepath
4444
, ghcide ^>=1.4
4545
, hls-graph
46-
, hls-plugin-api ^>=1.1
46+
, hls-plugin-api ^>=1.2
4747
, hspec <2.8
4848
, hspec-core
4949
, lens
5050
, lsp ^>=1.2
5151
, lsp-test ^>=0.14
52-
, lsp-types >=1.2 && < 1.4
52+
, lsp-types >=1.2 && <1.4
5353
, tasty
5454
, tasty-expected-failure
5555
, tasty-golden

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

+4-4
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
cabal-version: 2.4
22
name: hls-brittany-plugin
3-
version: 1.0.0.1
3+
version: 1.0.0.2
44
synopsis: Integration with the Brittany code formatter
55
description:
66
Please see the README on GitHub at <https://github.com/haskell/haskell-language-server#readme>
@@ -25,8 +25,8 @@ library
2525
, filepath
2626
, ghc
2727
, ghc-boot-th
28-
, ghcide >=1.2 && <1.5
29-
, hls-plugin-api ^>=1.1
28+
, ghcide >=1.2 && <1.5
29+
, hls-plugin-api >=1.1 && <1.3
3030
, lens
3131
, lsp-types
3232
, text
@@ -44,4 +44,4 @@ test-suite tests
4444
, base
4545
, filepath
4646
, hls-brittany-plugin
47-
, hls-test-utils ^>=1.0
47+
, hls-test-utils >=1.0 && <1.2

0 commit comments

Comments
 (0)