Skip to content

Prepare 1.5.0 #2361

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 51 commits into from
Nov 18, 2021
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
51 commits
Select commit Hold shift + click to select a range
2689ea2
Use hackage version of czipwith
jneira Nov 11, 2021
faafbf8
Update stack.yaml's
jneira Nov 11, 2021
ae02ba3
Remove source czipwith
jneira Nov 11, 2021
4462be5
Update index and clean cabal-ghc921.project
jneira Nov 11, 2021
169d0cb
extra-1.7.9 has a breaking change so no way
jneira Nov 12, 2021
a1afc59
Increase resources for circleci
jneira Nov 17, 2021
3f1ff77
Use more threads reduce build times
jneira Nov 17, 2021
4307cc5
Correct runs-on field
jneira Nov 17, 2021
00f4fe4
Update stack.yaml's
jneira Nov 11, 2021
ba43bab
Dont fail fast if we are checking
jneira Nov 11, 2021
757e394
Use ref_name to check it is a check
jneira Nov 11, 2021
ff324f5
Bump patch version of brittany plugin
jneira Nov 11, 2021
b25ec71
Allow newer base/th for czipwith
jneira Nov 11, 2021
497b9aa
Add enough allow-newers to allow build the project
jneira Nov 11, 2021
f2585ee
Correct allow-newer's
jneira Nov 11, 2021
bf0298f
Add missing cd's
jneira Nov 11, 2021
bd839a8
Bump up ghcide to 1.5.0
jneira Nov 11, 2021
231b0be
Exclude pkgs not buildable with 9.0.1
jneira Nov 11, 2021
0a1a145
Bum up plugins with changes versions
jneira Nov 11, 2021
0bad4df
Bum up subpackages with changes versions
jneira Nov 11, 2021
cd9a061
Bum up hls version to 1.5.0
jneira Nov 11, 2021
4fcc16d
Bump up haddock plugin version
jneira Nov 11, 2021
632714a
Allow ghcide 1.5
jneira Nov 11, 2021
d848ea3
Use ghcide 1.5.0 in the rest of plugins
jneira Nov 11, 2021
cf960e7
Use ghcide 1.5.0 for pragmas
jneira Nov 11, 2021
dceed8c
Allow tactics 1.5.0 for hls
jneira Nov 11, 2021
6e31525
Remove czipwith in hackage ci script
jneira Nov 12, 2021
4312a4c
Disable 9.0.1 for hackage ci
jneira Nov 12, 2021
d2f22cb
Use bounds operator consistently
jneira Nov 15, 2021
131eda9
Build formatters with newer ghc-lib-parser
jneira Nov 15, 2021
bee9fd6
Only stylish-haskell needs newer ghc-lib
jneira Nov 15, 2021
3616140
Avoid ghc-9.0.1 in other way
jneira Nov 15, 2021
d4bdb38
Script needs a min time version
jneira Nov 16, 2021
7c47603
First draft of 1.5.0 changelog
jneira Nov 16, 2021
0fae162
Comment out hackage for 9.0.1
jneira Nov 16, 2021
883e6ab
allow newer ghc-lib-parser
jneira Nov 16, 2021
ea606a5
Remove redundant entry
jneira Nov 16, 2021
5d761f7
Correct condition
jneira Nov 16, 2021
77c3865
Cancel previous hackage jobs
jneira Nov 16, 2021
4aedaab
Add link to pepe's talk slides
jneira Nov 17, 2021
a445d20
Use th-extras master
jneira Nov 17, 2021
44f46cc
Use th-extras master and uncomment packages
jneira Nov 17, 2021
62683ad
add extra-1.7.9
jneira Nov 17, 2021
21db7ae
Add required extra-deps
jneira Nov 17, 2021
24eea8b
Comment unbuildable packages again
jneira Nov 17, 2021
477e95a
Add ignore-plugins-ghc-bounds
jneira Nov 17, 2021
8034c17
Add #2354
jneira Nov 17, 2021
5a76299
Complete ghc deprecation notice
jneira Nov 17, 2021
4872fa9
Add extra-1.7.9
jneira Nov 17, 2021
a25e1ce
Merge branch 'master' into prepare-1.5.0
jneira Nov 17, 2021
b7b9c75
Add #2346 to Changelog
jneira Nov 17, 2021
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
42 changes: 38 additions & 4 deletions .github/workflows/hackage.yml
Original file line number Diff line number Diff line change
@@ -1,5 +1,10 @@
name: Hackage

