Skip to content

Commit 133b814

Browse files
committed
Re #10819 Take format specification history back to version 1.8
Also corrects when `default-extensions`, `other-extensions`, `default-language` and `other-languages` were, in fact, first introduced. Also supplies missing ('TBW') documentation for `other-languages`. The introduction of the `exitcode-stdio-1.0` value is documented because this is needed to make sense of the changes that occurred in `cabal-version: 1.14` (see #10822). Sources for changes: * Change logs; * Other documentation provided with released Cabal versions; and * source code for published Cabal versions, including Haddock documentation and other code documentation.
1 parent d4d92e9 commit 133b814

File tree

2 files changed

+38
-6
lines changed

2 files changed

+38
-6
lines changed

doc/cabal-package-description-file.rst

+5-5
Original file line numberDiff line numberDiff line change
@@ -1549,7 +1549,7 @@ system-dependent values for these fields.
15491549
compiled twice, once as part of the library and again for the executable.
15501550

15511551
.. pkg-field:: default-extensions: identifier list
1552-
:since: 1.12
1552+
:since: 1.10
15531553

15541554
A list of Haskell extensions used by every module. These determine
15551555
corresponding compiler options enabled for all files. Extension
@@ -1559,7 +1559,7 @@ system-dependent values for these fields.
15591559
to be preprocessed with a C preprocessor.
15601560

15611561
.. pkg-field:: other-extensions: identifier list
1562-
:since: 1.12
1562+
:since: 1.10
15631563

15641564
A list of Haskell extensions used by some (but not necessarily all)
15651565
modules. From GHC version 6.6 onward, these may be specified by
@@ -1588,7 +1588,7 @@ system-dependent values for these fields.
15881588
:pkg-field:`other-extensions` declarations.
15891589

15901590
.. pkg-field:: default-language: identifier
1591-
:since: 1.12
1591+
:since: 1.10
15921592

15931593
Specifies a language standard or a group of language extensions to be activated for the project. In the case of GHC, `see here for details <https://downloads.haskell.org/ghc/latest/docs/users_guide/exts/control.html#controlling-extensions>`__.
15941594

@@ -1600,9 +1600,9 @@ system-dependent values for these fields.
16001600
- ``Haskell98``
16011601

16021602
.. pkg-field:: other-languages: identifier
1603-
:since: 1.12
1603+
:since: 1.10
16041604

1605-
TBW
1605+
Specifies a language standard used by some (but not necessarily all) modules.
16061606

16071607
.. pkg-field:: extensions: identifier list
16081608
:deprecated: 1.12

doc/file-format-changelog.rst

+33-1
Original file line numberDiff line numberDiff line change
@@ -298,9 +298,41 @@ relative to the respective preceding *published* version.
298298
``cabal-version: 1.12``
299299
-----------------------
300300

301-
* Change syntax of :pkg-field:`cabal-version` to support the new recommended
301+
* Change the syntax of :pkg-field:`cabal-version` to support the new recommended
302302
``cabal-version: x.y`` style
303303

304+
``cabal-version: ==1.10``
305+
-------------------------
304306

307+
* Change the syntax of :pkg-field:`cabal-version` to require a version range of
308+
the form ``cabal-version: >= x.y``. (Consequently, ``cabal-version: ==1.10``
309+
is, itself, not valid syntax.)
310+
311+
* New :pkg-field:`default-language` (to specify a default language standard when
312+
one is not explicitly specified) and :pkg-field:`other-languages`
313+
(for language standards used by some modules) added.
314+
315+
* New :pkg-field:`default-extensions` (for Haskell language extensions used by
316+
every module) and :pkg-field:`other-extensions` (for extensions used by some
317+
modules) added. :pkg-field:`extensions` deprecated.
318+
319+
* New :pkg-section:`test-suite` stanza for describing a package test suite
320+
added.
321+
322+
* ``exitcode-stdio-1.0`` is a valid value of the `type` field in a
323+
:pkg-section:`test-suite` stanza.
324+
325+
``cabal-version: ==1.8``
326+
------------------------
327+
328+
* Added support for specifying the name of the package itself in the the
329+
:pkg-field:`build-depends` of a :pkg-section:`executable` stanza. Cabal then
330+
treats the executable as if it were in another package that depended on the
331+
package.
332+
333+
* The syntax for specifying package version ranges is expanded.
334+
335+
* New :pkg-field:`license` types ``MIT`` and versioned ``GPL`` and ``LGPL``
336+
added.
305337

306338
.. include:: references.inc

0 commit comments

Comments
 (0)