Merge pull request #10647 from MercuryTechnologies/improve-tar-errors
[cabal.git] / cabal-install / changelog
blob47a798c0be1721eea3530783cbdf01cd5650ee75
1 -*-change-log-*-
3 3.14.1.0 Hécate <hecate+github@glitchbra.in> November 2024
4         * See https://github.com/haskell/cabal/blob/master/release-notes/cabal-install-3.14.1.0.md
6 3.14.0.0 Hécate <hecate+github@glitchbra.in> September 2024
7         * See https://github.com/haskell/cabal/blob/master/release-notes/cabal-install-3.14.0.0.md
9 3.12.1.0 Artem Pelenitsyn <a.pelenitsyn@gmail.com> June 2024
10         * See https://github.com/haskell/cabal/blob/master/release-notes/cabal-install-3.12.1.0.md
12 3.10.3.0 Hécate <hecate+github@glitchbra.in> January 2024
13         * See https://github.com/haskell/cabal/blob/master/release-notes/cabal-install-3.10.3.0.md
15 3.10.2.1 Hécate <hecate+github@glitchbra.in> November 2023
16         * See https://github.com/haskell/cabal/blob/master/release-notes/cabal-install-3.10.2.1.md
18 3.10.2.0 Hécate <hecate+github@glitchbra.in> November 2023
19         * See https://github.com/haskell/cabal/blob/master/release-notes/cabal-install-3.10.2.0.md
21 3.10.1.0 Mikolaj Konarski <mikolaj@well-typed.com> March 2023
22         * See https://github.com/haskell/cabal/blob/master/release-notes/cabal-install-3.10.1.0.md
24 3.8.1.0 Mikolaj Konarski <mikolaj@well-typed.com> August 2022
25         * See https://github.com/haskell/cabal/blob/master/release-notes/cabal-install-3.8.1.0.md
27 3.6.2.0 Emily Pillmore <emilypi@cohomolo.gy> October 2021
28         * See https://github.com/haskell/cabal/blob/master/release-notes/cabal-install-3.6.2.0.md
30 3.6.0.0 Emily Pillmore <emilypi@cohomolo.gy> August 2021
31         * See https://github.com/haskell/cabal/blob/master/release-notes/cabal-install-3.6.0.0.md
33 3.4.1.0 Emily Pillmore <emilypi@cohomolo.gy> October 2021
34         * See https://github.com/haskell/cabal/blob/master/release-notes/cabal-install-3.4.1.0.md
36 3.4.0.0 Oleg Grenrus <oleg.grenrus@iki.fi> February 2021
37         * See https://github.com/haskell/cabal/blob/master/release-notes/cabal-install-3.4.0.0.md
39 3.2.0.0 Herbert Valerio Riedel <hvr@gnu.org> April 2020
40         * `v2-build` (and other `v2-`prefixed commands) now accept the
41           `--benchmark-option(s)` flags, which pass options to benchmark executables
42           (analogous to how `--test-option(s)` works). (#6209)
43         * Add solver optimization to skip a version of a package if it does not resolve
44           any conflicts encountered in the last version, controlled by flag
45           '--fine-grained-conflicts'. (#5918)
46         * `cabal v2-exec` doesn't fail in clean package (#6479)
47         * Show full ABI hash for installed packages in solver log (#5892)
48         * Create incoming directory even for empty packages (#4130)
49         * Start GHCi with `main-is` module in scope (#6311)
50         * Implement `--benchmark-options` for `v2-bench` (#6224)
51         * Fix store-dir in ghc env files generated by `cabal install --lib
52           --package-env` (#6298)
53         * `cabal v2-run` works with `.lhs` files (#6134)
54         * `subdir` in source-repository-package accepts multiple entries (#5472)
56 3.0.1.0 Herbert Valerio Riedel <hvr@gnu.org> April 2020
57         * Create store incoming directory
58           ([#4130](https://github.com/haskell/cabal/issues/4130))
59         * `fetchRepoTarball` output is not marked
60           ([#6385](https://github.com/haskell/cabal/pull/6385))
61         * Update `setupMinCabalVersionConstraint` for GHC-8.8
62           ([#6217](https://github.com/haskell/cabal/pull/6217))
63         * Implement `cabal install --ignore-project`
64           ([#5919](https://github.com/haskell/cabal/issues/5919))
65         * `cabal install executable` solver isn't affected by default
66           environment contents
67           ([#6410](https://github.com/haskell/cabal/issues/6410))
68         * Use `lukko` for file locking
69           ([#6345](https://github.com/haskell/cabal/pull/6345))
70         * Use `hackage-security-0.6`
71           ([#6388](https://github.com/haskell/cabal/pull/6388))
72         * Other dependency upgrades
74 3.0.0.0 Mikhail Glushenkov <mikhail.glushenkov@gmail.com> August 2019
75         * `v2-haddock` fails on `haddock` failures (#5977)
76         * `v2-run` works when given `File.lhs` literate file. (#6134)
77         * Parse comma-separated lists for extra-prog-path, extra-lib-dirs, extra-framework-dirs,
78           and extra-include-dirs as actual lists. (#5420)
79         * `v2-repl` no longer changes directory to a randomized temporary folder
80           when used outside of a project. (#5544)
81         * `install-method` and `overwrite-policy` in `.cabal/config` now actually work. (#5942)
82         * `v2-install` now reports the error when a package fails to build. (#5641)
83         * `v2-install` now has a default when called in a project (#5978, #6014, #6092)
84         * '--write-ghc-environment-files' now defaults to 'never' (#4242)
85         * Fix `sdist`'s output when sent to stdout. (#5874)
86         * Allow a list of dependencies to be provided for `repl --build-depends`. (#5845)
87         * Legacy commands are now only accessible with the `v1-` prefixes, and the `v2-`
88           commands are the new default. Accordingly, the next version of Cabal will be
89           the start of the 3.x version series. (#5800)
90         * New solver flag: '--reject-unconstrained-dependencies'. (#2568)
91         * Ported old-style test options to the new-style commands (#5455).
92         * Improved error messages for cabal file parse errors. (#5710)
93         * Removed support for `.zip` format source distributions (#5755)
94         * Add "simple project" initialization option. (#5707)
95         * Add '--minimize-conflict-set' flag to try to improve the solver's
96           error message, but with an increase in run time. (#5647)
97         * v2-test now succeeds when there are no test suites. (#5435)
98         * Add '--lib', '--exe', and '--libandexe' shorthands to init. (#5759)
99         * init now generates valid `Main.lhs` files. (#5577)
100         * Init improvements: add flag '--application-dir', and when creating
101           a library also create a MyLib.hs module. (#5740)
102         * Add support for generating test-suite via cabal init. (#5761)
103         * Increase `max-backjumps` default from 2000 to 4000.
104         * Make v2-install/new-install-specific flags configurable in
105           ~/.cabal/config
106         * Add --installdir and --install-method=copy flags to v2-install
107           that make it possible to copy the executable instead of symlinking it
108         * --symlink-bindir no longer controls the symlinking directory of
109           v2-install (installdir controls both symlinking and copying now)
110         * Default to non-interactive init.
111         * Add --test-wrapper that allows a prebuild script to set the test environment.
112         * Add filterTestFlags: filter test-wrapper for Cabal < 3.0.0.
113         * Cabal now only builds the minimum of a package for `v2-install` (#5754, #6091)
115 2.4.1.0 Mikhail Glushenkov <mikhail.glushenkov@gmail.com> November 2018
116         * Add message to alert user to potential package casing errors. (#5635)
117         * new-clean no longer deletes dist-newstyle/src with `-s`. (#5699)
118         * 'new-install' now warns when failing to symlink an exe (#5602)
119         * Extend 'cabal init' support for 'cabal-version' selection (#5567)
120         * 'new-sdist' now generates tarballs with file modification
121           times from a date in 2001. Using the Unix epoch caused
122           problems on Windows. (#5596)
123         * Register monolithic packages installed into the store due to a
124           build-tool dependency if they also happen to contain a buildable
125           public lib. (#5379,#5604)
126         * Fixed a Windows bug where cabal-install tried to copy files
127           after moving them (#5631).
128         * 'cabal v2-repl' now works for indefinite (in the Backpack sense) components. (#5619)
129         * Set data dir environment variable for tarballs and remote repos (#5469)
130         * Fix monolithic inplace build tool PATH (#5633)
131         * 'cabal init' now supports '-w'/'--with-compiler' flag (#4936, #5654)
132         * Fix ambiguous --builddir on new-install (#5652)
133         * Allow relative --storedir (#5662)
134         * Respect --dry on new-install (#5671)
135         * Warn when new-installing zero exes (#5666)
136         * Add 'pkg-cabal-sha256' field to plan.json (#5695)
137         * New v2-build flag: '--only-configure'. (#5578)
138         * Fixed a 'new-install' failure that manifested when it
139           encountered remote source dependencies in a project. (#5643)
140         * New 'v2-[build,configure' flag: '--write-ghc-environment-files'
141           to control the generation of .ghc.environment files. (#5711)
143 2.4.0.0 Mikhail Glushenkov <mikhail.glushenkov@gmail.com> September 2018
144         * Bugfix: "cabal new-build --ghc-option '--bogus' --ghc-option '-O1'"
145           no longer ignores all arguments except the last one (#5512).
146         * Add the following option aliases for '-dir'-suffixed options:
147           'storedir', 'logsdir', 'packagedir', 'sourcedir', 'outputdir' (#5484).
148         * 'new-run' now allows the user to run scripts that use a special block
149           to define their requirements (as in the executable stanza) in place
150           of a target. This also allows the use of 'cabal' as an interpreter
151           in a shebang line.
152         * Add aliases for the "new-" commands that won't change when they
153           lose their prefix or are eventually replaced by a third UI
154           paradigm in the future. (#5429)
155         * 'outdated' now accepts '--project-file FILE', which will look for bounds
156           from the new-style freeze file named FILE.freeze. This is only
157           available when `--new-freeze-file` has been passed.
158         * 'new-repl' now accepts a '--build-depends' flag which accepts the
159           same syntax as is used in .cabal files to add additional dependencies
160           to the environment when developing in the REPL. It is now usable outside
161           of projects. (#5425, #5454)
162         * 'new-build' now treats Haddock errors non-fatally. In addition,
163           it attempts to avoid trying to generate Haddocks when there is
164           nothing to generate them from. (#5232, #5459)
165         * 'new-run', 'new-test', and 'new-bench' now will attempt to resolve
166           ambiguous selectors by filtering out selectors that would be invalid.
167           (#4679, #5461)
168         * 'new-install' now supports installing libraries and local
169           components. (#5399)
170         * Drop support for GHC 7.4, since it is out of our support window
171           (and has been for over a year!).
172         * 'new-update' now works outside of projects. (#5096)
173         * Extend `plan.json` with `pkg-src` provenance information. (#5487)
174         * Add 'new-sdist' command (#5389). Creates stable archives based on
175           cabal projects in '.zip' and '.tar.gz' formats.
176         * Add '--repl-options' flag to 'cabal repl' and 'cabal new-repl'
177           commands. Passes its arguments to the invoked repl, bypassing the
178           new-build's cached configurations. This assures they don't trigger
179           useless rebuilds and are always applied within the repl. (#4247, #5287)
180         * Add 'v1-' prefixes for the commands that will be replaced in the
181           new-build universe, in preparation for it becoming the default.
182           (#5358)
183         * 'outdated' accepts '--v1-freeze-file' and '--v2-freeze-file'
184           in the same spirit.
185         * Completed the 'new-clean' command (#5357). The functionality is
186           equivalent to old-style clean, but for nix-style builds.
187         * Ensure that each package selected for a build-depends dependency
188           contains a library (#5304).
189         * Support packages from local tarballs in the cabal.project file.
190         * Default changelog generated by 'cabal init' is now named
191           'CHANGELOG.md' (#5441).
192         * Align output of 'new-build' command phases (#4040).
193         * Add support for specifying remote VCS dependencies via new
194           'source-repository-package' stanzas in 'cabal.project' files
195           (#5351).
197 2.2.0.0 Mikhail Glushenkov <mikhail.glushenkov@gmail.com> March 2018
198         * '--with-PROG' and '--PROG-options' are applied to all packages
199         and not local packages only (#5019).
200         * Completed the 'new-update' command (#4809), which respects nix-style
201         cabal.project(.local) files and allows to update from
202         multiple repositories when using overlays.
203         * Completed the 'new-run' command (#4477). The functionality is the
204         same of the old 'run' command but using nix-style builds.
205         Additionally, it can run executables across packages in a project.
206         Tests and benchmarks are also treated as executables, providing a
207         quick way to pass them arguments.
208         * Completed the 'new-bench' command (#3638). Same as above.
209         * Completed the 'new-exec' command (#3638). Same as above.
210         * Added a preliminary 'new-install' command (#4558, nonlocal exes
211         part) which allows to quickly install executables from Hackage.
212         * Set symlink-bindir (used by new-install) to .cabal/bin by default on
213         .cabal/config initialization (#5188).
214         * 'cabal update' now supports '--index-state' which can be used to
215         roll back the index to an earlier state.
216         * '--allow-{newer,older}' syntax has been enhanced. Dependency
217         relaxation can be now limited to a specific release of a package,
218         plus there's a new syntax for relaxing only caret-style (i.e. '^>=')
219         dependencies (#4575, #4669).
220         * New config file field: 'cxx-options' to specify which options to be
221         passed to the compiler when compiling C++ sources specified by the
222         'cxx-sources' field. (#3700)
223         * New config file field: 'cxx-sources' to specify C++ files to be
224         compiled separately from C source files. Useful in conjunction with the
225         'cxx-options' flag to pass different compiler options to C and C++
226         source files. (#3700)
227         * Use [lfxtb] letters to differentiate component kind instead of
228         opaque "c" in dist-dir layout.
229         * 'cabal configure' now supports '--enable-static', which can be
230         used to build static libraries with GHC via GHC's `-staticlib`
231         flag.
232         * 'cabal user-config now supports '--augment' which can append
233         additional lines to a new or updated cabal config file.
234         * Added support for '--enable-tests' and '--enable-benchmarks' to
235         'cabal fetch' (#4948).
236         * Misspelled package-names on CLI will no longer be silently
237         case-corrected (#4778).
238         * 'cabal new-configure' now backs up the old 'cabal.project.local'
239         file if it exists (#4460).
240         * On macOS, `new-build` will now place dynamic libraries into
241         `store/lib` and aggressively shorten their names in an effort to
242         stay within the load command size limits of macOSs mach-o linker.
243         * 'new-build' now checks for the existence of executables for
244         build-tools and build-tool-depends dependencies in the solver
245         (#4884).
246         * Fixed a spurious warning telling the user to run 'cabal update'
247         when it wasn't necessary (#4444).
248         * Packages installed in sandboxes via 'add-source' now have
249         their timestamps updated correctly and so will not be reinstalled
250         unnecessarily if the main install command fails (#1375).
251         * Add Windows device path support for copyFile, renameFile. Allows cabal
252         new-build to use temporary store path of up to 32k length
253         (#3972, #4914, #4515).
254         * When a flag value is specified multiple times on the command
255         line, the last one is now preferred, so e.g. '-f+dev -f-dev' is
256         now equivalent to '-f-dev' (#4452).
257         * Removed support for building cabal-install with GHC < 7.10 (#4870).
258         * New 'package *' section in 'cabal.project' files that applies
259         options to all packages, not just those local to the project.
260         * Paths_ autogen modules now compile when `RebindableSyntax` or
261         `OverloadedStrings` is used in `default-extensions`.
262         [stack#3789](https://github.com/commercialhaskell/stack/issues/3789)
263         * getDataDir` and other `Paths_autogen` functions now work correctly
264         when compiling a custom `Setup.hs` script using `new-build` (#5164).
266 2.0.0.1 Mikhail Glushenkov <mikhail.glushenkov@gmail.com> December 2017
267         * Support for GHC's numeric -g debug levels (#4673).
268         * Demoted 'scope' field version check to a warning (#4714).
269         * Fixed verbosity flags getting removed before being passed to
270         'printPlan' (#4724).
271         * Added a '--store-dir' option that can be used to configure the
272         location of the build global build store (#4623).
273         * Turned `allow-{newer,older}` in `cabal.project` files into an
274         accumulating field to match CLI flag semantics (#4679).
275         * Improve success message when `cabal upload`ing documentation
276         (#4777).
277         * Documentation fixes.
279 2.0.0.0 Mikhail Glushenkov <mikhail.glushenkov@gmail.com> August 2017
280         * See http://coldwa.st/e/blog/2017-09-09-Cabal-2-0.html
281         for more detailed release notes.
282         * Removed the '--root-cmd' parameter of the 'install' command
283         (#3356).
284         * Deprecated 'cabal install --global' (#3356).
285         * Changed 'cabal upload' to upload a package candidate by default
286         (#3419). Same applies to uploading documentation.
287         * Added a new 'cabal upload' flag '--publish' for publishing a
288         package on Hackage instead of uploading a candidate (#3419).
289         * Added optional solver output visualisation support via the
290         tracetree package. Mainly intended for debugging (#3410).
291         * Removed the '--check' option from 'cabal upload'
292         (#1823). It was replaced by package candidates.
293         * Fixed various behaviour differences between network transports
294         (#3429).
295         * The bootstrap script now works correctly when run from a Git
296         clone (#3439).
297         * Removed the top-down solver (#3598).
298         * The '-v/--verbosity' option no longer affects GHC verbosity
299         (except in the case of '-v0'). Use '--ghc-options=-v' to enable
300         verbose GHC output (#3540, #3671).
301         * Changed the default logfile template from
302         '.../$pkgid.log' to '.../$compiler/$libname.log' (#3807).
303         * Added a new command, 'cabal reconfigure', which re-runs 'configure'
304         with the most recently used flags (#2214).
305         * Added the '--index-state' flag for requesting a specific
306         version of the package index (#3893, #4115).
307         * Support for building Backpack packages.  See
308         https://github.com/ezyang/ghc-proposals/blob/backpack/proposals/0000-backpack.rst
309         for more details.
310         * Support the Nix package manager (#3651).
311         * Made the 'template-haskell' package non-upgradable again (#4185).
312         * Fixed password echoing on MinTTY (#4128).
313         * Added a new solver flag, '--allow-boot-library-installs', that allows
314         any package to be installed or upgraded (#4209).
315         * New 'cabal-install' command: 'outdated', for listing outdated
316         version bounds in a .cabal file or a freeze file (#4207).
317         * Added qualified constraints for setup dependencies. For example,
318         --constraint="setup.bar == 1.0" constrains all setup dependencies on
319         bar, and --constraint="foo:setup.bar == 1.0" constrains foo's setup
320         dependency on bar (part of #3502).
321         * Non-qualified constraints, such as --constraint="bar == 1.0", now
322         only apply to top-level dependencies. They don't constrain setup or
323         build-tool dependencies. The new syntax --constraint="any.bar == 1.0"
324         constrains all uses of bar.
325         * Added a technical preview version of the 'cabal doctest' command
326         (#4480).
328 1.24.0.2 Mikhail Glushenkov <mikhail.glushenkov@gmail.com> December 2016
329         * Adapted to the revert of a PVP-noncompliant API change in
330         Cabal 1.24.2.0 (#4123).
331         * Bumped the directory upper bound to < 1.4 (#4158).
333 1.24.0.1 Ryan Thomas <ryan@ryant.org> October 2016
334         * Fixed issue with passing '--enable-profiling' when invoking
335         Setup scripts built with older versions of Cabal (#3873).
336         * Fixed various behaviour differences between network transports
337         (#3429).
338         * Updated to depend on the latest hackage-security that fixes
339         various issues on Windows.
340         * Fixed 'new-build' to exit with a non-zero exit code on failure
341         (#3506).
342         * Store secure repo index data as 01-index.* (#3862).
343         * Added new hackage-security root keys for distribution with
344         cabal-install.
345         * Fix an issue where 'cabal install' sometimes had to be run twice
346         for packages with build-type: Custom and a custom-setup stanza
347         (#3723).
348         * 'cabal sdist' no longer ignores '--builddir' when the package's
349         build-type is Custom (#3794).
351 1.24.0.0 Ryan Thomas <ryan@ryant.org> March 2016
352         * If there are multiple remote repos, 'cabal update' now updates
353         them in parallel (#2503).
354         * New 'cabal upload' option '-P'/'--password-command' for reading
355         Hackage password from arbitrary program output (#2506).
356         * Better warning for 'cabal run' (#2510).
357         * 'cabal init' now warns if the chosen package name is already
358         registered in the source package index (#2436).
359         * New 'cabal install' option: '--offline' (#2578).
360         * Accept 'builddir' field in cabal.config (#2484)
361         * Read 'builddir' option from 'CABAL_BUILDDIR' environment variable.
362         * Remote repos may now be configured to use https URLs. This uses
363         either curl or wget or, on Windows, PowerShell, under the hood (#2687).
364         * Install target URLs can now use https e.g. 'cabal install
365         https://example.com/foo-1.0.tar.gz'.
366         * Automatically use https for cabal upload for the main
367         hackage.haskell.org (other repos will use whatever they are
368         configured to use).
369         * Support for dependencies of custom Setup.hs scripts
370         (see http://www.well-typed.com/blog/2015/07/cabal-setup-deps/).
371         * 'cabal' program itself now can be used as an external setup
372         method. This fixes an issue when Cabal version mismatch caused
373         unnecessary reconfigures (#2633).
374         * Improved error message for unsatisfiable package constraints
375         (#2727).
376         * Fixed a space leak in 'cabal update' (#2826).
377         * 'cabal exec' and 'sandbox hc-pkg' now use the configured
378         compiler (#2859).
379         * New 'cabal haddock' option: '--for-hackage' (#2852).
380         * Added a warning when the solver cannot find a dependency (#2853).
381         * New 'cabal upload' option: '--doc': upload documentation to
382         hackage (#2890).
383         * Improved error handling for 'sandbox delete-source' (#2943).
384         * Solver support for extension and language flavours (#2873).
385         * Support for secure repos using hackage-security (#2983).
386         * Added a log file message similar to one printed by 'make' when
387         building in another directory (#2642).
388         * Added new subcommand 'init' to 'cabal user-config'. This
389         subcommand creates a cabal configuration file in either the
390         default location or as specified by --config-file (#2553).
391         * The man page for 'cabal-install' is now automatically generated
392         (#2877).
393         * The '--allow-newer' option now works as expected when specified
394         multiple times (#2588).
395         * New config file field: 'extra-framework-dirs' (extra locations
396         to find OS X frameworks in). Can be also specified as an argument
397         for 'install' and 'configure' commands (#3158).
398         * It's now possible to limit the scope of '--allow-newer' to
399         single packages in the install plan (#2756).
400         * Full '--allow-newer' syntax is now supported in the config file
401         (that is, 'allow-newer: base, ghc-prim,  some-package:vector')
402         (#3171).
403         * Improved performance of '--reorder-goals' (#3208).
404         * Fixed space leaks in modular solver (#2916, #2914).
405         * Made the solver aware of pkg-config constraints (#3023).
406         * Added a new command: 'gen-bounds' (#3223). See
407         http://softwaresimply.blogspot.se/2015/08/cabal-gen-bounds-easy-generation-of.html.
408         * Tech preview of new nix-style isolated project-based builds.
409         Currently provides the commands (new-)build/repl/configure.
411 1.22.9.0 Ryan Thomas <ryan@ryant.org> March 2016
412         * Include Cabal-1.22.8.0
414 1.22.8.0 Ryan Thomas <ryan@ryant.org> February 2016
415         * Only Custom setup scripts should be compiled with '-i -i.'.
416         * installedCabalVersion: Don't special-case Cabal anymore.
417         * Bump the HTTP upper bound. See #3069.
419 1.22.7.0 Ryan Thomas <ryan@ryant.org> December 2015
420         * Remove GZipUtils tests
421         * maybeDecompress: bail on all errors at the beginning of the
422         stream with zlib < 0.6
423         * Correct maybeDecompress
425 1.22.6.0 Ryan Thomas <ryan@ryant.org> June 2015
426         * A fix for @ezyang's fix for #2502. (Mikhail Glushenkov)
428 1.22.5.0 Ryan Thomas <ryan@ryant.org> June 2015
429         * Reduce temporary directory name length, fixes #2502. (Edward Z. Yang)
431 1.22.4.0 Ryan Thomas <ryan@ryant.org> May 2015
432         * Force cabal upload to always use digest auth and never basic auth.
433         * Add dependency-graph information to `printPlan` output
434         * bootstrap.sh: fixes linker matching to avoid cases where tested
435         linker names appear unexpectedly in compiler output (fixes #2542)
437 1.22.3.0 Ryan Thomas <ryan@ryant.org> April 2015
438         * Fix bash completion for sandbox subcommands - Fixes #2513
439         (Mikhail Glushenkov)
440         * filterConfigureFlags: filter more flags (Mikhail Glushenkov)
442 1.22.2.0 Ryan Thomas <ryan@ryant.org> March 2015
443         * Don't pass '--{en,dis}able-profiling' to old setup exes.
444         * -Wall police
445         * Allow filepath 1.4
447 1.22.0.0 Johan Tibell <johan.tibell@gmail.com> January 2015
448         * New command: user-config (#2159).
449         * Implement 'cabal repl --only' (#2016).
450         * Fix an issue when 'cabal repl' was doing unnecessary compilation
451         (#1715).
452         * Prompt the user to specify source directory in 'cabal init'
453         (#1989).
454         * Remove the self-upgrade check (#2090).
455         * Don't redownload already downloaded packages when bootstrapping
456         (#2133).
457         * Support sandboxes in 'bootstrap.sh' (#2137).
458         * Install profiling and shared libs by default in 'bootstrap.sh'
459         (#2009).
461 1.20.2.0 Ryan Thomas <ryan@ryant.org> February 2016
462         * Only Custom setup scripts should be compiled with '-i -i.'.
463         * installedCabalVersion: Don't special-case Cabal anymore.
465 1.20.1.0 Ryan Thomas <ryan@ryant.org> May 2015
466         * Force cabal upload to always use digest auth and never basic auth.
467         * bootstrap.sh: install network-uri before HTTP
469 1.20.0.5 Johan Tibell <johan.tibell@gmail.com> December 2014
470         * Support random 1.1.
471         * Fix bootstrap script after network package split.
472         * Support network-2.6 in test suite.
474 1.20.0.3 Johan Tibell <johan.tibell@gmail.com> June 2014
475         * Don't attempt to rename dist if it is already named correctly
476         * Treat all flags of a package as interdependent.
477         * Allow template-haskell to be upgradable again
479 1.20.0.2 Johan Tibell <johan.tibell@gmail.com> May 2014
480         * Increase max-backjumps to 2000.
481         * Fix solver bug which led to missed install plans.
482         * Fix streaming test output.
483         * Tweak solver heuristics to avoid reinstalls.
485 1.20.0.1 Johan Tibell <johan.tibell@gmail.com> May 2014
486         * Fix cabal repl search path bug on Windows
487         * Include OS and arch in cabal-install user agent
488         * Revert --constraint flag behavior in configure to 1.18 behavior
490 1.20.0.0 Johan Tibell <johan.tibell@gmail.com> April 2014
491         * Build only selected executables
492         * Add -j flag to build/test/bench/run
493         * Improve install log file
494         * Don't symlink executables when in a sandbox
495         * Add --package-db flag to 'list' and 'info'
496         * Make upload more efficient
497         * Add --require-sandbox option
498         * Add experimental Cabal file format command
499         * Add haddock section to config file
500         * Add --main-is flag to init
502 1.18.2.0 Ryan Thomas <ryan@ryant.org> February 2016
503         * Only Custom setup scripts should be compiled with '-i -i.'.
504         * installedCabalVersion: Don't special-case Cabal anymore.
506 1.18.1.0 Ryan Thomas <ryan@ryant.org> May 2015
507         * Force cabal upload to always use digest auth and never basic auth.
508         * Merge pull request #2367 from juhp/patch-2
509         * Fix bootstrap.sh by bumping HTTP to 4000.2.16.1
511 1.18.0.7 Johan Tibell <johan.tibell@gmail.com> December 2014
512         * Support random 1.1.
513         * Fix bootstrap script after network package split.
514         * Support network-2.6 in test suite.
516 1.18.0.5 Johan Tibell <johan.tibell@gmail.com> July 2014
517         * Make solver flag resolution more conservative.
519 1.18.0.4 Johan Tibell <johan.tibell@gmail.com> May 2014
520         * Increase max-backjumps to 2000.
521         * Fix solver bug which led to missed install plans.
522         * Tweak solver heuristics to avoid reinstalls.
524 0.14.0 Andres Loeh <andres@well-typed.com> April 2012
525         * Works with ghc-7.4
526         * Completely new modular dependency solver (default in most cases)
527         * Some tweaks to old topdown dependency solver
528         * Install plans are now checked for reinstalls that break packages
529         * Flags --constraint and --preference work for nonexisting packages
530         * New constraint forms for source and installed packages
531         * New constraint form for package-specific use flags
532         * New constraint form for package-specific stanza flags
533         * Test suite dependencies are pulled in on demand
534         * No longer install packages on --enable-tests when tests fail
535         * New "cabal bench" command
536         * Various "cabal init" tweaks
538 0.10.0 Duncan Coutts <duncan@community.haskell.org> February 2011
539         * New package targets: local dirs, local and remote tarballs
540         * Initial support for a "world" package target
541         * Partial fix for situation where user packages mask global ones
542         * Removed cabal upgrade, new --upgrade-dependencies flag
543         * New cabal install --only-dependencies flag
544         * New cabal fetch --no-dependencies and --dry-run flags
545         * Improved output for cabal info
546         * Simpler and faster bash command line completion
547         * Fix for broken proxies that decompress wrongly
548         * Fix for cabal unpack to preserve executable permissions
549         * Adjusted the output for the -v verbosity level in a few places
551 0.8.2 Duncan Coutts <duncan@community.haskell.org> March 2010
552         * Fix for cabal update on Windows
553         * On windows switch to per-user installs (rather than global)
554         * Handle intra-package dependencies in dependency planning
555         * Minor tweaks to cabal init feature
556         * Fix various -Wall warnings
557         * Fix for cabal sdist --snapshot
559 0.8.0 Duncan Coutts <duncan@haskell.org> Dec 2009
560         * Works with ghc-6.12
561         * New "cabal init" command for making initial project .cabal file
562         * New feature to maintain an index of haddock documentation
564 0.6.4 Duncan Coutts <duncan@haskell.org> Nov 2009
565         * Improve the algorithm for selecting the base package version
566         * Hackage errors now reported by "cabal upload [--check]"
567         * Improved format of messages from "cabal check"
568         * Config file can now be selected by an env var
569         * Updated tar reading/writing code
570         * Improve instructions in the README and bootstrap output
571         * Fix bootstrap.sh on Solaris 9
572         * Fix bootstrap for systems where network uses parsec 3
573         * Fix building with ghc-6.6
575 0.6.2 Duncan Coutts <duncan@haskell.org> Feb 2009
576         * The upgrade command has been disabled in this release
577         * The configure and install commands now have consistent behaviour
578         * Reduce the tendency to re-install already existing packages
579         * The --constraint= flag now works for the install command
580         * New --preference= flag for soft constraints / version preferences
581         * Improved bootstrap.sh script, smarter and better error checking
582         * New cabal info command to display detailed info on packages
583         * New cabal unpack command to download and untar a package
584         * HTTP-4000 package required, should fix bugs with http proxies
585         * Now works with authenticated proxies.
586         * On Windows can now override the proxy setting using an env var
587         * Fix compatibility with config files generated by older versions
588         * Warn if the hackage package list is very old
589         * More helpful --help output, mention config file and examples
590         * Better documentation in ~/.cabal/config file
591         * Improved command line interface for logging and build reporting
592         * Minor improvements to some messages
594 0.6.0 Duncan Coutts <duncan@haskell.org> Oct 2008
595         * Constraint solver can now cope with base 3 and base 4
596         * Allow use of package version preferences from hackage index
597         * More detailed output from cabal install --dry-run -v
598         * Improved bootstrap.sh
600 0.5.2 Duncan Coutts <duncan@haskell.org> Aug 2008
601         * Support building haddock documentation
602         * Self-reinstall now works on Windows
603         * Allow adding symlinks to executables into a separate bindir
604         * New self-documenting config file
605         * New install --reinstall flag
606         * More helpful status messages in a couple places
607         * Upload failures now report full text error message from the server
608         * Support for local package repositories
609         * New build logging and reporting
610         * New command to upload build reports to (a compatible) server
611         * Allow tilde in hackage server URIs
612         * Internal code improvements
613         * Many other minor improvements and bug fixes
615 0.5.1 Duncan Coutts <duncan@haskell.org> June 2008
616         * Restore minimal hugs support in dependency resolver
617         * Fix for disabled http proxies on Windows
618         * Revert to global installs on Windows by default
620 0.5.0 Duncan Coutts <duncan@haskell.org> June 2008
621         * New package dependency resolver, solving diamond dep problem
622         * Integrate cabal-setup functionality
623         * Integrate cabal-upload functionality
624         * New cabal update and check commands
625         * Improved behavior for install and upgrade commands
626         * Full Windows support
627         * New command line handling
628         * Bash command line completion
629         * Allow case insensitive package names on command line
630         * New --dry-run flag for install, upgrade and fetch commands
631         * New --root-cmd flag to allow installing as root
632         * New --cabal-lib-version flag to select different Cabal lib versions
633         * Support for HTTP proxies
634         * Improved cabal list output
635         * Build other non-dependent packages even when some fail
636         * Report a summary of all build failures at the end
637         * Partial support for hugs
638         * Partial implementation of build reporting and logging
639         * More consistent logging and verbosity
640         * Significant internal code restructuring
642 0.4 Duncan Coutts <duncan@haskell.org> Oct 2007
643         * Renamed executable from 'cabal-install' to 'cabal'
644         * Partial Windows compatibility
645         * Do per-user installs by default
646         * cabal install now installs the package in the current directory
647         * Allow multiple remote servers
648         * Use zlib lib and internal tar code and rather than external tar
649         * Reorganised configuration files
650         * Significant code restructuring
651         * Cope with packages with conditional dependencies
653 0.3 and older versions by Lemmih, Paolo Martini and others 2006-2007
654         * Switch from smart-server, dumb-client model to the reverse
655         * New .tar.gz based index format
656         * New remote and local package archive format