1# 3.6.0.0 [Emily Pillmore](mailgo:emilypi@cohomolo.gy) August 2021 2 * See https://github.com/haskell/cabal/blob/master/release-notes/Cabal-3.6.0.0.md 3 4# 3.4.0.0 [Oleg Grenrus](mailgo:oleg.grnerus@iki.fi) February 2021 5 * See https://github.com/haskell/cabal/blob/master/release-notes/Cabal-3.4.0.0.md 6 7# 3.2.1.0 [Oleg Grenrus](mailto:oleg.grenris@iki.fi) October 2020 8 * Pass `cxx-options` with `-optcxx` for GHC >= 8.10 9 * Use process jobs when calling subprocesses 10 * Require custom-setup for `cabal-version: 1.24` and later 11 * Accept `linux-androideabi` as an alias for Android 12 * Fix ghci being launched before other sources are built 13 * Require cabal-versions >=1.25 to be exact 14 15# 3.2.0.0 [Herbert Valerio Riedel](mailto:hvr@gnu.org) April 2020 16 * Change free text `String` fields to use `ShortText` in package description 17 and installed package info. 18 * Split `Distribution.Types.Flag` and `Distribution.Types.ConfVar` 19 `Distribution.Types.GenericPackageDescription`. 20 * Add GHC-8.10 support, including new extensions to 21 `Language.Haskell.Extension`. 22 * Use more `NonEmpty` instead of ordinary lists. 23 * Add `Distribution.Utils.Structured` for fingeprinting `Binary` blobs. 24 * Add `null`, `length` and `unsafeFromUTF8BS` to `Distribution.Utils.ShortText`. 25 * Refactor `Distribution.Utils.IOData` module. 26 * Rename `Distribution.Compat.MD5` to `Distribution.Utils.MD5`. 27 * Add `safeHead`, `safeTail`, `safeLast` to `Distribution.Utils.Generic`. 28 * Add `unsnoc` and `unsnocNE` to `Distribution.Utils.Generic`. 29 * Add `Set'` modifier to `Distribution.Parsec.Newtypes`. 30 * Add `Distribution.Compat.Async`. 31 32# 3.0.2.0 [Herbert Valerio Riedel](mailto:hvr@gnu.org) April 2020 33 * Disallow spaces around colon `:` in Dependency `build-depends` syntax 34 ([#6538](https://github.com/haskell/cabal/pull/6538)). 35 * Make `configure` accept any `pkg-config --modversion` output 36 ([#6541](https://github.com/haskell/cabal/pull/6541)). 37 38# 3.0.1.0 [Herbert Valerio Riedel](mailto:hvr@gnu.org) April 2020 39 * Add GHC-8.8 flags to `normaliseGhcFlags` 40 ([#6379](https://github.com/haskell/cabal/pull/6379)). 41 * Typo fixes 42 ([#6372](https://github.com/haskell/cabal/pull/6372)). 43 * Limit version number parts to contain at most 9 digits 44 ([#6386](https://github.com/haskell/cabal/pull/6386)). 45 * Fix boundless sublibrary dependency parse failure 46 ([#5846](https://github.com/haskell/cabal/issues/5846)). 47 * `cabal check` verifies `cpp-options` more pedantically, allowing only 48 options starting with `-D` and `-U`. 49 * Don’t rebuild world when new ghc flags that affect how error 50 messages are presented is specified. 51 * Fix dropExeExtension behaviour on Windows 52 ([#6287](https://github.com/haskell/cabal/pull/6287)). 53 54# 3.0.0.0 [Mikhail Glushenkov](mailto:mikhail.glushenkov@gmail.com) August 2019 55 * The 3.0 migration guide gives advice on adapting Custom setup 56 scripts to backwards-incompatible changes in this release: 57 https://github.com/haskell/cabal/wiki/3.0-migration-guide. 58 * Due to [#5119](https://github.com/haskell/cabal/issues/5119), the 59 `cabal check` warning for bounds on internal libraries has been 60 disabled. 61 * Introduce set notation for `^>=` and `==` operators 62 ([#5906](https://github.com/haskell/cabal/pull/5906)). 63 * 'check' reports warnings for various ghc-\*-options fields separately 64 ([#5342](https://github.com/haskell/cabal/issues/5432)). 65 * `KnownExtension`: added new extensions `DerivingVia` and 66 `EmptyDataDeriving`. 67 * Add `extra-dynamic-library-flavours`, to specify extra dynamic library 68 flavours to build and install from a .cabal file. 69 * `autoconfUserHooks` now passes `--host=$HOST` when cross-compiling 70 * Introduce multiple public libraries feature 71 ([#5526](https://github.com/haskell/cabal/pull/5526)). 72 * New build-depends syntax 73 * Add a set of library components to the `Dependency` datatype 74 * New `visibility` field in the `library` stanza 75 * New `LibraryVisibility` field in `InstalledPackageInfo` 76 * New syntax for the `--dependency` Cabal flag 77 * Static linking 78 * Add `--enable-executable-static` flag for building fully 79 static executables (GHC's normal "statish" linking links 80 Haskell libraries statically, but libc and system dependencies 81 dynamically). This new flag links everything statically. 82 * Note you likely want to link against `musl` or another libc that 83 supports fully static linking; 84 [`glibc` has some issues](https://sourceware.org/glibc/wiki/FAQ#Even_statically_linked_programs_need_some_shared_libraries_which_is_not_acceptable_for_me.__What_can_I_do.3F) 85 with fully static linking. 86 * Fix corrupted config file header for non-ASCII package names 87 ([2557](https://github.com/haskell/cabal/issues/2557)). 88 * Extend `Distribution.Simple.Utils.rewriteFileEx` from ASCII to UTF-8 encoding. 89 * Change the arguments of `Newtype` class to better suit @DeriveAnyClass@ usage, 90 add default implementation in terms of `coerce` / `unsafeCoerce`. 91 * Implement support for response file arguments to defaultMain* and cabal-install. 92 * Uniformly provide 'Semigroup' instances for `base < 4.9` via `semigroups` package 93 * Implement `{cmm,asm}-{sources,options} buildinfo fields for 94 separate compilation of C-- and ASM source files (#6033). 95 * Setting `debug-info` now implies `library-stripping: False` and 96 `executable-stripping: False) ([#2702](https://github.com/haskell/cabal/issues/2702)) 97 * `Setup.hs copy` and `install` now work in the presence of 98 `data-files` that use `**` syntax 99 ([#6125](https://github.com/haskell/cabal/issues/6125)). 100 101---- 102 103### 2.4.1.1 [Mikhail Glushenkov](mailto:mikhail.glushenkov@gmail.com) December 2018 104 105 * Fix `--with-compiler` failing to locate compiler on Windows 106 ([#5753](https://github.com/haskell/cabal/pull/5753)). 107 * Cabal can once again be built with GHC 7.8 and 7.6 108 ([#5730](https://github.com/haskell/cabal/pull/5730)). 109 110### 2.4.1.0 [Mikhail Glushenkov](mailto:mikhail.glushenkov@gmail.com) November 2018 111 112 * Warnings in autogenerated files are now silenced 113 ([#5678](https://github.com/haskell/cabal/pull/5678)). 114 * Improved recompilation avoidance, especially when using GHC 8.6 115 ([#5589](https://github.com/haskell/cabal/pull/5589)). 116 * Do not error on empty packagedbs in `getInstalledPackages` 117 ([#5516](https://github.com/haskell/cabal/issues/5516)). 118 119 120### 2.4.0.1 [Mikhail Glushenkov](mailto:mikhail.glushenkov@gmail.com) September 2018 121 122 * Allow arguments to be passed to `Setup.hs haddock` for `build-type:configure` 123 ([#5503](https://github.com/haskell/cabal/issues/5503)). 124 125# 2.4.0.0 [Mikhail Glushenkov](mailto:mikhail.glushenkov@gmail.com) September 2018 126 * Due to [#5119](https://github.com/haskell/cabal/issues/5119), the 127 `cabal check` warning for bounds on internal libraries has been 128 disabled. 129 * `Distribution.Simple.Haddock` now checks to ensure that it 130 does not erroneously call Haddock with no target modules. 131 ([#5232](https://github.com/haskell/cabal/issues/5232), 132 [#5459](https://github.com/haskell/cabal/issues/5459)). 133 * Add `getting` (less general than `to`) Lens combinator, 134 `non`) and an optics to access the modules in a component 135 of a `PackageDescription` by the `ComponentName`: 136 `componentBuildInfo` and `componentModules` 137 * Linker `ld-options` are now passed to GHC as `-optl` options 138 ([#4925](https://github.com/haskell/cabal/pull/4925)). 139 * Add `readGhcEnvironmentFile` to parse GHC environment files. 140 * Drop support for GHC 7.4, since it is out of our support window 141 (and has been for over a year!) 142 * Deprecate `preSDist`, `sDistHook`, and `postSDist` in service of 143 `new-sdist`, since they violate key invariants of the new-build 144 ecosystem. Use `autogen-modules` and `build-tool-depends` instead. 145 ([#5389](https://github.com/haskell/cabal/pull/5389)). 146 * Added `--repl-options` flag to `Setup repl` used to pass flags to the 147 underlying repl without affecting the `LocalBuildInfo` 148 ([#4247](https://github.com/haskell/cabal/issues/4247), 149 [#5287](https://github.com/haskell/cabal/pull/5287)) 150 * `KnownExtension`: added new extensions `BlockArguments` 151 ([#5101](https://github.com/haskell/cabal/issues/5101)), 152 `NumericUnderscores` 153 ([#5130]((https://github.com/haskell/cabal/issues/5130)), 154 `QuantifiedConstraints`, and `StarIsType`. 155 * `buildDepends` is removed from `PackageDescription`. It had long been 156 uselessly hanging about as top-level build-depends already got put 157 into per-component condition trees anyway. Now it's finally been put 158 out of its misery 159 ([#4383](https://github.com/haskell/cabal/issues/4283)). 160 * Added `Eta` to `CompilerFlavor` and to known compilers. 161 * `cabal haddock` now generates per-component documentation 162 ([#5226](https://github.com/haskell/cabal/issues/5226)). 163 * Wildcard improvements: 164 * Allow `**` wildcards in `data-files`, `extra-source-files` and 165 `extra-doc-files`. These allow a limited form of recursive 166 matching, and require `cabal-version: 2.4`. 167 ([#5284](https://github.com/haskell/cabal/issues/5284), 168 [#3178](https://github.com/haskell/cabal/issues/3178), et al.) 169 * With `cabal-version: 2.4`, when matching a wildcard, the 170 requirement for the full extension to match exactly has been 171 loosened. Instead, if the wildcard's extension is a suffix of the 172 file's extension, the file will be selected. For example, 173 previously `foo.en.html` would not match `*.html`, and 174 `foo.solaris.tar.gz` would not match `*.tar.gz`, but now both 175 do. This may lead to files unexpectedly being included by `sdist`; 176 please audit your package descriptions if you rely on this 177 behaviour to keep sensitive data out of distributed packages 178 ([#5372](https://github.com/haskell/cabal/pull/5372), 179 [#784](https://github.com/haskell/cabal/issues/784), 180 [#5057](https://github.com/haskell/cabal/issues/5057)). 181 * Wildcard syntax errors (misplaced `*`, etc), wildcards that 182 refer to missing directories, and wildcards that do not match 183 anything are now all detected by `cabal check`. 184 * Wildcard ('globbing') functions have been moved from 185 `Distribution.Simple.Utils` to `Distribution.Simple.Glob` and 186 have been refactored. 187 * Fixed `cxx-options` and `cxx-sources` buildinfo fields for 188 separate compilation of C++ source files to correctly build and link 189 non-library components ([#5309](https://github.com/haskell/cabal/issues/5309)). 190 * Reduced warnings generated by hsc2hs and c2hs when `cxx-options` field 191 is present in a component. 192 * `cabal check` now warns if `-j` is used in `ghc-options` in a Cabal 193 file. ([#5277](https://github.com/haskell/cabal/issues/5277)) 194 * `install-includes` now works as expected with foreign libraries 195 ([#5302](https://github.com/haskell/cabal/issues/5299)). 196 * Removed support for JHC. 197 * Options listed in `ghc-options`, `cc-options`, `ld-options`, 198 `cxx-options`, `cpp-options` are not deduplicated anymore 199 ([#4449](https://github.com/haskell/cabal/issues/4449)). 200 * Deprecated `cabal hscolour` in favour of `cabal haddock --hyperlink-source` ([#5236](https://github.com/haskell/cabal/pull/5236/)). 201 * Recognize `powerpc64le` as architecture PPC64. 202 * Cabal now deduplicates more `-I` and `-L` and flags to avoid `E2BIG` 203 ([#5356](https://github.com/haskell/cabal/issues/5356)). 204 * With `build-type: configure`, avoid using backslashes to delimit 205 path components on Windows and warn about other unsafe characters 206 in the path to the source directory on all platforms 207 ([#5386](https://github.com/haskell/cabal/issues/5386)). 208 * `Distribution.PackageDescription.Check.checkPackageFiles` now 209 accepts a `Verbosity` argument. 210 * Added a parameter to 211 `Distribution.Backpack.ConfiguredComponent.toConfiguredComponent` in order to fix 212 [#5409](https://github.com/haskell/cabal/issues/5409). 213 * Partially silence `abi-depends` warnings 214 ([#5465](https://github.com/haskell/cabal/issues/5465)). 215 * Foreign libraries are now linked against the threaded RTS when the 216 'ghc-options: -threaded' flag is used 217 ([#5431](https://github.com/haskell/cabal/pull/5431)). 218 * Pass command line arguments to `hsc2hs` using response files when possible 219 ([#3122](https://github.com/haskell/cabal/issues/3122)). 220 221---- 222 223## 2.2.0.1 [Mikhail Glushenkov](mailto:mikhail.glushenkov@gmail.com) March 2018 224 225 * Fix `checkPackageFiles` for relative directories ([#5206](https://github.com/haskell/cabal/issues/5206)) 226 227 228# 2.2.0.0 [Mikhail Glushenkov](mailto:mikhail.glushenkov@gmail.com) March 2018 229 230 * The 2.2 migration guide gives advice on adapting Custom setup 231 scripts to backwards-incompatible changes in this release: 232 https://github.com/haskell/cabal/wiki/2.2-migration-guide. 233 * New Parsec-based parser for `.cabal` files is now the 234 default. This brings memory consumption and speed improvements, as 235 well as making new syntax extensions easier to implement. 236 * Support for common stanzas (#4751). 237 * Added elif-conditionals to `.cabal` syntax (#4750). 238 * The package license information can now be specified using the 239 SPDX syntax. This requires setting `cabal-version` to 2.2+ (#2547, 240 #5050). 241 * Support for GHC's numeric -g debug levels (#4673). 242 * Compilation with section splitting is now supported via the 243 `--enable-split-sections` flag (#4819) 244 * Fields with mandatory commas (e.g. build-depends) may now have a 245 leading or a trailing comma (either one, not both) (#4953) 246 * Added `virtual-modules` field, to allow modules that are not built 247 but registered (#4875). 248 * Use better defaulting for `build-type`; rename `PackageDescription`'s 249 `buildType` field to `buildTypeRaw` and introduce new `buildType` 250 function (#4958) 251 * `D.T.PackageDescription.allBuildInfo` now returns all build infos, not 252 only for buildable components (#5087). 253 * Removed `UnknownBuildType` constructor from `BuildType` (#5003). 254 * Added `HexFloatLiterals` to `KnownExtension`. 255 * Cabal will no longer try to build an empty set of `inputModules` 256 (#4890). 257 * `copyComponent` and `installIncludeFiles` will now look for 258 include headers in the build directory (`dist/build/...` by 259 default) as well (#4866). 260 * Added `cxx-options` and `cxx-sources` buildinfo fields for 261 separate compilation of C++ source files (#3700). 262 * Removed unused `--allow-newer`/`--allow-older` support from 263 `Setup configure` (#4527). 264 * Changed `FlagAssignment` to be an opaque `newtype` (#4849). 265 * Changed `rawSystemStdInOut` to use proper type to represent 266 binary and textual data; new `Distribution.Utils.IOData` module; 267 removed obsolete `startsWithBOM`, `fileHasBOM`, `fromUTF8`, 268 and `toUTF8` functions; add new `toUTF8BS`/`toUTF8LBS` 269 encoding functions. (#4666) 270 * Added a `cabal check` warning when the `.cabal` file name does 271 not match package name (#4592). 272 * The `ar` program now receives its arguments via a response file 273 (`@file`). Old behaviour can be restored with 274 `--disable-response-files` argument to `configure` or 275 `install` (#4596). 276 * Added `.Lens` modules, with optics for package description data 277 types (#4701). 278 * Support for building with Win32 version 2.6 (#4835). 279 * Change `compilerExtensions` and `ghcOptExtensionMap` to contain 280 `Maybe Flag`s, since a supported extension can lack a flag (#4443). 281 * Pretty-printing of `.cabal` files is slightly different due to 282 parser changes. For an example, see 283 https://mail.haskell.org/pipermail/cabal-devel/2017-December/010414.html. 284 * `--hyperlink-source` now uses Haddock's hyperlinker backend when 285 Haddock is new enough, falling back to HsColour otherwise. 286 * `D.S.defaultHookedPackageDesc` has been deprecated in favour of 287 `D.S.findHookedPackageDesc` (#4874). 288 * `D.S.getHookedBuildInfo` now takes an additional parameter 289 specifying the build directory path (#4874). 290 * Emit warning when encountering unknown GHC versions (#415). 291 292### 2.0.1.1 [Mikhail Glushenkov](mailto:mikhail.glushenkov@gmail.com) December 2017 293 294 * Don't pass `other-modules` to stub executable for detailed-0.9 295 (#4918). 296 * Hpc: Use relative .mix search paths (#4917). 297 298## 2.0.1.0 [Mikhail Glushenkov](mailto:mikhail.glushenkov@gmail.com) November 2017 299 300 * Support for GHC's numeric -g debug levels (#4673). 301 * Added a new `Distribution.Verbosity.modifyVerbosity` combinator 302 (#4724). 303 * Added a new `cabal check` warning about unused, undeclared or 304 non-Unicode flags. Also, it warns about leading dash, which is 305 unusable but accepted if it's unused in conditionals. (#4687) 306 * Modify `allBuildInfo` to include foreign library info (#4763). 307 * Documentation fixes. 308 309### 2.0.0.2 [Mikhail Glushenkov](mailto:mikhail.glushenkov@gmail.com) July 2017 310 311 * See http://coldwa.st/e/blog/2017-09-09-Cabal-2-0.html 312 for more detailed release notes. 313 * The 2.0 migration guide gives advice on adapting Custom setup 314 scripts to backwards-incompatible changes in this release: 315 https://github.com/haskell/cabal/wiki/2.0-migration-guide 316 * Add CURRENT_PACKAGE_VERSION to cabal_macros.h (#4319) 317 * Dropped support for versions of GHC earlier than 6.12 (#3111). 318 * GHC compatibility window for the Cabal library has been extended 319 to five years (#3838). 320 * Convenience/internal libraries are now supported (#269). 321 An internal library is declared using the stanza `library 322 'libname'`. Packages which use internal libraries can 323 result in multiple registrations; thus `--gen-pkg-config` 324 can now output a directory of registration scripts rather than 325 a single file. 326 * Backwards incompatible change to preprocessor interface: 327 the function in `PPSuffixHandler` now takes an additional 328 `ComponentLocalBuildInfo` specifying the build information 329 of the component being preprocessed. 330 * Backwards incompatible change to `cabal_macros.h` (#1893): we now 331 generate a macro file for each component which contains only 332 information about the direct dependencies of that component. 333 Consequently, `dist/build/autogen/cabal_macros.h` contains 334 only the macros for the library, and is not generated if a 335 package has no library; to find the macros for an executable 336 named `foobar`, look in `dist/build/foobar/autogen/cabal_macros.h`. 337 Similarly, if you used `autogenModulesDir` you should now 338 use `autogenComponentModulesDir`, which now requires a 339 `ComponentLocalBuildInfo` argument as well in order to 340 disambiguate which component the autogenerated files are for. 341 * Backwards incompatible change to `Component`: `TestSuite` and 342 `Benchmark` no longer have `testEnabled` and 343 `benchmarkEnabled`. If you used 344 `enabledTests` or `enabledBenchmarks`, please instead use 345 `enabledTestLBIs` and `enabledBenchLBIs` 346 (you will need a `LocalBuildInfo` for these functions.) 347 Additionally, the semantics of `withTest` and `withBench` 348 have changed: they now iterate over all buildable 349 such components, regardless of whether or not they have 350 been enabled; if you only want enabled components, 351 use `withTestLBI` and `withBenchLBI`. 352 `finalizePackageDescription` is deprecated: 353 its replacement `finalizePD` now takes an extra argument 354 `ComponentRequestedSpec` which specifies what components 355 are to be enabled: use this instead of modifying the 356 `Component` in a `GenericPackageDescription`. (As 357 it's not possible now, `finalizePackageDescription` 358 will assume tests/benchmarks are disabled.) 359 If you only need to test if a component is buildable 360 (i.e., it is marked buildable in the Cabal file) 361 use the new function `componentBuildable`. 362 * Backwards incompatible change to `PackageName` (#3896): 363 `PackageName` is now opaque; conversion to/from `String` now works 364 via (old) `unPackageName` and (new) `mkPackageName` functions. 365 * Backwards incompatible change to `ComponentId` (#3917): 366 `ComponentId` is now opaque; conversion to/from `String` now works 367 via `unComponentId` and `mkComponentId` functions. 368 * Backwards incompatible change to `AbiHash` (#3921): 369 `AbiHash` is now opaque; conversion to/from `String` now works 370 via `unAbiHash` and `mkAbiHash` functions. 371 * Backwards incompatible change to `FlagName` (#4062): 372 `FlagName` is now opaque; conversion to/from `String` now works 373 via `unFlagName` and `mkFlagName` functions. 374 * Backwards incompatible change to `Version` (#3905): 375 Version is now opaque; conversion to/from `[Int]` now works 376 via `versionNumbers` and `mkVersion` functions. 377 * Add support for `--allow-older` (dual to `--allow-newer`) (#3466) 378 * Improved an error message for process output decoding errors 379 (#3408). 380 * `getComponentLocalBuildInfo`, `withComponentsInBuildOrder` 381 and `componentsInBuildOrder` are deprecated in favor of a 382 new interface in `Distribution.Types.LocalBuildInfo`. 383 * New `autogen-modules` field. Modules that are built automatically at 384 setup, like Paths_PACKAGENAME or others created with a build-type 385 custom, appear on `other-modules` for the Library, Executable, 386 Test-Suite or Benchmark stanzas or also on `exposed-modules` for 387 libraries but are not really on the package when distributed. This 388 makes commands like sdist fail because the file is not found, so with 389 this new field modules that appear there are treated the same way as 390 Paths_PACKAGENAME was and there is no need to create complex build 391 hooks. Just add the module names on `other-modules` and 392 `exposed-modules` as always and on the new `autogen-modules` besides. 393 (#3656). 394 * New `./Setup configure` flag `--cabal-file`, allowing multiple 395 `.cabal` files in a single directory (#3553). Primarily intended for 396 internal use. 397 * Macros in `cabal_macros.h` are now ifndef'd, so that they 398 don't cause an error if the macro is already defined. (#3041) 399 * `./Setup configure` now accepts a single argument specifying 400 the component to be configured. The semantics of this mode 401 of operation are described in 402 <https://github.com/ghc-proposals/ghc-proposals/pull/4> 403 * Internal `build-tools` dependencies are now added to PATH 404 upon invocation of GHC, so that they can be conveniently 405 used via `-pgmF`. (#1541) 406 * Add support for new caret-style version range operator `^>=` (#3705) 407 * Verbosity `-v` now takes an extended format which allows 408 specifying exactly what you want to be logged. The format is 409 `[silent|normal|verbose|debug] flags`, where flags is a space 410 separated list of flags. At the moment, only the flags 411 +callsite and +callstack are supported; these report the 412 call site/stack of a logging output respectively (these 413 are only supported if Cabal is built with GHC 8.0/7.10.2 414 or greater, respectively). 415 * New `Distribution.Utils.ShortText.ShortText` type for representing 416 short text strings compactly (#3898) 417 * Cabal no longer supports using a version bound to disambiguate 418 between an internal and external package (#4020). This should 419 not affect many people, as this mode of use already did not 420 work with the dependency solver. 421 * Support for "foreign libraries" (#2540), which are Haskell 422 libraries intended to be used by foreign languages like C. 423 Foreign libraries only work with GHC 7.8 and later. 424 * Added a technical preview version of integrated doctest support (#4480). 425 * Added a new `scope` field to the executable stanza. Executables 426 with `scope: private` get installed into 427 $libexecdir/$libexecsubdir. Additionally $libexecdir now has a 428 subdir structure similar to $lib(sub)dir to allow installing 429 private executables of different packages and package versions 430 alongside one another. Private executables are those that are 431 expected to be run by other programs rather than users. (#3461) 432 433## 1.24.2.0 [Mikhail Glushenkov](mailto:mikhail.glushenkov@gmail.com) December 2016 434 * Fixed a bug in the handling of non-buildable components (#4094). 435 * Reverted a PVP-noncompliant API change in 1.24.1.0 (#4123). 436 * Bumped the directory upper bound to < 1.4 (#4158). 437 438## 1.24.1.0 [Ryan Thomas](mailto:ryan@ryant.org) October 2016 439 * API addition: `differenceVersionRanges` (#3519). 440 * Fixed reexported-modules display mangling (#3928). 441 * Check that the correct cabal-version is specified when the 442 extra-doc-files field is present (#3825). 443 * Fixed an incorrect invocation of GetShortPathName that was 444 causing build failures on Windows (#3649). 445 * Linker flags are now set correctly on GHC >= 7.8 (#3443). 446 447# 1.24.0.0 [Ryan Thomas](mailto:ryan@ryant.org) March 2016 448 * Support GHC 8. 449 * Deal with extra C sources from preprocessors (#238). 450 * Include cabal_macros.h when running c2hs (#2600). 451 * Don't recompile C sources unless needed (#2601). 452 * Read `builddir` option from `CABAL_BUILDDIR` environment variable. 453 * Add `--profiling-detail=$level` flag with a default for libraries 454 and executables of `exported-functions` and `toplevel-functions` 455 respectively (GHC's `-fprof-auto-{exported,top}` flags) (#193). 456 * New `custom-setup` stanza to specify setup deps. Setup is also built 457 with the cabal_macros.h style macros, for conditional compilation. 458 * Support Haddock response files (#2746). 459 * Fixed a bug in the Text instance for Platform (#2862). 460 * New `setup haddock` option: `--for-hackage` (#2852). 461 * New `--show-detail=direct`; like streaming, but allows the test 462 program to detect that is connected to a terminal, and works 463 reliable with a non-threaded runtime (#2911, and serves as a 464 work-around for #2398) 465 * Library support for multi-instance package DBs (#2948). 466 * Improved the `./Setup configure` solver (#3082, #3076). 467 * The `--allow-newer` option can be now used with `./Setup 468 configure` (#3163). 469 * Added a way to specify extra locations to find OS X frameworks 470 in (`extra-framework-dirs`). Can be used both in `.cabal` files and 471 as an argument to `./Setup configure` (#3158). 472 * Macros `VERSION_$pkgname` and `MIN_VERSION_$pkgname` are now 473 also generated for the current package. (#3235). 474 * Backpack is supported! Two new fields supported in Cabal 475 files: signatures and mixins; and a new flag 476 to setup scripts, `--instantiate-with`. See 477 https://github.com/ezyang/ghc-proposals/blob/backpack/proposals/0000-backpack.rst 478 for more details. 479 480---- 481 482## 1.22.8.0 [Ryan Thomas](mailto:ryan@ryant.org) March 2016 483 * Distribution.Simple.Setup: remove job cap. Fixes #3191. 484 * Check all object file suffixes for recompilation. Fixes #3128. 485 * Move source files under `src/`. Fixes #3003. 486 487## 1.22.7.0 [Ryan Thomas](mailto:ryan@ryant.org) January 2016 488 * Backport #3012 to the 1.22 branch 489 * Cabal.cabal: change build-type to Simple 490 * Add foldl' import 491 * The Cabal part for fully gcc-like response files 492 493## 1.22.6.0 [Ryan Thomas](mailto:ryan@ryant.org) December 2015 494 * Relax upper bound to allow upcoming binary-0.8 495 496## 1.22.5.0 [Ryan Thomas](mailto:ryan@ryant.org) November 2015 497 * Don't recompile C sources unless needed (#2601). (Luke Iannini) 498 * Support Haddock response files. 499 * Add frameworks when linking a dynamic library. 500 501## 1.22.4.0 [Ryan Thomas](mailto:ryan@ryant.org) June 2015 502 * Add libname install-dirs variable, use it by default. Fixes #2437. (Edward Z. Yang) 503 * Reduce temporary directory name length, fixes #2502. (Edward Z. Yang) 504 * Workaround for #2527. (Mikhail Glushenkov) 505 506## 1.22.3.0 [Ryan Thomas](mailto:ryan@ryant.org) April 2015 507 * Fix for the ghcjs-pkg version number handling (Luite Stegeman) 508 * filterConfigureFlags: filter more flags (Mikhail Glushenkov) 509 * Cabal check will fail on -fprof-auto passed as a ghc-option - Fixes #2479 (John Chee) 510 511## 1.22.2.0 [Ryan Thomas](mailto:ryan@ryant.org) March 2015 512 * Don't pass `--{en,dis}able-profiling` to old setup. 513 * Add -Wall police 514 * Fix dependencies on `old-time` 515 * Fix test interface detailed-0.9 with GHC 7.10 516 * Fix HPC tests with GHC 7.10 517 * Make sure to pass the package key to ghc 518 * Use `--package-{name|version}` when available for Haddock when available 519 * Put full package name and version in library names 520 * Fully specify package key format, so external tools can generate it. 521 522# 1.22.0.0 [Johan Tibell](mailto:johan.tibell@gmail.com) January 2015 523 * Support GHC 7.10. 524 * Experimental support for emitting DWARF debug info. 525 * Preliminary support for relocatable packages. 526 * Allow cabal to be used inside cabal exec environments. 527 * hpc: support multiple "ways" (e.g. profiling and vanilla). 528 * Support GHCJS. 529 * Improved command line documentation. 530 * Add `-none` constraint syntax for version ranges (#2093). 531 * Make the default doc index file path compiler/arch/os-dependent 532 (#2136). 533 * Warn instead of dying when generating documentation and hscolour 534 isn't installed (455f51622fa38347db62197a04bb0fa5b928ff17). 535 * Support the new BinaryLiterals extension 536 (1f25ab3c5eff311ada73c6c987061b80e9bbebd9). 537 * Warn about `ghc-prof-options: -auto-all` in `cabal check` (#2162). 538 * Add preliminary support for multiple instances of the same package 539 version installed side-by-side (#2002). 540 * New binary build config format - faster build times (#2076). 541 * Support module thinning and renaming (#2038). 542 * Add a new license type: UnspecifiedLicense (#2141). 543 * Remove support for Hugs and nhc98 (#2168). 544 * Invoke `tar` with `--formar ustar` if possible in `sdist` (#1903). 545 * Replace `--enable-library-coverage` with `--enable-coverage`, which 546 enables program coverage for all components (#1945). 547 * Suggest that `ExitFailure 9` is probably due to memory 548 exhaustion (#1522). 549 * Drop support for Haddock < 2.0 (#1808, #1718). 550 * Make `cabal test`/`cabal bench` build only what's needed for 551 running tests/benchmarks (#1821). 552 * Build shared libraries by default when linking executables dynamically. 553 * Build profiled libraries by default when profiling executables. 554 555---- 556 557### 1.20.0.4 [Ryan Thomas](mailto:ryan@ryant.org) January 2016 558 * Cabal.cabal: change build-type to Simple. 559 560### 1.20.0.1 [Johan Tibell](mailto:johan.tibell@gmail.com) May 2014 561 * Fix streaming test output. 562 563# 1.20.0.0 [Johan Tibell](mailto:johan.tibell@gmail.com) April 2014 564 * Rewrite user guide 565 * Fix repl Ctrl+C handling 566 * Add haskell-suite compiler support 567 * Add __HADDOCK_VERSION__ define 568 * Allow specifying exact dependency version using hash 569 * Rename extra-html-files to extra-doc-files 570 * Add parallel build support for GHC 7.8 and later 571 * Don't call ranlib on OS X 572 * Avoid re-linking executables, test suites, and benchmarks 573 unnecessarily, shortening build times 574 * Add `--allow-newer` which allows upper version bounds to be 575 ignored 576 * Add `--enable-library-stripping` 577 * Add command for freezing dependencies 578 * Allow repl to be used outside Cabal packages 579 * Add `--require-sandbox` 580 * Don't use `--strip-unneeded` on OS X or iOS 581 * Add new license-files field got additional licenses 582 * Fix if(solaris) on some Solaris versions 583 * Don't use -dylib-install-name on OS X with GHC > 7.8 584 * Add DragonFly as a known OS 585 * Improve pretty-printing of Cabal files 586 * Add test flag `--show-details=streaming` for real-time test output 587 * Add exec command 588 589---- 590 591## 1.10.2.0 [Duncan Coutts](mailto:duncan@community.haskell.org) June 2011 592 * Include test suites in cabal sdist 593 * Fix for conditionals in test suite stanzas in `.cabal` files 594 * Fix permissions of directories created during install 595 * Fix for global builds when $HOME env var is not set 596 597## 1.10.1.0 [Duncan Coutts](mailto:duncan@community.haskell.org) February 2011 598 * Improved error messages when test suites are not enabled 599 * Template parameters allowed in test `--test-option(s)` flag 600 * Improved documentation of the test feature 601 * Relaxed QA check on cabal-version when using test-suite sections 602 * `haddock` command now allows both `--hoogle` and `--html` at the same time 603 * Find ghc-version-specific instances of the hsc2hs program 604 * Preserve file executable permissions in sdist tarballs 605 * Pass gcc location and flags to ./configure scripts 606 * Get default gcc flags from ghc 607 608# 1.10.0.0 [Duncan Coutts](mailto:duncan@haskell.org) November 2010 609 * New cabal test feature 610 * Initial support for UHC 611 * New default-language and other-languages fields (e.g. Haskell98/2010) 612 * New default-extensions and other-extensions fields 613 * Deprecated extensions field (for packages using cabal-version >=1.10) 614 * Cabal-version field must now only be of the form `>= x.y` 615 * Removed deprecated `--copy-prefix=` feature 616 * Auto-reconfigure when `.cabal` file changes 617 * Workaround for haddock overwriting .hi and .o files when using TH 618 * Extra cpp flags used with hsc2hs and c2hs (-D${os}_BUILD_OS etc) 619 * New cpp define VERSION_<package> gives string version of dependencies 620 * User guide source now in markdown format for easier editing 621 * Improved checks and error messages for C libraries and headers 622 * Removed BSD4 from the list of suggested licenses 623 * Updated list of known language extensions 624 * Fix for include paths to allow C code to import FFI stub.h files 625 * Fix for intra-package dependencies on OSX 626 * Stricter checks on various bits of `.cabal` file syntax 627 * Minor fixes for c2hs 628 629---- 630 631### 1.8.0.6 [Duncan Coutts](mailto:duncan@haskell.org) June 2010 632 * Fix `register --global/--user` 633 634### 1.8.0.4 [Duncan Coutts](mailto:duncan@haskell.org) March 2010 635 * Set dylib-install-name for dynalic libs on OSX 636 * Stricter configure check that compiler supports a package's extensions 637 * More configure-time warnings 638 * Hugs can compile Cabal lib again 639 * Default datadir now follows prefix on Windows 640 * Support for finding installed packages for hugs 641 * Cabal version macros now have proper parenthesis 642 * Reverted change to filter out deps of non-buildable components 643 * Fix for registering inplace when using a specific package db 644 * Fix mismatch between $os and $arch path template variables 645 * Fix for finding ar.exe on Windows, always pick ghc's version 646 * Fix for intra-package dependencies with ghc-6.12 647 648# 1.8.0.2 [Duncan Coutts](mailto:duncan@haskell.org) December 2009 649 * Support for GHC-6.12 650 * New unique installed package IDs which use a package hash 651 * Allow executables to depend on the lib within the same package 652 * Dependencies for each component apply only to that component 653 (previously applied to all the other components too) 654 * Added new known license MIT and versioned GPL and LGPL 655 * More liberal package version range syntax 656 * Package registration files are now UTF8 657 * Support for LHC and JHC-0.7.2 658 * Deprecated RecordPuns extension in favour of NamedFieldPuns 659 * Deprecated PatternSignatures extension in favor of ScopedTypeVariables 660 * New VersionRange semantic view as a sequence of intervals 661 * Improved package quality checks 662 * Minor simplification in a couple `Setup.hs` hooks 663 * Beginnings of a unit level testsuite using QuickCheck 664 * Various bug fixes 665 * Various internal cleanups 666 667---- 668 669### 1.6.0.2 [Duncan Coutts](mailto:duncan@haskell.org) February 2009 670 * New configure-time check for C headers and libraries 671 * Added language extensions present in ghc-6.10 672 * Added support for NamedFieldPuns extension in ghc-6.8 673 * Fix in configure step for ghc-6.6 on Windows 674 * Fix warnings in `Path_pkgname.hs` module on Windows 675 * Fix for exotic flags in ld-options field 676 * Fix for using pkg-config in a package with a lib and an executable 677 * Fix for building haddock docs for exes that use the Paths module 678 * Fix for installing header files in subdirectories 679 * Fix for the case of building profiling libs but not ordinary libs 680 * Fix read-only attribute of installed files on Windows 681 * Ignore ghc -threaded flag when profiling in ghc-6.8 and older 682 683### 1.6.0.1 [Duncan Coutts](mailto:duncan@haskell.org) October 2008 684 * Export a compat function to help alex and happy 685 686# 1.6.0.0 [Duncan Coutts](mailto:duncan@haskell.org) October 2008 687 * Support for ghc-6.10 688 * Source control repositories can now be specified in `.cabal` files 689 * Bug report URLs can be now specified in `.cabal` files 690 * Wildcards now allowed in data-files and extra-source-files fields 691 * New syntactic sugar for dependencies `build-depends: foo ==1.2.*` 692 * New cabal_macros.h provides macros to test versions of dependencies 693 * Relocatable bindists now possible on unix via env vars 694 * New `exposed` field allows packages to be not exposed by default 695 * Install dir flags can now use $os and $arch variables 696 * New `--builddir` flag allows multiple builds from a single sources dir 697 * cc-options now only apply to .c files, not for -fvia-C 698 * cc-options are not longer propagated to dependent packages 699 * The cpp/cc/ld-options fields no longer use `,` as a separator 700 * hsc2hs is now called using gcc instead of using ghc as gcc 701 * New api for manipulating sets and graphs of packages 702 * Internal api improvements and code cleanups 703 * Minor improvements to the user guide 704 * Miscellaneous minor bug fixes 705 706---- 707 708### 1.4.0.2 [Duncan Coutts](mailto:duncan@haskell.org) August 2008 709 * Fix executable stripping default 710 * Fix striping exes on OSX that export dynamic symbols (like ghc) 711 * Correct the order of arguments given by `--prog-options=` 712 * Fix corner case with overlapping user and global packages 713 * Fix for modules that use pre-processing and `.hs-boot` files 714 * Clarify some points in the user guide and readme text 715 * Fix verbosity flags passed to sub-command like haddock 716 * Fix `sdist --snapshot` 717 * Allow meta-packages that contain no modules or C code 718 * Make the generated Paths module -Wall clean on Windows 719 720### 1.4.0.1 [Duncan Coutts](mailto:duncan@haskell.org) June 2008 721 * Fix a bug which caused `.` to always be in the sources search path 722 * Haddock-2.2 and later do now support the `--hoogle` flag 723 724# 1.4.0.0 [Duncan Coutts](mailto:duncan@haskell.org) June 2008 725 * Rewritten command line handling support 726 * Command line completion with bash 727 * Better support for Haddock 2 728 * Improved support for nhc98 729 * Removed support for ghc-6.2 730 * Haddock markup in `.lhs` files now supported 731 * Default colour scheme for highlighted source code 732 * Default prefix for `--user` installs is now `$HOME/.cabal` 733 * All `.cabal` files are treaded as UTF-8 and must be valid 734 * Many checks added for common mistakes 735 * New `--package-db=` option for specific package databases 736 * Many internal changes to support cabal-install 737 * Stricter parsing for version strings, eg dissalows "1.05" 738 * Improved user guide introduction 739 * Programatica support removed 740 * New options `--program-prefix/suffix` allows eg versioned programs 741 * Support packages that use `.hs-boot` files 742 * Fix sdist for Main modules that require preprocessing 743 * New configure -O flag with optimisation level 0--2 744 * Provide access to "`x-`" extension fields through the Cabal api 745 * Added check for broken installed packages 746 * Added warning about using inconsistent versions of dependencies 747 * Strip binary executable files by default with an option to disable 748 * New options to add site-specific include and library search paths 749 * Lift the restriction that libraries must have exposed-modules 750 * Many bugs fixed. 751 * Many internal structural improvements and code cleanups 752 753---- 754 755## 1.2.4.0 [Duncan Coutts](mailto:duncan@haskell.org) June 2008 756 * Released with GHC 6.8.3 757 * Backported several fixes and minor improvements from Cabal-1.4 758 * Use a default colour scheme for sources with hscolour >=1.9 759 * Support `--hyperlink-source` for Haddock >= 2.0 760 * Fix for running in a non-writable directory 761 * Add OSX -framework arguments when linking executables 762 * Updates to the user guide 763 * Allow build-tools names to include + and _ 764 * Export autoconfUserHooks and simpleUserHooks 765 * Export ccLdOptionsBuildInfo for `Setup.hs` scripts 766 * Export unionBuildInfo and make BuildInfo an instance of Monoid 767 * Fix to allow the `main-is` module to use a pre-processor 768 769## 1.2.3.0 [Duncan Coutts](mailto:duncan@haskell.org) Nov 2007 770 * Released with GHC 6.8.2 771 * Includes full list of GHC language extensions 772 * Fix infamous `dist/conftest.c` bug 773 * Fix `configure --interfacedir=` 774 * Find ld.exe on Windows correctly 775 * Export PreProcessor constructor and mkSimplePreProcessor 776 * Fix minor bug in unlit code 777 * Fix some markup in the haddock docs 778 779## 1.2.2.0 [Duncan Coutts](mailto:duncan@haskell.org) Nov 2007 780 * Released with GHC 6.8.1 781 * Support haddock-2.0 782 * Support building DSOs with GHC 783 * Require reconfiguring if the `.cabal` file has changed 784 * Fix os(windows) configuration test 785 * Fix building documentation 786 * Fix building packages on Solaris 787 * Other minor bug fixes 788 789## 1.2.1 [Duncan Coutts](mailto:duncan@haskell.org) Oct 2007 790 * To be included in GHC 6.8.1 791 * New field `cpp-options` used when preprocessing Haskell modules 792 * Fixes for hsc2hs when using ghc 793 * C source code gets compiled with -O2 by default 794 * OS aliases, to allow os(windows) rather than requiring os(mingw32) 795 * Fix cleaning of `stub` files 796 * Fix cabal-setup, command line ui that replaces `runhaskell Setup.hs` 797 * Build docs even when dependent packages docs are missing 798 * Allow the `--html-dir` to be specified at configure time 799 * Fix building with ghc-6.2 800 * Other minor bug fixes and build fixes 801 802# 1.2.0 [Duncan Coutts](mailto:duncan.coutts@worc.ox.ac.uk) Sept 2007 803 * To be included in GHC 6.8.x 804 * New configurations feature 805 * Can make haddock docs link to highlighted sources (with hscolour) 806 * New flag to allow linking to haddock docs on the web 807 * Supports pkg-config 808 * New field `build-tools` for tool dependencies 809 * Improved c2hs support 810 * Preprocessor output no longer clutters source dirs 811 * Separate `includes` and `install-includes` fields 812 * Makefile command to generate makefiles for building libs with GHC 813 * New `--docdir` configure flag 814 * Generic `--with-prog` `--prog-args` configure flags 815 * Better default installation paths on Windows 816 * Install paths can be specified relative to each other 817 * License files now installed 818 * Initial support for NHC (incomplete) 819 * Consistent treatment of verbosity 820 * Reduced verbosity of configure step by default 821 * Improved helpfulness of output messages 822 * Help output now clearer and fits in 80 columns 823 * New setup register `--gen-pkg-config` flag for distros 824 * Major internal refactoring, hooks api has changed 825 * Dozens of bug fixes 826 827---- 828 829### 1.1.6.2 [Duncan Coutts](mailto:duncan.coutts@worc.ox.ac.uk) May 2007 830 831 * Released with GHC 6.6.1 832 * Handle windows text file encoding for `.cabal` files 833 * Fix compiling a executable for profiling that uses Template Haskell 834 * Other minor bug fixes and user guide clarifications 835 836### 1.1.6.1 [Duncan Coutts](mailto:duncan.coutts@worc.ox.ac.uk) Oct 2006 837 838 * fix unlit code 839 * fix escaping in register.sh 840 841## 1.1.6 [Duncan Coutts](mailto:duncan.coutts@worc.ox.ac.uk) Oct 2006 842 843 * Released with GHC 6.6 844 * Added support for hoogle 845 * Allow profiling and normal builds of libs to be chosen independently 846 * Default installation directories on Win32 changed 847 * Register haddock docs with ghc-pkg 848 * Get haddock to make hyperlinks to dependent package docs 849 * Added BangPatterns language extension 850 * Various bug fixes 851 852## 1.1.4 [Duncan Coutts](mailto:duncan.coutts@worc.ox.ac.uk) May 2006 853 854 * Released with GHC 6.4.2 855 * Better support for packages that need to install header files 856 * cabal-setup added, but not installed by default yet 857 * Implemented `setup register --inplace` 858 * Have packages exposed by default with ghc-6.2 859 * It is no longer necessary to run `configure` before `clean` or `sdist` 860 * Added support for ghc's `-split-objs` 861 * Initial support for JHC 862 * Ignore extension fields in `.cabal` files (fields beginning with "`x-`") 863 * Some changes to command hooks API to improve consistency 864 * Hugs support improvements 865 * Added GeneralisedNewtypeDeriving language extension 866 * Added cabal-version field 867 * Support hidden modules with haddock 868 * Internal code refactoring 869 * More bug fixes 870 871## 1.1.3 [Isaac Jones](mailto:ijones@syntaxpolice.org) Sept 2005 872 873 * WARNING: Interfaces not documented in the user's guide may 874 change in future releases. 875 * Move building of GHCi .o libs to the build phase rather than 876 register phase. (from Duncan Coutts) 877 * Use .tar.gz for source package extension 878 * Uses GHC instead of cpphs if the latter is not available 879 * Added experimental "command hooks" which completely override the 880 default behavior of a command. 881 * Some bugfixes 882 883# 1.1.1 [Isaac Jones](mailto:ijones@syntaxpolice.org) July 2005 884 885 * WARNING: Interfaces not documented in the user's guide may 886 change in future releases. 887 * Handles recursive modules for GHC 6.2 and GHC 6.4. 888 * Added `setup test` command (Used with UserHook) 889 * implemented handling of _stub.{c,h,o} files 890 * Added support for profiling 891 * Changed install prefix of libraries (pref/pkgname-version 892 to prefix/pkgname-version/compname-version) 893 * Added pattern guards as a language extension 894 * Moved some functionality to Language.Haskell.Extension 895 * Register / unregister .bat files for windows 896 * Exposed more of the API 897 * Added support for the hide-all-packages flag in GHC > 6.4 898 * Several bug fixes 899 900---- 901 902# 1.0 [Isaac Jones](mailto:ijones@syntaxpolice.org) March 11 2005 903 904 * Released with GHC 6.4, Hugs March 2005, and nhc98 1.18 905 * Some sanity checking 906 907---- 908 909# 0.5 [Isaac Jones](mailto:ijones@syntaxpolice.org) Wed Feb 19 2005 910 911 * __WARNING__: this is a pre-release and the interfaces are 912 still likely to change until we reach a 1.0 release. 913 * Hooks interfaces changed 914 * Added preprocessors to user hooks 915 * No more executable-modules or hidden-modules. Use 916 `other-modules` instead. 917 * Certain fields moved into BuildInfo, much refactoring 918 * `extra-libs` -> `extra-libraries` 919 * Added `--gen-script` to configure and unconfigure. 920 * `modules-ghc` (etc) now `ghc-modules` (etc) 921 * added new fields including `synopsis` 922 * Lots of bug fixes 923 * spaces can sometimes be used instead of commas 924 * A user manual has appeared (Thanks, ross!) 925 * for ghc 6.4, configures versioned depends properly 926 * more features to `./setup haddock` 927 928---- 929 930# 0.4 [Isaac Jones](mailto:ijones@syntaxpolice.org) Sun Jan 16 2005 931 932 * Much thanks to all the awesome fptools hackers who have been 933 working hard to build the Haskell Cabal! 934 935 * __Interface Changes__: 936 937 * __WARNING__: this is a pre-release and the interfaces are still 938 likely to change until we reach a 1.0 release. 939 940 * Instead of Package.description, you should name your 941 description files <something>.cabal. In particular, we suggest 942 that you name it <packagename>.cabal, but this is not enforced 943 (yet). Multiple `.cabal` files in the same directory is an error, 944 at least for now. 945 946 * `./setup install --install-prefix` is gone. Use `./setup copy` 947 `--copy-prefix` instead. 948 949 * The `Modules` field is gone. Use `hidden-modules`, 950 `exposed-modules`, and `executable-modules`. 951 952 * `Build-depends` is now a package-only field, and can't go into 953 executable stanzas. Build-depends is a package-to-package 954 relationship. 955 956 * Some new fields. Use the Source. 957 958 * __New Features__ 959 960 * Cabal is now included as a package in the CVS version of 961 fptools. That means it'll be released as `-package Cabal` in 962 future versions of the compilers, and if you are a bleeding-edge 963 user, you can grab it from the CVS repository with the compilers. 964 965 * Hugs compatibility and NHC98 compatibility should both be 966 improved. 967 968 * Hooks Interface / Autoconf compatibility: Most of the hooks 969 interface is hidden for now, because it's not finalized. I have 970 exposed only `defaultMainWithHooks` and `defaultUserHooks`. This 971 allows you to use a ./configure script to preprocess 972 `foo.buildinfo`, which gets merged with `foo.cabal`. In future 973 releases, we'll expose UserHooks, but we're definitely going to 974 change the interface to those. The interface to the two functions 975 I've exposed should stay the same, though. 976 977 * ./setup haddock is a baby feature which pre-processes the 978 source code with hscpp and runs haddock on it. This is brand new 979 and hardly tested, so you get to knock it around and see what you 980 think. 981 982 * Some commands now actually implement verbosity. 983 984 * The preprocessors have been tested a bit more, and seem to work 985 OK. Please give feedback if you use these. 986 987---- 988 989# 0.3 [Isaac Jones](mailto:ijones@syntaxpolice.org) Sun Jan 16 2005 990 991 * Unstable snapshot release 992 * From now on, stable releases are even. 993 994---- 995 996# 0.2 [Isaac Jones](mailto:ijones@syntaxpolice.org) 997 998 * Adds more HUGS support and preprocessor support. 999