diff --git a/.cirrus.yml b/.cirrus.yml deleted file mode 100644 index bc57f36542..0000000000 --- a/.cirrus.yml +++ /dev/null @@ -1,109 +0,0 @@ -# release CI for FreeBSD -compute_engine_instance: - image_project: freebsd-org-cloud-dev - image: family/freebsd-13-1 - platform: freebsd - disk: 100 # Gb - -build_task: - timeout_in: 120m - only_if: $CIRRUS_TAG != '' - env: - AWS_ACCESS_KEY_ID: ENCRYPTED[dc5896620ebc12e98e6bbe96f72c5a2fe3785f439b7b2346797355f8d329a4bfd8ef6e58086bfc014be0d914424101cd] - AWS_SECRET_ACCESS_KEY: ENCRYPTED[6501cd594aca08c6c67cc679dd6f6d30db0cd44a81cceddebf32bb3d0a37f9af19cd71ddb7169d3f7b284a7829969f9e] - S3_HOST: ENCRYPTED[d3fef1b5850e85d80dd1684370b53183df2218f2d36509108a2703371afd9ebd3f9596ad4de52487c15ea29baed606b7] - TARBALL_EXT: "tar.xz" - ARCH: 64 - ARTIFACT: "x86_64-freebsd" - DISTRO: "na" - RUNNER_OS: "FreeBSD" - ADD_CABAL_ARGS: "--enable-split-sections" - GITHUB_WORKSPACE: ${CIRRUS_WORKING_DIR} - CABAL_CACHE_NONFATAL: "yes" - matrix: - - name: build-ghc-9.2.8 - env: - GHC_VERSION: 9.2.8 - - name: build-ghc-9.4.8 - env: - GHC_VERSION: 9.4.8 - - name: build-ghc-9.6.4 - env: - GHC_VERSION: 9.6.4 - - name: build-ghc-9.8.1 - env: - GHC_VERSION: 9.8.1 - install_script: pkg install -y hs-cabal-install git bash misc/compat10x misc/compat11x misc/compat12x gmake patchelf tree gmp libiconv - script: - - tzsetup Etc/GMT - - adjkerntz -a - - bash .github/scripts/build.sh - - tar caf out.tar.xz out/ store/ - binaries_artifacts: - path: "out.tar.xz" - - -bindist_task: - name: bindist - depends_on: - - build-ghc-9.2.8 - - build-ghc-9.4.8 - - build-ghc-9.6.4 - - build-ghc-9.8.1 - timeout_in: 120m - only_if: $CIRRUS_TAG != '' - env: - TARBALL_EXT: "tar.xz" - ARCH: 64 - ARTIFACT: "x86_64-freebsd" - DISTRO: "na" - RUNNER_OS: "FreeBSD" - GITHUB_WORKSPACE: ${CIRRUS_WORKING_DIR} - install_script: pkg install -y hs-cabal-install git bash misc/compat10x misc/compat11x misc/compat12x gmake patchelf tree gmp libiconv unzip - script: - - tzsetup Etc/GMT - - adjkerntz -a - - - curl -o binaries-9.2.8.tar.xz -L https://api.cirrus-ci.com/v1/artifact/build/${CIRRUS_BUILD_ID}/build-ghc-9.2.8/binaries/out.tar.xz - - tar xvf binaries-9.2.8.tar.xz - - rm -f binaries-9.2.8.tar.xz - - - curl -o binaries-9.4.8.tar.xz -L https://api.cirrus-ci.com/v1/artifact/build/${CIRRUS_BUILD_ID}/build-ghc-9.4.8/binaries/out.tar.xz - - tar xvf binaries-9.4.8.tar.xz - - rm -f binaries-9.4.8.tar.xz - - - curl -o binaries-9.6.4.tar.xz -L https://api.cirrus-ci.com/v1/artifact/build/${CIRRUS_BUILD_ID}/build-ghc-9.6.4/binaries/out.tar.xz - - tar xvf binaries-9.6.4.tar.xz - - rm -f binaries-9.6.4.tar.xz - - - curl -o binaries-9.8.1.tar.xz -L https://api.cirrus-ci.com/v1/artifact/build/${CIRRUS_BUILD_ID}/build-ghc-9.8.1/binaries/out.tar.xz - - tar xvf binaries-9.8.1.tar.xz - - rm -f binaries-9.8.1.tar.xz - - - bash .github/scripts/bindist.sh - bindist_artifacts: - path: "./out/*.tar.xz" - -test_task: - name: test - depends_on: - - bindist - timeout_in: 120m - only_if: $CIRRUS_TAG != '' - env: - TARBALL_EXT: "tar.xz" - ARCH: 64 - ARTIFACT: "x86_64-freebsd" - DISTRO: "na" - RUNNER_OS: "FreeBSD" - GITHUB_WORKSPACE: ${CIRRUS_WORKING_DIR} - install_script: pkg install -y hs-cabal-install git bash misc/compat10x misc/compat11x misc/compat12x gmake patchelf tree gmp libiconv unzip - script: - - tzsetup Etc/GMT - - adjkerntz -a - - - curl -O -L https://api.cirrus-ci.com/v1/artifact/build/${CIRRUS_BUILD_ID}/bindist/bindist.zip - - unzip bindist.zip - - - bash .github/scripts/test.sh - diff --git a/.github/scripts/build.sh b/.github/scripts/build.sh index d27a940e14..413890bfdf 100644 --- a/.github/scripts/build.sh +++ b/.github/scripts/build.sh @@ -11,6 +11,9 @@ uname pwd env +# setup the locale as HLS contains non-ascii modules and content. +setup_locale + # ensure ghcup install_ghcup diff --git a/.github/scripts/common.sh b/.github/scripts/common.sh index b57623b6fe..dea3140a8e 100644 --- a/.github/scripts/common.sh +++ b/.github/scripts/common.sh @@ -137,6 +137,9 @@ install_ghcup() { else curl --proto '=https' --tlsv1.2 -sSf https://get-ghcup.haskell.org | BOOTSTRAP_HASKELL_MINIMAL=1 sh source "$(dirname "${GHCUP_BIN}")/env" + # make sure we use the vanilla channel for installing binaries + # see https://github.com/haskell/ghcup-metadata/pull/166#issuecomment-1893075575 + ghcup config set url-source https://raw.githubusercontent.com/haskell/ghcup-metadata/master/ghcup-vanilla-0.0.8.yaml ghcup install cabal --set "${BOOTSTRAP_HASKELL_CABAL_VERSION}" fi } @@ -204,3 +207,32 @@ mktempdir() { ;; esac } + +# "Inspired" from GHC GitLab CI +# https://gitlab.haskell.org/ghc/ghc/-/blob/214b2b6916f2d016ab9db0b766060e7828bb47a0/.gitlab/ci.sh#L60 +setup_locale() { + # BSD grep terminates early with -q, consequently locale -a will get a + # SIGPIPE and the pipeline will fail with pipefail. + shopt -o -u pipefail + if locale -a | grep -q C.UTF-8; then + # Debian + export LANG=C.UTF-8 + elif locale -a | grep -q C.utf8; then + # Fedora calls it this + export LANG=C.utf8 + elif locale -a | grep -q en_US.UTF-8; then + # Centos doesn't have C.UTF-8 + export LANG=en_US.UTF-8 + elif locale -a | grep -q en_US.utf8; then + # Centos doesn't have C.UTF-8 + export LANG=en_US.utf8 + else + error "Failed to find usable locale" + info "Available locales:" + locale -a + fail "No usable locale, aborting..." + fi + info "Using locale $LANG..." + export LC_ALL=$LANG + shopt -o -s pipefail +} diff --git a/.github/workflows/release.yaml b/.github/workflows/release.yaml index 46dcb06448..dd6fe98ffa 100644 --- a/.github/workflows/release.yaml +++ b/.github/workflows/release.yaml @@ -30,7 +30,7 @@ jobs: strategy: fail-fast: false matrix: - ghc: ["9.8.1", "9.6.4", "9.4.8", "9.2.8"] + ghc: ["9.8.2", "9.6.4", "9.4.8", "9.2.8"] platform: [ { image: "debian:9" , 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" , 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" @@ -145,7 +145,7 @@ jobs: , ARTIFACT: "x86_64-linux-unknown" , ADD_CABAL_ARGS: "--enable-split-sections" } - - ghc: 9.8.1 + - ghc: 9.8.2 platform: { image: "rockylinux:8" , installCmd: "yum -y install epel-release && yum install -y --allowerasing" @@ -213,7 +213,7 @@ jobs: strategy: fail-fast: true matrix: - ghc: ["9.8.1", "9.6.4", "9.4.8", "9.2.8" ] + ghc: ["9.8.2", "9.6.4", "9.4.8", "9.2.8" ] steps: - uses: docker://arm64v8/ubuntu:focal name: Cleanup (aarch64 linux) @@ -273,7 +273,7 @@ jobs: strategy: fail-fast: false matrix: - ghc: ["9.8.1", "9.6.4", "9.4.8", "9.2.8"] + ghc: ["9.8.2", "9.6.4", "9.4.8", "9.2.8"] steps: - name: Checkout code uses: actions/checkout@v3 @@ -318,7 +318,7 @@ jobs: strategy: fail-fast: false matrix: - ghc: ["9.8.1", "9.6.4", "9.4.8", "9.2.8"] + ghc: ["9.8.2", "9.6.4", "9.4.8", "9.2.8"] steps: - name: Checkout code uses: actions/checkout@v3 @@ -363,7 +363,7 @@ jobs: strategy: fail-fast: false matrix: - ghc: ["9.8.1", "9.6.4", "9.4.8", "9.2.8"] + ghc: ["9.8.2", "9.6.4", "9.4.8", "9.2.8"] steps: - name: install windows deps shell: pwsh diff --git a/ChangeLog.md b/ChangeLog.md index 06a46bd251..ed71563762 100644 --- a/ChangeLog.md +++ b/ChangeLog.md @@ -1,5 +1,182 @@ # Changelog for haskell-language-server +## 2.7.0.0 + +- Bindists for GHC 9.8.2 + - Enable many more plugins, making GHC 9.8.2 fully supported +- Fix refactor code actions for vim +- Preserve HLint's diagnostic severity +- Many other bug fixes. + +### Pull Requests + +- Enable pedantic for remaining plugins + ([#4091](https://github.com/haskell/haskell-language-server/pull/4091)) by @jhrcek +- Add support for fourmolu 0.15 + ([#4086](https://github.com/haskell/haskell-language-server/pull/4086)) by @brandonchinn178 +- refactor plugin: fix regex for extracting import suggestions + ([#4080](https://github.com/haskell/haskell-language-server/pull/4080)) by @jhrcek +- Bump to hiedb 0.6.0.0 + ([#4077](https://github.com/haskell/haskell-language-server/pull/4077)) by @jhrcek +- ghcide: Only try `stat`ing a core file after we ensure it actually exists + ([#4076](https://github.com/haskell/haskell-language-server/pull/4076)) by @wz1000 +- Fix small typo in Retrie error message + ([#4075](https://github.com/haskell/haskell-language-server/pull/4075)) by @iustin +- add Method_TextDocumentSemanticTokensFullDelta + ([#4073](https://github.com/haskell/haskell-language-server/pull/4073)) by @soulomoon +- Fix -Wall in retrie plugin + ([#4071](https://github.com/haskell/haskell-language-server/pull/4071)) by @jhrcek +- Fix -Wall in qualified imported names plugin + ([#4070](https://github.com/haskell/haskell-language-server/pull/4070)) by @jhrcek +- benchmarks: switch from deprecated haskell/actions/setup to haskell-actions/setup + ([#4068](https://github.com/haskell/haskell-language-server/pull/4068)) by @jhrcek +- Bump pre-commit/action from 3.0.0 to 3.0.1 + ([#4066](https://github.com/haskell/haskell-language-server/pull/4066)) by @dependabot[bot] +- Fix -Wall in refactor plugin + ([#4065](https://github.com/haskell/haskell-language-server/pull/4065)) by @jhrcek +- Redundant imports/exports: use range only to determine which code actions are in scope + ([#4063](https://github.com/haskell/haskell-language-server/pull/4063)) by @keithfancher +- Bump haskell-actions/setup to get GHC 9.6.4 in CI + ([#4062](https://github.com/haskell/haskell-language-server/pull/4062)) by @jhrcek +- Enable pedantic for more components + ([#4061](https://github.com/haskell/haskell-language-server/pull/4061)) by @jhrcek +- stack CI: switch to offic. haskell images, bump to lts-22.9 (ghc 9.6.4) + ([#4060](https://github.com/haskell/haskell-language-server/pull/4060)) by @jhrcek +- Improve hls class plugin test + ([#4059](https://github.com/haskell/haskell-language-server/pull/4059)) by @soulomoon +- Bump ghcide-test-utils to 2.0.0.0 + ([#4058](https://github.com/haskell/haskell-language-server/pull/4058)) by @wz1000 +- Promote more warnings to errors in ghcide + ([#4054](https://github.com/haskell/haskell-language-server/pull/4054)) by @jhrcek +- Add -Wunused-packages to common warnings + ([#4053](https://github.com/haskell/haskell-language-server/pull/4053)) by @jhrcek +- Bump lsp versions + ([#4052](https://github.com/haskell/haskell-language-server/pull/4052)) by @michaelpj +- Optimize semantic token extraction logic + ([#4050](https://github.com/haskell/haskell-language-server/pull/4050)) by @soulomoon +- Fix warnings in hls-graph, enable pedantic in CI + ([#4047](https://github.com/haskell/haskell-language-server/pull/4047)) by @jhrcek +- Fix -Wredundant-constraints + ([#4044](https://github.com/haskell/haskell-language-server/pull/4044)) by @jhrcek +- Disable caching job with ghc 9.2 on windows + ([#4043](https://github.com/haskell/haskell-language-server/pull/4043)) by @jhrcek +- fix token omitting problem if multiple tokens are connected. + ([#4041](https://github.com/haskell/haskell-language-server/pull/4041)) by @soulomoon +- Set test options via cabal.project + ([#4039](https://github.com/haskell/haskell-language-server/pull/4039)) by @michaelpj +- Fix document version test in hls-class-plugin + ([#4038](https://github.com/haskell/haskell-language-server/pull/4038)) by @July541 +- Fix -Wunused-imports + ([#4037](https://github.com/haskell/haskell-language-server/pull/4037)) by @jhrcek +- Use GHC2021 + ([#4033](https://github.com/haskell/haskell-language-server/pull/4033)) by @michaelpj +- Remove ghcide-test-utils as a separate package + ([#4032](https://github.com/haskell/haskell-language-server/pull/4032)) by @michaelpj +- Fix weird behavior of OPTIONS_GHC completions (fixes #3908) + ([#4031](https://github.com/haskell/haskell-language-server/pull/4031)) by @jhrcek +- semantic tokens: add infix operator + ([#4030](https://github.com/haskell/haskell-language-server/pull/4030)) by @soulomoon +- fix: a typo in docs/configuration.md + ([#4029](https://github.com/haskell/haskell-language-server/pull/4029)) by @kkweon +- Turn off tasty-rerun + ([#4028](https://github.com/haskell/haskell-language-server/pull/4028)) by @michaelpj +- Reduce the number of ad-hoc helper test functions in refactor plugin tests + ([#4027](https://github.com/haskell/haskell-language-server/pull/4027)) by @jhrcek +- Fix documentation/image links + ([#4025](https://github.com/haskell/haskell-language-server/pull/4025)) by @jhrcek +- Fix various issues + ([#4024](https://github.com/haskell/haskell-language-server/pull/4024)) by @michaelpj +- Use relative file paths for HIE files and Stan's config maps + ([#4023](https://github.com/haskell/haskell-language-server/pull/4023)) by @keithfancher +- fix isClassNodeIdentifier in hls-class-plugin + ([#4020](https://github.com/haskell/haskell-language-server/pull/4020)) by @soulomoon +- Fix -Wall and -Wunused-packages in hlint plugin + ([#4019](https://github.com/haskell/haskell-language-server/pull/4019)) by @jhrcek +- update hlint to 3.8 and prevent linting on testdata dir + ([#4018](https://github.com/haskell/haskell-language-server/pull/4018)) by @soulomoon +- refactor plugin: add reproducer and fix for #3795 + ([#4016](https://github.com/haskell/haskell-language-server/pull/4016)) by @jhrcek +- Fix -Wall and -Wunused-packages in stylish-haskell plugin + ([#4015](https://github.com/haskell/haskell-language-server/pull/4015)) by @jhrcek +- Fix -Wall and -Wunused-packages in stan plugin + ([#4014](https://github.com/haskell/haskell-language-server/pull/4014)) by @jhrcek +- fix doc for semantic token + ([#4011](https://github.com/haskell/haskell-language-server/pull/4011)) by @soulomoon +- Fix -Wall and -Wunused-packages in module name and overloaded record dot plugins + ([#4009](https://github.com/haskell/haskell-language-server/pull/4009)) by @jhrcek +- Fix -Wall and -Wunused-package in gadt plugin + ([#4008](https://github.com/haskell/haskell-language-server/pull/4008)) by @jhrcek +- Fix -Wall and -Wunused-packages in fourmolu and ormolu plugins + ([#4007](https://github.com/haskell/haskell-language-server/pull/4007)) by @jhrcek +- Fix -Wall and -Wunused-packages in plugins api and floskell + ([#4005](https://github.com/haskell/haskell-language-server/pull/4005)) by @jhrcek +- Fix -Wunused-packages in test utils + ([#4004](https://github.com/haskell/haskell-language-server/pull/4004)) by @jhrcek +- Update base lower bounds for HLS + ([#4000](https://github.com/haskell/haskell-language-server/pull/4000)) by @fendor +- Various 9.8 compat + ([#3998](https://github.com/haskell/haskell-language-server/pull/3998)) by @michaelpj +- Fix -Wall and -Wunused-packages in explicit-record-fields plugin + ([#3996](https://github.com/haskell/haskell-language-server/pull/3996)) by @jhrcek +- Fix -Wall and -Wunused-packages in explicit fixity plugin + ([#3995](https://github.com/haskell/haskell-language-server/pull/3995)) by @jhrcek +- Remove an allow-newer + ([#3989](https://github.com/haskell/haskell-language-server/pull/3989)) by @michaelpj +- chore: Fix typo s/occured/occurred + ([#3988](https://github.com/haskell/haskell-language-server/pull/3988)) by @hugo-syn +- Update support tables + ([#3987](https://github.com/haskell/haskell-language-server/pull/3987)) by @michaelpj +- Fix most -Wall in ghcide + ([#3984](https://github.com/haskell/haskell-language-server/pull/3984)) by @jhrcek +- Fix -Wall and -Wunused-packages in pragmas plugin + ([#3982](https://github.com/haskell/haskell-language-server/pull/3982)) by @jhrcek +- Fix -Wall and -Wunused-packages in eval plugin + ([#3981](https://github.com/haskell/haskell-language-server/pull/3981)) by @jhrcek +- Fix -Wall and -Wunused-packages in code-range plugin + ([#3980](https://github.com/haskell/haskell-language-server/pull/3980)) by @jhrcek +- Fix -Wall, -Wunused-packages and hlint warnings in call-hierarchy plugin + ([#3979](https://github.com/haskell/haskell-language-server/pull/3979)) by @jhrcek +- Fix -Wunused-packages in hls-cabal-plugin + ([#3977](https://github.com/haskell/haskell-language-server/pull/3977)) by @jhrcek +- Merge plugins into the HLS package + ([#3976](https://github.com/haskell/haskell-language-server/pull/3976)) by @michaelpj +- Fix most hlint warnings in ghcide + ([#3975](https://github.com/haskell/haskell-language-server/pull/3975)) by @jhrcek +- Remove allow-newer for ghc-trace-events + ([#3974](https://github.com/haskell/haskell-language-server/pull/3974)) by @jhrcek +- Exactprint plugins for 9.8 + ([#3973](https://github.com/haskell/haskell-language-server/pull/3973)) by @wz1000 +- Fix -Wall and -Wunused-packages in hls-class-plugin + ([#3972](https://github.com/haskell/haskell-language-server/pull/3972)) by @jhrcek +- Document cabal diagnostic options + ([#3971](https://github.com/haskell/haskell-language-server/pull/3971)) by @fendor +- Fix -Wall and -Wunused-packages in change-type-signature plugin + ([#3970](https://github.com/haskell/haskell-language-server/pull/3970)) by @jhrcek +- Semantic tokens: expand type synonym to checkout forall function type when possible + ([#3967](https://github.com/haskell/haskell-language-server/pull/3967)) by @soulomoon +- Fix -Wunused-packages in hls-cabal-fmt-plugin + ([#3965](https://github.com/haskell/haskell-language-server/pull/3965)) by @jhrcek +- Fix -Wall and -Wunused-packages in hls-alternate-number-format-plugin + ([#3964](https://github.com/haskell/haskell-language-server/pull/3964)) by @jhrcek +- Prepare release 2.6.0.0 + ([#3959](https://github.com/haskell/haskell-language-server/pull/3959)) by @wz1000 +- Semantic tokens: add module name support and improve performance and accuracy by traversing the hieAst along with source code + ([#3958](https://github.com/haskell/haskell-language-server/pull/3958)) by @soulomoon +- Bump cachix/cachix-action from 13 to 14 + ([#3956](https://github.com/haskell/haskell-language-server/pull/3956)) by @dependabot[bot] +- Bump cachix/install-nix-action from 24 to 25 + ([#3955](https://github.com/haskell/haskell-language-server/pull/3955)) by @dependabot[bot] +- Remove unused dependencies in hls-refactor-plugin + ([#3953](https://github.com/haskell/haskell-language-server/pull/3953)) by @jhrcek +- Cleanup conditional build logic pertaining to pre 9.2 GHCs + ([#3948](https://github.com/haskell/haskell-language-server/pull/3948)) by @jhrcek +- Fix issue: HLS HLint plugin doesn't preserve HLint's severities #3881 + ([#3902](https://github.com/haskell/haskell-language-server/pull/3902)) by @IAmPara0x +- Don't run hlint on testdata directories + ([#3901](https://github.com/haskell/haskell-language-server/pull/3901)) by @fendor +- Add option for setting manual path to Fourmolu binary + ([#3860](https://github.com/haskell/haskell-language-server/pull/3860)) by @georgefst + ## 2.6.0.0 - Bindists for GHC 9.6.4 @@ -15,7 +192,7 @@ - fix: semantic token omitting record field in `{-# LANGUAGE DuplicateRecordFields #-}` #3950 ([#3951](https://github.com/haskell/haskell-language-server/pull/3951)) by @soulomoon -- Properties API: Remove unsafe coerce in favor of type class based method in +- Properties API: Remove unsafe coerce in favor of type class based method in ([#3947](https://github.com/haskell/haskell-language-server/pull/3947)) by @soulomoon - Bump to hiedb 0.5.0.0 to fix #3542 ([#3943](https://github.com/haskell/haskell-language-server/pull/3943)) by @wz1000 @@ -51,7 +228,7 @@ ([#3913](https://github.com/haskell/haskell-language-server/pull/3913)) by @michaelpj - Update ghc-version-support.md for 2.5.0 ([#3909](https://github.com/haskell/haskell-language-server/pull/3909)) by @lehmacdj -- Give plugins descriptions, include versions of key dependencies +- Give plugins descriptions, include versions of key dependencies ([#3903](https://github.com/haskell/haskell-language-server/pull/3903)) by @michaelpj - Remove some buildability blockers that aren't needed ([#3899](https://github.com/haskell/haskell-language-server/pull/3899)) by @michaelpj diff --git a/RELEASING.md b/RELEASING.md index bf740d716d..73f887b9fc 100644 --- a/RELEASING.md +++ b/RELEASING.md @@ -14,12 +14,7 @@ - `shake-bench` is an internal testing tool, not exposed to the outside world. Thus, no version bump required for releases. - For updating cabal files, the following script can be used: - ```sh - # Update all `version:` fields - sed -ri "s/^version:( +)2.2.0.0/version:\12.3.0.0/" **/*.cabal - # Update all constraints expected to be in the form `== `. - # We usually don't force an exact version, so this is relatively unambiguous. - # We could introduce some more ad-hoc parsing, if there is still ambiguity. - sed -ri "s/== 2.2.0.0/== 2.3.0.0/" **/*.cabal + ./release/update_versions.sh ``` - It still requires manual verification and review - [ ] generate and update changelog @@ -45,9 +40,9 @@ - Afterwards, the artifacts are available at: `https://downloads.haskell.org/~hls/haskell-language-server-/` - Run `SIGNING_KEY=... ../../release/upload.sh purge_all` to remove CDN caches - [ ] create PR to [ghcup-metadata](https://github.com/haskell/ghcup-metadata) - - [ ] update `ghcup-0.0.7.yaml` and `ghcup-vanilla-0.0.7.yaml` + - [ ] update `ghcup-vanilla-0.0.8.yaml` and `ghcup-vanilla-0.0.7.yaml` - can use `sh scripts/release/create-yaml-snippet.sh ` to generate a snippet that can be manually inserted into the yaml files - - [ ] update `hls-metadata-0.0.1.json` + - ~~update `hls-metadata-0.0.1.json`~~ Currently unnecessary, GHCup builds its own HLS binaries and updates that file. - utilize `cabal run ghcup-gen -- generate-hls-ghcs -f ghcup-0.0.7.yaml --format json --stdout` in the root of ghcup-metadata repository - Be sure to mark the correct latest version and add the 'recommended' tag to the latest release. - [ ] get sign-off on release diff --git a/docs/support/ghc-version-support.md b/docs/support/ghc-version-support.md index 2afea19ef1..d3b88b64dc 100644 --- a/docs/support/ghc-version-support.md +++ b/docs/support/ghc-version-support.md @@ -17,7 +17,8 @@ Support status (see the support policy below for more details): | GHC version | Last supporting HLS version | Support status | |--------------|--------------------------------------------------------------------------------------|-----------------------------------------------------------------------------| -| 9.8.1 | [latest](https://github.com/haskell/haskell-language-server/releases/latest) | full support | +| 9.8.2 | [latest](https://github.com/haskell/haskell-language-server/releases/latest) | full support | +| 9.8.1 | [2.6.0.0](https://github.com/haskell/haskell-language-server/releases/tag/2.6.0.0) | full support | | 9.6.4 | [latest](https://github.com/haskell/haskell-language-server/releases/latest) | full support | | 9.6.3 | [2.5.0.0](https://github.com/haskell/haskell-language-server/releases/tag/2.5.0.0) | full support | | 9.6.2 | [2.2.0.0](https://github.com/haskell/haskell-language-server/releases/tag/2.2.0.0) | deprecated | diff --git a/ghcide-bench/ghcide-bench.cabal b/ghcide-bench/ghcide-bench.cabal index e6ddd1d3d4..071cb00947 100644 --- a/ghcide-bench/ghcide-bench.cabal +++ b/ghcide-bench/ghcide-bench.cabal @@ -2,7 +2,7 @@ cabal-version: 3.0 build-type: Simple category: Development name: ghcide-bench -version: 2.6.0.0 +version: 2.7.0.0 license: Apache-2.0 license-file: LICENSE author: The Haskell IDE team diff --git a/ghcide/ghcide.cabal b/ghcide/ghcide.cabal index 5859b3ff47..fc95686d14 100644 --- a/ghcide/ghcide.cabal +++ b/ghcide/ghcide.cabal @@ -2,7 +2,7 @@ cabal-version: 3.4 build-type: Simple category: Development name: ghcide -version: 2.6.0.0 +version: 2.7.0.0 license: Apache-2.0 license-file: LICENSE author: Digital Asset and Ghcide contributors @@ -14,7 +14,7 @@ homepage: https://github.com/haskell/haskell-language-server/tree/master/ghcide#readme bug-reports: https://github.com/haskell/haskell-language-server/issues -tested-with: GHC ==9.8.1 || ==9.6.4 || ==9.4.8 || ==9.2.8 +tested-with: GHC ==9.8.2 || ==9.6.4 || ==9.4.8 || ==9.2.8 extra-source-files: CHANGELOG.md README.md @@ -88,8 +88,8 @@ library , hie-bios ==0.13.1 , hie-compat ^>=0.3.0.0 , hiedb ^>= 0.6.0.0 - , hls-graph == 2.6.0.0 - , hls-plugin-api == 2.6.0.0 + , hls-graph == 2.7.0.0 + , hls-plugin-api == 2.7.0.0 , implicit-hie >= 0.1.4.0 && < 0.1.5 , lens , list-t diff --git a/ghcide/src/Development/IDE/Import/FindImports.hs b/ghcide/src/Development/IDE/Import/FindImports.hs index d3b960f2bb..ff6c7f90cd 100644 --- a/ghcide/src/Development/IDE/Import/FindImports.hs +++ b/ghcide/src/Development/IDE/Import/FindImports.hs @@ -238,7 +238,7 @@ notFoundErr env modName reason = } LookupUnusable unusable -> let unusables' = map get_unusable unusable -#if MIN_VERSION_ghc(9,6,4) && !MIN_VERSION_ghc(9,8,1) +#if MIN_VERSION_ghc(9,6,4) && (!MIN_VERSION_ghc(9,8,1) || MIN_VERSION_ghc(9,8,2)) get_unusable (m, ModUnusable r) = r #else get_unusable (m, ModUnusable r) = (moduleUnit m, r) diff --git a/haskell-language-server.cabal b/haskell-language-server.cabal index de80c2a0cc..9f719d06b4 100644 --- a/haskell-language-server.cabal +++ b/haskell-language-server.cabal @@ -1,7 +1,7 @@ cabal-version: 3.4 category: Development name: haskell-language-server -version: 2.6.0.0 +version: 2.7.0.0 synopsis: LSP server for GHC description: Please see the README on GitHub at @@ -14,7 +14,7 @@ copyright: The Haskell IDE Team license: Apache-2.0 license-file: LICENSE build-type: Simple -tested-with: GHC == 9.8.1 || ==9.6.4 || ==9.4.8 || ==9.2.8 +tested-with: GHC == 9.8.2 || ==9.6.4 || ==9.4.8 || ==9.2.8 extra-source-files: README.md ChangeLog.md @@ -118,8 +118,8 @@ library hls-cabal-fmt-plugin , base >=4.12 && <5 , directory , filepath - , ghcide == 2.6.0.0 - , hls-plugin-api == 2.6.0.0 + , ghcide == 2.7.0.0 + , hls-plugin-api == 2.7.0.0 , lens , lsp-types , mtl @@ -136,7 +136,7 @@ test-suite hls-cabal-fmt-plugin-tests , directory , filepath , haskell-language-server:hls-cabal-fmt-plugin - , hls-test-utils == 2.6.0.0 + , hls-test-utils == 2.7.0.0 if flag(isolateCabalfmtTests) build-tool-depends: cabal-fmt:cabal-fmt ^>=0.1.6 @@ -182,10 +182,10 @@ library hls-cabal-plugin , directory , filepath , extra >=1.7.4 - , ghcide == 2.6.0.0 + , ghcide == 2.7.0.0 , hashable - , hls-plugin-api == 2.6.0.0 - , hls-graph == 2.6.0.0 + , hls-plugin-api == 2.7.0.0 + , hls-graph == 2.7.0.0 , lens , lsp ^>=2.4 , lsp-types ^>=2.1 @@ -214,7 +214,7 @@ test-suite hls-cabal-plugin-tests , filepath , ghcide , haskell-language-server:hls-cabal-plugin - , hls-test-utils == 2.6.0.0 + , hls-test-utils == 2.7.0.0 , lens , lsp-types , text @@ -253,9 +253,9 @@ library hls-class-plugin , extra , ghc , ghc-exactprint >= 1.5 - , ghcide == 2.6.0.0 + , ghcide == 2.7.0.0 , hls-graph - , hls-plugin-api == 2.6.0.0 + , hls-plugin-api == 2.7.0.0 , lens , lsp , mtl @@ -275,7 +275,7 @@ test-suite hls-class-plugin-tests , base , filepath , haskell-language-server:hls-class-plugin - , hls-test-utils == 2.6.0.0 + , hls-test-utils == 2.7.0.0 , lens , lsp-types , row-types @@ -310,9 +310,9 @@ library hls-call-hierarchy-plugin , base >=4.12 && <5 , containers , extra - , ghcide == 2.6.0.0 + , ghcide == 2.7.0.0 , hiedb ^>= 0.6.0.0 - , hls-plugin-api == 2.6.0.0 + , hls-plugin-api == 2.7.0.0 , lens , lsp >=2.4 , sqlite-simple @@ -332,7 +332,7 @@ test-suite hls-call-hierarchy-plugin-tests , extra , filepath , haskell-language-server:hls-call-hierarchy-plugin - , hls-test-utils == 2.6.0.0 + , hls-test-utils == 2.7.0.0 , ghcide:ghcide-test-utils , lens , lsp @@ -382,9 +382,9 @@ library hls-eval-plugin , filepath , ghc , ghc-boot-th - , ghcide == 2.6.0.0 + , ghcide == 2.7.0.0 , hls-graph - , hls-plugin-api == 2.6.0.0 + , hls-plugin-api == 2.7.0.0 , lens , lsp , lsp-types @@ -413,7 +413,7 @@ test-suite hls-eval-plugin-tests , filepath , haskell-language-server:hls-eval-plugin , hls-plugin-api - , hls-test-utils == 2.6.0.0 + , hls-test-utils == 2.7.0.0 , lens , lsp-types , text @@ -443,9 +443,9 @@ library hls-explicit-imports-plugin , containers , deepseq , ghc - , ghcide == 2.6.0.0 + , ghcide == 2.7.0.0 , hls-graph - , hls-plugin-api == 2.6.0.0 + , hls-plugin-api == 2.7.0.0 , lens , lsp , mtl @@ -465,7 +465,7 @@ test-suite hls-explicit-imports-plugin-tests , extra , filepath , haskell-language-server:hls-explicit-imports-plugin - , hls-test-utils == 2.6.0.0 + , hls-test-utils == 2.7.0.0 , lens , lsp-types , row-types @@ -492,11 +492,11 @@ library hls-rename-plugin build-depends: , base >=4.12 && <5 , containers - , ghcide == 2.6.0.0 + , ghcide == 2.7.0.0 , hashable , hiedb ^>= 0.6.0.0 , hie-compat - , hls-plugin-api == 2.6.0.0 + , hls-plugin-api == 2.7.0.0 , haskell-language-server:hls-refactor-plugin , lens , lsp @@ -521,7 +521,7 @@ test-suite hls-rename-plugin-tests , filepath , hls-plugin-api , haskell-language-server:hls-rename-plugin - , hls-test-utils == 2.6.0.0 + , hls-test-utils == 2.7.0.0 ----------------------------- -- retrie plugin @@ -549,9 +549,9 @@ library hls-retrie-plugin , directory , extra , ghc - , ghcide == 2.6.0.0 + , ghcide == 2.7.0.0 , hashable - , hls-plugin-api == 2.6.0.0 + , hls-plugin-api == 2.7.0.0 , haskell-language-server:hls-refactor-plugin , lens , lsp @@ -578,7 +578,7 @@ test-suite hls-retrie-plugin-tests , filepath , hls-plugin-api , haskell-language-server:{hls-refactor-plugin, hls-retrie-plugin} - , hls-test-utils == 2.6.0.0 + , hls-test-utils == 2.7.0.0 , text ----------------------------- @@ -606,10 +606,10 @@ library hls-hlint-plugin , containers , deepseq , filepath - , ghcide == 2.6.0.0 + , ghcide == 2.7.0.0 , hashable , hlint >= 3.5 && < 3.9 - , hls-plugin-api == 2.6.0.0 + , hls-plugin-api == 2.7.0.0 , lens , lsp , mtl @@ -641,7 +641,7 @@ test-suite hls-hlint-plugin-tests , filepath , haskell-language-server:hls-hlint-plugin , hls-plugin-api - , hls-test-utils == 2.6.0.0 + , hls-test-utils == 2.7.0.0 , lens , lsp-types , row-types @@ -703,7 +703,7 @@ test-suite hls-stan-plugin-tests , filepath , haskell-language-server:hls-stan-plugin , hls-plugin-api - , hls-test-utils == 2.6.0.0 + , hls-test-utils == 2.7.0.0 , lens , lsp-types , text @@ -734,8 +734,8 @@ library hls-module-name-plugin , containers , directory , filepath - , ghcide == 2.6.0.0 - , hls-plugin-api == 2.6.0.0 + , ghcide == 2.7.0.0 + , hls-plugin-api == 2.7.0.0 , lsp , text , transformers @@ -750,7 +750,7 @@ test-suite hls-module-name-plugin-tests , base , filepath , haskell-language-server:hls-module-name-plugin - , hls-test-utils == 2.6.0.0 + , hls-test-utils == 2.7.0.0 ----------------------------- -- pragmas plugin @@ -774,8 +774,8 @@ library hls-pragmas-plugin , base >=4.12 && <5 , extra , fuzzy - , ghcide == 2.6.0.0 - , hls-plugin-api == 2.6.0.0 + , ghcide == 2.7.0.0 + , hls-plugin-api == 2.7.0.0 , lens , lsp , text @@ -792,7 +792,7 @@ test-suite hls-pragmas-plugin-tests , base , filepath , haskell-language-server:hls-pragmas-plugin - , hls-test-utils == 2.6.0.0 + , hls-test-utils == 2.7.0.0 , lens , lsp-types , text @@ -825,8 +825,8 @@ library hls-splice-plugin , foldl , ghc , ghc-exactprint - , ghcide == 2.6.0.0 - , hls-plugin-api == 2.6.0.0 + , ghcide == 2.7.0.0 + , hls-plugin-api == 2.7.0.0 , haskell-language-server:hls-refactor-plugin , lens , lsp @@ -848,7 +848,7 @@ test-suite hls-splice-plugin-tests , base , filepath , haskell-language-server:hls-splice-plugin - , hls-test-utils == 2.6.0.0 + , hls-test-utils == 2.7.0.0 , text , row-types @@ -875,10 +875,10 @@ library hls-alternate-number-format-plugin , base >=4.12 && < 5 , containers , extra - , ghcide == 2.6.0.0 + , ghcide == 2.7.0.0 , ghc-boot-th , hls-graph - , hls-plugin-api == 2.6.0.0 + , hls-plugin-api == 2.7.0.0 , lens , lsp ^>=2.4 , mtl @@ -902,7 +902,7 @@ test-suite hls-alternate-number-format-plugin-tests , base >=4.12 && < 5 , filepath , haskell-language-server:hls-alternate-number-format-plugin - , hls-test-utils == 2.6.0.0 + , hls-test-utils == 2.7.0.0 , regex-tdfa , tasty-quickcheck , text @@ -933,8 +933,8 @@ library hls-qualify-imported-names-plugin build-depends: , base >=4.12 && <5 , containers - , ghcide == 2.6.0.0 - , hls-plugin-api == 2.6.0.0 + , ghcide == 2.7.0.0 + , hls-plugin-api == 2.7.0.0 , lens , lsp , text @@ -954,7 +954,7 @@ test-suite hls-qualify-imported-names-plugin-tests , text , filepath , haskell-language-server:hls-qualify-imported-names-plugin - , hls-test-utils == 2.6.0.0 + , hls-test-utils == 2.7.0.0 ----------------------------- -- code range plugin @@ -983,9 +983,9 @@ library hls-code-range-plugin , containers , deepseq , extra - , ghcide == 2.6.0.0 + , ghcide == 2.7.0.0 , hashable - , hls-plugin-api == 2.6.0.0 + , hls-plugin-api == 2.7.0.0 , lens , lsp , mtl @@ -1006,7 +1006,7 @@ test-suite hls-code-range-plugin-tests , bytestring , filepath , haskell-language-server:hls-code-range-plugin - , hls-test-utils == 2.6.0.0 + , hls-test-utils == 2.7.0.0 , lens , lsp , lsp-test @@ -1033,8 +1033,8 @@ library hls-change-type-signature-plugin hs-source-dirs: plugins/hls-change-type-signature-plugin/src build-depends: , base >=4.12 && < 5 - , ghcide == 2.6.0.0 - , hls-plugin-api == 2.6.0.0 + , ghcide == 2.7.0.0 + , hls-plugin-api == 2.7.0.0 , lsp-types , regex-tdfa , syb @@ -1057,7 +1057,7 @@ test-suite hls-change-type-signature-plugin-tests , base >=4.12 && < 5 , filepath , haskell-language-server:hls-change-type-signature-plugin - , hls-test-utils == 2.6.0.0 + , hls-test-utils == 2.7.0.0 , regex-tdfa , text default-extensions: @@ -1089,9 +1089,9 @@ library hls-gadt-plugin , containers , extra , ghc - , ghcide == 2.6.0.0 + , ghcide == 2.7.0.0 , ghc-exactprint - , hls-plugin-api == 2.6.0.0 + , hls-plugin-api == 2.7.0.0 , haskell-language-server:hls-refactor-plugin , lens , lsp >=2.4 @@ -1110,7 +1110,7 @@ test-suite hls-gadt-plugin-tests , base , filepath , haskell-language-server:hls-gadt-plugin - , hls-test-utils == 2.6.0.0 + , hls-test-utils == 2.7.0.0 , text ----------------------------- @@ -1136,9 +1136,9 @@ library hls-explicit-fixity-plugin , containers , deepseq , extra - , ghcide == 2.6.0.0 + , ghcide == 2.7.0.0 , hashable - , hls-plugin-api == 2.6.0.0 + , hls-plugin-api == 2.7.0.0 , lsp >=2.4 , text @@ -1153,7 +1153,7 @@ test-suite hls-explicit-fixity-plugin-tests , base , filepath , haskell-language-server:hls-explicit-fixity-plugin - , hls-test-utils == 2.6.0.0 + , hls-test-utils == 2.7.0.0 , text ----------------------------- @@ -1175,8 +1175,8 @@ library hls-explicit-record-fields-plugin exposed-modules: Ide.Plugin.ExplicitFields build-depends: , base >=4.12 && <5 - , ghcide == 2.6.0.0 - , hls-plugin-api == 2.6.0.0 + , ghcide == 2.7.0.0 + , hls-plugin-api == 2.7.0.0 , lsp , lens , hls-graph @@ -1200,7 +1200,7 @@ test-suite hls-explicit-record-fields-plugin-tests , filepath , text , haskell-language-server:hls-explicit-record-fields-plugin - , hls-test-utils == 2.6.0.0 + , hls-test-utils == 2.7.0.0 ----------------------------- -- overloaded record dot plugin @@ -1244,7 +1244,7 @@ test-suite hls-overloaded-record-dot-plugin-tests , filepath , text , haskell-language-server:hls-overloaded-record-dot-plugin - , hls-test-utils == 2.6.0.0 + , hls-test-utils == 2.7.0.0 ----------------------------- @@ -1268,8 +1268,8 @@ library hls-floskell-plugin build-depends: , base >=4.12 && <5 , floskell ^>=0.11.0 - , ghcide == 2.6.0.0 - , hls-plugin-api == 2.6.0.0 + , ghcide == 2.7.0.0 + , hls-plugin-api == 2.7.0.0 , lsp-types ^>=2.1 , mtl , text @@ -1284,7 +1284,7 @@ test-suite hls-floskell-plugin-tests , base , filepath , haskell-language-server:hls-floskell-plugin - , hls-test-utils == 2.6.0.0 + , hls-test-utils == 2.7.0.0 ----------------------------- -- fourmolu plugin @@ -1309,8 +1309,8 @@ library hls-fourmolu-plugin , filepath , fourmolu ^>= 0.14 || ^>= 0.15 , ghc-boot-th - , ghcide == 2.6.0.0 - , hls-plugin-api == 2.6.0.0 + , ghcide == 2.7.0.0 + , hls-plugin-api == 2.7.0.0 , lens , lsp , mtl @@ -1332,7 +1332,7 @@ test-suite hls-fourmolu-plugin-tests , filepath , haskell-language-server:hls-fourmolu-plugin , hls-plugin-api - , hls-test-utils == 2.6.0.0 + , hls-test-utils == 2.7.0.0 , lsp-test ----------------------------- @@ -1358,8 +1358,8 @@ library hls-ormolu-plugin , extra , filepath , ghc-boot-th - , ghcide == 2.6.0.0 - , hls-plugin-api == 2.6.0.0 + , ghcide == 2.7.0.0 + , hls-plugin-api == 2.7.0.0 , lsp , mtl , process-extras >= 0.7.1 @@ -1381,7 +1381,7 @@ test-suite hls-ormolu-plugin-tests , filepath , haskell-language-server:hls-ormolu-plugin , hls-plugin-api - , hls-test-utils == 2.6.0.0 + , hls-test-utils == 2.7.0.0 , lsp-types , ormolu @@ -1408,8 +1408,8 @@ library hls-stylish-haskell-plugin , directory , filepath , ghc-boot-th - , ghcide == 2.6.0.0 - , hls-plugin-api == 2.6.0.0 + , ghcide == 2.7.0.0 + , hls-plugin-api == 2.7.0.0 , lsp-types , mtl , stylish-haskell ^>=0.12 || ^>=0.13 || ^>=0.14.2 @@ -1425,7 +1425,7 @@ test-suite hls-stylish-haskell-plugin-tests , base , filepath , haskell-language-server:hls-stylish-haskell-plugin - , hls-test-utils == 2.6.0.0 + , hls-test-utils == 2.7.0.0 ----------------------------- -- refactor plugin @@ -1476,8 +1476,8 @@ library hls-refactor-plugin , bytestring , ghc-boot , regex-tdfa - , ghcide == 2.6.0.0 - , hls-plugin-api == 2.6.0.0 + , ghcide == 2.7.0.0 + , hls-plugin-api == 2.7.0.0 , lsp , text , transformers @@ -1509,7 +1509,7 @@ test-suite hls-refactor-plugin-tests , base , filepath , haskell-language-server:hls-refactor-plugin - , hls-test-utils == 2.6.0.0 + , hls-test-utils == 2.7.0.0 , lens , lsp-types , text @@ -1562,8 +1562,8 @@ library hls-semantic-tokens-plugin , extra , text-rope , mtl >= 2.2 - , ghcide == 2.6.0.0 - , hls-plugin-api == 2.6.0.0 + , ghcide == 2.7.0.0 + , hls-plugin-api == 2.7.0.0 , lens , lsp >=2.4 , text @@ -1573,7 +1573,7 @@ library hls-semantic-tokens-plugin , array , deepseq , dlist - , hls-graph == 2.6.0.0 + , hls-graph == 2.7.0.0 , template-haskell , data-default , stm @@ -1593,7 +1593,7 @@ test-suite hls-semantic-tokens-plugin-tests , containers , filepath , haskell-language-server:hls-semantic-tokens-plugin - , hls-test-utils == 2.6.0.0 + , hls-test-utils == 2.7.0.0 , ghcide:ghcide-test-utils , hls-plugin-api , lens @@ -1602,8 +1602,8 @@ test-suite hls-semantic-tokens-plugin-tests , lsp-test , text , data-default - , ghcide == 2.6.0.0 - , hls-plugin-api == 2.6.0.0 + , ghcide == 2.7.0.0 + , hls-plugin-api == 2.7.0.0 , data-default , row-types @@ -1663,10 +1663,10 @@ library , extra , filepath , ghc - , ghcide == 2.6.0.0 + , ghcide == 2.7.0.0 , githash >=0.1.6.1 , hie-bios - , hls-plugin-api == 2.6.0.0 + , hls-plugin-api == 2.7.0.0 , optparse-applicative , optparse-simple , prettyprinter >= 1.7 @@ -1773,7 +1773,7 @@ test-suite func-test , ghcide:{ghcide, ghcide-test-utils} , hashable , hls-plugin-api - , hls-test-utils == 2.6.0.0 + , hls-test-utils == 2.7.0.0 , lens , lsp-test , lsp-types @@ -1818,7 +1818,7 @@ test-suite wrapper-test build-depends: , base >=4.16 && <5 , extra - , hls-test-utils == 2.6.0.0 + , hls-test-utils == 2.7.0.0 , process hs-source-dirs: test/wrapper diff --git a/hls-graph/hls-graph.cabal b/hls-graph/hls-graph.cabal index 4a7e99d6ac..33c6d44ca1 100644 --- a/hls-graph/hls-graph.cabal +++ b/hls-graph/hls-graph.cabal @@ -1,6 +1,6 @@ cabal-version: 2.4 name: hls-graph -version: 2.6.0.0 +version: 2.7.0.0 synopsis: Haskell Language Server internal graph API description: Please see the README on GitHub at diff --git a/hls-plugin-api/hls-plugin-api.cabal b/hls-plugin-api/hls-plugin-api.cabal index 6043100b28..da88df28a0 100644 --- a/hls-plugin-api/hls-plugin-api.cabal +++ b/hls-plugin-api/hls-plugin-api.cabal @@ -1,6 +1,6 @@ cabal-version: 2.4 name: hls-plugin-api -version: 2.6.0.0 +version: 2.7.0.0 synopsis: Haskell Language Server API for plugin communication description: Please see the README on GitHub at @@ -66,7 +66,7 @@ library , filepath , ghc , hashable - , hls-graph == 2.6.0.0 + , hls-graph == 2.7.0.0 , lens , lens-aeson , lsp ^>=2.4 diff --git a/hls-test-utils/hls-test-utils.cabal b/hls-test-utils/hls-test-utils.cabal index 2fdbe3434d..a34c1afa07 100644 --- a/hls-test-utils/hls-test-utils.cabal +++ b/hls-test-utils/hls-test-utils.cabal @@ -1,6 +1,6 @@ cabal-version: 2.4 name: hls-test-utils -version: 2.6.0.0 +version: 2.7.0.0 synopsis: Utilities used in the tests of Haskell Language Server description: Please see the README on GitHub at @@ -41,8 +41,8 @@ library , directory , extra , filepath - , ghcide == 2.6.0.0 - , hls-plugin-api == 2.6.0.0 + , ghcide == 2.7.0.0 + , hls-plugin-api == 2.7.0.0 , lens , lsp-test ^>=0.17 , lsp-types ^>=2.1 diff --git a/release/update_versions.sh b/release/update_versions.sh new file mode 100755 index 0000000000..ac9e9c752c --- /dev/null +++ b/release/update_versions.sh @@ -0,0 +1,19 @@ +#!/usr/bin/env bash + +set -ex + +function replaceHlsVersion() { + # Update all `version:` fields + sed -ri "s/^version:( +)${1}/version:\1${2}/" ./*.cabal ./**/*.cabal + # Update all constraints expected to be in the form `== `. + # We usually don't force an exact version, so this is relatively unambiguous. + # We could introduce some more ad-hoc parsing, if there is still ambiguity. + sed -ri "s/== ${1}/== ${2}/" ./*.cabal ./**/*.cabal +} + +if [ $# -ne 2 ]; +then + echo "USAGE: ./relase/update_versions.sh " +fi + +replaceHlsVersion "${1}" "${2}" diff --git a/scripts/release/download-gh-artifacts.sh b/scripts/release/download-gh-artifacts.sh index fc6638f181..217422eedb 100644 --- a/scripts/release/download-gh-artifacts.sh +++ b/scripts/release/download-gh-artifacts.sh @@ -22,12 +22,21 @@ cd "gh-release-artifacts/haskell-language-server-${RELEASE}" # github gh release download "$RELEASE" +## We can't do cirrus releases any more, as we build HLS releases with ghcup vanilla binaries. +## Vanilla means "upstream", aka GHC HQ, and GHC HQ does not provide bindists for FreeBSD. +## Until we start using ghcup's mainstream distribution channel, we can't even begin to build +## binaries for FreeBSD. We keep this here for the next generation or when the situation changes. +## +## We don't use ghcup's mainstream distribution channel, as we only provide vanilla binaries +## as requested by the ghcup distribution channel team. # cirrus -curl --fail -L -o "haskell-language-server-${RELEASE}-x86_64-freebsd.tar.xz" \ - "https://api.cirrus-ci.com/v1/artifact/github/haskell/haskell-language-server/bindist/bindist/out/haskell-language-server-${RELEASE}-x86_64-freebsd.tar.xz?branch=${RELEASE}" +# curl --fail -L -o "haskell-language-server-${RELEASE}-x86_64-freebsd.tar.xz" \ +# "https://api.cirrus-ci.com/v1/artifact/github/haskell/haskell-language-server/bindist/bindist/out/haskell-language-server-${RELEASE}-x86_64-freebsd.tar.xz?branch=${RELEASE}" sha256sum haskell-language-server-* > SHA256SUMS gpg --detach-sign -u "${SIGNER}" SHA256SUMS -gh release upload "$RELEASE" "haskell-language-server-${RELEASE}-x86_64-freebsd.tar.xz" SHA256SUMS SHA256SUMS.sig +## see comment above +# gh release upload "$RELEASE" "haskell-language-server-${RELEASE}-x86_64-freebsd.tar.xz" SHA256SUMS SHA256SUMS.sig +gh release upload "$RELEASE" SHA256SUMS SHA256SUMS.sig