on e94de40 help sign in
haskell.nix/changelog.md
130 lines 5.8 kB history raw
1This file contains a summary of changes to Haskell.nix and `nix-tools`
2that will impact users.
4## Oct 31, 2020
5* Passing `tools.hoogle` to `shellFor` with a value suitable for `haskel-nix.tool` will
6 use the specified `hoogle` inside `shellFor`. This allows for materialization
7 of `hoogle`.
9## Oct 28, 2020
10* Passing `compiler-nix-name` to project functions for `stack.yaml`
11 based projects now overrides the compiler used (was ignored before).
13## Sep 8, 2020
14* Added the ability to generate coverage reports for packages and
15 projects.
16* Added the `doCoverage` module option that allows users to choose
17 packages to enable coverage for.
18* Added a `doCoverage` flag to the component builder that outputs HPC
19 information when coverage is enabled.
20* Added test for coverage.
22## July 21, 2020
23* Removed `components.all`, use `symlinkJoin` on components.exes or
24 `shellFor` if you need a shell.
25* Added `components` argument to `shellFor`.
27## July 21, 2020
28* Added GHC 8.8.4 and replaced 8.8.3 in tests and as the ghc
29 used to build nix-tools for stack projects.
31## July 20, 2020
32* Changed `haskell-nix.roots` and `p.roots` to single derivations.
34## July 8, 2020
35* Removed `sources.nixpkgs-default`, use `sources.nixpkgs` instead.
36* Removed `./nixpkgs` directory, use `(import ./. {}).sources`
37 or `./nix/sources.nix` instead.
38* Removes V1 interface for details on how to fix old code see:
39 https://github.com/input-output-hk/haskell.nix/issues/709
40* Removed defaultCompilerNixName.
41* cabalProject, cabalProject', hackage-project and hackage-package
42 now require a `compiler-nix-name` argument.
43* `haskell-nix.tool` and `.tools` now require a `compiler-nix-name` argument.
44 New functions `p.tool` and `p.tools` (where p is a project) do not.
45 Like `shellFor { tools = ... }` they will use the compiler nix name
46 from the project (including stack projects where it is derived from
47 the resolver).
48* `haskell-nix.alex` and `haskell-nix.happy` have been removed. Use
49 `p.tool "alex" "3.2.5"` or `shellFor { tools = { alex = "3.2.5"; } }`.
50* `haskell-nix.nix-tools` -> `haskell-nix.nix-tools.ghc883` (it includes
51 the hpack exe now).
52* `haskell-nix.cabal-install` ->
53 `p.tool "cabal" "3.2.0.0"` or `shellFor { tools = { cabal = "3.2.0.0"; } }`
54* `haskell-nix.haskellNixRoots` -> `haskell-nix.roots ghc883` or `p.roots`
56## June 25, 2020
57* Haddock docs are now built in their own derivation when needed (not as part
58 of the component build).
59 They should build automatically when something (such as `shellFor`) attempts
60 to accesses the `.doc` attribute of component.
62## December 27, 2019
63* Fix overlays/bootstrap.nix to provide LLVM 6, not LLVM 5, to ghc-8.6.X compilers.
65## November 18, 2019
66 * Changed the `cleanSourceHaskell` to accept an attrset of `src` and
67 (optional) `name` parameters. This allows you to keep the source
68 derivation name constant, so that your builds are always
69 cached. Usage of `cleanSourceHaskell` will need to be updated.
71## October 12, 2019
72 * [`shellFor`](https://input-output-hk.github.io/haskell.nix/reference/library/#shellfor) no longer sets `CABAL_CONFIG` by default.
73 This avoids surprising users, but means that Cabal may select a plan which is different to your Haskell.nix package set.
74 If you would like the old behaviour, use `shellFor { exactDeps = true; }`.
76## August 9, 2019
77 * Add the [`haskellLib.collectComponents`](https://input-output-hk.github.io/haskell.nix/reference/library/#haskellLib) function.
79## June 21, 2019
80 * Add `ghcWithPackages` and `ghcWithHoogle` to hsPkgs ([documentation](https://input-output-hk.github.io/haskell.nix/reference/library/#package-set-functions).
81 * Benchmark components can now build successfully.
82 * Reduced the closure bloat of nix-tools, and added closure size limit to CI.
83 * Added more reference documentation and set up auto-generated
84 documentation for [Module Options](https://input-output-hk.github.io/haskell.nix/reference/modules/).
85 * Miscellaneous bug fixes.
87## June 7, 2019
88 * Several additions to the [documentation](https://input-output-hk.github.io/haskell.nix/).
89 * More information about getting nix-tools, Haskell.nix, pinning.
90 * Updates the stack-to-nix and cabal-to-nix guides.
91 * Adds a section on development environments.
92 * Adds a little information about cross compilation.
93 * Adds a (partially complete) reference section (command line manuals, library reference).
94 * Symlinks the changelog into the documentation pages.
96## May 29, 2019
97 * Added `shellFor` function to package set.
99## May 28, 2019
100 * Added `snaphots` and `haskellPackages` attributes to the
101 Haskell.nix top-level.
103## May 22, 2019
104 * Add the `cleanSourceHaskell` utility function to the Haskell.nix
105 top-level.
107## May 21, 2019
108 * Add the `callCabalProjectToNix` function, which uses "import from
109 derivation" (IFD) so that nix-tools doesn't need to be run
110 manually.
111 * The `hackage.nix` update process has changed, so that Cabal index
112 state hashes are also included in the generated repo.
114## May 20, 2019
115 * Remove Travis CI in favour of Buildkite.
117## May 17, 2019
118 * Add the `callStackToNix` function, which uses "import from
119 derivation" (IFD) so that `stack-to-nix` doesn't need to be run
120 manually.
122## Mar 15, 2019
123 * `overlays` was renamed to `extras` in
124 [#79](https://github.com/input-output-hk/haskell.nix/pull/79)
125 to prevent confusion between the notion of Nix overlays.
127 Therefore `plan-pkgs` and `stack-pkgs` as generated by `plan-to-nix` and `stack-to-nix` will
128 expose `extras` instead of `overlay`. Similarly `mkStackPkgSet`, `mkPkgSet` and `mkCabalProjectPkgSet`
129 take a `pkg-def-extras` instead of `pkg-def-overlay` argument. If you are using `iohk-nix`, the
130 `iohk-overlay` was parameter was renamed to `iohk-extras`.