changelog 17.9 KB
Newer Older
Duncan Coutts's avatar
Duncan Coutts committed
1
2
-*-change-log-*-

3
2.2.0.0 (current development version)
Moritz Angermann's avatar
Moritz Angermann committed
4
5
	* 'cabal configure' now supports '--enable-static' which can be
	used to build static libaries with GHC via GHCs `-staticlib` flag.
Mikhail Glushenkov's avatar
Mikhail Glushenkov committed
6
	* 'cabal update' now supports '--index-state' which can be used to
7
	roll back the index to an earlier state.
Mikhail Glushenkov's avatar
Mikhail Glushenkov committed
8
9
	* 'cabal new-configure' now backs up the old 'cabal.project.local'
	file if it exists (#4460).
Francesco Gazzetta's avatar
Francesco Gazzetta committed
10
	* Completed the 'new-run' command (#4477). The functionality is the
11
12
	same of the old 'run' command but using nix-style builds.
	Additionally, it can run executables across packages in a project.
Francesco Gazzetta's avatar
Francesco Gazzetta committed
13
14
	* Completed the 'new-bench' command (#3638). Same as above.
	* Completed the 'new-exec' command (#3638). Same as above.
Mikhail Glushenkov's avatar
Mikhail Glushenkov committed
15
16
	* '--allow-{newer,older}' syntax has been enhanced. Dependency
	relaxation can be now limited to a specific release of a package,
17
18
	plus there's a now syntax for relaxing only caret-style (i.e. '^>=')
	dependencies (#4575, #4669).
Mikhail Glushenkov's avatar
Mikhail Glushenkov committed
19
	* `--store-dir` option can be used to configure the location of
Alex Biehl's avatar
Alex Biehl committed
20
	the build global build store.
21

22
23
24
25
26
2.0.TBD
	* Turn `allow-{newer,older}` in `cabal.project` files into an
	accumulating field to match CLI flag semantics (#4679).

2.0.0.0 Mikhail Glushenkov <mikhail.glushenkov@gmail.com> August 2017
Mikhail Glushenkov's avatar
Mikhail Glushenkov committed
27
28
29
	* Removed the '--root-cmd' parameter of the 'install' command
	(#3356).
	* Deprecated 'cabal install --global' (#3356).
Mikhail Glushenkov's avatar
Mikhail Glushenkov committed
30
31
32
33
34
35
	* Changed 'cabal upload' to upload a package candidate by default
	(#3419). Same applies to uploading documentation.
	* Added a new 'cabal upload' flag '--publish' for publishing a
	package on Hackage instead of uploading a candidate (#3419).
	* Added optional solver output visualisation support via the
	tracetree package. Mainly intended for debugging (#3410).
Mikhail Glushenkov's avatar
Mikhail Glushenkov committed
36
37
	* Removed the '--check' option from 'cabal upload'
	(#1823). It was replaced by package candidates.
Mikhail Glushenkov's avatar
Mikhail Glushenkov committed
38
39
	* Fixed various behaviour differences between network transports
	(#3429).
Mikhail Glushenkov's avatar
Mikhail Glushenkov committed
40
41
	* The bootstrap script now works correctly when run from a Git
	clone (#3439).
bardur.arantsson's avatar
bardur.arantsson committed
42
	* Removed the top-down solver (#3598).
Mikhail Glushenkov's avatar
Mikhail Glushenkov committed
43
44
45
	* The '-v/--verbosity' option no longer affects GHC verbosity
	(except in the case of '-v0'). Use '--ghc-options=-v' to enable
	verbose GHC output (#3540, #3671).
46
47
	* Changed the default logfile template from
	'.../$pkgid.log' to '.../$compiler/$libname.log' (#3807).
48
49
	* Added a new command, 'cabal reconfigure', which re-runs 'configure'
	with the most recently used flags (#2214).
50
51
	* Added add the '--index-state' flag for requesting a specific
	version of the package index (#3893, #4115).
52
53
54
	* Support for building Backpack packages.  See
	https://github.com/ezyang/ghc-proposals/blob/backpack/proposals/0000-backpack.rst
	for more details.
ttuegel's avatar
ttuegel committed
55
	* Support the Nix package manager (#3651).
Mikhail Glushenkov's avatar
Mikhail Glushenkov committed
56
57
	* Made the 'template-haskell' package non-upgradable again (#4185).
	* Fixed password echoing on MinTTY (#4128).
Mikhail Glushenkov's avatar
Mikhail Glushenkov committed
58
59
60
61
	* Added a new solver flag, '--install-base-libraries', that allows
	any package to be installed or upgraded (#4209).
	* New 'cabal-install' command: 'outdated', for listing outdated
	version bounds in a .cabal file or a freeze file (#4207).
kristenk's avatar
kristenk committed
62
	* Added qualified constraints for setup dependencies. For example,
63
64
65
	--constraint="setup.bar == 1.0" constrains all setup dependencies on
	bar, and --constraint="foo:setup.bar == 1.0" constrains foo's setup
	dependency on bar (part of #3502).
kristenk's avatar
kristenk committed
66
67
	* Non-qualified constraints, such as --constraint="bar == 1.0", now
	only apply to top-level dependencies. They don't constrain setup or
68
69
	build-tool dependencies. The new syntax --constraint="any.bar == 1.0"
	constrains all uses of bar.
Mikhail Glushenkov's avatar
Mikhail Glushenkov committed
70
71
	* Added a technical preview version of the 'cabal doctest' command
	(#4480).
Mikhail Glushenkov's avatar
Mikhail Glushenkov committed
72

Mikhail Glushenkov's avatar
Mikhail Glushenkov committed
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
1.24.0.2 Mikhail Glushenkov <mikhail.glushenkov@gmail.com> December 2016
	* Adapted to the revert of a PVP-noncompliant API change in
	Cabal 1.24.2.0 (#4123).
	* Bumped the directory upper bound to < 1.4 (#4158).

1.24.0.1 Ryan Thomas <ryan@ryant.org> October 2016
	* Fixed issue with passing '--enable-profiling' when invoking
	Setup scripts built with older versions of Cabal (#3873).
	* Fixed various behaviour differences between network transports
	(#3429).
	* Updated to depend on the latest hackage-security that fixes
	various issues on Windows.
	* Fixed 'new-build' to exit with a non-zero exit code on failure
	(#3506).
	* Store secure repo index data as 01-index.* (#3862).
	* Added new hackage-security root keys for distribution with
	cabal-install.
	* Fix an issue where 'cabal install' sometimes had to be run twice
	for packages with build-type: Custom and a custom-setup stanza
	(#3723).
	* 'cabal sdist' no longer ignores '--builddir' when the package's
	build-type is Custom (#3794).

Mikhail Glushenkov's avatar
Mikhail Glushenkov committed
96
1.24.0.0 Ryan Thomas <ryan@ryant.org> March 2016
Mikhail Glushenkov's avatar
Mikhail Glushenkov committed
97
98
99
100
101
102
103
104
	* If there are multiple remote repos, 'cabal update' now updates
	them in parallel (#2503).
	* New 'cabal upload' option '-P'/'--password-command' for reading
	Hackage password from arbitrary program output (#2506).
	* Better warning for 'cabal run' (#2510).
	* 'cabal init' now warns if the chosen package name is already
	registered in the source package index (#2436).
	* New 'cabal install' option: '--offline' (#2578).
105
	* Accept 'builddir' field in cabal.config (#2484)
Mikhail Glushenkov's avatar
Mikhail Glushenkov committed
106
107
108
	* Read 'builddir' option from 'CABAL_BUILDDIR' environment variable.
	* Remote repos may now be configured to use https URLs. This uses
	either curl or wget or, on Windows, PowerShell, under the hood (#2687).
Mikhail Glushenkov's avatar
Mikhail Glushenkov committed
109
110
	* Install target URLs can now use https e.g. 'cabal install
	https://example.com/foo-1.0.tar.gz'.
111
	* Automatically use https for cabal upload for the main
Mikhail Glushenkov's avatar
Mikhail Glushenkov committed
112
113
	hackage.haskell.org (other repos will use whatever they are
	configured to use).
Mikhail Glushenkov's avatar
Mikhail Glushenkov committed
114
115
	* Support for dependencies of custom Setup.hs scripts
	(see http://www.well-typed.com/blog/2015/07/cabal-setup-deps/).
Mikhail Glushenkov's avatar
Mikhail Glushenkov committed
116
117
118
	* 'cabal' program itself now can be used as an external setup
	method. This fixes an issue when Cabal version mismatch caused
	unnecessary reconfigures (#2633).
Mikhail Glushenkov's avatar
Mikhail Glushenkov committed
119
120
	* Improved error message for unsatisfiable package constraints
	(#2727).
Mikhail Glushenkov's avatar
Mikhail Glushenkov committed
121
	* Fixed a space leak in 'cabal update' (#2826).
Mikhail Glushenkov's avatar
Mikhail Glushenkov committed
122
123
	* 'cabal exec' and 'sandbox hc-pkg' now use the configured
	compiler (#2859).
Mikhail Glushenkov's avatar
Mikhail Glushenkov committed
124
125
	* New 'cabal haddock' option: '--for-hackage' (#2852).
	* Added a warning when the solver cannot find a dependency (#2853).
Mikhail Glushenkov's avatar
Mikhail Glushenkov committed
126
127
128
	* New 'cabal upload' option: '--doc': upload documentation to
	hackage (#2890).
	* Improved error handling for 'sandbox delete-source' (#2943).
Mikhail Glushenkov's avatar
Mikhail Glushenkov committed
129
	* Solver support for extension and language flavours (#2873).
Mikhail Glushenkov's avatar
Mikhail Glushenkov committed
130
	* Support for secure repos using hackage-security (#2983).
Mikhail Glushenkov's avatar
Mikhail Glushenkov committed
131
132
	* Added a log file message similar to one printed by 'make' when
	building in another directory (#2642).
133
134
135
	* Added new subcommand 'init' to 'cabal user-config'. This
	subcommand creates a cabal configuration file in either the
	default location or as specified by --config-file (#2553).
Mikhail Glushenkov's avatar
Mikhail Glushenkov committed
136
137
	* The man page for 'cabal-install' is now automatically generated
	(#2877).
138
139
	* The '--allow-newer' option now works as expected when specified
	multiple times (#2588).
140
141
142
	* New config file field: 'extra-framework-dirs' (extra locations
	to find OS X frameworks in). Can be also specified as an argument
	for 'install' and 'configure' commands (#3158).
143
144
	* It's now possible to limit the scope of '--allow-newer' to
	single packages in the install plan (#2756).
Mikhail Glushenkov's avatar
Mikhail Glushenkov committed
145
	* Full '--allow-newer' syntax is now supported in the config file
Mikhail Glushenkov's avatar
Mikhail Glushenkov committed
146
147
148
	(that is, 'allow-newer: base, ghc-prim,  some-package:vector')
	(#3171).
	* Improved performance of '--reorder-goals' (#3208).
Mikhail Glushenkov's avatar
Mikhail Glushenkov committed
149
	* Fixed space leaks in modular solver (#2916, #2914).
Mikhail Glushenkov's avatar
Mikhail Glushenkov committed
150
	* Made the solver aware of pkg-config constraints (#3023).
Mikhail Glushenkov's avatar
Mikhail Glushenkov committed
151
152
	* Added a new command: 'gen-bounds' (#3223). See
	http://softwaresimply.blogspot.se/2015/08/cabal-gen-bounds-easy-generation-of.html.
153
154
	* Tech preview of new nix-style isolated project-based builds.
	Currently provides the commands (new-)build/repl/configure.
Mikhail Glushenkov's avatar
Mikhail Glushenkov committed
155

Mikhail Glushenkov's avatar
Mikhail Glushenkov committed
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
1.22.9.0 Ryan Thomas <ryan@ryant.org> March 2016
	* Include Cabal-1.22.8.0

1.22.8.0 Ryan Thomas <ryan@ryant.org> February 2016
	* Only Custom setup scripts should be compiled with '-i -i.'.
	* installedCabalVersion: Don't special-case Cabal anymore.
	* Bump the HTTP upper bound. See #3069.

1.22.7.0 Ryan Thomas <ryan@ryant.org> December 2015
	* Remove GZipUtils tests
	* maybeDecompress: bail on all errors at the beginning of the stream with zlib < 0.6
	* Correct maybeDecompress

1.22.6.0 Ryan Thomas <ryan@ryant.org> June 2015
	* A fix for @ezyang's fix for #2502. (Mikhail Glushenkov)

1.22.5.0 Ryan Thomas <ryan@ryant.org> June 2015
	* Reduce temporary directory name length, fixes #2502. (Edward Z. Yang)

1.22.4.0 Ryan Thomas <ryan@ryant.org> May 2015
	* Force cabal upload to always use digest auth and never basic auth.
	* Add dependency-graph information to `printPlan` output
	* bootstrap.sh: fixes linker matching to avoid cases where tested linker names appear unexpectedly in compiler output (fixes #2542)

1.22.3.0 Ryan Thomas <ryan@ryant.org> April 2015
	* Fix bash completion for sandbox subcommands - Fixes #2513 (Mikhail Glushenkov)
	* filterConfigureFlags: filter more flags (Mikhail Glushenkov)

1.22.2.0 Ryan Thomas <ryan@ryant.org> March 2015
	* Don't pass '--{en,dis}able-profiling' to old setup exes.
	* -Wall police
	* Allow filepath 1.4

Mikhail Glushenkov's avatar
Mikhail Glushenkov committed
189
1.22.0.0 Johan Tibell <johan.tibell@gmail.com> January 2015
Mikhail Glushenkov's avatar
Mikhail Glushenkov committed
190
	* New command: user-config (#2159).
Mikhail Glushenkov's avatar
Mikhail Glushenkov committed
191
192
193
194
195
196
197
198
199
200
201
	* Implement 'cabal repl --only' (#2016).
	* Fix an issue when 'cabal repl' was doing unnecessary compilation
	(#1715).
	* Prompt the user to specify source directory in 'cabal init'
	(#1989).
	* Remove the self-upgrade check (#2090).
	* Don't redownload already downloaded packages when bootstrapping
	(#2133).
	* Support sandboxes in 'bootstrap.sh' (#2137).
	* Install profiling and shared libs by default in 'bootstrap.sh'
	(#2009).
Mikhail Glushenkov's avatar
Mikhail Glushenkov committed
202

Mikhail Glushenkov's avatar
Mikhail Glushenkov committed
203
204
205
206
207
208
209
210
211
212
213
214
215
1.20.2.0 Ryan Thomas <ryan@ryant.org> February 2016
	* Only Custom setup scripts should be compiled with '-i -i.'.
	* installedCabalVersion: Don't special-case Cabal anymore.

1.20.1.0 Ryan Thomas <ryan@ryant.org> May 2015
	* Force cabal upload to always use digest auth and never basic auth.
	* bootstrap.sh: install network-uri before HTTP

1.20.0.5 Johan Tibell <johan.tibell@gmail.com> December 2014
	* Support random 1.1.
	* Fix bootstrap script after network package split.
	* Support network-2.6 in test suite.

216
217
218
219
220
1.20.0.3 Johan Tibell <johan.tibell@gmail.com> June 2014
	* Don't attempt to rename dist if it is already named correctly
	* Treat all flags of a package as interdependent.
	* Allow template-haskell to be upgradable again

221
222
223
224
225
226
1.20.0.2 Johan Tibell <johan.tibell@gmail.com> May 2014
	* Increase max-backjumps to 2000.
	* Fix solver bug which led to missed install plans.
	* Fix streaming test output.
	* Tweak solver heuristics to avoid reinstalls.

227
228
229
230
231
1.20.0.1 Johan Tibell <johan.tibell@gmail.com> May 2014
	* Fix cabal repl search path bug on Windows
	* Include OS and arch in cabal-install user agent
	* Revert --constraint flag behavior in configure to 1.18 behavior

232
233
234
235
236
237
238
239
240
241
242
243
1.20.0.0 Johan Tibell <johan.tibell@gmail.com> April 2014
	* Build only selected executables
	* Add -j flag to build/test/bench/run
	* Improve install log file
	* Don't symlink executables when in a sandbox
	* Add --package-db flag to 'list' and 'info'
	* Make upload more efficient
	* Add --require-sandbox option
	* Add experimental Cabal file format command
	* Add haddock section to config file
	* Add --main-is flag to init

Mikhail Glushenkov's avatar
Mikhail Glushenkov committed
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
1.18.2.0 Ryan Thomas <ryan@ryant.org> February 2016
	* Only Custom setup scripts should be compiled with '-i -i.'.
	* installedCabalVersion: Don't special-case Cabal anymore.

1.18.1.0 Ryan Thomas <ryan@ryant.org> May 2015
	* Force cabal upload to always use digest auth and never basic auth.
	* Merge pull request #2367 from juhp/patch-2
	* Fix bootstrap.sh by bumping HTTP to 4000.2.16.1

1.18.0.7 Johan Tibell <johan.tibell@gmail.com> December 2014
	* Support random 1.1.
	* Fix bootstrap script after network package split.
	* Support network-2.6 in test suite.

1.18.0.5 Johan Tibell <johan.tibell@gmail.com> July 2014
	* Make solver flag resolution more conservative.

1.18.0.4 Johan Tibell <johan.tibell@gmail.com> May 2014
	* Increase max-backjumps to 2000.
	* Fix solver bug which led to missed install plans.
	* Tweak solver heuristics to avoid reinstalls.

Andres Löh's avatar
Andres Löh committed
266
267
268
269
270
271
272
273
274
275
276
277
278
279
0.14.0 Andres Loeh <andres@well-typed.com> April 2012
	* Works with ghc-7.4
	* Completely new modular dependency solver (default in most cases)
	* Some tweaks to old topdown dependency solver
	* Install plans are now checked for reinstalls that break packages
	* Flags --constraint and --preference work for nonexisting packages
	* New constraint forms for source and installed packages
	* New constraint form for package-specific use flags
	* New constraint form for package-specific stanza flags
	* Test suite dependencies are pulled in on demand
	* No longer install packages on --enable-tests when tests fail
	* New "cabal bench" command
	* Various "cabal init" tweaks

280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
0.10.0 Duncan Coutts <duncan@community.haskell.org> February 2011
	* New package targets: local dirs, local and remote tarballs
	* Initial support for a "world" package target
	* Partial fix for situation where user packages mask global ones
	* Removed cabal upgrade, new --upgrade-dependencies flag
	* New cabal install --only-dependencies flag
	* New cabal fetch --no-dependencies and --dry-run flags
	* Improved output for cabal info
	* Simpler and faster bash command line completion
	* Fix for broken proxies that decompress wrongly
	* Fix for cabal unpack to preserve executable permissions
	* Adjusted the output for the -v verbosity level in a few places

0.8.2 Duncan Coutts <duncan@community.haskell.org> March 2010
	* Fix for cabal update on Windows
	* On windows switch to per-user installs (rather than global)
	* Handle intra-package dependencies in dependency planning
	* Minor tweaks to cabal init feature
	* Fix various -Wall warnings
	* Fix for cabal sdist --snapshot

Duncan Coutts's avatar
Duncan Coutts committed
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
0.8.0 Duncan Coutts <duncan@haskell.org> Dec 2009
	* Works with ghc-6.12
	* New "cabal init" command for making initial project .cabal file
	* New feature to maintain an index of haddock documentation

0.6.4 Duncan Coutts <duncan@haskell.org> Nov 2009
	* Improve the algorithm for selecting the base package version
	* Hackage errors now reported by "cabal upload [--check]"
	* Improved format of messages from "cabal check"
	* Config file can now be selected by an env var
	* Updated tar reading/writing code
	* Improve instructions in the README and bootstrap output
	* Fix bootstrap.sh on Solaris 9
	* Fix bootstrap for systems where network uses parsec 3
	* Fix building with ghc-6.6

317
318
319
320
321
322
323
324
325
326
327
328
0.6.2 Duncan Coutts <duncan@haskell.org> Feb 2009
	* The upgrade command has been disabled in this release
	* The configure and install commands now have consistent behaviour
	* Reduce the tendancy to re-install already existing packages
	* The --constraint= flag now works for the install command
	* New --preference= flag for soft constraints / version preferences
	* Improved bootstrap.sh script, smarter and better error checking
	* New cabal info command to display detailed info on packages
	* New cabal unpack command to download and untar a package
	* HTTP-4000 package required, should fix bugs with http proxies
	* Now works with authenticated proxies.
	* On Windows can now override the proxy setting using an env var
329
	* Fix compatibility with config files generated by older versions
330
331
332
333
334
335
336
337
338
339
340
341
	* Warn if the hackage package list is very old
	* More helpful --help output, mention config file and examples
	* Better documentation in ~/.cabal/config file
	* Improved command line interface for logging and build reporting
	* Minor improvements to some messages

0.6.0 Duncan Coutts <duncan@haskell.org> Oct 2008
	* Constraint solver can now cope with base 3 and base 4
	* Allow use of package version preferences from hackage index
	* More detailed output from cabal install --dry-run -v
	* Improved bootstrap.sh

Duncan Coutts's avatar
Duncan Coutts committed
342
0.5.2 Duncan Coutts <duncan@haskell.org> Aug 2008
Duncan Coutts's avatar
Duncan Coutts committed
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
	* Suport building haddock documentaion
	* Self-reinstall now works on Windows
	* Allow adding symlinks to excutables into a separate bindir
	* New self-documenting config file
	* New install --reinstall flag
	* More helpful status messages in a couple places
	* Upload failures now report full text error message from the server
	* Support for local package repositories
	* New build logging and reporting
	* New command to upload build reports to (a compatible) server
	* Allow tilde in hackage server URIs
	* Internal code improvements
	* Many other minor improvements and bug fixes

0.5.1 Duncan Coutts <duncan@haskell.org> June 2008
	* Restore minimal hugs support in dependency resolver
	* Fix for disabled http proxies on Windows
	* Revert to global installs on Windows by default

0.5.0 Duncan Coutts <duncan@haskell.org> June 2008
	* New package dependency resolver, solving diamond dep problem
	* Integrate cabal-setup functionality
	* Integrate cabal-upload functionality
	* New cabal update and check commands
	* Improved behavior for install and upgrade commands
	* Full Windows support
	* New command line handling
	* Bash command line completion
	* Allow case insensitive package names on command line
	* New --dry-run flag for install, upgrade and fetch commands
	* New --root-cmd flag to allow installing as root
	* New --cabal-lib-version flag to select different Cabal lib versions
	* Support for HTTP proxies
	* Improved cabal list output
	* Build other non-dependent packages even when some fail
	* Report a summary of all build failures at the end
	* Partial support for hugs
	* Partial implementation of build reporting and logging
	* More consistent logging and verbosity
	* Significant internal code restructuring

0.4 Duncan Coutts <duncan@haskell.org> Oct 2007
	* Renamed executable from 'cabal-install' to 'cabal'
386
	* Partial Windows compatibility
Duncan Coutts's avatar
Duncan Coutts committed
387
388
389
390
391
392
393
394
395
396
397
398
	* Do per-user installs by default
	* cabal install now installs the package in the current directory
	* Allow multiple remote servers
	* Use zlib lib and internal tar code and rather than external tar
	* Reorganised configuration files
	* Significant code restructuring
	* Cope with packages with conditional dependencies

0.3 and older versions by Lemmih, Paolo Martini and others 2006-2007
	* Switch from smart-server, dumb-client model to the reverse
	* New .tar.gz based index format
	* New remote and local package archive format