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