haskell-flake/CHANGELOG.md
2023-04-27 11:52:52 -04:00

2.7 KiB

Revision history for haskell-flake

master

  • #134: Add autoWire option to control generation of flake outputs
    • #138: Add checks to outputs submodule
    • #143: Changed autoWire to be an enum type, for granular controlling of which outputs to autowire.
  • #137: Expose cabal executables as flake apps. Add a corresponding outputs.apps option, while the outputs.localPackages option is renamed to outputs.packages (it now contains package metadata, including packages and its executables).
  • #148: Remove automatic hpack->cabal generation. Use pre-commit-hooks.nix instead.
  • #149: Fix unnecessary re-runs of cabal2nix evaluation. Add a debug option to have haskell-flake produce diagnostic messages.

0.2.0 (Mar 13, 2023)

  • New features
    • #68, #79, #106: Add support for project modules that can be imported in imports. Export them in flake.haskellFlakeProjectModules. Default modules are exported by default, to reuse overrides and local packages from external flakes. For details, see https://haskell.flake.page/modules
      • #67: overrides will be combined using composeManyExtensions, however their order is arbitrary. This is an experimental feature, and a warning will be logged.
    • Dev shell
      • #37: Devshell can now be disabled using devShell.enable = false; (useful if you want haskell-flake to produce just the package outputs)
      • #92: Add devShell.mkShellArgs to pass custom arguments to mkShell
      • #111: Add devShell.extraLibraries to add custom Haskell libraries to the devshell.
    • #63, #52: Add config.haskellProjects.${name}.outputs containing all flake outputs for that project; as well as (#102) finalPackages and localPackages.
    • #49 & #91 & #110: The default value for the packages option is now determined from the cabal.project file. If it doesn't exist, it looks for top-level .cabal file or package.yaml. Better hpack support throughout.
    • #100: source-overrides option now supports specifying Hackage versions as string.
    • #114: Prevent unnecessary Nix rebuilds of packages in sub-directories when parent contents change.
  • API changes
    • #37: Group buildTools (renamed to tools), hlsCheck and hlintCheck under the new devShell submodule option
    • #64: Remove hlintCheck (use treefmt-nix instead)
    • #52: Rename haskellPackages to basePackages. Overlays are applied on top of basePackage -- using source-overrides, overrides, packages in that order -- to produce finalPackages.
    • #69: The default flake template creates flake.nix only, while the #example one creates the full Haskell project template.

0.1.0 (Feb 1, 2023)

  • Initial release