Skip to content

Conversation

@newhoggy
Copy link
Collaborator

@newhoggy newhoggy commented Nov 9, 2025

Changelog

- description: |
    Remove the max-backjumps constraint from cabal.project to improve build performance.
    This constraint was previously needed to help cabal solve dependency constraints but
    is no longer necessary and was slowing down build plan preparation.
type:
  - maintenance    # not directly related to the code
projects:
  - cardano-api
  - cardano-api-gen

Context

This PR removes the max-backjumps: 50000 constraint from the cabal.project configuration. This constraint was originally added to help cabal's constraint solver handle complex dependency resolution, but it has been causing slower build plan preparation times. Recent improvements to the dependency structure and cabal solver mean this workaround is no longer needed.

Additionally, this PR includes several housekeeping updates:

  • Updates copyright years from 2024 to 2025 in cabal files
  • Adds new documentation for development setup including Claude Code integration
  • Exports the Cardano.Api.HasTypeProxy module from the main API
  • Adds a new case analysis function caseBabbageOnlyOrConwayEraOnwards for era handling

Investigation for #909

How to trust this PR

The main change removes a build configuration that was explicitly marked as temporary in the code comments. To verify:

  1. Build the project without the max-backjumps constraint:

    cabal build all
  2. Verify that cabal can still solve dependencies correctly:

    cabal build --dry-run
  3. Compare build plan preparation time before and after the change - it should be noticeably faster without the constraint.

The documentation and API changes are straightforward additions that don't modify existing functionality.

Checklist

  • Commit sequence broadly makes sense and commits have useful messages
  • New tests are added if needed and existing tests are updated. See Running tests for more details
  • Self-reviewed the diff

@newhoggy newhoggy force-pushed the newhoggy/remove-max-backjumps branch from 209c895 to e198531 Compare November 9, 2025 20:57
Copy link
Contributor

@carbolymer carbolymer left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This branch needs to be rebased onto latest master first, because in its current state cardano-rpc is still disabled.

The max-backjumps workaround was needed for grpc-related dependency tree.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants