ocaml/ocamldoc/Changes.txt

210 lines
9.7 KiB
Plaintext

TODO:
- need to fix display of type parameters for inherited classes/class types
- need to add an environment while generating to print correct links:
file foo.mli:
type u
module type M = sig type u end
module N : sig include M val f: u -> unit end
Here, in html for example, f in displayed being of type Foo.u instead of Foo.M.u
- latex: types variant polymorphes depassent de la page quand ils sont trop longs
- utilisation nouvelles infos de Xavier: "debut de rec", etc.
- xml generator
=====
Release > 3.11.0:
- option -g also for native code version (loading custom generators)
=====
Release 3.09.3:
- mod: PR#4017 new option -short-functors to use a short form to display
functors in html generator
- fix: PR#4016 (using modtype constraint to filter module elements displayed in doc)
- fix: PR#4066 (missing crossref in text from intro files)
- fix: PR#4007 (error in merging of top dependencies of modules)
- fix: PR#3981 (-dot-colors has no effect)
- mod: name resolution in cross-referencing: {!name} if name is not
found, then it is searched in the parent module/class, and in the parent
of the parent, and so on until it is found.
=====
Release 3.09.1:
- fix: remove .TP for generated man pages, use .sp instead
(.TP caused a lot of odd margins)
- fix: html generator now output DOCTYPE and character encoding information.
- add: m_text_only field in Module.t_module, to separate real modules
from text files handled as modules.
- fix: display only text for "text modules"
- extensible {foo } syntax
- user can give .txt files on the command line, containing ocamldoc formatted
text, to be able to include bigger texts out of source files
- -o option is now used by the html generator to indicate the prefix
of generated index files (to avoid conflict when a Index module exists
on case-insensitive file systems).
=====
Release 3.08.4:
- some improvements in html display
- better error messages for misplaced variant constructors comments
- some fixes in man page generation (escaping characters)
=====
Release 3.08.2:
- fix: error "Lexing: empty token" (PR#3173)
=====
Release 3.08.1:
- add: new -intf and -impl options supported (PR#3036)
- fix: display of class parameters in HTML and LaTeX (PR#2994)
- fix: display of link to class page in html (PR#2994)
=====
Release 3.08.0:
- fix: method parameters names in signature are now retrieved correctly
(fix of Odoc_value.parameter_list_from_arrows to handle Tpoly for methods)
- ajout a la doc de Module_list et Index_list (utilise dans le html seulement)
- ajout a la doc: fichier de l'option -intro utilise pour l'index en html
- fix: create a Module_with instead of a Module_alias when we encounter
module A : Foo in a signature
- latex: style latex pour indenter dans les module kind et les class kind
- latex: il manque la generation des parametres de classe
- parse des {!modules: } et {!indexlist}
- gestion des Module_list et Index_list
- no need to Dynlink.add_available_units any more
- generate html from module_kind rather than from module_type
+ same for classes and class types
- add the kind to module parameters (the way the parameter was build in the parsetree)
- fix: the generated ocamldoc.sty is more robust for paragraphs in
ocamldocdescription environment
- fix: when generating separated files in latex, generate them in
the same directory than the main file, (the one specified by -o)
- mod: one section per to module in latex output + improve latex output
- mod: odoc_latex: use buffers instead of string concatenation
- add: new ocamldoc man page, thanks to Samuel Mimram
- fix: useless parenthesis around agruments of arguments of a type constructor in
type definitions, and aournd arguments of exceptions in exception definitions.
- fix: blank lines in verbatim, latex, code pre, code and ele ref modes
are now accepted
- fix: html generator: included module names were displayed with their simple
name rather than their fully qualified name
- fix: use a formatter from a buffer rather Format.str_formatter in
Odoc_mist.sting_of_module_type, to avoid too much blanks
- new module odoc_print, will work when Format.pp_print_flush is fixed
- odoc_html: use buffers instead of string concatenation
- odoc_man: use buffers instead of string concatenation
- odoc_cross.ml: use hash tables modified on the fly to resolve
(module | module type | exception) name aliases
- odoc_html: replace some calls to Str. by specific functions on strings
- odoc_cross.ml: use a Map to associate a complete name to
the known elements with this name, instead of searching each time
through the whole list of modules -> a gain of more than 90% in speed
for cross-referencing (Odoc_cross.associate)
- fix: Odoc_name.cut printed a '(' instead of a '.'
- add: new option -customdir
- add: new option -i (to add a path to the directory where
to look for custom generators)
- add: add odoc_config.ml{,i}
- add: keep_code in Odoc_info.Args interface
- add: m_code_intf and m_code fields for modules, fit when the
Odoc_args.keep_code option is set, and fit for all modules, not
only toplevel ones
- fix: bug preventing to get the code in a .mli
- fix: missing spaces after carriage return in types (Odoc_misc.string_of_type_expr)
- fixes: some bugs in the text parser
( ]} meaning end of code and somehting else instead of end of precode)
- add: in Odoc_info: text_of_string, text_string_of_text, info_of_string
- fix: better output of titles in html (use more the style)
- add: -intro option to use a file content as ocamldoc comment to use as
introduction for LaTeX document and HTML index page
- add: the HTML generator generates the code of the module if available
- add: field m_code for modules, to keep the code of top modules
- fix: display "include Foo" instead of "include module Foo" in Latex, Man, Texi
- fix: not display comments associated to include directives
- fix: bad display of type parameters for class and class types
======
Release 3.05 :
- added link tags in html header to reference sections and subsections
in each page (for browser which handle those tags)
- no titles nor lists in first sentence of text in indexes and latex titles
- only one table for the titles in HTML output
- fix of bad comment association for types in .ml files
- dumps now contain a magic number, checked when dumps are loaded
- new option -o to use with texi, latex and dot generators
- new .code CSS class used
- better output for classes and modules, with their type
- added texinfo generator, by Olivier Andrieu
- removed iso generator, which became the odoc_check custom generator
- link syntax {{:url}text} added to the manual
- (** comments in code is colorized in ocaml code html pages
- new class .code in style
- new generator : -dot . Output dot code to display
modules or types dependencies.
- new option -inv-merge-ml-mli to inverse the priority of
.ml and .mli when merging
- option -werr becomes -warn-error
- possibility to define and reference section labels
Exemple:
(** {2:mysectionlabel My title bla bla bla} *)
in module Foo
This section is referenced with {!Foo.mysectionlabel} in
a comment.
Pre-release 4 :
- new option -werr to treat ocamldoc warnings as errors
- new option -hide to remove some modules from complete names,
(e.g., print ref instead of Pervasives.ref)
- HTML doc in classic style only contain indexes to existing element kinds
(i.e. there is no class index if the doc does not contain any class.)
- First description sentence now stops at the first period followed by a blank,
or at the first blank line.
- update of user manual
- check report generator added (options -iso and -iso-{val|ty|cl|ex|mod})
- Odoc_info.Scan.scanner base class added
- support for custom tags (@xxx with xxx not a predefined tag), see manual
- new classes info in Odoc_html, Odoc_to_text, Odoc_latex, and Odoc_man, which
contains the functions for printing info structures
- replacement of modules Odoc_html.Text and Odoc_latex.Text by
classes Odoc_html.text and Odoc_latex.text to allow the redefinition
of their methods in custom generators
- bug fix : a shortcut list can be pu after a blank line
- improved display of variant constructors, record fields and
their comments in classic HTML
- blank lines in comments become <p> in HTML instead of <br>
- bug fix : there can be blanks between the last item
and the ending } of a list
- new option -latextitles
- number of errors encountered is displayed
- if at least one error occurs, exit code is not 0
- more precise error messages
- bug fix : \n and other blanks are accepted after, for example, {i
Pre-release 3 :
- option -stars
- complete paths of executables in the generated Makefile
- names of executables changed to ocamldoc and ocamldoc.opt
- better LaTeX output
- option -sepfiles for LaTeX
- ocamldoc.sty used by the generated LaTeX
- ocamldoc.hva added to use Hevea on the generated LaTeX
- user manual updated
- {[ ]} marks to put pre-formatted code on more than one line
- {!Toto.tutu} to add cross references between elements
- some bug fixes
Rep-release 2 :
- generator of texinfo files : odoc_texi.cma
- use of CSS in generated html
- new option -css-style to provide a different style sheet
- improved html
- added more precise titles in generated html pages
- no more links to unknown elements
- added indexes
- simple html : added <LINK ...> in <HEAD> : compliant
browsers should display quick access to modules and indexes in
their navigation bar (for example, mozilla 0.9.5 is compliant)
- '{bone}' doesn't work any more ; a space is required as in '{b one}'.
Same for {e, {i, and some others marks. Check the manual
- bug fixes