Doxygen Release 1.4.7
(release date 11-06-2006)
Changes
- The stylesheet has changed, so if you use your own, you will need to
update it or the output will look ugly.
New features
- Added support for universal binaries on MacOSX (only the non-GUI part).
- Added CALLER_GRAPH config option and \callergraph command to add
a caller (or called-by) graph to a function or all functions.
(thanks to Daniel Sherwood for the patch)
- Added REFERENCES_LINK_SOURCE config option which allows to selected
if reference relations should point to the source or to the
documentation (thanks to Daniel Sherwood for the patch).
- Included patch by Christoph Pesch to mention the member type in the
warning "Member ... of ... is not documented".
- included update for Spanish, Italian, Norwegian, and Czech translations.
- Added support for get/set properties in IDL (thanks to a patch by
Sander Stoks).
Bug fixes
- id 151959: incremental "using" of nested namespaces could prevent
that doxygen matched function declaration against definition.
- id 310521: HIDE_IN_BODY_DOCS was longer working.
- id 315039: Improved handling of members in an anonymous scope.
- id 322415: Under certain conditions a scrollbar appeared in a HTML page
while this was not needed.
- id 325845: Documentation parser was confused when starting a HTML list
directly after a \b command.
- id 325866: SORT_BY_SCOPE_NAME=YES did not always work if SORT_BRIEF_DOCS
was also enabled.
- id 326023: CHM files had @ signs in CHM index for anonymous class enums
- id 326250: Fixed incorrect regular expression in constexp.l
- id 326688: Added better support for PHP5 style constructors
and destructors.
- id 326885: Using multi-line //!-blocks did not work nicely together with
@code...@endcode blocks anymore.
- id 327242: Python: Methods starting with _ are now marked private,
except for special method names (i.e. starting and ending with __).
- id 327666: Fixed parse issue that resulted in a missing call graph.
- id 328435: When enabling USE_PDFLATEX a blank line appeared in the
makefile
- id 328849: Added clarification to the manual about the use of //!<
comments.
- id 328635: Text of the HTML output didn't always wrap properly anymore
after "fixing" bug 322415.
- id 329343: Fixed segment in Python parser caused by @var or @fn with
a missing argument.
- id 329530: An apostrophe in ##-comments inside a Python class confused
the parser.
- id 329534: Fixed problem resolving inheritance relations for nested
Python classes.
- id 329537: Corrected the Python example to show how modules should be
documented.
- id 329719: # comment in PHP containing a ' caused doxygen to ignore
rest of input.
- id 329861: Fixed problem parsing embedded structs in an Objective-C
interface.
- id 329905: PDF manual produced a LaTeX error because style sheet
was not up to date.
- id 330209: A typedef in an Obj-C implementation file could obscure
class implementation later in the file
- id 331511: no matching class member found error for class template
instance in combination with "using" of said class.
- id 331751: Fixed problem parsing a function typedef.
- id 332110: method matching failed for equivalent template instance
types.
- id 332178: Fixed malformed XML output for readable properties.
- id 333270: Fixed BoundingBox problem with PostScript graphs generated
with dot using graphviz-2.9.20060302.0540 and later (thanks to
John Ellison for the patch)
- id 332875: Enabling SEPARATE_MEMBER_PAGES could lead to bogus warning
messages about undocumented parameters if only the HTML output was
enabled.
- id 333330: Patch the reorganizes the treeview.
- id 333831: "typedef const struct { } NAME" construction was not
properly parsed.
- id 334716: Doxygen could hang when calling latex with invalid formulas.
- id 336467: Latex formula could prevent /// comment blocks to be properly
converted to /** */ blocks.
- id 336782: Prevented crash when providing code with illegal/redundant
class scope.
- id 337344: Configure now accept system's /usr/bin/install on FreeBSD.
- id 341365: @endcode comment was skipped in a specific case.
- id 341453: Under certain conditions @cond did not stop at @endcond
- id 341456: Fixed crash when feeding doxygen /dev/null as config file
- id 342329: Text such as "dir/file.cpp" was not auto-linked.
- id 342946: Anonymous enums couldn't be grouped using separate @var block
- id 344118: Inbody documentation could hide the detailed description.
- id 344172: Class Hierarchy appeared in a C-Code-Documentation.
- Protection level of inner classes was not written to the XML output
(thanks to Shachar Itzhaky for the patch)
- Included patch by Ernst Giessmann, which prevents most of the underfull
hbox warnings that are produced when compiling doxygen's LaTeX output.
- Fixed potential crash during preprocessing if C-macros are defined
with /* (thanks to Günther Haslauer for the patch).
- Anonymous struct members could end up in the wrong scope
(thanks to Bruno Andrillon for the patch).
- saving to an existing file in doxywizard now requires a confirmation.
- Fixed potential crash in case a template class with a redundant
namespace qualifier was used:
e.g. "namespace N { template<> class N::C<G::H> {}; }"
Doxygen Release 1.4.6
(release date 30-12-2005)
New features
- id 317773: Improved .spec file and better support for building rpms
(thanks to Kevin McBride)
Bug fixes
- id 145294: Boolean expression with '<' as template argument confused
doxygen.
- id 303297: The class hierarchy was sometimes incorrectly shown.
- id 317819: Updated the documentation concerning the creation of PDF
output.
- id 317967: @htmlonly..@endhtmlonly type of blocks (including formulas)
were not always working properly if used in inline parameter
documentation.
- id 318008: The base class name was missing from the XML output.
- id 318208: Enabling SUBDIRS resulted in the tabs at the top of certain
pages not be styled as tabs. Also, links to include dependency graphs
had wrong links or were incomplete.
- id 318564: Python: parser skipped comment blocks in some cases.
- id 318565: Python: single quote doc strings did not get parsed properly
if there was no space before the closing '''.
- id 318567: Python: parse problem when () appear in default value of a
function parameter.
- id 318618: If INLINE_INHERITED_MEMB = YES constructors of a
template class were shown in the derived class.
- id 318678: Python: A referenced variable that
was not found using docstring could lead to memory corruption.
- id 319170: The CHM file did not include the stylesheet material needed
to properly render the tabs at the top of each page.
- id 319341: Doxygen crashed while generating call graph under certain
circumstances.
- id 319539: Fixed parse problem with Python/Objective-C code.
- id 319586: tabs.css not correctly included with CREATE_SUBDIRS option
set.
- id 318460: Multiply-defined labels if two function specializations
differ only on the name of a template parameter.
- id 319219: Spurious space was inserted after inlined math formulae.
- id 319826: The file name for template classes could become too
long causing files that cannot be created by some file systems.
- id 320026: undocumented "typedef struct foo baz" causes subsequent
variables appear as typedefs.
- id 320543: If enabled the alphabetical class list is now the default
item under the classes tab.
- id 320587: Links in brief file descriptions shown in directory pages
were broken if CREATE_SUBDIRS was enabled.
- id 320693: First sentence in mainpage was missing with
JAVADOC_AUTOBRIEF enabled.
- id 320740: Added support for documenting individual elements of an
associative array in PHP.
- id 320813: The if() statement with space after the if confused the
code parser and resulted in partial call graphs.
- id 320960: redundant line continuation characters were not removed
by doxygen's C-preprocessor.
- id 321165: Doxygen choked on Qt properties with namespaced types
- id 321197: using a namespace that contains a nested class, where the
inner class was forward defined, could introduce a bogus namespace
with the name of the outer class.
- id 321256: Installation path mentioned in the documentation was wrong.
- id 321349: In typedefs like "typedef struct {} T, *pT, the pT typedef
appeared wrongly in the documentation.
- id 321540: An array of type an anonymous struct was not parsed
properly if there was a space between the name and the size, i.e.
struct {} Var [10];
- id 321682: Fixed typo in the HTML output of the search page.
- id 321743: Cross-references were missing to members of
anonymous structs.
- id 311833: A template specialization of a private class member was
marked as public.
- id 312329: @link label @endlink, i.e without link text now shows
the label as text, and space after label is omitted.
- id 312624: \verbatim block could cause wrong line numbers while
parsing the source code.
- id 322752: Fixed specific case where aliases were incorrectly expanded
inside environment formulas
- id 322997: Putting function-style macros in a parameter of a
template return type of a function confused doxygen's parser.
- id 323320: An enum name that also appears as a typedef
(i.e. typedef T {} T; }) is now linked as an enum and the typedef is
omitted from the output.
- id 323557: Bit field information was missing from the XML output.
- id 323627: Fixed compiler warning when using gcc 4.x.
- id 323628: Improved warning when documenting #defines while the
preprocessor is disabled.
- id 323988: FILE_VERSION_FILTER incorrectly handled command parameters
- id 324076: Fixed some typos in the documentation.
- id 324153: The configure script didn't work for SunOS 5.8.
- id 324163: \todo paragraph did not end at \author (or similar commands).
- id 324313: Added support for having a Linux system where libraries are
located in lib64 by adding a new platform to tmake: linux-64
- id 324521: Autolinking to classes in a group which itself was in a
namespace didn't work without explicit scoping.
- id 324558: Null pointer dereference in namespacedef.cpp
- id 324565: References and callgraphs missing for some functions
(thanks to a patch by Dave Dodge).
- id 324566: Fixed problem matching
f(unsigned long const a) against f(unsigned long)
- id 324568: Fixed problem were some function prototypes were detected
as variable constructor calls (thanks to Dave Dodge for the patch).
- id 324601: Cross referencing and call graphs were broken by
certain bracket positions for functions.
- id 324823: Doxygen's code parser lost track in some cases, causing
function definitions not being found in some cases.
- id 324891: Doxygen crashed on circular python imports.
Doxygen Release 1.4.5
(release date 4-10-2005)
Changes
- Changed to way the index looks (I hope you like it!).
It now is a list of items styled (with CSS) as a row of tabs.
Also class/namespace/file related items are now grouped together and
presented as a second row of tabs to prevent clutter (the latter is
based on the suggestions/patch in bug report 162968).
Note that if you use a custom HTML header you need to add
<link href="tabs.css" rel="stylesheet" type="text/css">
to the head section!
- Copydoc now copies the brief description as well.
New features
- id 306889: Added new config option BUILTIN_STL_SUPPORT. When enabled,
doxygen will assume that STL classes exist (without the need to include
the STL headers as INPUT).
This helps with matching of argument lists for function declarations and
definitions and also helps to improve the collaboration and inheritance
diagrams that involve STL classes.
- id 317010: Added support for the following new HTML entities:
‘ ’ “ ” –
— (thanks to a patch by madalexonline)
- Included update for Chinese translation.
- included update for the VC++ project files (in wintools dir), thanks
to Johan Eriksson.
Bug fixes
- id 304339: Using \dot in latex formulas conflicted with the doxygen's
\dot command.
- id 306076: Using a namespace inside an example listed with
@example did not work.
- id 306069: Search engine required lower case names in order to find
something, which made pasting of names difficult.
- id 308395: Doxygen could crash when producing a warning that included
a %s sequence.
- id 311191: Default values for parameters weren't shown in the detailed
documentation.
- id 311198: If JAVADOC_AUTOBRIEF was set to YES, a \todo or \bug like
command always ended at the first dot.
- id 311207: The /* and */ inside a \code ... \endcode code fragment
were stipped.
- id 311577: Putting a documentated class name in the title of the main
page caused a LaTeX error if pdf hyperlinks were enabled.
- id 311665: Fixed compile issue for Solaris.
- id 312688: Typedefs of arrays were auto-linked to the base type
i.s.o the typedef.
- id 312678: Fixed excessive memory usage for @fn commands
due to a memory leak of the scanner buffer 256K of memory was leaked
for each command!
- id 312791: Undocumentated members did not result in warnings if
SOURCE_BROWSER was enable and the member's definition was part of
the INPUT.
- A C-comment inside a \code block could lead to parse problems in the
preprocessor, resulting in #defines that are not found.
- Fixed problem documenting Python code using docstrings where the module
documentation was not picked up. Also fixed several other Python
related issues. Also included Python examples in the documentation.
- id 312805: Using BUILTIN_STL_SUPPORT could result in dead links for
STL classes.
- id 312807: Added support for STL exceptions (when BUILTIN_STL_SUPPORT
is enabled).
- id 313011: Item after the closing of a nested group was ignored in
some cases.
- id 313103: Member groups within other nested groups did not work
anymore.
- id 313298: Code parser didn't handle function-try-blocks correctly.
- id 313572: Fixed lockup issue when generation code for Python files.
- id 313695: Fixed parsing issues for the constructs
"\f$n\f$" and "operator <CODE>".
- id 313805: '@' characters in a string literal were lost during
macro expansion.
- id 313906: added support for "import" and "from ... import" to the
Python parser so cross module inheritance works.
- id 313908: Fixed python parser problem: If there are two classes
defined in one module there needed to be a comment between them.
- id 314165: Python functions starting with _ are not marked as public,
whereas variables starting with _ are marked private.
- id 314194: Brief description containing 'i.e., ' ended after the
comma.
- id 314237: You can now also use \ref on directories documented with
\dir.
- id 314288: Using \ref with an ambiguous filename didn't work.
- id 315006: C++ comments at the start of a line and
inside a <pre>..</pre> block were stripped.
- id 316264: Fixed typo in the inline config file documentation.
- id 316266: Included update for the Japanese translation (thanks to
Katsuhiro Hermit Endo)
- id 316759: Fixed problem in the Makefile of doxywizard so that the
right version appears in the about box.
- id 316944: An inline formula (or other special command) did not get
executed if it was within an inline documentation block and
put after a parameter.
- id 317052: The alphabetical class index was not sorted properly if
multiple prefixes were specified using IGNORE_PREFIX.
- id 317105: Latex output expanded ß as "s instead of {\ss} which
only worked if german.sty was included. Thanks to Stefan Pawig for the
patch)
- id 317397: Copying of images from subdirectory within the IMAGE_PATH
didn't work properly since doxygen didn't remove the subdirectory
from the destination path.
- id 317446: Documenting an enum with \enum while there is also a function
with the same name in the same scope could make the enum documentation
appear at the wrong spot or the enum in the wrong member group.
- id 317490: A variable of a nested class, forward declared in a template
class, which in turn was in a namespace, caused the variable to end
up in the global scope.
Doxygen Release 1.4.4
(release date 21-7-2005)
New features
- Added support for parsing Python code.
Special comment blocks in Python are of the
##
# Some comment
#
or you can rely on Python docstrings.
This code uses the new parser interface and was based on the work done
by a group of students as part of a compiler design project.
- Added support for C# style XML tags in the comments.
See the manual or the C# language specification for more details.
Thanks to Talin for doing most of the work.
- Added support for the JavaDoc command {@inheritDoc}.
Bug fixes
Doxygen Release 1.4.3
(release date 16-5-2005)
Changes
- For Developers: Added an abstract interface for language parsers
(see src/parserintf.h), which can be used implement new programming
language parsers. There is also a manager class, where a parser
instance can be bound to a certain file extension.
- Changed the algorithm for matching function/method declarations against
their definitions. The new algorithm should be faster, more powerful,
and more accurate.
New features
- Included new config option HTAGS. When enabled in combination with
SOURCE_BROWSER=YES, the source browser of GNU's Global source
system (via htags) is used instead of doxygen's own (thanks to
Shigio Yamaguchi for the patch).
- Added language updates for Indonesian, Catalan, Russian, Korean,
German, Hungarian, Polish, and Lithuanian.
- Included update of the .spec file (thanks to Stephane Gourichon).
Bug fixes
- id 163705: Using \image for latex without caption but with size
parameter "width=\textwidth" did not work.
- id 163783: Items of an autolist could be wrongly indented if put
directly after @name.
- id 163928: Class section was missing in the file documentation.
- id 164072: When using tag files unneeded external
classes could appear in the class hierarchy in some cases.
- id 169755: page title was omitted in the XML output if
CASE_SENSE_NAME was set to NO.
- id 170592: Using \ref for Objective-C methods did not work if the
name contained a colon.
- id 171795: Refering to Objective-C methods now follows Apple's
conventions.
- id 171878: When JAVADOC_AUTOBRIEF = YES and there was no blank line
after a page command, the first sentence did not appear in
the documentation.
- id 171923: Doxygen failed to match arguments for a function documentated
out-of-line with @fn and using @relatesalso.
- id 172118: Doxywizard now shows the version of doxygen it is for.
- id 172133: Doxygen did not longer ignore preceding C++ comments inside a
comment block.
- id 172217: 'using namespace' declarations with spaces resulted
in duplicate namespaces.
- id 172329: The index of the CHM did not always link to groups correctly.
- id 172456: Fixed case where doxygen had problems differentiating const
and non-const member functions.
- id 172494: @code blocks were not poperly ignored by the preprocessor
in some cases.
- id 172622: Fixed parse problem for Objective-C method implementations
whole declaration part ended with a semicolon.
- id 172723: Namespace members appeared in the file documentation without
proper links to the namespace.
- id 172778: A single colon after retval caused a crash.
- id 172783: Doxygen will now put quotes around a filter name before
calling it so it will work with filters with spaces in the
name or path.
- id 172818: Improved translation of Todo List to German.
- id 172937: FILE_VERSION_FILTER failed for filenames containing spaces.
- id 173034: The \elseif command was not handled properly.
- id 173110: \ingroup did not work with multiple group labels anymore.
- id 300204: Doxygen disobeyed Cygwin's 'text/binary mount mode'
(thanks to Max Bowsher for the patch).
- id 300466: Improved the documentation for FILTER_SOURCE_FILES.
- is 300473: Added a browse button for several of Doxywizard's
fields of the expert dialog where a file was expected.
- id 300532: consecutive @todo items were joined together even if they
are in different sections.
- id 300745: A disabled @cond section did not omit #define documentation.
- is 301409: autolinks to undocumented files did not work correctly when
SOURCE_BROWSER was enabled.
- id 301437: Fixed a typo in an example that is part of the preprocessor
documentation.
- id 301478: Fixed some cases where cross-references were not properly
detected anymore.
- id 301616: Added "+" or "-" to the Objective-C method lists in the
summary section of a class.
- id 302100: An enum could not be grouped by grouping out of line
documentation.
- id 302158: When enabling SEPARATE_MEMBER_PAGES and CREATE_SUBDIRS
the member index contained invalid links.
- id 302160: list directly after @brief not parsed properly if there
were spaces before the @brief command.
- id 302713: Updated doxytag so it works better with recent versions
of Qt3 and the Qt4 beta versions.
- id 303305: When using \subpage the page hierarchy wasn't reflected
in the tree view or .chm index.
- id 303511: Documenting a class in a namespace with a comment block
inside the namespace containing a @class command did
not work properly.
- id 303911: Links from todo list items to Objective-C categories were
broken.
- id 304026: A class/struct/interface can now be turned into something
else of the same kind using the proper command (i.e.
@interface could by used to turn a class into an interface).
- Doxygen did not honor the "All members of an interface in Java are
implicitly public" rule.
- An enum of a class could not be documented with @enum from inside a
namespace.
- Fixed problem handling unname member groups (useful in combination
with DISTRIBUTE_GROUP_DOC = YES, which didn't work anymore).
- Updated Doxygen.dsp (thanks to Gerik Rhoden).
- For a word marked with a #, the # is now also removed when no link
could be generated.
- Using '<' (or '\<') in a <pre> section cause '$<$'
to appear in the Latex output.
Doxygen Release 1.4.2
(release date 28-3-2005)
Changes
- If the class/namespace/file member indexes get too long they are now
automatically split over multiple pages (one page per index letter).
- Internal: I've split the input scanner (scanner.l) in a part that scans
the supported programming languages and passes the comment blocks to a
second scanner. This should clean up the code a lot and make
the handling of structural commands (like \class and \section)
more consistent. It is also a first step towards supporting dedicated
scanners for other programming languages.
- Made doxygen parse .as files (Action Script) as Java code.
New features
- Added a new option SEPARATE_MEMBER_PAGES. When enabled doxygen will
generate a separate page for each documented member, instead of putting
all members on the class/file/namespace page. An index for other members
of the same compound is rendered on the left hand side of the page.
- Added new command \subpage that can be used to build a hierarchy of
pages. For pages this is more convenient than using \defgroup
and \ingroup. See the documentation more details and an example.
- Included man pages for doxygen and doxywizard.
- Language updates for Czech, Swedish, Russian, Italian, Catalan,
German, Brazilian, Korean, Ukrainian, Romanian, Croatian and Chinese,
Bug fixes
- id 124214: #'s inside a single quoted PHP string could lead to parse
problems.
- id 142339: Doxygen did not using the LATEX_CMD_NAME setting when
generating formulas.
- id 163180: Extension specific filters did not work.
- id 163940: Labels in dot graphs containing quotes where
not escaped properly.
- id 164198: \overload text was always English, it is now translatable.
- id 164498: Fixed problem where doxygen ignored the documentation for
members of Objective C class categories when put in the
implementation section.
- id 164563: \anchor didn't work inside a <pre>...</pre> section.
- id 164812: fix compile problem for certain language selections.
- id 165097: Fixed problem with wrong syntax color in \code section.
- id 165188: in index.xsd the refid attribute type (xsd:Name) was
not broad enough and has been replaced by xsd:string.
- id 165339: Fixed some issues in the code parser causing missed
cross-referencing relations and/or call graphs.
- id 165428: ALIASES containing @section commands where not
handled properly.
- id 165503: grouped classes did not appear as such in the XML output.
- id 165793: input filter was applied to \verbinclude.
- id 165816: Grouped functions referenced via tag files had broken links
- id 165821: Tag file parser produced bogus errors for nested classes and
namespaces and no line number was reported.
- id 166043: static initializer block in Java made doxygen ignore the
rest of the file.
- id 166161: More documentation to make the \code command more clear.
- id 166756: Fixed a number of issues with the new comment scanner.
It should be much more usable now.
- id 166782: XML output: Simple types in a namespace are also
listed at file scope in index.xml
- id 166863: @class required fully qualified name even if the comment
block was in the right scope already.
- id 166898: Forward declaring a template class added the template
argument to next class defined
- id 167037: The method names were non-informative in the todo like
lists when HIDE_SCOPE_NAMES was set to YES (thanks to Luigi Ballabio
for the fix).
- id 167040: Related functions were listed as members in the todo list.
- id 167462: Doxygen doesn't recognize references to methods of classes
that come as parameter
- id 168159: Sometimes enums don't have hyperlinks in the source code.
- id 168243: Doxygen produced an unclear warning when putting multiple
@page commands in one comment block.
- id 168693: A C-style comment ending with a brief description (including dot)
and a **/ as end marker, caused strange warning.
- id 168734: Nested C comments in a \code block confused the preprocessor.
- id 168754: //@{ was not working with the new comment block scanner.
- id 168871: \~ did not work in C++ style documentation and aliases.
- id 168961: Fixed problem parsing arrays of unnamed structs.
- id 169003: cross-references were make to global variables even if the
global variables were hidden by local ones or
undocumented/private member variables.
- id 169069: static C++ variables with initializers were detected as
functions.
- id 169188: static functions were not extracted from PHP classes even
though EXTRACT_STATIC was set to YES.
- id 169495: const Qt properties were not parsed properly.
- id 169535: spaces after \ref command were not preserved
in <pre> context when the command had only one argument.
- id 169547: Removed bogus warning for friend classes inside classes in
an anonymous namespace.
- id 169549: Previous fixes introduced flattening of the class hierarchy.
- id 169640: File suffix check for the D language was broken.
- id 169641: D contructors and destructors were not detected.
- is 169657: Fixed the way import is treated in D to prevent recursive
lockup.
- id 169784: Objective-C methods with a variable number of arguments were
are not parsed properly.
- id 169789: Images specified via \image are now also copied to the
XML output.
- id 170612: documenting members of nested anonymous compounds did no
longer work.
- id 170833: <code> ended a brief description.
- id 170835: doxygen didn't match members of classes in unnamed
namespaces with their definitions
- id 170846: template instance friend classes could not be documented
externally.
- id 171260: In some cases doxygen produced an incorrect warning about
duplicate detailed descriptions.
- id 171295: It now possible again to link to a (enum)value of a @retval using
#name.
- id 171376: \else command was not properly parsed if the corresponding
\if was disabled.
- id 171749: Using @relatesalso for functions in a namespace didn't work
correctly.
- It is now possible again to use Thing%s to auto-link to a class
Thing and put a non-linked "s" after it.
- Nested anonymous namespaces appeared as @<num> in the
documentation of the parent namespace.
- aliases containing @brief were not handled correctly.
- The class name in the HtmlHelp index was linked to the
first member function of that class instead of the class itself.
Doxygen Release 1.4.1
(release date 11-1-2005)
Bug fixes
- id 163058,163401: Due to a memory corruption bug doxygen could crash under certain conditions
(the Windows binary was the most sensitive to this).
- id 163003,163495: Doxygen crashed when GROUP_GRAPH and UML_LOOK were enabled.
- Book icon in the treeview is now clickable and has the appropriate action (thanks to
Will Bateman).
- Entering the expert dialog in doxywizard now only requires saving the config file
if actual changes were made.
Doxygen Release 1.4.0
(release date 31-12-2004)
Changes
- In the HTML help output (.chm files) the index items with only one
subitem are now collapsed into one item (thanks to Antony Pranata for
the patch).
- Some minor tweaks to the style sheet.
- @relates can now not only be used for functions, but also for
other members (i.e. enums, types and variables).
- Static members do have have explicit "static" in the declaration
part of the documentation. This is useful for grouping where it
is otherwise not obvious that a member is static.
- typedefs and enumeration are no longer shown in the "referenced by"
list as these are types (based on patch by Antoine Tandin).
- Make configure script use solaris-g++ by default (Sun's own compiler
generates faulty code for doxygen).
New features
- Included language update for Serbian, German, and Korean.
- For directories dependency graphs are now generated (controlled
by the DIRECTORY_GRAPH switch). For a given directory, the graph will
show its parent directory and the sub directories as nested boxes.
For the directory and its sub directories it will show the relations
with other directories. Relations are based on #include relations of
the files contained in the directories. Each dependency arrow has an
associated number. This number indicates the number of
different #include relations. Clicking on the number will show a page
with the exact #include relations (the latter is for the HTML output
only).
- Added \cond and \endcond commands, which can be used to
(conditionally) exclude a part of a file. See the manual for an
example.
- Added "-d ExtCmd" debug option, which when used shows what doxygen
will execute when invoking an external command (such as dot).
- New option WARN_NO_PARAMDOC that warns about the absence of function
parameter or return type documentation.
- Nested classes are now listed in their containing class.
- Extended the \f command to support different environments, i.e.
\f{eqnarray*} for equation arrays. The end command is \f}. The
documentation has an example.
- Added support for group dependency graphs
(thanks to a patch by Antoine Tandin): New option: GROUP_GRAPHS
- New option DOT_TRANSPARENT to enable dot graph with a transparent
background. Thanks to Maik Hinrichs for the patch.
- New option FILE_VERSION_FILTER which allows an external tool to
provide version information per file, which is then used in the
file documentation. Thanks to Maik Hinrichs for the patch.
- id 162295: New option DOT_MULTI_TARGETS which when set to YES,
will run dot with multiple output files if possible. This was added
to support older version of dot (<=1.8.10) which do not support multiple
output targets. If you use a recent version of dot, you probably want
to enable this (default is NO).
Bug fixes
- id 119868: Removed warning when </li> ended a @c or similar command.
- id 120367: \~lang didn't work correctly around brief descriptions
and certain commands. It is now implemented as an early filter
operation like \cond.
- id 135311: Recursive ALIAS definitions now work again.
- id 151012: <td> tag in HTML function documentation missed 'class="md"'
- id 154689: Wrong link to members of namespaces imported from tag
files when CASE_SENSE_NAMES is set to NO.
- id 154700: anchors in pages imported via tag files could not be
linked to.
- id 154755: Files were missing from Doxygen.dsp project file.
(thanks to Gerik Rhoden).
- id 154758: Fixed typedef resolution bug that could crash doxygen
(thanks to Gerik Rhoden for the analysis and fix).
- id 154862: Fixed problem matching array parameters that include
template parameters as the array size.
- id 154863: Fixed parsing problem in the preprocessor when an
expression contained the division operator.
- id 154469: Referring to Objective-C messages was broken if the full
scope was used.
- id 155086: Typedef for member-function pointers of template classes
not recognized
- id 155272: Image filenames in RTF output were not quoted causing problem
with custom images whose name contained spaces.
- id 155322: Fixed parse problem for php code containing '#'.
- id 155224: Java interfaces did't resolve across packages w/o FQN.
- id 156411: Return type of a function was not hyperlinked in some cases
(typical with nested namespaces or Java packages).
- id 156445: function seen first in header and doc'ed in
source broke autolinking depending on the order of the input.
- id 157085: Autolinks for const/volatile operators didn't work.
- id 157229: Upper case letters in \page "" breaks title on page.
- id 157433: Multi-variable declarations were not parsed properly.
- id 157485: @todo's inside the body of a function were not handled
properly.
- id 158961: Set EXTRACT_ALL to NO resulted in no directory information
unless the directory and files were documented. This is now controlled
by SHOW_DIRECTORIES.
- id 158481: I did some memory usage analysis with valgrind's massif tool,
which indicated that a lot of memory was used by QCString objects.
This made me decide to reimplement the class and optimize it for
memory usage. The resulting class saves a "new" operation of 12 bytes
per string object, which seems to reduce the overall amount of
memory used by doxygen by a factor 2 to 3! The implementation seemed
more expense to use (as it always copies the content instead of sharing
it), but the performance has improved nevertheless (probably because
"new" is much more expensive operation than copying small strings).
- id 158637: Links to classes in brief description in index pages were
wrong when CREATE_SUBDIRS was set to YES.
- id 158884: "typedef [something] enum" in IDL was not handled properly.
- id 159487: @ref's to Objective-C class categories were not possible.
- id 159973: @todo item in anonymous enum resulted in broken link.
- id 160642: Fixed problem parsing multi-dimensional C arrays.
- id 160673: Borland's __property keyword was not handled correctly.
- id 160824: UML Collab diagram did't show fields in user defined groups.
- id 160931: Made configure script use /bin/bash as it apparently didn't
work with /bin/sh anyway.
- id 161048: Latex output for directories could contain unescaped
underscores when SHOW_DIRECTORIES was set to YES.
- id 161167: /// \file was not parsed properly.
- id 161247: If CALL_GRAPH was enabled references were shown even if
REFERENCES_RELATION was set to NO.
- id 161320: An incorrect line number was given for inherited comments
which have an error.
- id 161321: Fixed problem parsing '"' in PHP code.
- id 161394: Fixed problem with inheritance tree showing the same
undocumented base class multiple times.
- id 161556: Fixed two parse bugs related to member specializations.
- id 162149: URLs with commas were not handled properly.
- id 162271: Doxygen was confused by read-only Qt properties.
- id 162434: void function gave rise to warnings when WARN_NO_PARAMDOC
was set to YES.
- id 162446: Fixed parse problem in code.l, causing it to get off track.
- id 162517: A @ref command was not parsed properly if the argument
between quotes was found on the next line.
- Dot would not run if doxygen was installed in a path which contained
spaces (Mac OS X).
- Functions inside inline methods were not always cross-referenced anymore.
- Latex output was broken in some cases where anonymous structs were used.
- Fixed bug in doxywizard: if the wizard was used some settings
were not remembered.
- Using \n inside an ALIAS definition caused line numbers for
source browsing to become misaligned.
- For included-by graphs files with the same name all had the same
node label.
- The following typedef was not parsed properly:
typedef function<void (int,int)> ptr_t;
- Fixed problems with the WARN_NO_PARAMDOC command.
- Struct members of the form "enum a b;" where not properly parsed.
- Fixed a couple of memory leaks.
- Fixed crash problem on Windows related to the new string implementation.
- Fixed problem with Visual Studio project files (in wintools).
- Included patch by Antoine Tandin to fix problem with GROUP_GRAPHS
in combination with CREATE_SUBDIRS = YES.
- Included patch by Mikhail Glushenkov to make HTML look prettier.
- Parsing operator[]s was broken.
- Referencing constants via #CONST did not work anymore.
- Fixed problem handing multiline ALIASES containing @defgroup and
@ingroup.
- Fixed problem handling \n in ALIASES.
- @section's in non-page documentation blocks did not work.
- Referencing a group label in a @see section, now shows the group's
title i.s.o. the label name (this was already done for @ref).
Go back to the main page.