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

3
2.0.0.0 (current development version)
Mikhail Glushenkov's avatar
Mikhail Glushenkov committed
4
5
6
	* Removed the '--root-cmd' parameter of the 'install' command
	(#3356).
	* Deprecated 'cabal install --global' (#3356).
Mikhail Glushenkov's avatar
Mikhail Glushenkov committed
7
8
9
10
11
12
	* 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
13
14
	* Removed the '--check' option from 'cabal upload'
	(#1823). It was replaced by package candidates.
Mikhail Glushenkov's avatar
Mikhail Glushenkov committed
15
16
	* Fixed various behaviour differences between network transports
	(#3429).
Mikhail Glushenkov's avatar
Mikhail Glushenkov committed
17
18
	* The bootstrap script now works correctly when run from a Git
	clone (#3439).
bardur.arantsson's avatar
bardur.arantsson committed
19
	* Removed the top-down solver (#3598).
Mikhail Glushenkov's avatar
Mikhail Glushenkov committed
20
21
22
	* 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).
23
24
	* Changed the default logfile template from
	'.../$pkgid.log' to '.../$compiler/$libname.log' (#3807).
25
26
	* Added a new command, 'cabal reconfigure', which re-runs 'configure'
	with the most recently used flags (#2214).
27
28
	* Added add the '--index-state' flag for requesting a specific
	version of the package index (#3893, #4115).
29
30
31
	* 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
32
	* Support the Nix package manager (#3651).
Mikhail Glushenkov's avatar
Mikhail Glushenkov committed
33
34
	* Made the 'template-haskell' package non-upgradable again (#4185).
	* Fixed password echoing on MinTTY (#4128).
Mikhail Glushenkov's avatar
Mikhail Glushenkov committed
35
36
37
38
	* 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
39
	* Added qualified constraints for setup dependencies. For example,
40
41
42
	--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
43
44
	* Non-qualified constraints, such as --constraint="bar == 1.0", now
	only apply to top-level dependencies. They don't constrain setup or
45
46
	build-tool dependencies. The new syntax --constraint="any.bar == 1.0"
	constrains all uses of bar.
Mikhail Glushenkov's avatar
Mikhail Glushenkov committed
47

Mikhail Glushenkov's avatar
Mikhail Glushenkov committed
48
1.24.0.0 Ryan Thomas <ryan@ryant.org> March 2016
Mikhail Glushenkov's avatar
Mikhail Glushenkov committed
49
50
51
52
53
54
55
56
	* 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).
57
	* Accept 'builddir' field in cabal.config (#2484)
Mikhail Glushenkov's avatar
Mikhail Glushenkov committed
58
59
60
	* 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
61
62
	* Install target URLs can now use https e.g. 'cabal install
	https://example.com/foo-1.0.tar.gz'.
63
	* Automatically use https for cabal upload for the main
Mikhail Glushenkov's avatar
Mikhail Glushenkov committed
64
65
	hackage.haskell.org (other repos will use whatever they are
	configured to use).
Mikhail Glushenkov's avatar
Mikhail Glushenkov committed
66
67
	* 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
68
69
70
	* '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
71
72
	* Improved error message for unsatisfiable package constraints
	(#2727).
Mikhail Glushenkov's avatar
Mikhail Glushenkov committed
73
	* Fixed a space leak in 'cabal update' (#2826).
Mikhail Glushenkov's avatar
Mikhail Glushenkov committed
74
75
	* 'cabal exec' and 'sandbox hc-pkg' now use the configured
	compiler (#2859).
Mikhail Glushenkov's avatar
Mikhail Glushenkov committed
76
77
	* 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
78
79
80
	* 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
81
	* Solver support for extension and language flavours (#2873).
Mikhail Glushenkov's avatar
Mikhail Glushenkov committed
82
	* Support for secure repos using hackage-security (#2983).
Mikhail Glushenkov's avatar
Mikhail Glushenkov committed
83
84
	* Added a log file message similar to one printed by 'make' when
	building in another directory (#2642).
85
86
87
	* 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
88
89
	* The man page for 'cabal-install' is now automatically generated
	(#2877).
90
91
	* The '--allow-newer' option now works as expected when specified
	multiple times (#2588).
92
93
94
	* 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).
95
96
	* 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
97
	* Full '--allow-newer' syntax is now supported in the config file
Mikhail Glushenkov's avatar
Mikhail Glushenkov committed
98
99
100
	(that is, 'allow-newer: base, ghc-prim,  some-package:vector')
	(#3171).
	* Improved performance of '--reorder-goals' (#3208).
Mikhail Glushenkov's avatar
Mikhail Glushenkov committed
101
	* Fixed space leaks in modular solver (#2916, #2914).
Mikhail Glushenkov's avatar
Mikhail Glushenkov committed
102
	* Made the solver aware of pkg-config constraints (#3023).
Mikhail Glushenkov's avatar
Mikhail Glushenkov committed
103
104
	* Added a new command: 'gen-bounds' (#3223). See
	http://softwaresimply.blogspot.se/2015/08/cabal-gen-bounds-easy-generation-of.html.
105
106
	* 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
107
108

1.22.0.0 Johan Tibell <johan.tibell@gmail.com> January 2015
Mikhail Glushenkov's avatar
Mikhail Glushenkov committed
109
	* New command: user-config (#2159).
Mikhail Glushenkov's avatar
Mikhail Glushenkov committed
110
111
112
113
114
115
116
117
118
119
120
	* 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
121

122
123
124
125
126
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

127
128
129
130
131
132
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.

133
134
135
136
137
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

138
139
140
141
142
143
144
145
146
147
148
149
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

Andres Löh's avatar
Andres Löh committed
150
151
152
153
154
155
156
157
158
159
160
161
162
163
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

164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
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
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
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

201
202
203
204
205
206
207
208
209
210
211
212
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
213
	* Fix compatibility with config files generated by older versions
214
215
216
217
218
219
220
221
222
223
224
225
	* 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
226
0.5.2 Duncan Coutts <duncan@haskell.org> Aug 2008
Duncan Coutts's avatar
Duncan Coutts committed
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
	* 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'
270
	* Partial Windows compatibility
Duncan Coutts's avatar
Duncan Coutts committed
271
272
273
274
275
276
277
278
279
280
281
282
	* 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