Doxygen latest release v1.7.6.1 - last page update Sat Dec 10 2011

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: &lsquo; &rsquo; &ldquo; &rdquo; &ndash; &mdash; (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 &szlig; 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

  • id 166254: SORT_BY_SCOPE_NAME didn't work anymore.
  • id 304380: New argument matching algorithm didn't handle the case where "const int" needed to be matched against "const int a" correctly.
  • id 304435: Superfluous backslash in the makefile caused problems for Japanese locale.
  • id 304476: A #define directly after a //!< style comment block was not parsed properly.
  • id 304598: Using operator-- in resulted in broken HTML output due to the embedded doxytag that include the end of a HTML comment.
  • id 304623: Spreading a @fn command over multiple lines didn't work anymore without using line-contination characters.
  • id 304666: Attributes of the same class appeared separated with \n in collaboration diagrams
  • id 304751: A define "foo()" was indisguishable from a define "foo" in the XML output.
  • id 304752: XML location tag attribute "file" could have the syntactially wrong value "<generated>" in some cases.
  • id 305334: INPUT_FILTER tag did not work properly anymore due to additional quotes.
  • id 305364: Improved argument matching routine to avoid cases where declaration and definition of functions/methods could not be matched.
  • id 305439: @link command did not work if the link text started with "const" as part of a longer word.
  • id 305638: operator& was only usable with @copydoc if the method was fully qualified.
  • id 305672: Title of a paragraph was not properly rendered for the RTF output when using \par in ALIASES.
  • id 305740: When putting a \b command in a HTML table cell, doxygen got confused by the cell end tag, causing the rest of the table to be displayed wrongly.
  • id 305768: @todo, @bug, @deprecated, etc, did not always end at the next paragraph.
  • id 305770: For overloaded global functions only the first appeared in the file documentation.
  • id 306028: The text after /*@{ and //@{ was treated as source code instead of a comment block.
  • id 306136: Structural commands were executed even though they appeared within quoted text.
  • id 306200: Putting a command like \author before \brief caused the long description to be glued to the \author command.
  • id 306235: Punctuation is not automatically added to brief descriptions for Japanese, Chinese, and Korean anymore.
  • id 306637: @endcond did not properly end a conditional section when @cond was used without label.
  • id 306711: Brief descriptions ended at a new paragraph even if no content was found and @name didn't work without explicit @{ ... @} block commands.
  • id 306851: Under certain conditions bogus argument documentation could appear.
  • id 306943: Certain constructs could get the code parser off track and could lead to memory corruption.
  • id 307579: Fixed argument matching problem where "unsigned int" did not match "unsigned int i".
  • id 307613: Documented struct fields declared as a comma separated list caused the documentation of all fields to be appended.
  • id 307618: Reference in the source file did not appear if a variable was documented with \var and also had a brief description.
  • id 307954: Parse problem when a /* was nested inside a C-style comment.
  • id 308053: It is now possible to put multiple structural commands into a single comment block. Doxygen will treat them as separate comment blocks internally. Example:
    		  /** @file
    		   *  File documentation.
    		   *  @defgroup grp A Group
    		   *  Group documentation.
    		   */
    		  
  • id 308059: &nbsp; was written as "\ " to the LaTeX output instead of ~.
  • id 308400: The parameter names are now used based on whether the documentation is in front of the declaration or definition.
  • id 309022: Conversion operators inherited from a template class did not appear with the proper type substitution.
  • id 309148: The search index page was not correct if DISABLE_INDEX was set to YES.
  • id 309446: Files beginning with one or more digits were not autolinked.
  • id 309461: Made the configure script look for qt in places like /usr/share/qt3 (debian) and /usr/qt/3/ (gentoo)
  • id 309711: Aliases were expanded inside formulas.
  • id 310012: Made the allowed suffixes for constants in the constant expression evaluator of the C-preprocessor more strict.
  • id 310025: Added explicit type conversion to avoid problems with compiler bugs in Sun's Forte 6.1 and Studio 10 compiler.
  • Fixed argument matching issue exposed by the template example in the examples directory.

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).

Doxygen Release 1.3 and earlier


Go back to the main page.

Follow doxygen on Twitter Doxygen on freshmeat Doxygen on SourceForge