1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
|
Changes in version 2.15.0
* Always read in prologue files as UTF8 (#286 and Cabal #1721)
* parser: don't wrap headers in DocParagraph (#307)
* parser: don't mangle append order for nested lists (pandoc #1346)
* parser: preserve list ordering in certain scenarios (#313)
* parser: update the attoparsec version used internally giving slight
parsing performance boost.
* Move development to be against latest GHC release and not GHC HEAD.
* Further split up the package to separate the executable from the
library, necessary by things like GHCJS. We now have
‘haddock-library’ which are the parts that don't use GHC API,
‘haddock-api’ which are (some of) the parts that do use GHC API and
‘haddock’ which merely provides the executable.
* Export few extra functions in the API.
* Add compatibility with GHC 7.8.2.
* Omit unnecessary ‘forall’s (#315 and #86)
Changes in version 2.14.3
* Fix parsing of identifiers with ^ or ⋆ in them (#298)
* Fix anchors (#308)
Changes in version 2.14.2
* Always drop --split-objs GHC flag for performance reasons (#292)
* Print kind signatures GADTs (#85)
* Drop single leading whitespace when reasonable from @-style blocks (#201)
* Fix crashes associated with exporting data family record selectors (#294)
Changes in version 2.14.1
* Render * and -> with their UnicodeSyntax equivalents if -U is enabled
* Display minimal complete definitions for type classes
* Hide right hand side of TF instances with hidden names on the RHS
Changes in version 2.14.0
* Print entities with missing documentation (#258)
* Print a warning message when given `-optghc` instead of `--optghc` (#5)
* Add `--compatible-interface-versions` (#231)
* Allow to generate latex documentation for FFI declarations (#247)
* Add copyright and license information to generated documentation
* Improved to Unicode support
* Bold markup support
* Nested paragraphs
* Better escaping
* Header markup
* Parser should no longer fail to parse any markup
* {-# OPTIONS_HADDOCK show-extensions #-} pragma will show the GHC extensions
enabled in the module.
* Properly render License field (#271)
* Print type/data family instances (for exported types only)
* Fix display of poly-kinded type operators (#189)
* PatternSynonyms support
* Fix display of implicit parameters (#260)
* Fix rendering of Contents when links are present (#276)
* Fix documentation duplication on record fields (#195)
* Add `--source-entity-line` for exact line links (eg. things defined
inside TH splices) (#79)
* Display fixity information for names with nonstandard fixities
* Bird tracks specified like "> code" no longer suffer from an extra leading
space in the code output
Changes in version 2.13.2
* Handle HsExplicitListTy in renamer (#213)
* Allow haddock markup in deprecation messages
* Export more types from Documentation.Haddock
* Include everything that is required to run the test suite with the cabal
package (#230)
Changes in version 2.13.1
* Hide instances that are "internal" to a module
* Add support for properties in documentation
* Fix a bug with spurious superclass constraints
* Fix and extend the Haddock API
Changes in version 2.12.0
* Labeled URLs (e.g <http://example.net/ some label>)
* Improved memory usage (new dependency: deepseq)
Changes in version 2.11.0
* Show deprecation messages for identifiers
* List identifiers declared on the same line (with a common type) separately
* Don't crash on unicode strings in doc comments
* Fix reporting of modules safe haskell mode
* Fix a case where we were generating invalid xhtml
* Improved --qual option (no crashes, proper error messages)
* A new --qual option "aliased" which qualifies identifiers by the module alias
used in the source code
* The Haddock API restores GHC's static flags after invocation
* Access to unexported identifiers through the Haddock API again
Changes in version 2.10.0
* Require GHC >= 7.4
* Safe Haskell indications on module pages
* Type declarations on identifiers no longer necessary
* Add flag --interface-version
* Warn when comment refers to in-scope identifier without documentation
* Bug fix: links to out-of-scope things (#78)
* Bug fix: module references to other packages work again
Changes in version 2.9.4
* Require GHC >= 7.2
* Support Alex 3.x
Changes in version 2.9.3
[This is the version that comes with GHC 7.2.1 although it claims it's 2.9.2!]
* Build with GHC 7.2.1
* Support blank lines in results of examples
* A type signature for multiple names generates one signature in the output
* Minor bug fixes
Changes in version 2.9.2
* Build with GHC 7.0.2
* Write Hoogle output in utf8; fixes GHC build on Windows
Changes in version 2.9.1
* Fix build in GHC tree
* Improve .cabal file
Changes in version 2.9.0
* Drop support for ghc < 7
* New flag --qual for qualification of names
* Print doc coverage information to stdout when generating docs
* Include an 'All' option in the A-Z subdivided index
* Make TOC group header identifiers validate
* Minor changes to the API
Changes in the version that comes with GHC 7.0.1
[This version claims it is 2.8.0 but is actually based on 2.8.1]
* Fix URL creation on Windows: Use / not \ in URLs.
* Support GHC 7.0
Changes in version 2.8.1
* Fix build on Windows with MinGW
Changes in version 2.8.0
* HTML backend completely rewritten to generate semantically rich XHTML
using the xhtml package.
* New default CSS based on the color scheme chosen for the new Haskell
wiki, with a pull-out tab for the synopsis.
* Theme engine based on CSS files. Themes can be switched from the
header menu. (New flags --built-in-themes and --theme. The latter
is an alias for --css which now has extended semantics).
* Markup support for executable examples/unit-tests. To be used with an
upcoming version of the DocTest program.
* Addition of a LaTeX backend.
* Frames-mode can be enabled from the header menu.
* Path to source entities can be specified per package, so that source
links work for cross-package documentation.
* Support for a second form of enumerated lists (1. 2. etc).
* Additions and changes to the Haddock API.
* New flag --no-tmp-comp-dir to tell Haddock to write and pick up
compilation files (.o, .hi, etc) to/from GHC's output directory instead
of a temporary directory.
* Various bug fixes.
-----------------------------------------------------------------------------
Changes in version 2.6.1 (bug fix release from the stable branch)
* Fix #128
-----------------------------------------------------------------------------
Changes in version 2.7.2
* Add Paths_haddock to library
-----------------------------------------------------------------------------
Changes in version 2.7.1:
* Fix problems with library part of .cabal file
-----------------------------------------------------------------------------
Changes in version 2.7.0:
* Instances can be commented
* The Haddock API now exposes more of the internals of Haddock
* Bug fixes (most importantly #128)
-----------------------------------------------------------------------------
Changes in version 2.6.0:
* Drop support for GHC 6.10.*
* Add support for GHC 6.12.1
* Cross-package documentation: full documentation show up when re-exporting
things coming from external packages
* Lexing and parsing the Haddock comment markup is now done in Haddock
again, instead of in GHC
* Slightly prettier printing of instance heads
* Support platforms for which GHC has no native code generator
* Add a flag --print-ghc-libdir
* Minor bug fixes
-----------------------------------------------------------------------------
Changed in version 2.5.0:
* Drop support for GHC 6.8.*
* Add support for GHC 6.10.3 and 6.10.4
* Revert to the old multi-page index for large packages (#106)
* Show GADT records in the generated documentation
* Create output directory if it doesn't exist (#104)
* Use the native codegen instead of compiling via C for TH modules
* Add --use-unicode flag for displaying prettier versions of common symbols
* Multiple verbosity levels: remove --verbose and add --verbosity=n
-----------------------------------------------------------------------------
Changed in version 2.4.2:
* Support GHC 6.10.2
* Haddock no longer crashes on Template Haskell modules (#68)
(only with GHC 6.10.2 or above)
* Fix problem with Template Haskell-generated declarations disappearing (#59)
* Generate two anchors for each link for compatibility between IE and Opera
(#45)
* Improved error messages
* Show re-exports from external packages again (GHC ticket #2746)
* Store hidden modules in .haddock files again (needed by the haddock
library)
* Avoid processing boot modules
* Pragmas may exist between document comments and declarations
* Do not indicate that a constructor argument is unboxed
* Fix problem with non-working links to ghc-prim
* Allow referring to a specific section within a module in a module link
(#65)
* Fixes to the Hoogle backend
* Improvements to the haddock library
* Many other fixes (including #67, #69, #58, #57)
-----------------------------------------------------------------------------
Changed in version 2.4.1:
* Depend on base 4.* when GHC >= 6.9, otherwise 3.*
-----------------------------------------------------------------------------
Changed in version 2.4.0:
* Add framed view of the HTML documentation
* Build with GHC 6.8.2 and 6.8.3 again
* Support images in documentation comments again
* Small improvements to the Hoogle output
* A few bugs has been fixed
-----------------------------------------------------------------------------
Changed in version 2.3.0:
* Support for GHC 6.10.1
* Slightly improved space usage
* Fix a bug that made hidden modules show up in the contents & index pages
* Fix a bug that made Haddock load modules twice
* Improvements to the Hoogle output
-----------------------------------------------------------------------------
Changed in version 2.2.2:
* Relax version dependency on ghc-paths
-----------------------------------------------------------------------------
Changes in version 2.2.1:
* Support for GHC 6.8.3
* The Hoogle backend is back, thanks to Neil Mitchell. The plan is to be
compatible with the upcoming Hoogle 4 pre-release
* Show associated types in the documentation for class declarations
* Show type family declarations
* Show type equality predicates
* Major bug fixes (#1 and #44)
* It is no longer required to specify the path to GHC's lib dir
* Remove unnecessary parenthesis in type signatures
-----------------------------------------------------------------------------
Changes in version 2.1.0:
* Fix a bug that made links point to the defining module instead
of the "best" one (e.g Int pointing to GHC.Base instead of Data.Int)
* Fix a couple of smaller bugs
* The representation of DocName was changed in the library
* Add a flag --no-warnings for turning off warnings
-----------------------------------------------------------------------------
Changes in version 2.0.0.0:
* The GHC API is used as the front-end
* Haddock now understands all syntax understood by GHC 6.8.2
* Haddock can generate documentation for some of the language extensions
in GHC 6.8.2
* Format of module attributes has changed. The only way of specifying
module attributes is via a new OPTIONS_HADDOCK pragma. Example:
{-# OPTIONS_HADDOCK hide, prune #-}
* Haddock understands literate source files
* Add a small library to read Haddock's interface files
* Add a flag -B for passing the path to the GHC lib dir
* Add a flag --optghc for passing options to GHC
* Add a flag --ghc-version for printing the GHC version
* Remove --use-package, --allow-missing-html, --ghc-pkg, in favour of only
supporting --read-interface
* Remove --package flag, the GHC flag -package-name can be used instead
* Remove --no-implicit-prelude flag, the GHC flag -XNoImplicitPrelude can
be used instead
-----------------------------------------------------------------------------
Changes in version 0.9:
* Infix type operators, e.g., first :: a~>a' -> (a,b)~>(a',b)
* Add a search box to the index page which automatically narrows
the index to the search as you type (thanks to Neil Mitchell).
* Add a --ghc-pkg flag
* Add a flag --allow-missing-html
* URL expansion for %%, %L, %{LINE}
* added substitution %{FILE///c}
* Lexing of /.../ is now more like '...', in that a / character must
be matched by another / character on the same line, otherwise it
is treated as a literal '/'. This removes a common source of
accidental parse errors in documentation.
* Various bugs were fixed.
* Cabal 1.2 is now required, and Haddock builds with GHC 6.8.x.
-----------------------------------------------------------------------------
Changes in version 0.8:
* Haddock has a Cabal build system, and will build on Windows without
Cygwin or MSYS. GHC 6.4 or later is required.
* New options: --comments-base, --comments-module, --comments-entity
for generating links to pages (eg. wiki) for collecting user comments.
* New options: --source-base, --source-module, --source-entity
for generating links to source code. Haddock now understands
{-# LINE #-} pragmas, which means it can figure out the correct
name for the source file even if the file is preprocessed.
* Haddock generates output for populating the Hoogle search engine.
* New markup <<url>> for including images.
-----------------------------------------------------------------------------
Changes in version 0.7:
* Changes in the way Haddock decides where to direct hyperlinks. Each entity
is now assigned a single "home" module, and all hyperlinks are directed
to that module. See the docs ("Hyperlinking and re-exported entities")
for details.
* New options --ignore-all-exports, --hide
* New option --use-package for creating documentation that hyperlinks to
the HTML documentation for existing packages on your system. It works
by querying ghc-pkg for the location of the Haddock interface and
HTML for the given package.
* Parts of the HTML documentation, notably lists of instances, are
now "collapsible" with a +/- button. Also, the contents page is now
in the form of tree in which subtrees can be collapsed.
* Support for Microsoft DevHelp and HtmlHelp 2.0 formats.
* Support for a short description for each module for the contents page.
* Compiles with GHC 6.4+
* Various bugfixes
-----------------------------------------------------------------------------
Changes in version 0.6:
* Implicit parameters, zip comprehensions and 'mdo' are now
supported by the parser.
* Some lexical bugs were fixed, mainly concerning literal paragraphs
next to non-literal paragraphs.
* New options: --gen-index, --use-index, --gen-contents and --use-contents,
for generting a combined index and contents for several libraries
from the appropriate .haddock files.
* There is now one index rather than separate Function/Constructor and
Type/Class indices. Where a name refers to several entities, these
are listed separately in the index.
* New option: -v, elicits more verbose warnings. Some warnings are
now turned off by default; Haddock should be a little less noisy
in general.
* Markup for definition lists has been added. See the documentation
for details.
* New option: --package for setting the package name. The package
is listed alongside each module name in the combined contents.
* Entities which are re-exported from another package now at least
leave a hyperlink in the generated HTML, rather than nothing at all.
* Some fixes for bugs which caused incorrect hyperlinks in the
generated HTML. In particular, instances should now be linked
correctly.
* Some aesthetic improvements to the generated HTML.
-----------------------------------------------------------------------------
Changes in version 0.5:
* Compiles with recent versions of GHC.
* A few bugs have been fixed.
* New labelling/linking feature (see "Anchors" in the manual).
-----------------------------------------------------------------------------
Changes in version 0.4:
* Import declarations which list entities in parentheses, or with
hiding clauses, are now properly supported. Modulo one or two
small infelicities, the full Haskell modules system is now supported.
* Haddock is now more flexible about the placing of separators
(commas, semicolons) in relation to doc comments.
* There is support for generating and reading "interface files"
which describe the exports of a set of modules. This is useful
for generating documentation which hyperlinks to
previously-generated documentation.
* Support for generating the extra files required by the Microsoft
Help compiler.
* New option: --prologue specifies a file of documentation which is
placed on the contents page.
* Many bugs fixed
-----------------------------------------------------------------------------
Changes in version 0.3:
* Documentation on individual function arguments is now implemented
* Links can be made to identifiers that aren't in scope, by using
the fully qualified name.
* Instances are collected and listed with the appropriate classes
and datatypes (not for derived instances yet).
* Single quotes are only interpreted specially when they surround a
legal Haskell identifier, otherwise they are treated literally.
* Bird-tracked text is now literal. If you want marked-up text in
a code block, use the @...@ notation instead.
* Various changes to the layout, it generally looks nicer now.
* Various bugs fixed.
-----------------------------------------------------------------------------
Changes in version 0.2:
* The [...] markup for typewriter font has been changed to @...@.
* Module attributes introduced (see the documentation for details).
* {- ... -} style comments may now be used for documentation annotations
* Recursive modules are detected and reported as an error.
* Existential constructors and rank-N types are now groked by the parser
* Some type rendering cleaned up
* `abc' is accepted as well as 'abc' to markup an identifier
* Several bugs fixed, and error messages improved.
|