Skip to content

Commit 9871ecb

Browse files
authored
Merge pull request #3775 from haskell/wip/2.2.0.0
Prepare release 2.2.0.0
2 parents 25e953d + 597e4d2 commit 9871ecb

File tree

39 files changed

+198
-158
lines changed

39 files changed

+198
-158
lines changed

.github/workflows/release.yaml

+16-5
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,7 @@ jobs:
3030
strategy:
3131
fail-fast: false
3232
matrix:
33-
ghc: ["9.6.2", "9.4.6", "9.4.5", "9.2.8", "9.0.2", "8.10.7"]
33+
ghc: ["9.6.2", "9.4.7", "9.4.6", "9.4.5", "9.2.8", "9.0.2", "8.10.7"]
3434
platform: [ { image: "debian:9"
3535
, installCmd: "sed -i s/deb.debian.org/archive.debian.org/g /etc/apt/sources.list && sed -i 's|security.debian.org|archive.debian.org/|g' /etc/apt/sources.list && sed -i /-updates/d /etc/apt/sources.list && apt-get update && apt-get install -y"
3636
, toolRequirements: "libnuma-dev zlib1g-dev libgmp-dev libgmp10 libssl-dev liblzma-dev libbz2-dev git wget lsb-release software-properties-common gnupg2 apt-transport-https gcc autoconf automake build-essential curl ghc gzip libffi-dev libncurses-dev libncurses5 libtinfo5 patchelf"
@@ -163,6 +163,15 @@ jobs:
163163
, ARTIFACT: "x86_64-linux-unknown"
164164
, ADD_CABAL_ARGS: "--enable-split-sections"
165165
}
166+
- ghc: 9.4.7
167+
platform:
168+
{ image: "fedora:27"
169+
, installCmd: "dnf install -y"
170+
, toolRequirements: "autoconf automake binutils bzip2 coreutils curl elfutils-devel elfutils-libs findutils gcc gcc-c++ git gmp gmp-devel jq lbzip2 make ncurses ncurses-compat-libs ncurses-devel openssh-clients patch perl pxz python3 sqlite sudo wget which xz zlib-devel patchelf"
171+
, DISTRO: "Unknown"
172+
, ARTIFACT: "x86_64-linux-unknown"
173+
, ADD_CABAL_ARGS: "--enable-split-sections"
174+
}
166175
- ghc: 9.6.2
167176
platform:
168177
{ image: "rockylinux:8"
@@ -231,7 +240,7 @@ jobs:
231240
strategy:
232241
fail-fast: true
233242
matrix:
234-
ghc: ["9.6.2", "9.4.6", "9.4.5", "9.2.8", "9.0.2", "8.10.7"]
243+
ghc: ["9.6.2", "9.4.7", "9.4.6", "9.4.5", "9.2.8", "9.0.2", "8.10.7"]
235244
steps:
236245
- uses: docker://arm64v8/ubuntu:focal
237246
name: Cleanup (aarch64 linux)
@@ -291,7 +300,7 @@ jobs:
291300
strategy:
292301
fail-fast: false
293302
matrix:
294-
ghc: ["9.6.2", "9.4.6", "9.4.5", "9.2.8", "9.0.2", "8.10.7"]
303+
ghc: ["9.6.2", "9.4.7", "9.4.6", "9.4.5", "9.2.8", "9.0.2", "8.10.7"]
295304
steps:
296305
- name: Checkout code
297306
uses: actions/checkout@v3
@@ -336,7 +345,7 @@ jobs:
336345
strategy:
337346
fail-fast: false
338347
matrix:
339-
ghc: ["9.6.2", "9.4.6", "9.4.5", "9.2.8", "8.10.7"]
348+
ghc: ["9.6.2", "9.4.7", "9.4.6", "9.4.5", "9.2.8", "8.10.7"]
340349
steps:
341350
- name: Checkout code
342351
uses: actions/checkout@v3
@@ -349,6 +358,8 @@ jobs:
349358
export CC="$HOME/.brew/opt/llvm@11/bin/clang"
350359
export CXX="$HOME/.brew/opt/llvm@11/bin/clang++"
351360
export AR="$HOME/.brew/opt/llvm@11/bin/llvm-ar"
361+
export LLC="$HOME/.brew/opt/llvm@11/bin/llc"
362+
export OPT="$HOME/.brew/opt/llvm@11/bin/opt"
352363
export RANLIB="$HOME/.brew/opt/llvm@11/bin/llvm-ranlib"
353364
else
354365
bash .github/scripts/brew.sh git coreutils autoconf automake tree
@@ -390,7 +401,7 @@ jobs:
390401
strategy:
391402
fail-fast: false
392403
matrix:
393-
ghc: ["9.6.2", "9.4.6", "9.4.5", "9.2.8", "9.0.2", "8.10.7"]
404+
ghc: ["9.6.2", "9.4.7", "9.4.6", "9.4.5", "9.2.8", "9.0.2", "8.10.7"]
394405
steps:
395406
- name: install windows deps
396407
shell: pwsh

.gitignore

+2
Original file line numberDiff line numberDiff line change
@@ -46,3 +46,5 @@ result-doc
4646
out/
4747
store/
4848
gh-release-artifacts/
49+
50+
.hls/

ChangeLog.md

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

3+
## 2.2.0.0
4+
5+
* Binaries for GHC 9.4.7
6+
* Forward compatibility with latest VSCode client changes
7+
8+
### Pull Requests
9+
10+
- hls-cabal-fmt-plugin: Use the file contents of the LSP request
11+
([#3776](https://github.com/haskell/haskell-language-server/pull/3776)) by @fendor
12+
- Adapt to lsp changes for workspace/configuration
13+
([#3773](https://github.com/haskell/haskell-language-server/pull/3773)) by @michaelpj
14+
- Rework "Configuration" and "Manually testing HLS" documentations
15+
([#3772](https://github.com/haskell/haskell-language-server/pull/3772)) by @sir4ur0n
16+
- Fix `main-is` completion suggestions not being relative to `hs-source-dirs`
17+
([#3766](https://github.com/haskell/haskell-language-server/pull/3766)) by @VeryMilkyJoe
18+
- Remove suggestion of stanzas inside of stanza context
19+
([#3761](https://github.com/haskell/haskell-language-server/pull/3761)) by @VeryMilkyJoe
20+
- Pedantic ghcide
21+
([#3751](https://github.com/haskell/haskell-language-server/pull/3751)) by @joyfulmantis
22+
- Fix #3574 and support resolve in explicit records
23+
([#3750](https://github.com/haskell/haskell-language-server/pull/3750)) by @joyfulmantis
24+
325
## 2.1.0.0
426

527
* Binaries for GHC 9.4.6

RELEASING.md

+3-3
Original file line numberDiff line numberDiff line change
@@ -8,18 +8,18 @@
88
- Look for `TODO:` to find locations that require extra care for GHC versions.
99
- [ ] check all plugins still work if release includes code changes
1010
- [ ] bump package versions in all `*.cabal` files (same version as hls)
11-
- HLS uses a lockstep versioning. The core packages and all plugins use the same version number, and only support exactly the this version.
11+
- HLS uses lockstep versioning. The core packages and all plugins use the same version number, and only support exactly this version.
1212
- Exceptions:
1313
- `hie-compat` requires no automatic version bump.
1414
- `shake-bench` is an internal testing tool, not exposed to the outside world. Thus, no version bump required for releases.
1515
- For updating cabal files, the following script can be used:
1616
- ```sh
1717
# Update all `version:` fields
18-
sed -ri "s/^version:( +)2.1.0.0/version:\12.2.0.0/" **/*.cabal
18+
sed -ri "s/^version:( +)2.2.0.0/version:\12.3.0.0/" **/*.cabal
1919
# Update all constraints expected to be in the form `== <version>`.
2020
# We usually don't force an exact version, so this is relatively unambiguous.
2121
# We could introduce some more ad-hoc parsing, if there is still ambiguity.
22-
sed -ri "s/== 2.1.0.0/== 2.2.0.0/" **/*.cabal
22+
sed -ri "s/== 2.2.0.0/== 2.3.0.0/" **/*.cabal
2323
```
2424
- It still requires manual verification and review
2525
- [ ] generate and update changelog

cabal.project

+6-1
Original file line numberDiff line numberDiff line change
@@ -76,7 +76,12 @@ constraints:
7676
happy == 1.20.1.1,
7777
filepath installed,
7878
-- for ghc 8.10, stm-hamt 1.2.0.10 doesn't build
79-
stm-hamt < 1.2.0.10
79+
stm-hamt < 1.2.0.10,
80+
-- Centos 7 comes with an old gcc version that doesn't know about
81+
-- the flag '-fopen-simd', which blocked the release 2.2.0.0.
82+
-- We want to be able to benefit from the performance optimisations
83+
-- in the future, thus: TODO: remove this flag.
84+
bitvec -simd
8085

8186
-- This is benign and won't affect our ability to release to Hackage,
8287
-- because we only depend on `ekg-json` when a non-default flag

ghcide-bench/ghcide-bench.cabal

+1-1
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@ cabal-version: 3.0
22
build-type: Simple
33
category: Development
44
name: ghcide-bench
5-
version: 2.1.0.0
5+
version: 2.2.0.0
66
license: Apache-2.0
77
license-file: LICENSE
88
author: The Haskell IDE team

ghcide/ghcide.cabal

+3-3
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@ cabal-version: 3.0
22
build-type: Simple
33
category: Development
44
name: ghcide
5-
version: 2.1.0.0
5+
version: 2.2.0.0
66
license: Apache-2.0
77
license-file: LICENSE
88
author: Digital Asset and Ghcide contributors
@@ -70,7 +70,7 @@ library
7070
haddock-library >= 1.8 && < 1.12,
7171
hashable,
7272
hie-compat ^>= 0.3.0.0,
73-
hls-plugin-api == 2.1.0.0,
73+
hls-plugin-api == 2.2.0.0,
7474
lens,
7575
list-t,
7676
hiedb == 0.4.3.*,
@@ -86,7 +86,7 @@ library
8686
row-types,
8787
text-rope,
8888
safe-exceptions,
89-
hls-graph == 2.1.0.0,
89+
hls-graph == 2.2.0.0,
9090
sorted-list,
9191
sqlite-simple,
9292
stm,

haskell-language-server.cabal

+32-32
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
cabal-version: 3.0
22
category: Development
33
name: haskell-language-server
4-
version: 2.1.0.0
4+
version: 2.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>
@@ -213,144 +213,144 @@ flag cabalfmt
213213

214214
common cabalfmt
215215
if flag(cabalfmt)
216-
build-depends: hls-cabal-fmt-plugin == 2.1.0.0
216+
build-depends: hls-cabal-fmt-plugin == 2.2.0.0
217217
cpp-options: -Dhls_cabalfmt
218218

219219
common cabal
220220
if flag(cabal)
221-
build-depends: hls-cabal-plugin == 2.1.0.0
221+
build-depends: hls-cabal-plugin == 2.2.0.0
222222
cpp-options: -Dhls_cabal
223223

224224
common class
225225
if flag(class)
226-
build-depends: hls-class-plugin == 2.1.0.0
226+
build-depends: hls-class-plugin == 2.2.0.0
227227
cpp-options: -Dhls_class
228228

229229
common callHierarchy
230230
if flag(callHierarchy)
231-
build-depends: hls-call-hierarchy-plugin == 2.1.0.0
231+
build-depends: hls-call-hierarchy-plugin == 2.2.0.0
232232
cpp-options: -Dhls_callHierarchy
233233

234234
common haddockComments
235235
if flag(haddockComments) && (impl(ghc < 9.2.1) || flag(ignore-plugins-ghc-bounds))
236-
build-depends: hls-haddock-comments-plugin == 2.1.0.0
236+
build-depends: hls-haddock-comments-plugin == 2.2.0.0
237237
cpp-options: -Dhls_haddockComments
238238

239239
common eval
240240
if flag(eval)
241-
build-depends: hls-eval-plugin == 2.1.0.0
241+
build-depends: hls-eval-plugin == 2.2.0.0
242242
cpp-options: -Dhls_eval
243243

244244
common importLens
245245
if flag(importLens)
246-
build-depends: hls-explicit-imports-plugin == 2.1.0.0
246+
build-depends: hls-explicit-imports-plugin == 2.2.0.0
247247
cpp-options: -Dhls_importLens
248248

249249
common rename
250250
if flag(rename)
251-
build-depends: hls-rename-plugin == 2.1.0.0
251+
build-depends: hls-rename-plugin == 2.2.0.0
252252
cpp-options: -Dhls_rename
253253

254254
common retrie
255255
if flag(retrie)
256-
build-depends: hls-retrie-plugin == 2.1.0.0
256+
build-depends: hls-retrie-plugin == 2.2.0.0
257257
cpp-options: -Dhls_retrie
258258

259259
common tactic
260260
if flag(tactic) && (impl(ghc < 9.2.1) || flag(ignore-plugins-ghc-bounds))
261-
build-depends: hls-tactics-plugin == 2.1.0.0
261+
build-depends: hls-tactics-plugin == 2.2.0.0
262262
cpp-options: -Dhls_tactic
263263

264264
common hlint
265265
if flag(hlint)
266-
build-depends: hls-hlint-plugin == 2.1.0.0
266+
build-depends: hls-hlint-plugin == 2.2.0.0
267267
cpp-options: -Dhls_hlint
268268

269269
common stan
270270
if flag(stan) && (impl(ghc >= 8.10) && impl(ghc < 9.0))
271-
build-depends: hls-stan-plugin == 2.1.0.0
271+
build-depends: hls-stan-plugin == 2.2.0.0
272272
cpp-options: -Dhls_stan
273273

274274
common moduleName
275275
if flag(moduleName)
276-
build-depends: hls-module-name-plugin == 2.1.0.0
276+
build-depends: hls-module-name-plugin == 2.2.0.0
277277
cpp-options: -Dhls_moduleName
278278

279279
common pragmas
280280
if flag(pragmas)
281-
build-depends: hls-pragmas-plugin == 2.1.0.0
281+
build-depends: hls-pragmas-plugin == 2.2.0.0
282282
cpp-options: -Dhls_pragmas
283283

284284
common splice
285285
if flag(splice)
286-
build-depends: hls-splice-plugin == 2.1.0.0
286+
build-depends: hls-splice-plugin == 2.2.0.0
287287
cpp-options: -Dhls_splice
288288

289289
common alternateNumberFormat
290290
if flag(alternateNumberFormat)
291-
build-depends: hls-alternate-number-format-plugin == 2.1.0.0
291+
build-depends: hls-alternate-number-format-plugin == 2.2.0.0
292292
cpp-options: -Dhls_alternateNumberFormat
293293

294294
common qualifyImportedNames
295295
if flag(qualifyImportedNames)
296-
build-depends: hls-qualify-imported-names-plugin == 2.1.0.0
296+
build-depends: hls-qualify-imported-names-plugin == 2.2.0.0
297297
cpp-options: -Dhls_qualifyImportedNames
298298

299299
common codeRange
300300
if flag(codeRange)
301-
build-depends: hls-code-range-plugin == 2.1.0.0
301+
build-depends: hls-code-range-plugin == 2.2.0.0
302302
cpp-options: -Dhls_codeRange
303303

304304
common changeTypeSignature
305305
if flag(changeTypeSignature)
306-
build-depends: hls-change-type-signature-plugin == 2.1.0.0
306+
build-depends: hls-change-type-signature-plugin == 2.2.0.0
307307
cpp-options: -Dhls_changeTypeSignature
308308

309309
common gadt
310310
if flag(gadt)
311-
build-depends: hls-gadt-plugin == 2.1.0.0
311+
build-depends: hls-gadt-plugin == 2.2.0.0
312312
cpp-options: -Dhls_gadt
313313

314314
common explicitFixity
315315
if flag(explicitFixity)
316-
build-depends: hls-explicit-fixity-plugin == 2.1.0.0
316+
build-depends: hls-explicit-fixity-plugin == 2.2.0.0
317317
cpp-options: -DexplicitFixity
318318

319319
common explicitFields
320320
if flag(explicitFields)
321-
build-depends: hls-explicit-record-fields-plugin == 2.1.0.0
321+
build-depends: hls-explicit-record-fields-plugin == 2.2.0.0
322322
cpp-options: -DexplicitFields
323323

324324
common overloadedRecordDot
325325
if flag(overloadedRecordDot) && (impl(ghc >= 9.2.0) || flag(ignore-plugins-ghc-bounds))
326-
build-depends: hls-overloaded-record-dot-plugin == 2.1.0.0
326+
build-depends: hls-overloaded-record-dot-plugin == 2.2.0.0
327327
cpp-options: -Dhls_overloaded_record_dot
328328

329329
-- formatters
330330

331331
common floskell
332332
if flag(floskell) && impl(ghc < 9.5)
333-
build-depends: hls-floskell-plugin == 2.1.0.0
333+
build-depends: hls-floskell-plugin == 2.2.0.0
334334
cpp-options: -Dhls_floskell
335335

336336
common fourmolu
337337
if flag(fourmolu)
338-
build-depends: hls-fourmolu-plugin == 2.1.0.0
338+
build-depends: hls-fourmolu-plugin == 2.2.0.0
339339
cpp-options: -Dhls_fourmolu
340340

341341
common ormolu
342342
if flag(ormolu) && impl(ghc < 9.7)
343-
build-depends: hls-ormolu-plugin == 2.1.0.0
343+
build-depends: hls-ormolu-plugin == 2.2.0.0
344344
cpp-options: -Dhls_ormolu
345345

346346
common stylishHaskell
347347
if flag(stylishHaskell)
348-
build-depends: hls-stylish-haskell-plugin == 2.1.0.0
348+
build-depends: hls-stylish-haskell-plugin == 2.2.0.0
349349
cpp-options: -Dhls_stylishHaskell
350350

351351
common refactor
352352
if flag(refactor)
353-
build-depends: hls-refactor-plugin == 2.1.0.0
353+
build-depends: hls-refactor-plugin == 2.2.0.0
354354
cpp-options: -Dhls_refactor
355355

356356
library
@@ -405,12 +405,12 @@ library
405405
, cryptohash-sha1
406406
, data-default
407407
, ghc
408-
, ghcide == 2.1.0.0
408+
, ghcide == 2.2.0.0
409409
, githash >=0.1.6.1
410410
, lsp >= 2.2.0.0
411411
, hie-bios
412412
, hiedb
413-
, hls-plugin-api == 2.1.0.0
413+
, hls-plugin-api == 2.2.0.0
414414
, optparse-applicative
415415
, optparse-simple
416416
, process
@@ -549,7 +549,7 @@ test-suite func-test
549549
, lens-aeson
550550
, ghcide
551551
, ghcide-test-utils
552-
, hls-test-utils == 2.1.0.0
552+
, hls-test-utils == 2.2.0.0
553553
, lsp-types
554554
, aeson
555555
, hls-plugin-api

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: 2.1.0.0
3+
version: 2.2.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/tree/master/hls-graph#readme>

0 commit comments

Comments
 (0)