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