make a corresponding Hackage metadata revision to the existing parsec-3.1.18.0 release.
Context: The parsec package currently has an outdated base upper bound (< 4.22) on Hackage.
Even though the parsec-3.1.18.0 boot package bundled with GHC 9.14.1 was itself compiled against base-4.22.0.0, the version on Hackage (with an outdated upper bound on base) seems to cause dependency resolution failures for packages that transitively depend on parsec-3.1.18.0 when building with GHC 9.14.1.
One workaround for affected packages is --allow-newer=parsec:base, but it would be great for downstream packages to be able to support GHC 9.14.1 without requiring this override.
I believe this issue has been known about since at least June 2025, and was raised again in January 2026 (haskell/parsec/197), but so far we’ve been unsuccessful at attracting a maintainer’s attention, hence this message.
Any help would be greatly appreciated. Many thanks for reading!
As a temporary measure, a Hackage trustee should be able to edit the Cabal metadata to fix GHC 9.14 building. I don’t recall how to get in touch with them, though-- there should be plenty on this Discourse, or you could try emailing hackage-admin@haskell.org .
It seems like the process expects these changes to be propagated back at release time, and that this step was missed for GHC 9.14.1. Is that right?
If so, perhaps this part of the process could be revised? The repository is described as a “mirror”, but GHC-specific commits are being made directly to it, creating two diverging sources of truth. The ghc-10.0 branch suggests the same issue is lined up to recur with GHC 10.0.
I wonder if it’s feasible to instead propagate changes in the following order:
Or alternatively, perhaps the GitLab version could be blessed as the source of truth (reflected in the Hackage package description), and the GitHub version treated as a mirror?
(I appreciate there may be constraints I’m not aware of, and I’d be curious to hear from anyone who knows more about how this process works in practice.)
I don’t know why this wasn’t merged, but unfortunately since parsec is a boot library and its constraints need to be consistent with the version of base released with GHC, the GHC maintainers wouldn’t have had another option but to distribute GHC with a patched parsec. In this case the immediate fix is to revise the package bounds, but it does seem like a new maintainer for parsec might be appropriate.