# See: https://docs.github.com/en/actions/reference/workflow-syntax-for-github-actions#concurrency.
concurrency:
group: ${{ github.head_ref }}-${{ github.workflow }}
cancel-in-progress: true

on:
push:
branches:
Expand All @@ -9,6 +14,7 @@ jobs:
check-and-upload-tarballs:
runs-on: ubuntu-latest
strategy:
fail-fast: ${{ !contains(github.ref_name, 'check') }}
matrix:
package: ["hie-compat", "hls-graph", "shake-bench",
"hls-plugin-api", "ghcide", "hls-test-utils",
Expand All @@ -21,7 +27,20 @@ jobs:
"hls-splice-plugin", "hls-tactics-plugin",
"hls-call-hierarchy-plugin",
"haskell-language-server"]
ghc: ["9.0.1", "8.10.7", "8.8.4", "8.6.5"]
# Uncomment 9.0.1 when ghcide is buildable
ghc: [ # "9.0.1",
"8.10.7",
"8.8.4",
"8.6.5"]
exclude:
- ghc: "9.0.1"
package: "hls-brittany-plugin"
- ghc: "9.0.1"
package: "hls-stylish-haskell-plugin"
- ghc: "9.0.1"
package: "hls-class-plugin"
- ghc: "9.0.1"
package: "hls-tactics-plugin"

steps:

Expand Down Expand Up @@ -96,8 +115,23 @@ jobs:
run: |
cd $(ls -d ./incoming/${{ matrix.package }}-*)
echo "packages: . ../../* ../../plugins/*" > cabal.project

- name: "Add temporary needed allow-newer"
if: steps.get-hackage-version.outputs.exists != 'true'
run: |
# TODO: remove when not needed
cd $(ls -d ./incoming/${{ matrix.package }}-*)
echo "allow-newer: Chart-diagrams:diagrams-core, SVGFonts:diagrams-core," >> cabal.project

- name: "Add temporary needed allow-newer for ghc-9.0"
if: steps.get-hackage-version.outputs.exists != 'true' && matrix.ghc == '9.0.1'
run: |
# TODO: remove when not needed
echo "allow-newer: Chart-diagrams:diagrams-core, SVGFonts:diagrams-core" >> cabal.project
cd $(ls -d ./incoming/${{ matrix.package }}-*)
# For brittany
echo " brittany:base, brittany:ghc, brittany:ghc-boot-th, butcher:base, multistate:base, data-tree-print:base," >> cabal.project
# For floskell and stylish-haskell
echo " floskell:base, floskell:ghc-prim, stylish-haskell:Cabal,stylish-haskell:ghc-lib-parser," >> cabal.project

- name: "Build all package components in isolation"
if: steps.get-hackage-version.outputs.exists != 'true'
Expand All @@ -112,14 +146,14 @@ jobs:
cabal haddock --haddock-for-hackage

- name: "Upload package dist tarball"
if: steps.get-hackage-version.outputs.exists != 'true'
if: steps.get-hackage-version.outputs.exists != 'true' && matrix.ghc == '8.10.7'
uses: actions/upload-artifact@v2
with:
name: ${{ matrix.package }}
path: ${{ steps.generate-dist-tarball.outputs.path }}

upload-candidate:
if: ${{ !contains(github.head_ref, 'check') }}
if: ${{ !contains(github.ref_name, 'check') }}
needs: check-and-upload-tarballs
runs-on: ubuntu-latest
steps:
Expand Down
175 changes: 175 additions & 0 deletions ChangeLog.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,178 @@
# Changelog for haskell-language-server

## 1.5.0

Time for another hls release:

- @pepeiborra has done an epic work to improve performance, redefining some of the core pieces of HLS
- You can take an overall look to improvements in [these slides](https://drive.google.com/file/d/16FpmiHXX_rd2gAf5XVgWAIr4kg-AkUqX/view)
- We have fourmolu support for ghc-9.0.1 thanks to @georgefst
- We have got improvements over import suggestions thanks to @yoshitsugu and @alexnaspo
- Completions also has been improved in general thanks to @pepeiborra
- There have been lot of documentation updates by several contributors, thanks also to all of you
- In this release we still don't have full support for all plugins and ghc-9.0.1
- Missing plugins for ghc-9.0.1 are: hls-class-plugin, hls-tactics-plugin (wingman), hls-brittany-plugin and hls-stylish-haskell-plugin

### Deprecation notice for 1.5.0

- As we noted in the previous release we have dropped support for ghc versions 8.6.4, 8.10.2, 8.10.3, 8.10.4 in *this release*
- We will drop support for ghc versions 8.10.5 and 8.8.3 *after this release*
- The advise is upgrade ghc to the last minor version: 8.6.5, 8.8.4 or 8.10.7
- You can read more about ghc deprecation policy and schedule [here](https://haskell-language-server.readthedocs.io/en/latest/supported-versions.html)

### Pull requests merged for 1.5.0

- More completion fixes
([#2354](https://github.com/haskell/haskell-language-server/pull/2354)) by @pepeiborra
- Update to latest prettyprinter API
([#2352](https://github.com/haskell/haskell-language-server/pull/2352)) by @fendor
- Use hackage version of czipwith
([#2346](https://github.com/haskell/haskell-language-server/pull/2346)) by @jneira
- Show build graph statistics in ghcide-bench
([#2343](https://github.com/haskell/haskell-language-server/pull/2343)) by @pepeiborra
- contributing: add implicit-hie gen-hie > hie.yaml note
([#2341](https://github.com/haskell/haskell-language-server/pull/2341)) by @Anton-Latukha
- add dependabot: add Actions CI merge requests automation
([#2339](https://github.com/haskell/haskell-language-server/pull/2339)) by @Anton-Latukha
- Skip parsing without haddock for above GHC9.0
([#2338](https://github.com/haskell/haskell-language-server/pull/2338)) by @yoshitsugu
- Give unique names to post-jobs
([#2337](https://github.com/haskell/haskell-language-server/pull/2337)) by @jneira
- Cancel prev runs for bench and nix
([#2335](https://github.com/haskell/haskell-language-server/pull/2335)) by @jneira
- Trace diagnostics
([#2333](https://github.com/haskell/haskell-language-server/pull/2333)) by @pepeiborra
- Include sortText in completions and improve suggestions
([#2332](https://github.com/haskell/haskell-language-server/pull/2332)) by @pepeiborra
- Not suggest exported imports
([#2329](https://github.com/haskell/haskell-language-server/pull/2329)) by @yoshitsugu
- Update troubleshooting section
([#2326](https://github.com/haskell/haskell-language-server/pull/2326)) by @jneira
- Remove automatic comment to [skip circleci]
([#2325](https://github.com/haskell/haskell-language-server/pull/2325)) by @jneira
- Add README.md in install/ subproject
([#2324](https://github.com/haskell/haskell-language-server/pull/2324)) by @sir4ur0n
- Improve the performance of GetModIfaceFromDisk in large repos and delete GetDependencies
([#2323](https://github.com/haskell/haskell-language-server/pull/2323)) by @pepeiborra
- Add support for install hls from hackage using ghc 9.0.1
([#2322](https://github.com/haskell/haskell-language-server/pull/2322)) by @jneira
- Rename hlint test data files and add regression tests
([#2321](https://github.com/haskell/haskell-language-server/pull/2321)) by @jneira
- Suggest hiding imports when local definition exists
([#2320](https://github.com/haskell/haskell-language-server/pull/2320)) by @yoshitsugu
- Improve trace readability
([#2319](https://github.com/haskell/haskell-language-server/pull/2319)) by @pepeiborra
- Sir4ur0n/doc/cleanup hie
([#2311](https://github.com/haskell/haskell-language-server/pull/2311)) by @sir4ur0n
- Add option to effectively cancel prev runs
([#2310](https://github.com/haskell/haskell-language-server/pull/2310)) by @jneira
- Separate features from demos
([#2307](https://github.com/haskell/haskell-language-server/pull/2307)) by @jneira
- Prevent Tactics hover provider from blocking at startup
([#2306](https://github.com/haskell/haskell-language-server/pull/2306)) by @pepeiborra
- Fix defaultIdeOptions to use the initial config settings
([#2302](https://github.com/haskell/haskell-language-server/pull/2302)) by @pepeiborra
- Use new queue rules for mergify bot
([#2301](https://github.com/haskell/haskell-language-server/pull/2301)) by @jneira
- Fix reverse dep. tracking for alwaysRerun rules
([#2298](https://github.com/haskell/haskell-language-server/pull/2298)) by @pepeiborra
- Reorganize github workflows and use specific label [skip circleci]
([#2297](https://github.com/haskell/haskell-language-server/pull/2297)) by @jneira
- Enable func-test suite for windows
([#2296](https://github.com/haskell/haskell-language-server/pull/2296)) by @jneira
- Generate linkables in the Eval plugin
([#2295](https://github.com/haskell/haskell-language-server/pull/2295)) by @pepeiborra
- [hls-graph] clean up databaseDirtySet
([#2294](https://github.com/haskell/haskell-language-server/pull/2294)) by @pepeiborra
- Update link to supported platforms by ghcup
([#2293](https://github.com/haskell/haskell-language-server/pull/2293)) by @chshersh
- Make circleci honour [skip ci] wherever is placed in the pr info (title, description)
([#2289](https://github.com/haskell/haskell-language-server/pull/2289)) by @jneira
- Note in the install script that listed ghcs are the supported ones
([#2286](https://github.com/haskell/haskell-language-server/pull/2286)) by @jneira
- Move hlint tests to its own package (and other clean ups)
([#2284](https://github.com/haskell/haskell-language-server/pull/2284)) by @jneira
- Trace rebuilds
([#2283](https://github.com/haskell/haskell-language-server/pull/2283)) by @pepeiborra
- Fix excessive interface recompilation caused by the Tactics plugin
([#2282](https://github.com/haskell/haskell-language-server/pull/2282)) by @pepeiborra
- Preserve dirty set and add dirtiness assertion
([#2279](https://github.com/haskell/haskell-language-server/pull/2279)) by @pepeiborra
- Ignore null WatchedFile events
([#2278](https://github.com/haskell/haskell-language-server/pull/2278)) by @pepeiborra
- Trace log events and fix ghcide logger
([#2277](https://github.com/haskell/haskell-language-server/pull/2277)) by @pepeiborra
- Point to GitHub from Contributing.md
([#2275](https://github.com/haskell/haskell-language-server/pull/2275)) by @georgefst
- installation.md: add Fedora copr repo
([#2274](https://github.com/haskell/haskell-language-server/pull/2274)) by @juhp
- avoid double rebuilds for FOIs
([#2266](https://github.com/haskell/haskell-language-server/pull/2266)) by @pepeiborra
- Update installation on ArchLinux - new package
([#2265](https://github.com/haskell/haskell-language-server/pull/2265)) by @marcin-rzeznicki
- Garbage collection of dirty keys
([#2263](https://github.com/haskell/haskell-language-server/pull/2263)) by @pepeiborra
- Add lsp-mode links
([#2260](https://github.com/haskell/haskell-language-server/pull/2260)) by @jneira
- Add more features and demos in docs
([#2257](https://github.com/haskell/haskell-language-server/pull/2257)) by @jneira
- Add nix installation section
([#2256](https://github.com/haskell/haskell-language-server/pull/2256)) by @jneira
- Bump Fourmolu to 0.4
([#2254](https://github.com/haskell/haskell-language-server/pull/2254)) by @georgefst
- Remove custom version of operational
([#2249](https://github.com/haskell/haskell-language-server/pull/2249)) by @jneira
- Generate custom source tarball
([#2248](https://github.com/haskell/haskell-language-server/pull/2248)) by @jneira
- Enable the ghcide test plugin in HLS test suites
([#2243](https://github.com/haskell/haskell-language-server/pull/2243)) by @pepeiborra
- Partial sort of fuzzy filtering results
([#2240](https://github.com/haskell/haskell-language-server/pull/2240)) by @pepeiborra
- Fix build with fbghc
([#2234](https://github.com/haskell/haskell-language-server/pull/2234)) by @pepeiborra
- Tweaks to GHC support docs
([#2232](https://github.com/haskell/haskell-language-server/pull/2232)) by @michaelpj
- Add ghc deprecation policy to documentation
([#2231](https://github.com/haskell/haskell-language-server/pull/2231)) by @jneira
- Add ghcup compile option
([#2230](https://github.com/haskell/haskell-language-server/pull/2230)) by @jneira
- Parallel fuzzy filtering
([#2225](https://github.com/haskell/haskell-language-server/pull/2225)) by @pepeiborra
- Revert "Inline Text.Fuzzy to add INLINABLE pragmas"
([#2223](https://github.com/haskell/haskell-language-server/pull/2223)) by @pepeiborra
- feat(flake): expose hie-bios
([#2221](https://github.com/haskell/haskell-language-server/pull/2221)) by @teto
- flake: remove the 'follows' directive
([#2218](https://github.com/haskell/haskell-language-server/pull/2218)) by @teto
- Return completions lazily for massive savings
([#2217](https://github.com/haskell/haskell-language-server/pull/2217)) by @pepeiborra
- Inline Text.Fuzzy to add INLINABLE pragmas
([#2215](https://github.com/haskell/haskell-language-server/pull/2215)) by @pepeiborra
- Add chat on irc badge
([#2214](https://github.com/haskell/haskell-language-server/pull/2214)) by @jneira
- ghcide: Add flags to toggle building each executable
([#2212](https://github.com/haskell/haskell-language-server/pull/2212)) by @hololeap
- Add matrix haskell-tooling channel
([#2210](https://github.com/haskell/haskell-language-server/pull/2210)) by @jneira
- Relax upper bounds over ormolu and stylish-haskell
([#2207](https://github.com/haskell/haskell-language-server/pull/2207)) by @jneira
- Add missing config options in documentation
([#2203](https://github.com/haskell/haskell-language-server/pull/2203)) by @jneira
- Add gitlab CI
([#2200](https://github.com/haskell/haskell-language-server/pull/2200)) by @hasufell
- Apply workaround for 8.8.4 and windows to enable it in ci
([#2199](https://github.com/haskell/haskell-language-server/pull/2199)) by @jneira
- Drop ghc support for 8.6.4, 8.10.2, 8.10.3, 8.10.4
([#2197](https://github.com/haskell/haskell-language-server/pull/2197)) by @jneira
- Consider all root paths when suggesting module name change.
([#2195](https://github.com/haskell/haskell-language-server/pull/2195)) by @cdsmith
- enable completions of local imports
([#2190](https://github.com/haskell/haskell-language-server/pull/2190)) by @alexnaspo
- Drop ghc-api-compat from dependency closure
([#2128](https://github.com/haskell/haskell-language-server/pull/2128)) by @fendor
- Reimplement shake (continued)
([#2060](https://github.com/haskell/haskell-language-server/pull/2060)) by @pepeiborra

## 1.4.0

After a month of vacation a new hls release has arrived:
Expand Down Expand Up @@ -27,6 +200,8 @@ After a month of vacation a new hls release has arrived:

### Pull requests merged for 1.4.0

- Prepare 1.4.0
([#2182](https://github.com/haskell/haskell-language-server/pull/2182)) by @jneira
- Update flake to fix nix builds
([#2188](https://github.com/haskell/haskell-language-server/pull/2188)) by @jneira
- Completions for project identifiers
Expand Down
2 changes: 1 addition & 1 deletion GenChangelogs.hs
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
#!/usr/bin/env cabal
{- cabal:
build-depends: base, process, text, github, time
build-depends: base, process, text, github, time >= 1.9
-}

{-# LANGUAGE OverloadedStrings #-}
Expand Down
33 changes: 24 additions & 9 deletions cabal-ghc901.project
Original file line number Diff line number Diff line change
Expand Up @@ -6,11 +6,11 @@ packages:
./ghcide
./hls-plugin-api
./hls-test-utils
-- ./plugins/hls-tactics-plugin
-- ./plugins/hls-brittany-plugin
-- ./plugins/hls-stylish-haskell-plugin
./plugins/hls-tactics-plugin
./plugins/hls-brittany-plugin
./plugins/hls-stylish-haskell-plugin
./plugins/hls-fourmolu-plugin
-- ./plugins/hls-class-plugin
./plugins/hls-class-plugin
./plugins/hls-eval-plugin
./plugins/hls-explicit-imports-plugin
./plugins/hls-refine-imports-plugin
Expand All @@ -35,10 +35,10 @@ package *

source-repository-package
type: git
location: https://github.com/anka-213/th-extras
tag: 57a97b4df128eb7b360e8ab9c5759392de8d1659
-- https://github.com/mokus0/th-extras/pull/8
-- https://github.com/mokus0/th-extras/issues/7
location: https://github.com/mokus0/th-extras
tag: 0d050b24ec5ef37c825b6f28ebd46787191e2a2d
-- https://github.com/mokus0/th-extras/issues/10


source-repository-package
type: git
Expand All @@ -53,11 +53,26 @@ index-state: 2021-11-11T19:25:51Z

constraints:
-- These plugins don't work on GHC9 yet
haskell-language-server +ignore-plugins-ghc-bounds -brittany -class -stylishhaskell -tactic
haskell-language-server +ignore-plugins-ghc-bounds -brittany -class -stylishhaskell -tactic,
ghc-lib-parser ^>= 9.0

-- although we are not building all plugins cabal solver phase is run for all packages
-- this way we track explicitly all transitive dependencies which need support for ghc-9
allow-newer:
brittany:base,
brittany:ghc,
brittany:ghc-boot-th,
-- for brittany
butcher:base,
multistate:base,
data-tree-print:base,

stylish-haskell:Cabal,
stylish-haskell:ghc-lib-parser,

floskell:base,
floskell:ghc-prim,

-- for shake-bench
Chart-diagrams:diagrams-core,
SVGFonts:diagrams-core
Loading