Skip to content

Commit ff86600

Browse files
authored
Prepare 1.0.0 release (#1402)
* Prepare 1.0.0 release * Bump versions to 1.0.0.0
1 parent 1c45629 commit ff86600

File tree

13 files changed

+240
-49
lines changed

13 files changed

+240
-49
lines changed

ChangeLog.md

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

3+
## 1.0.0
4+
5+
This is the celebratory release of Haskell Language Server 1.0.0!
6+
This release includes a lot of internal changes, bug fixes, leaks plugged, and performance improvements, thanks to all our contributors.
7+
Among others,
8+
- We added the support for GHC 8.10.4, and removed the support for GHC 8.10.1
9+
Afterward, we will support upmost 3 patch versions for each minor version of GHC, if no special situation happens.
10+
- As by hie-bios >= 0.7.3, we use (`${XDG_CACHE_HOME}`)[https://specifications.freedesktop.org/basedir-spec/basedir-spec-latest.html]`/hie-bios/...` (or similar depends on OS) as a build directory for Cabal.
11+
- Now Eval plugin uses the parsing mechanism of GHC and becomes more stable.
12+
- We supports a code action to disambiguate the same identifiers from multiple imports.
13+
![gif](https://user-images.githubusercontent.com/21860/106387152-bfd16d80-641b-11eb-9394-c553fad5794b.gif)
14+
- We supports a code action to hide shadowed identifiers from import.
15+
![gif](https://user-images.githubusercontent.com/26041945/107199055-e05b8200-6a30-11eb-9198-448ab8604cc0.gif)
16+
- HIE DB is now integrated. This means we now support `find-references`, `workspace-symbol`. `find-definition` is also improved in a project with multiple components.
17+
- Brittany and Stylish-haskell plugins now load language extensions from the ghc session.
18+
- Tactic plugin supports eta-reduction and Agda-like split tactic and can create a function with piecewise definitions.
19+
![gif](https://user-images.githubusercontent.com/307223/107991243-0af68f00-6f8b-11eb-9ff9-3e9a7363ba5f.gif)
20+
21+
### Pull requests merged for 1.0.0
22+
23+
- Fix the handling of default HLS config again
24+
([#1419](https://github.com/haskell/haskell-language-server/pull/1419)) by @pepeiborra
25+
- Patch pre-commit-hook to work with GHCIDE/hls-plugin-api codes
26+
([#1418](https://github.com/haskell/haskell-language-server/pull/1418)) by @Ailrun
27+
- Refactor pragmas plugin
28+
([#1417](https://github.com/haskell/haskell-language-server/pull/1417)) by @berberman
29+
- Add a test for #1376
30+
([#1414](https://github.com/haskell/haskell-language-server/pull/1414)) by @pepeiborra
31+
- Reenable HLS example benchmark
32+
([#1412](https://github.com/haskell/haskell-language-server/pull/1412)) by @pepeiborra
33+
- Fix pre-commit-hook
34+
([#1411](https://github.com/haskell/haskell-language-server/pull/1411)) by @Ailrun
35+
- Plugin Config: Add maxCompletions to JSON instance
36+
([#1407](https://github.com/haskell/haskell-language-server/pull/1407)) by @andys8
37+
- Remove custom 'trim' implementation
38+
([#1406](https://github.com/haskell/haskell-language-server/pull/1406)) by @fendor
39+
- Update to hie-bios 0.7.4
40+
([#1405](https://github.com/haskell/haskell-language-server/pull/1405)) by @fendor
41+
- Fix install script after hlint fixes
42+
([#1400](https://github.com/haskell/haskell-language-server/pull/1400)) by @jhrcek
43+
- Use last with-utf8 to fix #1372
44+
([#1399](https://github.com/haskell/haskell-language-server/pull/1399)) by @jneira
45+
- Implement Tactic Featuresets
46+
([#1398](https://github.com/haskell/haskell-language-server/pull/1398)) by @isovector
47+
- Update hie-bios
48+
([#1397](https://github.com/haskell/haskell-language-server/pull/1397)) by @Ailrun
49+
- Bump plugins versions
50+
([#1392](https://github.com/haskell/haskell-language-server/pull/1392)) by @pepeiborra
51+
- Split main Tactics module
52+
([#1391](https://github.com/haskell/haskell-language-server/pull/1391)) by @isovector
53+
- Prepare ghcide release 0.7.5
54+
([#1389](https://github.com/haskell/haskell-language-server/pull/1389)) by @pepeiborra
55+
- Disable HLS benchmark example
56+
([#1388](https://github.com/haskell/haskell-language-server/pull/1388)) by @pepeiborra
57+
- Fix GenChangelog script format
58+
([#1387](https://github.com/haskell/haskell-language-server/pull/1387)) by @Ailrun
59+
- Tone down some logInfos to logDebug
60+
([#1385](https://github.com/haskell/haskell-language-server/pull/1385)) by @pepeiborra
61+
- Add a pre commit hook for code formatting
62+
([#1384](https://github.com/haskell/haskell-language-server/pull/1384)) by @Ailrun
63+
- remove unsafePerformIO
64+
([#1383](https://github.com/haskell/haskell-language-server/pull/1383)) by @pepeiborra
65+
- Use object code for TH+UnboxedTuples/Sums
66+
([#1382](https://github.com/haskell/haskell-language-server/pull/1382)) by @wz1000
67+
- Update stack resolvers 8.10.3/8.10.4
68+
([#1380](https://github.com/haskell/haskell-language-server/pull/1380)) by @jneira
69+
- Agda-style case splitting for tactics
70+
([#1379](https://github.com/haskell/haskell-language-server/pull/1379)) by @isovector
71+
- Configuration for initial ghc lib dir
72+
([#1378](https://github.com/haskell/haskell-language-server/pull/1378)) by @pepeiborra
73+
- Use lsp-1.1.1
74+
([#1377](https://github.com/haskell/haskell-language-server/pull/1377)) by @wz1000
75+
- use implicit-hie cradle from setInitialDynFlags
76+
([#1375](https://github.com/haskell/haskell-language-server/pull/1375)) by @wz1000
77+
- Add test for multi-component goto def and make runLanguageServer responsible for hiedb
78+
([#1373](https://github.com/haskell/haskell-language-server/pull/1373)) by @wz1000
79+
- Show window message when auto extending import lists
80+
([#1371](https://github.com/haskell/haskell-language-server/pull/1371)) by @berberman
81+
- Another extension that Brittany cannot parse
82+
([#1369](https://github.com/haskell/haskell-language-server/pull/1369)) by @pepeiborra
83+
- Clean dependency data structures and speed up GetDependencies
84+
([#1368](https://github.com/haskell/haskell-language-server/pull/1368)) by @pepeiborra
85+
- Catch GHC errors in listing module names
86+
([#1367](https://github.com/haskell/haskell-language-server/pull/1367)) by @berberman
87+
- Lose the ghc-lib flag
88+
([#1366](https://github.com/haskell/haskell-language-server/pull/1366)) by @pepeiborra
89+
- Make StylishHaskell plugin recognize extensions from DynFlags
90+
([#1364](https://github.com/haskell/haskell-language-server/pull/1364)) by @Ailrun
91+
- Pass language extensions to Brittany
92+
([#1362](https://github.com/haskell/haskell-language-server/pull/1362)) by @pepeiborra
93+
- Sanitize the setup of the default Ide.Config
94+
([#1361](https://github.com/haskell/haskell-language-server/pull/1361)) by @pepeiborra
95+
- Fix completion snippets on DuplicateRecordFields
96+
([#1360](https://github.com/haskell/haskell-language-server/pull/1360)) by @berberman
97+
- Index files on first open
98+
([#1358](https://github.com/haskell/haskell-language-server/pull/1358)) by @wz1000
99+
- Make find-definition work better with multi-components
100+
([#1357](https://github.com/haskell/haskell-language-server/pull/1357)) by @wz1000
101+
- Construct record datacons in tactics
102+
([#1356](https://github.com/haskell/haskell-language-server/pull/1356)) by @isovector
103+
- Don't insert parentheses for top-level tactics holes
104+
([#1352](https://github.com/haskell/haskell-language-server/pull/1352)) by @isovector
105+
- Simplify extracts after running tactics
106+
([#1351](https://github.com/haskell/haskell-language-server/pull/1351)) by @isovector
107+
- Fix code actions regression
108+
([#1349](https://github.com/haskell/haskell-language-server/pull/1349)) by @pepeiborra
109+
- Refactor the hypothesis type in hls-tactics-plugin
110+
([#1347](https://github.com/haskell/haskell-language-server/pull/1347)) by @isovector
111+
- Fix the Eval plugin sporadic exceptions
112+
([#1345](https://github.com/haskell/haskell-language-server/pull/1345)) by @pepeiborra
113+
- Eval Plugin: Proper handling of flags in `:set`
114+
([#1343](https://github.com/haskell/haskell-language-server/pull/1343)) by @konn
115+
- Cancel earlier queued benchmarks
116+
([#1339](https://github.com/haskell/haskell-language-server/pull/1339)) by @pepeiborra
117+
- Default main for ghcide
118+
([#1338](https://github.com/haskell/haskell-language-server/pull/1338)) by @pepeiborra
119+
- Fix duplication of code actions for adding NamedFieldPuns
120+
([#1334](https://github.com/haskell/haskell-language-server/pull/1334)) by @berberman
121+
- Bump explicit-imports plugin
122+
([#1333](https://github.com/haskell/haskell-language-server/pull/1333)) by @pepeiborra
123+
- Add support for ghc-8.10.4 and drop it for ghc-8.10.1
124+
([#1331](https://github.com/haskell/haskell-language-server/pull/1331)) by @jneira
125+
- Prepare ghcide v0.7.4 release
126+
([#1328](https://github.com/haskell/haskell-language-server/pull/1328)) by @pepeiborra
127+
- Add a new benchmark example to characterise multi-component performance
128+
([#1326](https://github.com/haskell/haskell-language-server/pull/1326)) by @pepeiborra
129+
- [shake-bench] extract project dependencies action (for the HEAD binary)
130+
([#1325](https://github.com/haskell/haskell-language-server/pull/1325)) by @pepeiborra
131+
- [shake-bench] collect eventlogs
132+
([#1324](https://github.com/haskell/haskell-language-server/pull/1324)) by @pepeiborra
133+
- [benchmark] add warmups
134+
([#1323](https://github.com/haskell/haskell-language-server/pull/1323)) by @pepeiborra
135+
- Add code action for hiding shadowed identifiers from imports
136+
([#1322](https://github.com/haskell/haskell-language-server/pull/1322)) by @berberman
137+
- Parallelize benchmark CI
138+
([#1320](https://github.com/haskell/haskell-language-server/pull/1320)) by @pepeiborra
139+
- Fix space leak on cradle reloads
140+
([#1316](https://github.com/haskell/haskell-language-server/pull/1316)) by @pepeiborra
141+
- [benchmarks] speed up CI
142+
([#1315](https://github.com/haskell/haskell-language-server/pull/1315)) by @pepeiborra
143+
- [benchmark] check digests for input files only
144+
([#1314](https://github.com/haskell/haskell-language-server/pull/1314)) by @pepeiborra
145+
- Add link to hackage package to readme
146+
([#1313](https://github.com/haskell/haskell-language-server/pull/1313)) by @expipiplus1
147+
- Splice Plugin: preparatory version bump for the next (not 0.9.0) HLS release
148+
([#1312](https://github.com/haskell/haskell-language-server/pull/1312)) by @konn
149+
- hls-splice-plugin-0.3.0.0-prepare
150+
([#1311](https://github.com/haskell/haskell-language-server/pull/1311)) by @konn
151+
- Trigger extending import only when the item is not in scope
152+
([#1309](https://github.com/haskell/haskell-language-server/pull/1309)) by @berberman
153+
- Bum up hls-eval-plugin to 0.2
154+
([#1305](https://github.com/haskell/haskell-language-server/pull/1305)) by @jneira
155+
- Don't extend import list with child if the parent has been imported as (..)
156+
([#1302](https://github.com/haskell/haskell-language-server/pull/1302)) by @berberman
157+
- Prepare hls hlint plugin 0.2.0
158+
([#1296](https://github.com/haskell/haskell-language-server/pull/1296)) by @jneira
159+
- Import disambiguation: Corrects handling of fully-applied and one-sided sectioned operators in qualifying strategy
160+
([#1294](https://github.com/haskell/haskell-language-server/pull/1294)) by @konn
161+
- hls-splice-plugin-0.2.0.0
162+
([#1293](https://github.com/haskell/haskell-language-server/pull/1293)) by @konn
163+
- Bump haddock comments plugin to 0.1.1
164+
([#1292](https://github.com/haskell/haskell-language-server/pull/1292)) by @berberman
165+
- FindImports typo (minor)
166+
([#1291](https://github.com/haskell/haskell-language-server/pull/1291)) by @andys8
167+
- Bump up hls-plugin-api to 0.7.0
168+
([#1290](https://github.com/haskell/haskell-language-server/pull/1290)) by @jneira
169+
- Prepare ghcide v0.7.3 release
170+
([#1289](https://github.com/haskell/haskell-language-server/pull/1289)) by @pepeiborra
171+
- hls-retrie-plugin 0.1.1.0
172+
([#1288](https://github.com/haskell/haskell-language-server/pull/1288)) by @pepeiborra
173+
- Upgrade to lsp-1.0
174+
([#1284](https://github.com/haskell/haskell-language-server/pull/1284)) by @wz1000
175+
- Update IRC Name in README
176+
([#1275](https://github.com/haskell/haskell-language-server/pull/1275)) by @fendor
177+
- Restore code actions order
178+
([#1273](https://github.com/haskell/haskell-language-server/pull/1273)) by @pepeiborra
179+
- Prepare 0.9.0
180+
([#1271](https://github.com/haskell/haskell-language-server/pull/1271)) by @jneira
181+
- Reenable auto extend imports and drop snippets for infix completions
182+
([#1266](https://github.com/haskell/haskell-language-server/pull/1266)) by @pepeiborra
183+
- ghcide: Implements a CodeAction to disambiguate ambiguous symbols
184+
([#1264](https://github.com/haskell/haskell-language-server/pull/1264)) by @konn
185+
- Doctest comment parsing using module annotations in Eval Plugin
186+
([#1232](https://github.com/haskell/haskell-language-server/pull/1232)) by @konn
187+
- Apply some hlint suggestions, silence some others.
188+
([#1227](https://github.com/haskell/haskell-language-server/pull/1227)) by @peterwicksstringfield
189+
- References via `hiedb`
190+
([#704](https://github.com/haskell/haskell-language-server/pull/704)) by @wz1000
191+
- Use default config on missing configuration section
192+
([#459](https://github.com/haskell/haskell-language-server/pull/459)) by @aufarg
193+
3194
## 0.9.0
4195

5196
This release includes lot of refactorings and bug fixes over existing features, hlint and eval plugins among others.

ghcide/ghcide.cabal

+4-4
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
1-
cabal-version: 1.20
1+
cabal-version: 2.2
22
build-type: Simple
33
category: Development
44
name: ghcide
5-
version: 0.7.5.0
5+
version: 1.0.0.0
66
license: Apache-2.0
77
license-file: LICENSE
88
author: Digital Asset and Ghcide contributors
@@ -57,8 +57,8 @@ library
5757
Glob,
5858
haddock-library >= 1.8,
5959
hashable,
60-
hie-compat,
61-
hls-plugin-api >= 0.7.1,
60+
hie-compat ^>= 1.0.0.0,
61+
hls-plugin-api ^>= 1.0.0.0,
6262
lens,
6363
hiedb == 0.3.0.1,
6464
lsp-types == 1.1.*,

haskell-language-server.cabal

+12-12
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
cabal-version: 2.2
22
category: Development
33
name: haskell-language-server
4-
version: 0.9.0.0
4+
version: 1.0.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>
@@ -64,12 +64,12 @@ library
6464
, cryptohash-sha1
6565
, data-default
6666
, ghc
67-
, ghcide >=0.7.5
67+
, ghcide ^>= 1.0.0.0
6868
, gitrev
6969
, lsp
7070
, hie-bios
7171
, hiedb
72-
, hls-plugin-api >=0.7.1
72+
, hls-plugin-api ^>= 1.0.0.0
7373
, hslogger
7474
, optparse-applicative
7575
, optparse-simple
@@ -187,37 +187,37 @@ common example-plugins
187187

188188
common class
189189
if flag(class) || flag(all-plugins)
190-
build-depends: hls-class-plugin >=0.1.0.2
190+
build-depends: hls-class-plugin ^>= 1.0.0.0
191191
cpp-options: -Dclass
192192

193193
common haddockComments
194194
if flag(haddockComments) || flag(all-plugins)
195-
build-depends: hls-haddock-comments-plugin >=0.1.1.1
195+
build-depends: hls-haddock-comments-plugin ^>= 1.0.0.0
196196
cpp-options: -DhaddockComments
197197

198198
common eval
199199
if flag(eval) || flag(all-plugins)
200-
build-depends: hls-eval-plugin >=0.2.0.1
200+
build-depends: hls-eval-plugin ^>= 1.0.0.0
201201
cpp-options: -Deval
202202

203203
common importLens
204204
if flag(importLens) || flag(all-plugins)
205-
build-depends: hls-explicit-imports-plugin >=0.1.0.2
205+
build-depends: hls-explicit-imports-plugin ^>= 1.0.0.0
206206
cpp-options: -DimportLens
207207

208208
common retrie
209209
if flag(retrie) || flag(all-plugins)
210-
build-depends: hls-retrie-plugin >=0.1.1.1
210+
build-depends: hls-retrie-plugin ^>= 1.0.0.0
211211
cpp-options: -Dretrie
212212

213213
common tactic
214214
if flag(tactic) || flag(all-plugins)
215-
build-depends: hls-tactics-plugin >=0.5.1.1
215+
build-depends: hls-tactics-plugin ^>= 1.0.0.0
216216
cpp-options: -Dtactic
217217

218218
common hlint
219219
if flag(hlint) || flag(all-plugins)
220-
build-depends: hls-hlint-plugin >=0.2.0.1
220+
build-depends: hls-hlint-plugin ^>= 1.0.0.0
221221
cpp-options: -Dhlint
222222

223223
common moduleName
@@ -235,7 +235,7 @@ common pragmas
235235

236236
common splice
237237
if flag(splice) || flag(all-plugins)
238-
build-depends: hls-splice-plugin >= 0.4.0.1
238+
build-depends: hls-splice-plugin ^>= 1.0.0.0
239239
cpp-options: -Dsplice
240240

241241
-- formatters
@@ -392,7 +392,7 @@ common hls-test-utils
392392
, data-default
393393
, lsp
394394
, hie-bios
395-
, hls-plugin-api >=0.6
395+
, hls-plugin-api ^>= 1.0.0.0
396396
, hslogger
397397
, hspec
398398
, hspec-core

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: 1.0.0.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

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
cabal-version: 2.2
22
name: hls-plugin-api
3-
version: 0.7.1.0
3+
version: 1.0.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>

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

+4-4
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
cabal-version: 2.2
22
name: hls-class-plugin
3-
version: 0.1.0.2
3+
version: 1.0.0.0
44
synopsis: Class/instance management plugin for Haskell Language Server
55
description:
66
Class/instance management plugin for Haskell Language Server.
@@ -18,13 +18,13 @@ library
1818
exposed-modules: Ide.Plugin.Class
1919
hs-source-dirs: src
2020
build-depends: aeson
21-
, base >=4.12 && <5
21+
, base >=4.12 && <5
2222
, containers
2323
, lsp
24-
, hls-plugin-api
24+
, hls-plugin-api ^>= 1.0.0.0
2525
, ghc
2626
, ghc-exactprint
27-
, ghcide
27+
, ghcide ^>= 1.0.0.0
2828
, lens
2929
, shake
3030
, text

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

+3-3
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
cabal-version: 2.2
22
name: hls-eval-plugin
3-
version: 0.2.0.1
3+
version: 1.0.0.0
44
synopsis: Eval plugin for Haskell Language Server
55
description: Please see the README on GitHub at <https://github.com/haskell/haskell-language-server#readme>
66
category: Development
@@ -49,11 +49,11 @@ library
4949
, ghc
5050
, ghc-boot-th
5151
, ghc-paths
52-
, ghcide >=0.7.3.0
52+
, ghcide ^>= 1.0.0.0
5353
, hashable
5454
, lsp
5555
, lsp-types
56-
, hls-plugin-api >=0.7
56+
, hls-plugin-api ^>= 1.0.0.0
5757
, lens
5858
, megaparsec >=0.9
5959
, mtl

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

+4-4
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: 0.1.0.2
3+
version: 1.0.0.0
44
synopsis: Explicit imports plugin for Haskell Language Server
55
license: Apache-2.0
66
license-file: LICENSE
@@ -16,14 +16,14 @@ library
1616
exposed-modules: Ide.Plugin.ExplicitImports
1717
hs-source-dirs: src
1818
build-depends: aeson
19-
, base >=4.12 && <5
19+
, base >=4.12 && <5
2020
, containers
2121
, deepseq
2222
, lsp-types
2323
, lsp
24-
, hls-plugin-api
24+
, hls-plugin-api ^>= 1.0.0.0
2525
, ghc
26-
, ghcide >= 0.7.4
26+
, ghcide ^>= 1.0.0.0
2727
, shake
2828
, text
2929
, unordered-containers

0 commit comments

Comments
 (0)