Skip to content

chore(toolchain): migrate to GHC 9.14 series#288

Open
takoeight0821 wants to merge 8 commits into
masterfrom
fix/update-ghc
Open

chore(toolchain): migrate to GHC 9.14 series#288
takoeight0821 wants to merge 8 commits into
masterfrom
fix/update-ghc

Conversation

@takoeight0821

@takoeight0821 takoeight0821 commented Mar 8, 2026

Copy link
Copy Markdown
Owner

Summary

  • Updated the project to target GHC 9.14.1 with cabal-install 3.16.1.0.
  • Kept HLS setup on 2.13.0.0 and switched setup-hls to compile against GHC 9.14.1.
  • Updated toolchain-related files (mise, devcontainer scripts, CI matrix, docs/prompts) to align with GHC 9.14.
  • Updated build metadata to use happy 2.2 and removed cabal build-tool-depends on hpack/ormolu to avoid unrelated transitive breakage.
  • Removed cabal.project.freeze and introduced scoped allow-newer entries in cabal.project to make dependency resolution work on 9.14.

Key compatibility choices

  • constraints: keep diagnose +megaparsec-compat, require path >= 0.9.
  • allow-newer (scoped): *:base, *:containers, *:template-haskell, *:bytestring, *:time, *:ghc-prim, plus text.
  • CI still pins cabal-version: 3.16.1.0 for reproducibility.

Validation

  • mise run test passed on GHC 9.14.1.
  • Result: 889 examples, 0 failures.

takoeight0821 and others added 3 commits March 8, 2026 03:15
Update local setup scripts and CI matrix to include GHC 9.14, pin cabal-install 3.16.1.0, and move HLS setup to 2.13.0.0 for the new toolchain.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Drop the unused witherable dependency from package.yaml and regenerate malgo.cabal to keep dependency metadata aligned.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
After validating latest releases, keep GHC at 9.12.2 (project dependencies fail on 9.14 today), pin cabal-install to 3.16.1.0, and set HLS build target to 2.13.0.0 with GHC 9.12.2. Also align docs/devcontainer prompt metadata with the tested toolchain.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
@github-actions github-actions Bot added chore fix Patch version bump (fix) labels Mar 8, 2026
Align GitHub Actions setup with local toolchain by pinning cabal-install to 3.16.1.0 instead of latest.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
@github-actions github-actions Bot added the ci label Mar 8, 2026
takoeight0821 and others added 3 commits March 8, 2026 11:26
Update local setup, devcontainer scripts, CI matrix, and docs to target GHC 9.14.1 with cabal-install 3.16.1.0 and HLS 2.13.0.0 source build.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Drop the old freeze file and move to scoped allow-newer rules for base ecosystem packages, while constraining path to >=0.9 for compatibility on GHC 9.14.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Use happy 2.2 for GHC 9.14 compatibility and remove cabal build-tool-depends on hpack/ormolu to avoid unnecessary transitive breakage during project builds.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
@github-actions github-actions Bot added the build label Mar 8, 2026
@takoeight0821 takoeight0821 changed the title chore(toolchain): refresh GHC/Cabal research and supported pins chore(toolchain): migrate to GHC 9.14 series Mar 8, 2026
aeson-0.9.0.0 fails to build on GHC >= 9.8 because 'fail' was removed
from the Monad class and moved to MonadFail. path-0.9.5 depends on
aeson >= 0.6 && < 1, causing cabal to select the incompatible
aeson-0.9.0.0.

Adding path:aeson to allow-newer relaxes this upper bound so cabal can
select aeson-2.x, which compiles correctly on all supported GHC versions.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

build chore ci fix Patch version bump (fix)

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant