commit f87f01361818800444cf7045d7c8c30d0372e5e9
Author: su-fang
Date: Wed Oct 26 16:06:26 2022 +0800
Import Upstream version 1.9.1
diff --git a/.codedocs b/.codedocs
new file mode 100644
index 0000000..699b915
--- /dev/null
+++ b/.codedocs
@@ -0,0 +1,3 @@
+EXCLUDE = addon cmake doc examples jquery templates testing winbuild src/logos.cpp src/lodepng.cpp
+FILE_PATTERNS = *.h *.cpp *.md
+USE_MDFILE_AS_MAINPAGE = src/doxygen.md
diff --git a/.editorconfig b/.editorconfig
new file mode 100644
index 0000000..ddc5adf
--- /dev/null
+++ b/.editorconfig
@@ -0,0 +1,5 @@
+# See https://editorconfig.org/ for more information.
+
+[*]
+indent_style = space
+indent_size = 2
diff --git a/.github/ISSUE_TEMPLATE/report-a-bug-or-issue.md b/.github/ISSUE_TEMPLATE/report-a-bug-or-issue.md
new file mode 100644
index 0000000..d328fe7
--- /dev/null
+++ b/.github/ISSUE_TEMPLATE/report-a-bug-or-issue.md
@@ -0,0 +1,30 @@
+---
+name: Report a bug or issue
+about: Create a report to help us improve doxygen
+title: ''
+labels: ''
+assignees: ''
+
+---
+
+**Describe the bug**
+Describe what you see that (you think) is wrong.
+
+**Expected behavior**
+Describe what you would have expected or think is correct.
+
+**Screenshots**
+If useful, add screenshots to help explain your problem.
+
+**To Reproduce**
+Attach a self contained example that allows us to reproduce the problem.
+Such an example typically exist of some source code (can be dummy code) and a doxygen configuration file used (you can strip it using `doxygen -s -u`). After you verified the example demonstrates the problem, put it in a zip (or tarball) and attach it to the bug report. Try to avoid linking to external sources, since they might disappear in the future.
+
+**Version**
+Mention the version of doxygen used (output of `doxygen --version`) and the platform on which you run doxygen (e.g. Windows 10, 64 bit). If you run doxygen under Linux please also mention the name and version of the distribution used (output of `lsb_release -a`) and mention if you compiled doxygen yourself or that you use a binary that comes with the distribution or from the doxygen website.
+
+**Stack trace**
+If you encounter a crash and can build doxygen from sources yourself with debug info (`-DCMAKE_BUILD_TYPE=Debug`), a stack trace can be very helpful (especially if it is not possible to capture the problem in a small example that can be shared).
+
+**Additional context**
+Add any other context about the problem here.
diff --git a/.github/workflows/build_cmake.yml b/.github/workflows/build_cmake.yml
new file mode 100644
index 0000000..555319e
--- /dev/null
+++ b/.github/workflows/build_cmake.yml
@@ -0,0 +1,360 @@
+name: CMake Build for Doxygen
+
+on: [push, pull_request]
+
+jobs:
+ build:
+ name: ${{ matrix.config.name }}
+ runs-on: ${{ matrix.config.os }}
+ strategy:
+ fail-fast: false
+ matrix:
+ config:
+ - {
+ name: "Ubuntu Latest GCC Release",
+ os: ubuntu-18.04,
+ build_type: "Release", cc: "gcc", cxx: "g++",
+ build_gen: "Unix Makefiles",
+ cmake_extra_opts: "-Dbuild_search=YES -Dbuild_app=YES -Dbuild_parse=YES -Dbuild_xmlparser=YES"
+ }
+ - {
+ name: "Ubuntu Latest GCC Debug",
+ os: ubuntu-18.04,
+ build_type: "Debug", cc: "gcc", cxx: "g++",
+ build_gen: "Unix Makefiles",
+ cmake_extra_opts: "-Dbuild_search=YES -Dbuild_app=YES -Dbuild_parse=YES -Dbuild_xmlparser=YES"
+ }
+ - {
+ name: "Ubuntu Latest Clang Release",
+ os: ubuntu-20.04,
+ build_type: "Release", cc: "clang", cxx: "clang++",
+ build_gen: "Unix Makefiles",
+ cmake_extra_opts: "-Duse_libclang=YES -Dstatic_libclang=YES -Duse_libc++=NO"
+ }
+ - {
+ name: "Ubuntu Latest Clang Debug",
+ os: ubuntu-20.04,
+ build_type: "Debug", cc: "clang", cxx: "clang++",
+ build_gen: "Unix Makefiles",
+ cmake_extra_opts: "-Duse_libclang=YES -Dstatic_libclang=YES -Duse_libc++=NO"
+ }
+ - {
+ name: "macOS Latest Release",
+ os: macos-latest,
+ build_type: "Release", cc: "clang", cxx: "clang++",
+ build_gen: "Unix Makefiles"
+ }
+ - {
+ name: "macOS Latest Debug",
+ os: macos-latest,
+ build_type: "Debug", cc: "clang", cxx: "clang++",
+ build_gen: "Unix Makefiles"
+ }
+ - {
+ name: "Windows Latest MSVC Debug",
+ os: windows-latest,
+ build_type: "Debug", cc: "cl", cxx: "cl",
+ build_gen: "NMake Makefiles"
+ }
+ - {
+ name: "Windows Latest MSVC Release",
+ os: windows-latest,
+ build_type: "Release", cc: "cl", cxx: "cl",
+ build_gen: "NMake Makefiles"
+ }
+ steps:
+ - uses: actions/checkout@v1
+
+ - name: Download MikTex (Windows)
+ run: |
+ $wc = New-Object System.Net.WebClient;
+ $maxAttempts=5;
+ $attemptCount=0;
+ Do {
+ $attemptCount++;
+ Try {
+ $wc.DownloadFile("https://ctan.math.illinois.edu/systems/win32/miktex/setup/windows-x64/miktexsetup-4.0-x64.zip","miktexsetup-4.0-x64.zip")
+ } Catch [Exception] {
+ Write-Host $_.Exception | format-list -force
+ }
+ } while (((Test-Path "miktexsetup-x64.zip") -eq $false) -and ($attemptCount -le $maxAttempts))
+ shell: pwsh
+ if: matrix.config.os == 'windows-latest'
+
+ - uses: suisei-cn/actions-download-file@v1
+ with:
+ url: "https://github.com/pffang/libiconv-for-Windows/releases/download/v1.16/libiconv-for-Windows_1.16.7z"
+ target: .
+ if: matrix.config.os == 'windows-latest'
+
+ - name: Install LaTeX (Linux)
+ run: sudo apt-get install texlive texlive-latex-recommended texlive-extra-utils texlive-latex-extra texlive-font-utils
+ if: startsWith(matrix.config.os,'ubuntu-')
+
+ - name: Install LaTeX (MacOS)
+ run: |
+ brew install --cask mactex;
+ echo "/Library/TeX/texbin/" >> $GITHUB_PATH
+ if: matrix.config.os == 'macos-latest'
+
+ - name: Install libclang (Ubuntu 20.04)
+ run: |
+ sudo apt remove llvm-8 clang-8 libclang-common-8-dev clang-format-8 libllvm8
+ #sudo apt remove llvm-10 llvm-10-dev llvm-10-tools llvm-10-runtime clang-10 clang-format-10 libclang-common-10-dev libclang-cpp10 libclang1-10 libllvm10
+ sudo apt-get autoremove
+ sudo apt-get clean
+ #sudo apt install libclang-9-dev libclang-common-9-dev
+ sudo apt install libclang-10-dev libclang-common-10-dev
+ apt list --installed | egrep '(clang|llvm)'
+ ls -d /usr/lib/llvm-*/include/
+ clang++ -v
+ if: matrix.config.os == 'ubuntu-20.04'
+
+ - name: Install libxapian (Ubuntu 18.04)
+ run: |
+ sudo apt install libxapian-dev
+ if: matrix.config.os == 'ubuntu-18.04'
+
+ - name: Extract MikTex zip (Windows)
+ shell: bash
+ run: |
+ unzip miktexsetup-4.0-x64.zip
+ if: matrix.config.os == 'windows-latest'
+
+ - name: Download MikTex packages (Windows)
+ shell: bash
+ run: |
+ ./miktexsetup --verbose \
+ --local-package-repository=C:/miktex-repository \
+ --remote-package-repository="https://ctan.math.illinois.edu/systems/win32/miktex/tm/packages/" \
+ --package-set=essential \
+ download
+ if: matrix.config.os == 'windows-latest'
+
+ - name: Install MikTex packages (Windows)
+ shell: bash
+ run: |
+ ./miktexsetup --local-package-repository=C:/miktex-repository \
+ --package-set=essential \
+ --shared \
+ install
+ if: matrix.config.os == 'windows-latest'
+
+ - name: Setting MikTex paths (Windows)
+ shell: bash
+ run: |
+ echo "C:/Program Files/MiKTeX/miktex/bin/x64/" >> $GITHUB_PATH
+ export PATH="/c/Program Files/MiKTeX/miktex/bin/x64/:$PATH"
+
+ echo "Configuring MiKTeX to install missing packages on the fly"
+ initexmf --admin --verbose --set-config-value='[MPM]AutoInstall=1'
+ if: matrix.config.os == 'windows-latest'
+
+ - name: Install Ghostscript (Linux)
+ run: sudo apt-get install ghostscript
+ if: startsWith(matrix.config.os,'ubuntu-')
+
+ - name: Install Ghostscript (Windows)
+ run:
+ choco install ghostscript
+ if: matrix.config.os == 'windows-latest'
+
+ - name: Setting Ghostscript paths (Windows)
+ shell: bash
+ run: |
+ echo "C:/Program Files (x86)/gs/gs9.53.3/bin/" >> $GITHUB_PATH
+ echo "C:/Program Files/gs/gs9.53.3/bin/" >> $GITHUB_PATH
+ export PATH="/c/Program Files (x86)/gs/gs9.53.3/bin/:$PATH"
+ export PATH="/c/Program Files/gs/gs9.53.3/bin/:$PATH"
+ if: matrix.config.os == 'windows-latest'
+
+ - name: Install xmllint (Linux)
+ run: sudo apt-get install libxml2-utils
+ if: startsWith(matrix.config.os,'ubuntu-')
+
+ - name: Install xmllint (MacOS)
+ run: brew install libxml2
+ if: matrix.config.os == 'macos-latest'
+
+ - name: Install bison (MacOS)
+ run: |
+ brew install bison;
+ echo "/usr/local/opt/bison/bin" >> $GITHUB_PATH
+ if: matrix.config.os == 'macos-latest'
+
+ - name: Install bison/flex (Windows)
+ run:
+ choco install winflexbison
+ if: matrix.config.os == 'windows-latest'
+
+ - name: Install Graphviz (Linux)
+ run: sudo apt-get install graphviz
+ if: startsWith(matrix.config.os,'ubuntu-')
+
+ - name: Install Graphviz (MacOS)
+ run: brew install graphviz
+ if: matrix.config.os == 'macos-latest'
+
+ - name: Install Graphviz (Windows)
+ run:
+ choco install graphviz.portable
+ if: matrix.config.os == 'windows-latest'
+
+# - name: Install Perl (Windows)
+# run:
+# choco install activeperl
+# if: matrix.config.os == 'windows-latest'
+
+ - name: Setup VS Environment (Windows)
+ uses: seanmiddleditch/gha-setup-vsdevenv@master
+ if: matrix.config.os == 'windows-latest'
+
+ - name: Refresh Env (Windows)
+ run:
+ refreshenv
+ if: matrix.config.os == 'windows-latest'
+
+ - name: Install Qt
+ uses: jurplel/install-qt-action@v2
+
+ - name: Check tool versions (Linux / MacOS)
+ shell: bash
+ run: |
+ echo "=== perl ===";
+ perl --version;
+ echo "=== python ===";
+ python --version;
+ echo "=== cmake ===";
+ cmake --version;
+ echo "=== latex ===";
+ latex --version;
+ echo "=== bibtex ===";
+ bibtex --version
+ echo "=== dvips ===";
+ dvips --version
+ echo "=== bison ===";
+ bison --version;
+ echo "=== flex ===";
+ flex --version;
+ echo "=== dot ===";
+ dot -V;
+ echo "=== ghostscript ===";
+ gs --version;
+ if: matrix.config.os != 'windows-latest'
+
+ - name: Check tool versions (Windows)
+ shell: bash
+ run: |
+ echo "=== perl ===";
+ perl --version;
+ echo "=== python ===";
+ python --version;
+ echo "=== cmake ===";
+ cmake --version;
+ echo "=== latex ===";
+ latex --version;
+ echo "=== bibtex ===";
+ bibtex --version
+ echo "=== dvips ===";
+ dvips --version
+ echo "=== bison ===";
+ win_bison --version;
+ echo "=== flex ===";
+ win_flex --version;
+ echo "=== dot ===";
+ dot -V;
+ echo "=== ghostscript ===";
+ gswin64c --version;
+ if: matrix.config.os == 'windows-latest'
+
+ - name: Configure
+ shell: cmake -P {0}
+ run: |
+ set(ENV{CC} ${{ matrix.config.cc }})
+ set(ENV{CXX} ${{ matrix.config.cxx }})
+
+ execute_process(
+ COMMAND cmake
+ -S .
+ -B build
+ -D CMAKE_BUILD_TYPE=${{ matrix.config.build_type }}
+ -G "${{ matrix.config.build_gen }}"
+ -Dbuild_doc=YES
+ -Dbuild_wizard=YES
+ ${{ matrix.config.cmake_extra_opts }}
+ RESULT_VARIABLE result
+ )
+ if (NOT result EQUAL 0)
+ message(FATAL_ERROR "Bad exit status")
+ endif()
+
+ - name: Build
+ shell: cmake -P {0}
+ run: |
+ include(ProcessorCount)
+ ProcessorCount(N)
+ execute_process(
+ COMMAND cmake --build build --parallel ${N}
+ RESULT_VARIABLE result
+ OUTPUT_VARIABLE output
+ ERROR_VARIABLE output
+ ECHO_OUTPUT_VARIABLE ECHO_ERROR_VARIABLE
+ )
+ if (NOT result EQUAL 0)
+ string(REGEX MATCH "FAILED:.*$" error_message "${output}")
+ string(REPLACE "\n" "%0A" error_message "${error_message}")
+ message("::error::${error_message}")
+ message(FATAL_ERROR "Build failed")
+ endif()
+
+ - name: Archive build artifacts
+ uses: actions/upload-artifact@v2
+ with:
+ name: "${{ matrix.config.name }} build artifacts"
+ path: build/bin/
+
+ - name: Run tests (Linux / MacOS)
+ shell: cmake -P {0}
+ run: |
+ include(ProcessorCount)
+ ProcessorCount(N)
+
+ set(ENV{CTEST_OUTPUT_ON_FAILURE} "ON")
+
+ execute_process(
+ COMMAND cmake --build build --target tests TEST_FLAGS="--xml --xmlxsd --xhtml --docbook --rtf"
+ RESULT_VARIABLE result
+ )
+ if (NOT result EQUAL 0)
+ message(FATAL_ERROR "Running tests failed!")
+ endif()
+ if: matrix.config.os != 'windows-latest'
+
+ - name: Run tests (Windows)
+ shell: cmake -P {0}
+ run: |
+ include(ProcessorCount)
+ ProcessorCount(N)
+
+ set(ENV{CTEST_OUTPUT_ON_FAILURE} "ON")
+
+ execute_process(
+ COMMAND cmake --build build --target tests TEST_FLAGS="--xml --xmlxsd"
+ RESULT_VARIABLE result
+ )
+ if (NOT result EQUAL 0)
+ message(FATAL_ERROR "Running tests failed!")
+ endif()
+ if: matrix.config.os == 'windows-latest'
+
+ - name: Generate documentation
+ shell: cmake -P {0}
+ run: |
+ execute_process(
+ COMMAND cmake --build build --target docs
+ RESULT_VARIABLE result
+ )
+ if (NOT result EQUAL 0)
+ message(FATAL_ERROR "Building documentation failed")
+ endif()
+ if: matrix.config.os != 'windows-latest'
diff --git a/.gitignore b/.gitignore
new file mode 100644
index 0000000..b599b7a
--- /dev/null
+++ b/.gitignore
@@ -0,0 +1,20 @@
+*~
+.*sw?
+\#*
+.DS_Store
+
+*.rej
+*.orig
+
+*.pro
+/packages/rpm/doxygen.spec
+*.idb
+*.pdb
+
+/doxygen_docs
+/doxygen.tag
+/build*
+
+tags
+
+.idea
diff --git a/.pc/.quilt_patches b/.pc/.quilt_patches
new file mode 100644
index 0000000..6857a8d
--- /dev/null
+++ b/.pc/.quilt_patches
@@ -0,0 +1 @@
+debian/patches
diff --git a/.pc/.quilt_series b/.pc/.quilt_series
new file mode 100644
index 0000000..c206706
--- /dev/null
+++ b/.pc/.quilt_series
@@ -0,0 +1 @@
+series
diff --git a/.pc/.version b/.pc/.version
new file mode 100644
index 0000000..0cfbf08
--- /dev/null
+++ b/.pc/.version
@@ -0,0 +1 @@
+2
diff --git a/.pc/applied-patches b/.pc/applied-patches
new file mode 100644
index 0000000..e2cf668
--- /dev/null
+++ b/.pc/applied-patches
@@ -0,0 +1,10 @@
+manpages.diff
+dot-config.diff
+no-timestamps.diff
+avoid-compass.diff
+fix-pdflatex-invocation.diff
+faketime_pdflatex.diff
+libatomic.diff
+reproducible_changelog.diff
+reproducible_manpages.diff
+sass_fix.diff
diff --git a/.pc/avoid-compass.diff/jquery/Makefile b/.pc/avoid-compass.diff/jquery/Makefile
new file mode 100644
index 0000000..4da7f94
--- /dev/null
+++ b/.pc/avoid-compass.diff/jquery/Makefile
@@ -0,0 +1,38 @@
+JQUERY_VERSION = 3.4.1
+JQUERY_UI_VERSION = 1.12.1
+SCROLL_VERSION = 2.1.2
+POWERTIP_VERSION = 1.3.1
+TOUCHPUNCH_VERSION = 0.2.3
+SMARTMENUS_VERSION = 1.1.0
+
+MINIFIER ?= /usr/local/bin/yuicompressor-2.4.7
+SCRIPTS = jquery-$(JQUERY_VERSION).min.js \
+ jquery.ui-$(JQUERY_UI_VERSION).min.js \
+ jquery.scrollTo-$(SCROLL_VERSION).min.js \
+ jquery.powertip-$(POWERTIP_VERSION).mod.min.js \
+ jquery.ui.touch-punch-$(TOUCHPUNCH_VERSION).min.js \
+ jquery.smartmenus-$(SMARTMENUS_VERSION).min.js
+RESULTS = jquery.js doxmenu-min.css
+
+all: $(RESULTS)
+
+install: $(RESULTS)
+ cp jquery.js ../templates/html/jquery.js
+ cp doxmenu-min.css ../templates/html/tabs.css
+
+jquery.js: $(SCRIPTS)
+ cat $(SCRIPTS) > jquery.js
+
+doxmenu-min.css: sm-core-css.css \
+ sass/sm-dox.scss \
+ sass/_round-corners-last-item.scss \
+ sass/_sm-dox.scss \
+ sass/_sub-items-indentation.scss
+ compass compile --css-dir . --force sass/sm-dox.scss
+ cat sm-core-css.css sm-dox.css > doxmenu.css
+ java -jar $(MINIFIER).jar doxmenu.css > doxmenu-min.css
+ rm -f sm-dox.css doxmenu.css
+
+clean:
+ rm -rf $(RESULTS) doxmenu.css .sass-cache
+
diff --git a/.pc/avoid-compass.diff/jquery/sass/_round-corners-last-item.scss b/.pc/avoid-compass.diff/jquery/sass/_round-corners-last-item.scss
new file mode 100644
index 0000000..70a8391
--- /dev/null
+++ b/.pc/avoid-compass.diff/jquery/sass/_round-corners-last-item.scss
@@ -0,0 +1,23 @@
+// Generate rules to round the corners of the last collapsible item
+
+@mixin sm-dox__round-corners-last-item($amount, $chainable: 'ul > li:last-child > ', $level: 4, $chain_prefix: '> li:last-child > ', $chain: '', $selector: '') {
+ $chain: $chain_prefix;
+ $selector: $chain + 'a, ' + $chain + '*:not(ul) a, ' + $chain + 'ul';
+ @for $i from 1 through $level {
+ $chain: $chain + $chainable;
+ $selector: $selector + ', ' + $chain + ' a, ' + $chain + '*:not(ul) a, ' + $chain + ' ul';
+ }
+ #{$selector} {
+ @include border-radius(0 0 $amount $amount);
+ }
+ // highlighted items, don't need rounding since their sub is open
+ $chain: $chain_prefix;
+ $selector: $chain + 'a.highlighted, ' + $chain + '*:not(ul) a.highlighted';
+ @for $i from 1 through $level {
+ $chain: $chain + $chainable;
+ $selector: $selector + ', ' + $chain + ' a.highlighted, ' + $chain + '*:not(ul) a.highlighted';
+ }
+ #{$selector} {
+ @include border-radius(0);
+ }
+}
diff --git a/.pc/avoid-compass.diff/jquery/sass/_sm-dox.scss b/.pc/avoid-compass.diff/jquery/sass/_sm-dox.scss
new file mode 100644
index 0000000..81a4e74
--- /dev/null
+++ b/.pc/avoid-compass.diff/jquery/sass/_sm-dox.scss
@@ -0,0 +1,594 @@
+@import 'compass';
+
+// This file is best viewed with Tab size 4 code indentation
+
+
+// -----------------------------------------------------------------------------------------------------------------
+// 1. Theme Quick Settings (Variables)
+// (for further control, you will need to dig into the actual CSS in 2.)
+// -----------------------------------------------------------------------------------------------------------------
+
+
+// ----------------------------------------------------------
+// :: 1.1. Colors
+// ----------------------------------------------------------
+
+$sm-dox__white: #fff !default;
+$sm-dox__gray: darken($sm-dox__white, 6.5%) !default;
+$sm-dox__gray-dark: darken($sm-dox__white, 26.5%) !default;
+$sm-dox__gray-darker: darken($sm-dox__white, 66.5%) !default;
+$sm-dox__red: #D23600 !default;
+
+$sm-dox__box-shadow: rgba(0, 0, 0, 0.2) !default;
+
+
+// ----------------------------------------------------------
+// :: 1.2. Breakpoints
+// ----------------------------------------------------------
+
+$sm-dox__desktop-vp: 768px !default; // switch from collapsible to desktop
+
+
+// ----------------------------------------------------------
+// :: 1.3. Typography
+// ----------------------------------------------------------
+
+$sm-dox__font-family: "Lucida Grande", "Geneva", "Helvetica", Arial, sans-serif !default;
+$sm-dox__font-size-base: 13px !default;
+$sm-dox__font-size-small: 12px !default;
+$sm-dox__line-height: 15px !default;
+
+
+// ----------------------------------------------------------
+// :: 1.4. Borders
+// ----------------------------------------------------------
+
+$sm-dox__border-width: 1px !default;
+$sm-dox__border-radius: 5px !default;
+
+
+// ----------------------------------------------------------
+// :: 1.5. Collapsible main menu
+// ----------------------------------------------------------
+
+// Menu box
+//$sm-dox__collapsible-bg: $sm-dox__gray !default;
+$sm-dox__collapsible-bg: url('tab_b.png') !default;
+$sm-dox__collapsible-border-radius: $sm-dox__border-radius !default;
+
+// Items
+$sm-dox__collapsible-item-color: $sm-dox__gray-darker !default;
+$sm-dox__collapsible-item-current-color: $sm-dox__red !default;
+$sm-dox__collapsible-item-disabled-color: darken($sm-dox__gray, 20%) !default;
+$sm-dox__collapsible-item-padding-vertical: 0px !default;
+$sm-dox__collapsible-item-padding-horizontal: 12px !default;
+
+// Items separators
+$sm-dox__collapsible-separators-color: rgba(0, 0, 0, 0.05) !default;
+
+// Toggle button (sub menu indicators)
+$sm-dox__collapsible-toggle-bg: rgba(255, 255, 255, 0.5) !default;
+
+
+// ----------------------------------------------------------
+// :: 1.6. Collapsible sub menus
+// ----------------------------------------------------------
+
+// Menu box
+$sm-dox__collapsible-sub-bg: rgba(darken($sm-dox__gray, 30%), 0.1) !default;
+
+// Items text indentation for deeper levels
+$sm-dox__collapsible-sub-item-indentation: 8px !default;
+
+
+// ----------------------------------------------------------
+// :: 1.7. Desktop main menu
+// ----------------------------------------------------------
+
+// Menu box
+//$sm-dox__desktop-bg: $sm-dox__gray !default;
+$sm-dox__desktop-bg: url('tab_b.png') !default;
+//$sm-dox__desktop-border-radius: 100px !default;
+$sm-dox__desktop-padding-horizontal: 10px !default;
+
+// Items
+$sm-dox__desktop-item-color: $sm-dox__gray_darker !default;
+$sm-dox__desktop-item-hover-color: $sm-dox__red !default;
+$sm-dox__desktop-item-current-color: $sm-dox__red !default;
+$sm-dox__desktop-item-disabled-color: darken($sm-dox__gray, 20%) !default;
+$sm-dox__desktop-item-padding-vertical: 0px !default;
+$sm-dox__desktop-item-padding-horizontal: 12px !default;
+
+// Sub menu indicators
+$sm-dox__desktop-arrow-size: 4px !default; // border-width
+$sm-dox__desktop-arrow-color: $sm-dox__gray-darker !default;
+$sm-dox__desktop-arrow-spacing: 4px !default;
+
+// Vertical menu box
+$sm-dox__desktop-vertical-border-radius: $sm-dox__border-radius !default;
+$sm-dox__desktop-vertical-padding-vertical: 10px !default;
+
+// Vertical items
+$sm-dox__desktop-vertical-item-hover-bg: $sm-dox__white !default;
+$sm-dox__desktop-vertical-item-padding-vertical: 10px !default;
+$sm-dox__desktop-vertical-item-padding-horizontal: 20px !default;
+
+$sm-dox__main-text-color: #283A5D !default;
+$sm-dox__main-highlight-color: white !default;
+
+// ----------------------------------------------------------
+// :: 1.8. Desktop sub menus
+// ----------------------------------------------------------
+
+// Menu box
+$sm-dox__desktop-sub-bg: $sm-dox__white !default;
+$sm-dox__desktop-sub-border-color: $sm-dox__gray-dark !default;
+$sm-dox__desktop-sub-border-radius: $sm-dox__border-radius !default;
+$sm-dox__desktop-sub-box-shadow: 0 5px 9px $sm-dox__box-shadow !default;
+$sm-dox__desktop-sub-padding-vertical: 5px !default;
+$sm-dox__desktop-sub-padding-horizontal: 0 !default;
+
+// Items
+$sm-dox__desktop-sub-item-color: $sm-dox__gray_darker !default;
+$sm-dox__desktop-sub-item-hover-color: $sm-dox__red !default;
+$sm-dox__desktop-sub-item-hover-bg: $sm-dox__gray !default;
+$sm-dox__desktop-sub-item-current-color: $sm-dox__red !default;
+$sm-dox__desktop-sub-item-disabled-color: darken($sm-dox__white, 20%) !default;
+$sm-dox__desktop-sub-item-padding-vertical: 10px !default;
+$sm-dox__desktop-sub-item-padding-horizontal: 20px !default;
+
+// Sub menu indicators
+$sm-dox__desktop-sub-arrow-size: 5px !default; // border-width
+
+// Sub menu carets
+$sm-dox__desktop-sub-caret-size: 8px !default; // border-width
+$sm-dox__desktop-sub-caret-left: 30px !default;
+
+$sm-dox__main-row-height: 36px !default;
+
+// -----------------------------------------------------------------------------------------------------------------
+// 2. Theme CSS
+// -----------------------------------------------------------------------------------------------------------------
+
+
+// ----------------------------------------------------------
+// :: 2.1. Collapsible mode (mobile first)
+// ----------------------------------------------------------
+
+// calc item height and sub menus toggle button size
+$sm-dox__item-height: $sm-dox__line-height + $sm-dox__collapsible-item-padding-vertical * 2;
+// set toggle button size to 80% of item height
+$sm-dox__toggle-size: floor($sm-dox__main-row-height * 0.8);
+$sm-dox__toggle-spacing: floor($sm-dox__main-row-height * 0.1);
+
+// Main menu box
+.sm-dox {
+ background-image: $sm-dox__collapsible-bg;
+ //@include border-radius($sm-dox__collapsible-border-radius);
+
+ // Main menu items
+ a {
+ &,
+ &:focus,
+ &:hover,
+ &:active {
+ padding: $sm-dox__collapsible-item-padding-vertical $sm-dox__collapsible-item-padding-horizontal;
+ /* make room for the toggle button (sub indicator) */
+ padding-right: $sm-dox__collapsible-item-padding-horizontal + $sm-dox__toggle-size + $sm-dox__toggle-spacing;
+ /* color: $sm-dox__collapsible-item-color; */
+ font-family: $sm-dox__font-family;
+ font-size: $sm-dox__font-size-base;
+ font-weight: bold;
+ line-height: 36px; //$sm-dox__line-height;
+ text-decoration: none;
+ text-shadow: 0px 1px 1px rgba(255, 255, 255, 0.9);
+ color: $sm-dox__main-text-color;
+ outline: none;
+ }
+
+ &:hover {
+ background-image: url('tab_a.png');
+ background-repeat:repeat-x;
+ color: $sm-dox__main-highlight-color;
+ text-shadow: 0px 1px 1px rgba(0, 0, 0, 1.0);
+ }
+
+ &.current {
+ color: $sm-dox__collapsible-item-current-color;
+ }
+
+ &.disabled {
+ color: $sm-dox__collapsible-item-disabled-color;
+ }
+
+ // Toggle buttons (sub menu indicators)
+ span.sub-arrow {
+ position: absolute;
+ top: 50%;
+ margin-top: -(ceil($sm-dox__toggle-size / 2));
+ left: auto;
+ right: $sm-dox__toggle-spacing;
+ width: $sm-dox__toggle-size;
+ height: $sm-dox__toggle-size;
+ overflow: hidden;
+ font: bold #{$sm-dox__font-size-small}/#{$sm-dox__toggle-size} monospace !important;
+ text-align: center;
+ text-shadow: none;
+ background: $sm-dox__collapsible-toggle-bg;
+ @include border-radius($sm-dox__border-radius);
+ }
+ // Change + to - on sub menu expand
+ &.highlighted span.sub-arrow:before {
+ display: block;
+ content: '-';
+ }
+ }
+
+ // round the corners of the first item
+ > li:first-child > a, > li:first-child > :not(ul) a {
+ @include border-radius($sm-dox__collapsible-border-radius $sm-dox__collapsible-border-radius 0 0);
+ }
+ // round the corners of the last item
+ @include sm-dox__round-corners-last-item($sm-dox__collapsible-border-radius);
+
+ // Main menu items separators
+ //li {
+ // /*border-top: 1px solid $sm-dox__collapsible-separators-color;*/
+ // border-top: 0;
+ //}
+ //> li:first-child {
+ // border-top: 0;
+ //}
+
+ // Sub menus box
+ ul {
+ background: $sm-dox__collapsible-sub-bg;
+
+ // Sub menus items
+ a {
+ &,
+ &:focus,
+ &:hover,
+ &:active {
+ font-size: $sm-dox__font-size-small;
+ // add indentation for sub menus text
+ border-left: $sm-dox__collapsible-sub-item-indentation solid transparent;
+ //line-height: $sm-dox__line-height;
+ line-height: $sm-dox__main-row-height;
+ text-shadow: none;
+ background-color: white;
+ background-image: none;
+ }
+
+ &:hover {
+ // color: $sm-dox__collapsible-item-current-color;
+ // background-color: $sm-dox__gray;
+ background-image: url('tab_a.png');
+ background-repeat:repeat-x;
+ color: $sm-dox__main-highlight-color;
+ text-shadow: 0px 1px 1px rgba(0, 0, 0, 1.0);
+ }
+
+ }
+
+ // Add indentation for sub menus text for deeper levels
+ @include sm-dox__sub-items-indentation($sm-dox__collapsible-sub-item-indentation);
+ }
+}
+
+
+// ----------------------------------------------------------
+// :: 2.2. Desktop mode
+// ----------------------------------------------------------
+
+@media (min-width: $sm-dox__desktop-vp) {
+
+ /* Switch to desktop layout
+ -----------------------------------------------
+ These transform the menu tree from
+ collapsible to desktop (navbar + dropdowns)
+ -----------------------------------------------*/
+ /* start... (it's not recommended editing these rules) */
+ .sm-dox ul{position:absolute;width:12em;}
+ .sm-dox li{float:left;}
+ .sm-dox.sm-rtl li{float:right;}
+ .sm-dox ul li,.sm-dox.sm-rtl ul li,.sm-dox.sm-vertical li{float:none;}
+ .sm-dox a{white-space:nowrap;}
+ .sm-dox ul a,.sm-dox.sm-vertical a{white-space:normal;}
+ .sm-dox .sm-nowrap > li > a,.sm-dox .sm-nowrap > li > :not(ul) a{white-space:nowrap;}
+ /* ...end */
+
+ // Main menu box
+ .sm-dox {
+ padding: 0 $sm-dox__desktop-padding-horizontal;
+ background-image: $sm-dox__desktop-bg;
+ line-height: 36px;
+ //@include border-radius($sm-dox__desktop-border-radius);
+
+ // Main menu items
+ a {
+ // Sub menu indicators
+ span.sub-arrow {
+ top: 50%;
+ margin-top: -(ceil($sm-dox__desktop-arrow-size / 2));
+ right: $sm-dox__desktop-item-padding-horizontal;
+ width: 0;
+ height: 0;
+ border-width: $sm-dox__desktop-arrow-size;
+ border-style: solid dashed dashed dashed;
+ border-color: $sm-dox__main-text-color transparent transparent transparent;
+ background: transparent;
+ @include border-radius(0);
+ }
+
+ &,
+ &:focus,
+ &:active,
+ &:hover,
+ &.highlighted {
+ padding: $sm-dox__desktop-item-padding-vertical $sm-dox__desktop-item-padding-horizontal;
+ /*color: $sm-dox__desktop-item-color;*/
+ background-image:url('tab_s.png');
+ background-repeat:no-repeat;
+ background-position:right;
+ @include border-radius(0 !important);
+ }
+ &:hover {
+ background-image: url('tab_a.png');
+ background-repeat:repeat-x;
+ color: $sm-dox__main-highlight-color;
+ text-shadow: 0px 1px 1px rgba(0, 0, 0, 1.0);
+ span.sub-arrow {
+ border-color: $sm-dox__main-highlight-color transparent transparent transparent;
+ }
+ }
+
+ // Make room for the sub arrows
+ &.has-submenu {
+ padding-right: $sm-dox__desktop-item-padding-horizontal + $sm-dox__desktop-arrow-size * 2 + $sm-dox__desktop-arrow-spacing;
+ }
+ }
+
+ // No main menu items separators
+ li {
+ border-top: 0;
+ }
+
+ // First sub level carets
+ > li > ul:before,
+ > li > ul:after {
+ content: '';
+ position: absolute;
+ top: -($sm-dox__desktop-sub-caret-size * 2 + $sm-dox__border-width * 2);
+ left: $sm-dox__desktop-sub-caret-left;
+ width: 0;
+ height: 0;
+ overflow: hidden;
+ border-width: ($sm-dox__desktop-sub-caret-size + $sm-dox__border-width);
+ border-style: dashed dashed solid dashed;
+ border-color: transparent transparent $sm-dox__gray-dark transparent;
+ }
+ > li > ul:after {
+ top: -($sm-dox__desktop-sub-caret-size * 2);
+ left: ($sm-dox__desktop-sub-caret-left + $sm-dox__border-width);
+ border-width: $sm-dox__desktop-sub-caret-size;
+ border-color: transparent transparent $sm-dox__desktop-sub-bg transparent;
+ }
+
+ // Sub menus box
+ ul {
+ border: $sm-dox__border-width solid $sm-dox__gray-dark;
+ padding: $sm-dox__desktop-sub-padding-vertical $sm-dox__desktop-sub-padding-horizontal;
+ background: $sm-dox__desktop-sub-bg;
+ @include border-radius($sm-dox__desktop-sub-border-radius !important);
+ @include box-shadow($sm-dox__desktop-sub-box-shadow);
+
+ // Sub menus items
+ a {
+ span.sub-arrow {
+ right: 8px;
+ top: 50%;
+ margin-top: -$sm-dox__desktop-sub-arrow-size;
+ border-width: $sm-dox__desktop-sub-arrow-size;
+ border-color: transparent transparent transparent $sm-dox__desktop-sub-item-color;
+ border-style: dashed dashed dashed solid;
+ }
+
+ &,
+ &:hover,
+ &:focus,
+ &:active,
+ &.highlighted {
+ color: $sm-dox__desktop-sub-item-color;
+ background-image:none;
+ border: 0 !important;
+ color: $sm-dox__desktop-sub-item-color;
+ background-image:none;
+ }
+
+ &:hover {
+ background-image: url('tab_a.png');
+ background-repeat:repeat-x;
+ color: $sm-dox__main-highlight-color;
+ text-shadow: 0px 1px 1px rgba(0, 0, 0, 1.0);
+ span.sub-arrow {
+ border-color: transparent transparent transparent $sm-dox__main-highlight-color;
+ }
+ }
+ }
+ }
+
+ // Scrolling arrows containers for tall sub menus - test sub menu: "Sub test" -> "more..." in the default download package
+ span.scroll-up,
+ span.scroll-down {
+ position: absolute;
+ display: none;
+ visibility: hidden;
+ overflow: hidden;
+ background: $sm-dox__desktop-sub-bg;
+ height: 36px;
+ // width and position will be set automatically by the script
+
+ &:hover {
+ background: $sm-dox__desktop-sub-item-hover-bg;
+ }
+ }
+ span.scroll-up:hover span.scroll-up-arrow {
+ border-color: transparent transparent $sm-dox__desktop-sub-item-hover-color transparent;
+ }
+ span.scroll-down:hover span.scroll-down-arrow {
+ border-color: $sm-dox__desktop-sub-item-hover-color transparent transparent transparent;
+ }
+ span.scroll-up-arrow {
+ position: absolute;
+ top: 0;
+ left: 50%;
+ margin-left: -6px;
+ // we will use one-side border to create a triangle so that we don't use a real background image, of course, you can use a real image if you like too
+ width: 0;
+ height: 0;
+ overflow: hidden;
+ border-width: 6px; // tweak size of the arrow
+ border-style: dashed dashed solid dashed;
+ border-color: transparent transparent $sm-dox__desktop-sub-item-color transparent;
+ }
+ span.scroll-down-arrow {
+ @extend span.scroll-up-arrow;
+ top: 8px;
+ border-style: solid dashed dashed dashed;
+ border-color: $sm-dox__desktop-sub-item-color transparent transparent transparent;
+ }
+
+
+ // Rigth-to-left
+
+ // Main menu box
+ &.sm-rtl {
+
+ // Main menu items
+ a {
+
+ // Make room for the sub arrows
+ &.has-submenu {
+ padding-right: $sm-dox__desktop-item-padding-horizontal;
+ padding-left: $sm-dox__desktop-item-padding-horizontal + $sm-dox__desktop-arrow-size * 2 + $sm-dox__desktop-arrow-spacing;
+ }
+
+ // Sub menu indicators
+ span.sub-arrow {
+ right: auto;
+ left: $sm-dox__desktop-item-padding-horizontal;
+ }
+ }
+
+ // Vertical main menu items
+ &.sm-vertical {
+ a {
+
+ // No need for additional room for the sub arrows
+ &.has-submenu {
+ padding: $sm-dox__desktop-vertical-item-padding-vertical $sm-dox__desktop-vertical-item-padding-horizontal;
+ }
+
+ // Sub menu indicators
+ span.sub-arrow {
+ right: auto;
+ left: 8px;
+ border-style: dashed solid dashed dashed;
+ border-color: transparent $sm-dox__desktop-arrow-color transparent transparent;
+ }
+ }
+ }
+
+ // First sub level carets
+ > li > ul:before {
+ left: auto;
+ right: $sm-dox__desktop-sub-caret-left;
+ }
+ > li > ul:after {
+ left: auto;
+ right: ($sm-dox__desktop-sub-caret-left + $sm-dox__border-width);
+ }
+
+ // Sub menus box
+ ul {
+ a {
+
+ // No need for additional room for the sub arrows
+ &.has-submenu {
+ padding: $sm-dox__desktop-sub-item-padding-vertical $sm-dox__desktop-sub-item-padding-horizontal !important;
+ }
+
+ // Sub menu indicators
+ span.sub-arrow {
+ right: auto;
+ left: 8px;
+ border-style: dashed solid dashed dashed;
+ border-color: transparent $sm-dox__desktop-arrow-color transparent transparent;
+ }
+ }
+ }
+ }
+
+
+ // Vertical main menu
+
+ // Main menu box
+ &.sm-vertical {
+ padding: $sm-dox__desktop-vertical-padding-vertical 0;
+ @include border-radius($sm-dox__desktop-vertical-border-radius);
+
+ // Main menu items
+ a {
+ padding: $sm-dox__desktop-vertical-item-padding-vertical $sm-dox__desktop-vertical-item-padding-horizontal;
+
+ &:hover,
+ &:focus,
+ &:active,
+ &.highlighted {
+ background: $sm-dox__desktop-vertical-item-hover-bg;
+ }
+
+ &.disabled {
+ background-image: $sm-dox__desktop-bg;
+ }
+
+ // Sub menu indicators
+ span.sub-arrow {
+ right: 8px;
+ top: 50%;
+ margin-top: -$sm-dox__desktop-sub-arrow-size;
+ border-width: $sm-dox__desktop-sub-arrow-size;
+ border-style: dashed dashed dashed solid;
+ border-color: transparent transparent transparent $sm-dox__desktop-arrow-color;
+ }
+ }
+
+ // No sub level carets
+ > li > ul:before,
+ > li > ul:after {
+ display: none;
+ }
+
+ // Sub menus box
+ ul {
+
+ // Sub menus items
+ a {
+ padding: $sm-dox__desktop-sub-item-padding-vertical $sm-dox__desktop-sub-item-padding-horizontal;
+
+ &:hover,
+ &:focus,
+ &:active,
+ &.highlighted {
+ background: $sm-dox__desktop-sub-item-hover-bg;
+ }
+
+ &.disabled {
+ background: $sm-dox__desktop-sub-bg;
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/.pc/dot-config.diff/src/config.xml b/.pc/dot-config.diff/src/config.xml
new file mode 100644
index 0000000..c0b846a
--- /dev/null
+++ b/.pc/dot-config.diff/src/config.xml
@@ -0,0 +1,3744 @@
+
+
+
+ =) and one or more values. If the same tag
+is assigned more than once, the last assignment overwrites any earlier
+assignment. For tags that take a list as their argument,
+the += operator can be used instead of = to append
+new values to the list. Values are sequences of non-blanks. If the value should
+contain one or more blanks it must be surrounded by quotes ("...").
+Multiple lines can be concatenated by inserting a backslash (\c \\)
+as the last character of a line. Environment variables can be expanded
+using the pattern \$(ENV_VARIABLE_NAME).
+
+You can also include part of a configuration file from another configuration
+file using a \@INCLUDE tag as follows:
+\verbatim
+@INCLUDE = config_file_name
+\endverbatim
+The include file is searched in the current working directory. You can
+also specify a list of directories that should be searched before looking
+in the current working directory. Do this by putting a \@INCLUDE_PATH tag
+with these paths before the \@INCLUDE tag, e.g.:
+\verbatim
+@INCLUDE_PATH = my_config_dir
+\endverbatim
+
+The configuration options can be divided into several categories.
+Below is an alphabetical index of the tags that are recognized
+followed by the descriptions of the tags grouped by category.
+]]>
+
+
+
+All text after a double hash (##) is considered a comment and is placed
+in front of the TAG it is preceding.
+All text after a single hash (#) is considered a comment and will be ignored.
+The format is:
+\verbatim
+ TAG = value [value, ...]
+\endverbatim
+For lists, items can also be appended using:
+\verbatim
+ TAG += value [value, ...]
+\endverbatim
+Values that contain spaces should be placed between quotes (\" \").
+]]>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Doxygen ships with an example indexer (\c doxyindexer) and
+ search engine (doxysearch.cgi) which are based on the open source search
+ engine library Xapian.
+ See the section \ref extsearch for details.
+]]>
+
+
+
+
+Doxygen ships with an example indexer (\c doxyindexer) and
+ search engine (doxysearch.cgi) which are based on the open source search
+ engine library Xapian.
+ See the section \ref extsearch for details.
+]]>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Note that when not enabling \ref cfg_use_pdflatex "USE_PDFLATEX" the default is \c latex when
+ enabling \ref cfg_use_pdflatex "USE_PDFLATEX" the default is \c pdflatex and when in the later case
+ \c latex is chosen this is overwritten by \c pdflatex. For specific output languages the default can
+ have been set differently, this depends on the implementation of the output language.
+]]>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Note: Only use a user-defined header if you know what you are doing!
+
+ The following commands have a special meaning inside the header:
+ \$title, \$datetime, \$date,
+ \$doxygenversion, \$projectname,
+ \$projectnumber, \$projectbrief,
+ \$projectlogo.
+ Doxygen will replace \$title with the empty string, for the replacement values of the
+ other commands the user is referred to \ref cfg_html_header "HTML_HEADER".
+]]>
+
+
+
+
+Note: Only use a user-defined footer if you know what you are doing!
+]]>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ See also section \ref cfg_latex_cmd_name "LATEX_CMD_NAME" for selecting the engine.
+]]>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Note that which sources are shown also depends on other settings
+ such as \ref cfg_source_browser "SOURCE_BROWSER".
+]]>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Note: WordPad (write) and others do not support links.
+]]>
+
+
+
+
+
+ See also section \ref doxygen_usage for information on how to generate
+ the default style sheet that doxygen normally uses.
+
+]]>
+
+
+
+
+doxygen -e rtf extensionFile.
+]]>
+
+
+
+
+Note that which sources are shown also depends on other settings
+ such as \ref cfg_source_browser "SOURCE_BROWSER".
+]]>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Note that this
+ feature is still experimental and incomplete at the
+ moment.
+]]>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+name or name=definition (no spaces).
+ If the definition and the \c "=" are omitted, \c "=1" is assumed. To prevent
+ a macro definition from being undefined via \c \#undef or recursively expanded
+ use the := operator instead of the \c = operator.
+]]>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Graphviz, a graph
+ visualization toolkit from AT\&T and Lucent Bell Labs. The other options in
+ this section have no effect if this option is set to \c NO
+]]>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Note that enabling this option will significantly increase the time of a run.
+ So in most cases it will be better to enable call graphs for selected
+ functions only using the \ref cmdcallgraph "\\callgraph" command.
+ Disabling a call graph can be accomplished by means of the command
+ \ref cmdhidecallgraph "\\hidecallgraph".
+]]>
+
+
+
+
+Note that enabling this option will significantly increase the time of a run.
+ So in most cases it will be better to enable caller graphs for selected
+ functions only using the \ref cmdcallergraph "\\callergraph" command.
+ Disabling a caller graph can be accomplished by means of the command
+ \ref cmdhidecallergraph "\\hidecallergraph".
+]]>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Graphviz).
+ \note If you choose \c svg you need to set
+ \ref cfg_html_file_extension "HTML_FILE_EXTENSION" to \c xhtml in order to make the SVG files
+ visible in IE 9+ (other browsers do not have this requirement).
+]]>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Note that this requires a modern browser other than Internet Explorer.
+ Tested and working are Firefox, Chrome, Safari, and Opera.
+ \note For IE 9+ you need to set \ref cfg_html_file_extension "HTML_FILE_EXTENSION" to \c xhtml in order
+ to make the SVG files visible. Older versions of IE do not have SVG support.
+]]>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Warning: Depending on the platform used,
+ enabling this option may lead to badly anti-aliased labels on the edges of
+ a graph (i.e. they become hard to read).
+]]>
+
+
+
+
+1.8.10)
+ support this, this feature is disabled by default.
+]]>
+
+
+
+
+
+
+
+
+
+Note:
+This setting is not only used for dot files but also for msc and plantuml
+temporary files.
+]]>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/.pc/faketime_pdflatex.diff/doc/CMakeLists.txt b/.pc/faketime_pdflatex.diff/doc/CMakeLists.txt
new file mode 100644
index 0000000..6c08554
--- /dev/null
+++ b/.pc/faketime_pdflatex.diff/doc/CMakeLists.txt
@@ -0,0 +1,271 @@
+# vim:ts=4:sw=4:expandtab:autoindent:
+#
+# Copyright (C) 1997-2015 by Dimitri van Heesch.
+#
+# Permission to use, copy, modify, and distribute this software and its
+# documentation under the terms of the GNU General Public License is hereby
+# granted. No representations are made about the suitability of this software
+# for any purpose. It is provided "as is" without express or implied warranty.
+# See the GNU General Public License for more details.
+#
+# Documents produced by Doxygen are derivative works derived from the
+# input used in their production; they are not affected by this license.
+
+include (${TOP}/cmake/version.cmake)
+string(TIMESTAMP DATE "%d-%m-%Y")
+
+find_package(PythonInterp REQUIRED)
+find_program(EPSTOPDF NAMES epstopdf )
+find_program(PDFLATEX NAMES pdflatex )
+find_program(MAKEINDEX NAMES makeindex )
+include(GNUInstallDirs)
+
+if (doxygen_BINARY_DIR)
+ set(DOXYGEN_EXECUTABLE ${doxygen_BINARY_DIR}/bin/doxygen)
+else()
+ # when building only the doxygen_doc, from the doc/ directory, the
+ # doxygen project variables are unknown so look for doxygen in PATH
+ find_package(Doxygen)
+endif()
+
+set(DOC_INSTALL_DIR "share/doc/packages/doxygen" CACHE STRING "Relative path where to install the documentation")
+set(DOC_FILES
+ arch.doc
+ archoverview.eps
+ archoverview.svg
+ autolink.doc
+ changelog.doc
+ commands.doc
+ custcmd.doc
+ customize.doc
+ diagrams.doc
+ docblocks.doc
+ Doxyfile
+ doxygen_manual.css
+ doxygen_usage.doc
+ doxywizard_expert.png
+ doxywizard_main.png
+ doxywizard_menu_file.png
+ doxywizard_menu_settings.png
+ doxywizard_menu_help.png
+ doxywizard_page1.png
+ doxywizard_page2.png
+ doxywizard_page3.png
+ doxywizard_page4.png
+ doxywizard_run.png
+ doxywizard_usage.doc
+ expert_bool.png
+ expert_enum.png
+ expert_int.png
+ expert_list_dir.png
+ expert_list_file.png
+ expert_list_filedir.png
+ expert_list_string.png
+ expert_string_dir.png
+ expert_string_file.png
+ expert_string_image.png
+ expert_string_string.png
+ external.doc
+ extsearch.doc
+ extsearch_flow.dot
+ extsearch_flow.eps
+ extsearch_flow.png
+ faq.doc
+ features.doc
+ formulas.doc
+ tables.doc
+ grouping.doc
+ htmlcmds.doc
+ index.doc
+ index.hhp.txt
+ infoflow.eps
+ infoflow.fig
+ infoflow.png
+ install.doc
+ install_prefix
+ lists.doc
+ markdown.doc
+ output.doc
+ perlmod.doc
+ perlmod_tree.doc
+ preprocessing.doc
+ searching.doc
+ starting.doc
+ trouble.doc
+ xmlcmds.doc
+ emojisup.doc
+ language.tpl
+ maintainers.txt
+ translator.py
+ smile.png
+ doxygen_logo.svg
+)
+
+set(DOC_FILES_IMAGES
+ add.png
+ del.png
+ file.png
+ folder.png
+ refresh.png
+)
+
+if (build_doc_chm)
+ set(DOC_FILES_CHM
+ Doxyfile_chm
+)
+endif ()
+
+if (${CMAKE_VERSION} VERSION_EQUAL "3.11.0" OR ${CMAKE_VERSION} VERSION_GREATER "3.11.0")
+ file(GLOB LANG_FILES CONFIGURE_DEPENDS "${TOP}/src//translator_??.h")
+else()
+ file(GLOB LANG_FILES "${TOP}/src//translator_??.h")
+endif()
+
+
+file(MAKE_DIRECTORY ${PROJECT_BINARY_DIR}/man
+ ${PROJECT_BINARY_DIR}/src
+ ${PROJECT_BINARY_DIR}/doc
+ ${PROJECT_BINARY_DIR}/doc/images)
+
+foreach (f ${DOC_FILES})
+add_custom_command(OUTPUT ${PROJECT_BINARY_DIR}/doc/${f}
+ COMMAND ${CMAKE_COMMAND} -E copy ${PROJECT_SOURCE_DIR}/doc/${f} ${PROJECT_BINARY_DIR}/doc/
+ DEPENDS ${PROJECT_SOURCE_DIR}/doc/${f}
+ )
+set_source_files_properties(${PROJECT_BINARY_DIR}/doc/${f} PROPERTIES GENERATED 1)
+list(APPEND OUT_DOC_FILES "${PROJECT_BINARY_DIR}/doc/${f}")
+endforeach()
+
+foreach (f ${DOC_FILES_IMAGES})
+add_custom_command(OUTPUT ${PROJECT_BINARY_DIR}/doc/images/${f}
+ COMMAND ${CMAKE_COMMAND} -E copy ${PROJECT_SOURCE_DIR}/addon/doxywizard/images/${f} ${PROJECT_BINARY_DIR}/doc/images/
+ DEPENDS ${PROJECT_SOURCE_DIR}/addon/doxywizard/images/${f}
+ )
+set_source_files_properties(${PROJECT_BINARY_DIR}/doc/images/${f} PROPERTIES GENERATED 1)
+list(APPEND OUT_DOC_FILES "${PROJECT_BINARY_DIR}/doc/images/${f}")
+endforeach()
+
+foreach (f ${DOC_FILES_CHM})
+add_custom_command(OUTPUT ${PROJECT_BINARY_DIR}/doc/${f}
+ COMMAND ${CMAKE_COMMAND} -E copy ${PROJECT_SOURCE_DIR}/doc/${f} ${PROJECT_BINARY_DIR}/doc/
+ DEPENDS ${PROJECT_SOURCE_DIR}/doc/${f}
+ )
+set_source_files_properties(${PROJECT_BINARY_DIR}/doc/${f} PROPERTIES GENERATED 1)
+list(APPEND OUT_DOC_CHM_FILES "${PROJECT_BINARY_DIR}/doc/${f}")
+endforeach()
+
+configure_file(${PROJECT_SOURCE_DIR}/doc/manual.sty ${PROJECT_BINARY_DIR}/doc/manual.sty)
+configure_file(${PROJECT_SOURCE_DIR}/doc/doxygen_manual.tex ${PROJECT_BINARY_DIR}/doc/doxygen_manual.tex)
+configure_file(${PROJECT_SOURCE_DIR}/doc/doxygen.1 ${PROJECT_BINARY_DIR}/man/doxygen.1)
+configure_file(${PROJECT_SOURCE_DIR}/doc/doxywizard.1 ${PROJECT_BINARY_DIR}/man/doxywizard.1)
+configure_file(${PROJECT_SOURCE_DIR}/doc/doxysearch.1 ${PROJECT_BINARY_DIR}/man/doxysearch.1)
+configure_file(${PROJECT_SOURCE_DIR}/doc/doxyindexer.1 ${PROJECT_BINARY_DIR}/man/doxyindexer.1)
+
+# doc/language.doc (see tag Doxyfile:INPUT)
+add_custom_command(
+ COMMAND ${PYTHON_EXECUTABLE} translator.py ${PROJECT_SOURCE_DIR}
+ DEPENDS ${PROJECT_SOURCE_DIR}/doc/maintainers.txt ${PROJECT_SOURCE_DIR}/doc/language.tpl ${PROJECT_BINARY_DIR}/doc/translator.py ${LANG_FILES}
+ OUTPUT language.doc
+ WORKING_DIRECTORY ${PROJECT_BINARY_DIR}/doc
+)
+set_source_files_properties(language.doc PROPERTIES GENERATED 1)
+
+# doc/config.doc (see tag Doxyfile:INPUT)
+add_custom_command(
+ COMMAND ${PYTHON_EXECUTABLE} ${TOP}/src/configgen.py -doc ${TOP}/src/config.xml > config.doc
+ DEPENDS ${TOP}/src/config.xml ${TOP}/src/configgen.py
+ OUTPUT config.doc
+ WORKING_DIRECTORY ${PROJECT_BINARY_DIR}/doc/
+)
+set_source_files_properties(config.doc PROPERTIES GENERATED 1)
+################################################################################
+add_custom_target(run_doxygen
+ COMMENT "Generating Latex and HTML documentation."
+ COMMAND ${CMAKE_COMMAND} -E env VERSION=${VERSION} ${DOXYGEN_EXECUTABLE}
+ DEPENDS ${PROJECT_BINARY_DIR}/doc/language.doc ${PROJECT_BINARY_DIR}/doc/config.doc
+ DEPENDS ${OUT_DOC_FILES}
+ DEPENDS examples
+ DEPENDS doxygen
+ WORKING_DIRECTORY ${PROJECT_BINARY_DIR}/doc/
+)
+
+add_custom_target(doxygen_pdf
+ COMMENT "Generating Doxygen Manual PDF."
+ COMMAND ${CMAKE_COMMAND} -E remove refman.tex
+ COMMAND ${CMAKE_COMMAND} -E copy ${PROJECT_BINARY_DIR}/doc/doxygen_manual.tex .
+ COMMAND ${CMAKE_COMMAND} -E copy ${PROJECT_BINARY_DIR}/doc/manual.sty .
+ COMMAND ${CMAKE_COMMAND} -E copy ${PROJECT_SOURCE_DIR}/doc/doxygen_logo.pdf .
+ COMMAND ${PDFLATEX} -cnf-line="openout_any=r" -shell-escape doxygen_manual.tex
+ COMMAND ${MAKEINDEX} doxygen_manual.idx
+ COMMAND ${PDFLATEX} -cnf-line="openout_any=r" -shell-escape doxygen_manual.tex
+ DEPENDS run_doxygen
+ WORKING_DIRECTORY ${PROJECT_BINARY_DIR}/latex
+)
+add_custom_target(docs
+ DEPENDS ${PROJECT_BINARY_DIR}/man/doxygen.1
+ ${PROJECT_BINARY_DIR}/man/doxywizard.1
+ ${PROJECT_BINARY_DIR}/man/doxysearch.1
+ ${PROJECT_BINARY_DIR}/man/doxyindexer.1
+ doxygen_pdf
+ VERBATIM
+ )
+
+# return status of ${HTML_HELP_COMPILER} is not correct, so we have to do a trick with an "or" statement
+# output is redirected to "nul" as we are on windows no problem
+if (build_doc_chm)
+add_custom_target(docs_chm
+ COMMENT "Generating CHM documentation."
+ COMMAND ${CMAKE_COMMAND} -E env VERSION=${VERSION} HTML_HELP_COMPILER=${HTML_HELP_COMPILER} ${DOXYGEN_EXECUTABLE} Doxyfile_chm
+ COMMAND ${CMAKE_COMMAND} -E copy_directory ${PROJECT_BINARY_DIR}/html/examples ${PROJECT_BINARY_DIR}/chm/examples
+ COMMAND ${CMAKE_COMMAND} -E copy ${PROJECT_BINARY_DIR}/chm/index.hhp ${PROJECT_BINARY_DIR}/chm/doxygen_manual.hhp
+ COMMAND ${CMAKE_COMMAND} -E echo "import os" > ${PROJECT_BINARY_DIR}/chm/doxygen_manual_examples_chm.py
+ COMMAND ${CMAKE_COMMAND} -E echo "for root, dirs, files in os.walk('examples'):" >> ${PROJECT_BINARY_DIR}/chm/doxygen_manual_examples_chm.py
+ COMMAND ${CMAKE_COMMAND} -E echo " for file in files:" >> ${PROJECT_BINARY_DIR}/chm/doxygen_manual_examples_chm.py
+ COMMAND ${CMAKE_COMMAND} -E echo " if file.endswith('.html') or file.endswith('.png') or file.endswith('.css') or file.endswith('.gif'):" >> ${PROJECT_BINARY_DIR}/chm/doxygen_manual_examples_chm.py
+ COMMAND ${CMAKE_COMMAND} -E echo " print(os.path.join(root, file))" >> ${PROJECT_BINARY_DIR}/chm/doxygen_manual_examples_chm.py
+ COMMAND ${CMAKE_COMMAND} -E chdir ${PROJECT_BINARY_DIR}/chm ${PYTHON_EXECUTABLE} ${PROJECT_BINARY_DIR}/chm/doxygen_manual_examples_chm.py >> ${PROJECT_BINARY_DIR}/chm/doxygen_manual.hhp
+ COMMAND ${CMAKE_COMMAND} -E chdir ${PROJECT_BINARY_DIR}/chm "${HTML_HELP_COMPILER}" doxygen_manual.hhp || echo > nul
+ COMMAND ${CMAKE_COMMAND} -E rename ${PROJECT_BINARY_DIR}/chm/index.chm ${PROJECT_BINARY_DIR}/chm/doxygen_manual.chm
+ DEPENDS ${PROJECT_BINARY_DIR}/doc/language.doc ${PROJECT_BINARY_DIR}/doc/config.doc
+ DEPENDS ${OUT_DOC_FILES}
+ DEPENDS ${OUT_DOC_CHM_FILES}
+ DEPENDS examples
+ DEPENDS doxygen
+ WORKING_DIRECTORY ${PROJECT_BINARY_DIR}/doc/
+)
+endif ()
+################################################################################
+install(FILES
+ "${PROJECT_BINARY_DIR}/man/doxygen.1"
+ "${PROJECT_BINARY_DIR}/man/doxywizard.1"
+ "${PROJECT_BINARY_DIR}/man/doxysearch.1"
+ "${PROJECT_BINARY_DIR}/man/doxyindexer.1"
+ DESTINATION ${CMAKE_INSTALL_MANDIR}/man1
+)
+
+install(CODE "if(NOT EXISTS \"${PROJECT_BINARY_DIR}/latex/doxygen_manual.pdf\")
+ message(FATAL_ERROR \"\nTerminating:\n documentation has not been generated, \n create documentation by using the 'docs' target followed by an 'install'\n\")
+endif()"
+)
+
+install(FILES
+ "${PROJECT_BINARY_DIR}/latex/doxygen_manual.pdf"
+ DESTINATION "${CMAKE_INSTALL_PREFIX}/${DOC_INSTALL_DIR}"
+)
+
+if (build_doc_chm)
+install(CODE "if(NOT EXISTS \"${PROJECT_BINARY_DIR}/chm/doxygen_manual.chm\")
+ message(FATAL_ERROR \"\nTerminating:\n CHM documentation has not been generated, \n create CHM documentation by using the 'docs_chm' target followed by an 'install'\n\")
+endif()"
+)
+
+install(FILES
+ "${PROJECT_BINARY_DIR}/chm/doxygen_manual.chm"
+ DESTINATION "${CMAKE_INSTALL_PREFIX}/${DOC_INSTALL_DIR}"
+)
+endif ()
+
+install(DIRECTORY
+ "${PROJECT_BINARY_DIR}/html"
+ DESTINATION "${CMAKE_INSTALL_PREFIX}/${DOC_INSTALL_DIR}"
+)
diff --git a/.pc/faketime_pdflatex.diff/doc/Makefile.latex b/.pc/faketime_pdflatex.diff/doc/Makefile.latex
new file mode 100644
index 0000000..a0db8da
--- /dev/null
+++ b/.pc/faketime_pdflatex.diff/doc/Makefile.latex
@@ -0,0 +1,25 @@
+#
+#
+#
+# Copyright (C) 1997-2015 by Dimitri van Heesch.
+#
+# Permission to use, copy, modify, and distribute this software and its
+# documentation under the terms of the GNU General Public License is hereby
+# granted. No representations are made about the suitability of this software
+# for any purpose. It is provided "as is" without express or implied warranty.
+# See the GNU General Public License for more details.
+#
+# Documents produced by Doxygen are derivative works derived from the
+# input used in their production; they are not affected by this license.
+
+all: doxygen_manual.pdf
+
+doxygen_manual.pdf: doxygen_manual.tex doxygen.sty
+ echo "Running latex..."
+ pdflatex -cnf-line="openout_any=r" doxygen_manual.tex
+ echo "Running makeindex..."
+ makeindex doxygen_manual.idx
+ echo "Rerunning latex...."
+ pdflatex -cnf-line="openout_any=r" doxygen_manual.tex
+clean:
+ rm -f *.ps *.dvi *.aux *.toc *.idx *.ind *.ilg *.log doxygen_manual.pdf
diff --git a/.pc/fix-pdflatex-invocation.diff/doc/CMakeLists.txt b/.pc/fix-pdflatex-invocation.diff/doc/CMakeLists.txt
new file mode 100644
index 0000000..f2d177e
--- /dev/null
+++ b/.pc/fix-pdflatex-invocation.diff/doc/CMakeLists.txt
@@ -0,0 +1,271 @@
+# vim:ts=4:sw=4:expandtab:autoindent:
+#
+# Copyright (C) 1997-2015 by Dimitri van Heesch.
+#
+# Permission to use, copy, modify, and distribute this software and its
+# documentation under the terms of the GNU General Public License is hereby
+# granted. No representations are made about the suitability of this software
+# for any purpose. It is provided "as is" without express or implied warranty.
+# See the GNU General Public License for more details.
+#
+# Documents produced by Doxygen are derivative works derived from the
+# input used in their production; they are not affected by this license.
+
+include (${TOP}/cmake/version.cmake)
+string(TIMESTAMP DATE "%d-%m-%Y")
+
+find_package(PythonInterp REQUIRED)
+find_program(EPSTOPDF NAMES epstopdf )
+find_program(PDFLATEX NAMES pdflatex )
+find_program(MAKEINDEX NAMES makeindex )
+include(GNUInstallDirs)
+
+if (doxygen_BINARY_DIR)
+ set(DOXYGEN_EXECUTABLE ${doxygen_BINARY_DIR}/bin/doxygen)
+else()
+ # when building only the doxygen_doc, from the doc/ directory, the
+ # doxygen project variables are unknown so look for doxygen in PATH
+ find_package(Doxygen)
+endif()
+
+set(DOC_INSTALL_DIR "share/doc/packages/doxygen" CACHE STRING "Relative path where to install the documentation")
+set(DOC_FILES
+ arch.doc
+ archoverview.eps
+ archoverview.svg
+ autolink.doc
+ changelog.doc
+ commands.doc
+ custcmd.doc
+ customize.doc
+ diagrams.doc
+ docblocks.doc
+ Doxyfile
+ doxygen_manual.css
+ doxygen_usage.doc
+ doxywizard_expert.png
+ doxywizard_main.png
+ doxywizard_menu_file.png
+ doxywizard_menu_settings.png
+ doxywizard_menu_help.png
+ doxywizard_page1.png
+ doxywizard_page2.png
+ doxywizard_page3.png
+ doxywizard_page4.png
+ doxywizard_run.png
+ doxywizard_usage.doc
+ expert_bool.png
+ expert_enum.png
+ expert_int.png
+ expert_list_dir.png
+ expert_list_file.png
+ expert_list_filedir.png
+ expert_list_string.png
+ expert_string_dir.png
+ expert_string_file.png
+ expert_string_image.png
+ expert_string_string.png
+ external.doc
+ extsearch.doc
+ extsearch_flow.dot
+ extsearch_flow.eps
+ extsearch_flow.png
+ faq.doc
+ features.doc
+ formulas.doc
+ tables.doc
+ grouping.doc
+ htmlcmds.doc
+ index.doc
+ index.hhp.txt
+ infoflow.eps
+ infoflow.fig
+ infoflow.png
+ install.doc
+ install_prefix
+ lists.doc
+ markdown.doc
+ output.doc
+ perlmod.doc
+ perlmod_tree.doc
+ preprocessing.doc
+ searching.doc
+ starting.doc
+ trouble.doc
+ xmlcmds.doc
+ emojisup.doc
+ language.tpl
+ maintainers.txt
+ translator.py
+ smile.png
+ doxygen_logo.svg
+)
+
+set(DOC_FILES_IMAGES
+ add.png
+ del.png
+ file.png
+ folder.png
+ refresh.png
+)
+
+if (build_doc_chm)
+ set(DOC_FILES_CHM
+ Doxyfile_chm
+)
+endif ()
+
+if (${CMAKE_VERSION} VERSION_EQUAL "3.11.0" OR ${CMAKE_VERSION} VERSION_GREATER "3.11.0")
+ file(GLOB LANG_FILES CONFIGURE_DEPENDS "${TOP}/src//translator_??.h")
+else()
+ file(GLOB LANG_FILES "${TOP}/src//translator_??.h")
+endif()
+
+
+file(MAKE_DIRECTORY ${PROJECT_BINARY_DIR}/man
+ ${PROJECT_BINARY_DIR}/src
+ ${PROJECT_BINARY_DIR}/doc
+ ${PROJECT_BINARY_DIR}/doc/images)
+
+foreach (f ${DOC_FILES})
+add_custom_command(OUTPUT ${PROJECT_BINARY_DIR}/doc/${f}
+ COMMAND ${CMAKE_COMMAND} -E copy ${PROJECT_SOURCE_DIR}/doc/${f} ${PROJECT_BINARY_DIR}/doc/
+ DEPENDS ${PROJECT_SOURCE_DIR}/doc/${f}
+ )
+set_source_files_properties(${PROJECT_BINARY_DIR}/doc/${f} PROPERTIES GENERATED 1)
+list(APPEND OUT_DOC_FILES "${PROJECT_BINARY_DIR}/doc/${f}")
+endforeach()
+
+foreach (f ${DOC_FILES_IMAGES})
+add_custom_command(OUTPUT ${PROJECT_BINARY_DIR}/doc/images/${f}
+ COMMAND ${CMAKE_COMMAND} -E copy ${PROJECT_SOURCE_DIR}/addon/doxywizard/images/${f} ${PROJECT_BINARY_DIR}/doc/images/
+ DEPENDS ${PROJECT_SOURCE_DIR}/addon/doxywizard/images/${f}
+ )
+set_source_files_properties(${PROJECT_BINARY_DIR}/doc/images/${f} PROPERTIES GENERATED 1)
+list(APPEND OUT_DOC_FILES "${PROJECT_BINARY_DIR}/doc/images/${f}")
+endforeach()
+
+foreach (f ${DOC_FILES_CHM})
+add_custom_command(OUTPUT ${PROJECT_BINARY_DIR}/doc/${f}
+ COMMAND ${CMAKE_COMMAND} -E copy ${PROJECT_SOURCE_DIR}/doc/${f} ${PROJECT_BINARY_DIR}/doc/
+ DEPENDS ${PROJECT_SOURCE_DIR}/doc/${f}
+ )
+set_source_files_properties(${PROJECT_BINARY_DIR}/doc/${f} PROPERTIES GENERATED 1)
+list(APPEND OUT_DOC_CHM_FILES "${PROJECT_BINARY_DIR}/doc/${f}")
+endforeach()
+
+configure_file(${PROJECT_SOURCE_DIR}/doc/manual.sty ${PROJECT_BINARY_DIR}/doc/manual.sty)
+configure_file(${PROJECT_SOURCE_DIR}/doc/doxygen_manual.tex ${PROJECT_BINARY_DIR}/doc/doxygen_manual.tex)
+configure_file(${PROJECT_SOURCE_DIR}/doc/doxygen.1 ${PROJECT_BINARY_DIR}/man/doxygen.1)
+configure_file(${PROJECT_SOURCE_DIR}/doc/doxywizard.1 ${PROJECT_BINARY_DIR}/man/doxywizard.1)
+configure_file(${PROJECT_SOURCE_DIR}/doc/doxysearch.1 ${PROJECT_BINARY_DIR}/man/doxysearch.1)
+configure_file(${PROJECT_SOURCE_DIR}/doc/doxyindexer.1 ${PROJECT_BINARY_DIR}/man/doxyindexer.1)
+
+# doc/language.doc (see tag Doxyfile:INPUT)
+add_custom_command(
+ COMMAND ${PYTHON_EXECUTABLE} translator.py ${PROJECT_SOURCE_DIR}
+ DEPENDS ${PROJECT_SOURCE_DIR}/doc/maintainers.txt ${PROJECT_SOURCE_DIR}/doc/language.tpl ${PROJECT_BINARY_DIR}/doc/translator.py ${LANG_FILES}
+ OUTPUT language.doc
+ WORKING_DIRECTORY ${PROJECT_BINARY_DIR}/doc
+)
+set_source_files_properties(language.doc PROPERTIES GENERATED 1)
+
+# doc/config.doc (see tag Doxyfile:INPUT)
+add_custom_command(
+ COMMAND ${PYTHON_EXECUTABLE} ${TOP}/src/configgen.py -doc ${TOP}/src/config.xml > config.doc
+ DEPENDS ${TOP}/src/config.xml ${TOP}/src/configgen.py
+ OUTPUT config.doc
+ WORKING_DIRECTORY ${PROJECT_BINARY_DIR}/doc/
+)
+set_source_files_properties(config.doc PROPERTIES GENERATED 1)
+################################################################################
+add_custom_target(run_doxygen
+ COMMENT "Generating Latex and HTML documentation."
+ COMMAND ${CMAKE_COMMAND} -E env VERSION=${VERSION} ${DOXYGEN_EXECUTABLE}
+ DEPENDS ${PROJECT_BINARY_DIR}/doc/language.doc ${PROJECT_BINARY_DIR}/doc/config.doc
+ DEPENDS ${OUT_DOC_FILES}
+ DEPENDS examples
+ DEPENDS doxygen
+ WORKING_DIRECTORY ${PROJECT_BINARY_DIR}/doc/
+)
+
+add_custom_target(doxygen_pdf
+ COMMENT "Generating Doxygen Manual PDF."
+ COMMAND ${CMAKE_COMMAND} -E remove refman.tex
+ COMMAND ${CMAKE_COMMAND} -E copy ${PROJECT_BINARY_DIR}/doc/doxygen_manual.tex .
+ COMMAND ${CMAKE_COMMAND} -E copy ${PROJECT_BINARY_DIR}/doc/manual.sty .
+ COMMAND ${CMAKE_COMMAND} -E copy ${PROJECT_SOURCE_DIR}/doc/doxygen_logo.pdf .
+ COMMAND ${PDFLATEX} -shell-escape doxygen_manual.tex
+ COMMAND ${MAKEINDEX} doxygen_manual.idx
+ COMMAND ${PDFLATEX} -shell-escape doxygen_manual.tex
+ DEPENDS run_doxygen
+ WORKING_DIRECTORY ${PROJECT_BINARY_DIR}/latex
+)
+add_custom_target(docs
+ DEPENDS ${PROJECT_BINARY_DIR}/man/doxygen.1
+ ${PROJECT_BINARY_DIR}/man/doxywizard.1
+ ${PROJECT_BINARY_DIR}/man/doxysearch.1
+ ${PROJECT_BINARY_DIR}/man/doxyindexer.1
+ doxygen_pdf
+ VERBATIM
+ )
+
+# return status of ${HTML_HELP_COMPILER} is not correct, so we have to do a trick with an "or" statement
+# output is redirected to "nul" as we are on windows no problem
+if (build_doc_chm)
+add_custom_target(docs_chm
+ COMMENT "Generating CHM documentation."
+ COMMAND ${CMAKE_COMMAND} -E env VERSION=${VERSION} HTML_HELP_COMPILER=${HTML_HELP_COMPILER} ${DOXYGEN_EXECUTABLE} Doxyfile_chm
+ COMMAND ${CMAKE_COMMAND} -E copy_directory ${PROJECT_BINARY_DIR}/html/examples ${PROJECT_BINARY_DIR}/chm/examples
+ COMMAND ${CMAKE_COMMAND} -E copy ${PROJECT_BINARY_DIR}/chm/index.hhp ${PROJECT_BINARY_DIR}/chm/doxygen_manual.hhp
+ COMMAND ${CMAKE_COMMAND} -E echo "import os" > ${PROJECT_BINARY_DIR}/chm/doxygen_manual_examples_chm.py
+ COMMAND ${CMAKE_COMMAND} -E echo "for root, dirs, files in os.walk('examples'):" >> ${PROJECT_BINARY_DIR}/chm/doxygen_manual_examples_chm.py
+ COMMAND ${CMAKE_COMMAND} -E echo " for file in files:" >> ${PROJECT_BINARY_DIR}/chm/doxygen_manual_examples_chm.py
+ COMMAND ${CMAKE_COMMAND} -E echo " if file.endswith('.html') or file.endswith('.png') or file.endswith('.css') or file.endswith('.gif'):" >> ${PROJECT_BINARY_DIR}/chm/doxygen_manual_examples_chm.py
+ COMMAND ${CMAKE_COMMAND} -E echo " print(os.path.join(root, file))" >> ${PROJECT_BINARY_DIR}/chm/doxygen_manual_examples_chm.py
+ COMMAND ${CMAKE_COMMAND} -E chdir ${PROJECT_BINARY_DIR}/chm ${PYTHON_EXECUTABLE} ${PROJECT_BINARY_DIR}/chm/doxygen_manual_examples_chm.py >> ${PROJECT_BINARY_DIR}/chm/doxygen_manual.hhp
+ COMMAND ${CMAKE_COMMAND} -E chdir ${PROJECT_BINARY_DIR}/chm "${HTML_HELP_COMPILER}" doxygen_manual.hhp || echo > nul
+ COMMAND ${CMAKE_COMMAND} -E rename ${PROJECT_BINARY_DIR}/chm/index.chm ${PROJECT_BINARY_DIR}/chm/doxygen_manual.chm
+ DEPENDS ${PROJECT_BINARY_DIR}/doc/language.doc ${PROJECT_BINARY_DIR}/doc/config.doc
+ DEPENDS ${OUT_DOC_FILES}
+ DEPENDS ${OUT_DOC_CHM_FILES}
+ DEPENDS examples
+ DEPENDS doxygen
+ WORKING_DIRECTORY ${PROJECT_BINARY_DIR}/doc/
+)
+endif ()
+################################################################################
+install(FILES
+ "${PROJECT_BINARY_DIR}/man/doxygen.1"
+ "${PROJECT_BINARY_DIR}/man/doxywizard.1"
+ "${PROJECT_BINARY_DIR}/man/doxysearch.1"
+ "${PROJECT_BINARY_DIR}/man/doxyindexer.1"
+ DESTINATION ${CMAKE_INSTALL_MANDIR}/man1
+)
+
+install(CODE "if(NOT EXISTS \"${PROJECT_BINARY_DIR}/latex/doxygen_manual.pdf\")
+ message(FATAL_ERROR \"\nTerminating:\n documentation has not been generated, \n create documentation by using the 'docs' target followed by an 'install'\n\")
+endif()"
+)
+
+install(FILES
+ "${PROJECT_BINARY_DIR}/latex/doxygen_manual.pdf"
+ DESTINATION "${CMAKE_INSTALL_PREFIX}/${DOC_INSTALL_DIR}"
+)
+
+if (build_doc_chm)
+install(CODE "if(NOT EXISTS \"${PROJECT_BINARY_DIR}/chm/doxygen_manual.chm\")
+ message(FATAL_ERROR \"\nTerminating:\n CHM documentation has not been generated, \n create CHM documentation by using the 'docs_chm' target followed by an 'install'\n\")
+endif()"
+)
+
+install(FILES
+ "${PROJECT_BINARY_DIR}/chm/doxygen_manual.chm"
+ DESTINATION "${CMAKE_INSTALL_PREFIX}/${DOC_INSTALL_DIR}"
+)
+endif ()
+
+install(DIRECTORY
+ "${PROJECT_BINARY_DIR}/html"
+ DESTINATION "${CMAKE_INSTALL_PREFIX}/${DOC_INSTALL_DIR}"
+)
diff --git a/.pc/fix-pdflatex-invocation.diff/doc/Makefile.latex b/.pc/fix-pdflatex-invocation.diff/doc/Makefile.latex
new file mode 100644
index 0000000..d4b48ff
--- /dev/null
+++ b/.pc/fix-pdflatex-invocation.diff/doc/Makefile.latex
@@ -0,0 +1,25 @@
+#
+#
+#
+# Copyright (C) 1997-2015 by Dimitri van Heesch.
+#
+# Permission to use, copy, modify, and distribute this software and its
+# documentation under the terms of the GNU General Public License is hereby
+# granted. No representations are made about the suitability of this software
+# for any purpose. It is provided "as is" without express or implied warranty.
+# See the GNU General Public License for more details.
+#
+# Documents produced by Doxygen are derivative works derived from the
+# input used in their production; they are not affected by this license.
+
+all: doxygen_manual.pdf
+
+doxygen_manual.pdf: doxygen_manual.tex doxygen.sty
+ echo "Running latex..."
+ pdflatex doxygen_manual.tex
+ echo "Running makeindex..."
+ makeindex doxygen_manual.idx
+ echo "Rerunning latex...."
+ pdflatex doxygen_manual.tex
+clean:
+ rm -f *.ps *.dvi *.aux *.toc *.idx *.ind *.ilg *.log doxygen_manual.pdf
diff --git a/.pc/libatomic.diff/addon/doxyparse/CMakeLists.txt b/.pc/libatomic.diff/addon/doxyparse/CMakeLists.txt
new file mode 100644
index 0000000..fe2f2c2
--- /dev/null
+++ b/.pc/libatomic.diff/addon/doxyparse/CMakeLists.txt
@@ -0,0 +1,42 @@
+find_package(Iconv)
+
+include_directories(
+ ${PROJECT_SOURCE_DIR}/src
+ ${PROJECT_SOURCE_DIR}/libversion
+ ${GENERATED_SRC}
+ ${PROJECT_SOURCE_DIR}/qtools
+ ${ICONV_INCLUDE_DIR}
+ ${CLANG_INCLUDEDIR}
+)
+
+add_executable(doxyparse
+doxyparse.cpp
+)
+add_sanitizers(doxyparse)
+
+if (use_libclang)
+ if (static_libclang)
+ set(CLANG_LIBS libclang clangTooling ${llvm_libs})
+ else()
+ set(CLANG_LIBS libclang clang-cpp ${llvm_libs})
+ endif()
+endif()
+
+target_link_libraries(doxyparse
+doxymain
+qtools
+md5
+lodepng
+mscgen
+doxygen_version
+doxycfg
+vhdlparser
+${ICONV_LIBRARIES}
+${CMAKE_THREAD_LIBS_INIT}
+${SQLITE3_LIBRARIES}
+${EXTRA_LIBS}
+${CLANG_LIBS}
+${COVERAGE_LINKER_FLAGS}
+)
+
+install(TARGETS doxyparse DESTINATION bin)
diff --git a/.pc/libatomic.diff/src/CMakeLists.txt b/.pc/libatomic.diff/src/CMakeLists.txt
new file mode 100644
index 0000000..5004a95
--- /dev/null
+++ b/.pc/libatomic.diff/src/CMakeLists.txt
@@ -0,0 +1,373 @@
+# vim:ts=4:sw=4:expandtab:autoindent:
+
+include_directories(
+ ${PROJECT_SOURCE_DIR}/qtools
+ ${PROJECT_SOURCE_DIR}/libmd5
+ ${PROJECT_SOURCE_DIR}/liblodepng
+ ${PROJECT_SOURCE_DIR}/libmscgen
+ ${PROJECT_SOURCE_DIR}/libversion
+ ${PROJECT_SOURCE_DIR}/vhdlparser
+ ${PROJECT_SOURCE_DIR}/src
+ ${CLANG_INCLUDEDIR}
+ ${GENERATED_SRC}
+)
+
+
+file(MAKE_DIRECTORY ${GENERATED_SRC})
+if (${CMAKE_VERSION} VERSION_EQUAL "3.11.0" OR ${CMAKE_VERSION} VERSION_GREATER "3.11.0")
+ file(GLOB LANGUAGE_FILES CONFIGURE_DEPENDS "${CMAKE_CURRENT_LIST_DIR}/translator_??.h")
+else()
+ file(GLOB LANGUAGE_FILES "${CMAKE_CURRENT_LIST_DIR}/translator_??.h")
+endif()
+
+# instead of increasebuffer.py
+add_definitions(-DYY_BUF_SIZE=${enlarge_lex_buffers} -DYY_READ_BUF_SIZE=${enlarge_lex_buffers})
+
+# generate settings.h
+file(GENERATE OUTPUT ${GENERATED_SRC}/settings.h
+CONTENT "#ifndef SETTINGS_H
+#define SETTINGS_H
+#define USE_SQLITE3 ${sqlite3}
+#define USE_LIBCLANG ${clang}
+#define IS_SUPPORTED(x) \\
+ ((USE_SQLITE3 && strcmp(\"USE_SQLITE3\",(x))==0) || \\
+ (USE_LIBCLANG && strcmp(\"USE_LIBCLANG\",(x))==0) || \\
+ 0)
+#endif" )
+set_source_files_properties(${GENERATED_SRC}/settings.h PROPERTIES GENERATED 1)
+
+
+# configvalues.h
+add_custom_command(
+ COMMAND ${PYTHON_EXECUTABLE} ${CMAKE_CURRENT_LIST_DIR}/configgen.py -maph ${CMAKE_CURRENT_LIST_DIR}/config.xml > ${GENERATED_SRC}/configvalues.h
+ DEPENDS ${CMAKE_CURRENT_LIST_DIR}/config.xml ${CMAKE_CURRENT_LIST_DIR}/configgen.py
+ OUTPUT ${GENERATED_SRC}/configvalues.h
+)
+set_source_files_properties(${GENERATED_SRC}/configvalues.h PROPERTIES GENERATED 1)
+add_custom_target(
+ generate_configvalues_header
+ DEPENDS ${GENERATED_SRC}/configvalues.h
+)
+
+# configvalues.cpp
+add_custom_command(
+ COMMAND ${PYTHON_EXECUTABLE} ${CMAKE_CURRENT_LIST_DIR}/configgen.py -maps ${CMAKE_CURRENT_LIST_DIR}/config.xml > ${GENERATED_SRC}/configvalues.cpp
+ DEPENDS ${CMAKE_CURRENT_LIST_DIR}/config.xml ${CMAKE_CURRENT_LIST_DIR}/configgen.py
+ OUTPUT ${GENERATED_SRC}/configvalues.cpp
+)
+set_source_files_properties(${GENERATED_SRC}/configvalues.cpp PROPERTIES GENERATED 1)
+
+# configoptions.cpp
+add_custom_command(
+ COMMAND ${PYTHON_EXECUTABLE} ${CMAKE_CURRENT_LIST_DIR}/configgen.py -cpp ${CMAKE_CURRENT_LIST_DIR}/config.xml > ${GENERATED_SRC}/configoptions.cpp
+ DEPENDS ${CMAKE_CURRENT_LIST_DIR}/config.xml ${CMAKE_CURRENT_LIST_DIR}/configgen.py
+ OUTPUT ${GENERATED_SRC}/configoptions.cpp
+)
+set_source_files_properties(${GENERATED_SRC}/configoptions.cpp PROPERTIES GENERATED 1)
+
+
+# ce_parse.h
+add_custom_command(
+ COMMAND ${BISON_EXECUTABLE} -l -d -p ce_parsexpYY ${CMAKE_CURRENT_LIST_DIR}/constexp.y -o ce_parse.c
+ DEPENDS ${CMAKE_CURRENT_LIST_DIR}/constexp.y
+ OUTPUT ${GENERATED_SRC}/ce_parse.h
+ WORKING_DIRECTORY ${GENERATED_SRC}
+)
+set_source_files_properties(${GENERATED_SRC}/ce_parse.h PROPERTIES GENERATED 1)
+
+# lang_cfg.h
+add_custom_command(
+ COMMENT "Generating ${GENERATED_SRC}/lang_cfg.h"
+ COMMAND ${CMAKE_COMMAND} -P ${PROJECT_SOURCE_DIR}/cmake/lang_cfg.cmake ${GENERATED_SRC}/lang_cfg.h ${LANG_CODES}
+ DEPENDS ${LANGUAGE_FILES}
+ OUTPUT ${GENERATED_SRC}/lang_cfg.h
+)
+set_source_files_properties(${GENERATED_SRC}/lang_cfg.h PROPERTIES GENERATED 1)
+
+# all resource files
+if (${CMAKE_VERSION} VERSION_EQUAL "3.11.0" OR ${CMAKE_VERSION} VERSION_GREATER "3.11.0")
+ file(GLOB RESOURCES CONFIGURE_DEPENDS ${PROJECT_SOURCE_DIR}/templates/*/*)
+else()
+ file(GLOB RESOURCES ${PROJECT_SOURCE_DIR}/templates/*/*)
+endif()
+
+# resources.cpp
+add_custom_command(
+ COMMENT "Generating ${GENERATED_SRC}/resources.cpp"
+ COMMAND ${PYTHON_EXECUTABLE} ${CMAKE_CURRENT_LIST_DIR}/res2cc_cmd.py ${PROJECT_SOURCE_DIR}/templates ${GENERATED_SRC}/resources.cpp
+ DEPENDS ${RESOURCES} ${CMAKE_CURRENT_LIST_DIR}/res2cc_cmd.py
+ OUTPUT ${GENERATED_SRC}/resources.cpp
+)
+set_source_files_properties(${GENERATED_SRC}/resources.cpp PROPERTIES GENERATED 1)
+
+set(LEX_FILES scanner
+ code
+ pyscanner
+ pycode
+ fortranscanner
+ fortrancode
+ vhdlcode
+ pre
+ declinfo
+ defargs
+ doctokenizer
+ commentcnv
+ commentscan
+ constexp
+ xml
+ xmlcode
+ sqlcode
+ configimpl)
+
+# unfortunately ${LEX_FILES_H} and ${LEX_FILES_CPP} don't work in older versions of CMake (like 3.6.2) for add_library
+foreach(lex_file ${LEX_FILES})
+ set(LEX_FILES_H ${LEX_FILES_H} " " ${GENERATED_SRC}/${lex_file}.l.h CACHE INTERNAL "Stores generated files")
+ set(LEX_FILES_CPP ${LEX_FILES_CPP} " " ${GENERATED_SRC}/${lex_file}.cpp CACHE INTERNAL "Stores generated files")
+ add_custom_command(
+ COMMAND ${PYTHON_EXECUTABLE} ${CMAKE_CURRENT_LIST_DIR}/scan_states.py ${CMAKE_CURRENT_LIST_DIR}/${lex_file}.l > ${GENERATED_SRC}/${lex_file}.l.h
+ DEPENDS ${CMAKE_CURRENT_LIST_DIR}/scan_states.py ${CMAKE_CURRENT_LIST_DIR}/${lex_file}.l
+ OUTPUT ${GENERATED_SRC}/${lex_file}.l.h
+ )
+ set_source_files_properties(${GENERATED_SRC}/${lex_file}.l.h PROPERTIES GENERATED 1)
+ # for code coverage we need the flex sources in the build src directory
+ add_custom_command(
+ COMMAND ${CMAKE_COMMAND} -E copy ${PROJECT_SOURCE_DIR}/src/${lex_file}.l ${PROJECT_BINARY_DIR}/src/${lex_file}.l
+ DEPENDS ${PROJECT_SOURCE_DIR}/src/${lex_file}.l
+ OUTPUT ${PROJECT_BINARY_DIR}/src/${lex_file}.l
+ )
+
+ FLEX_TARGET(${lex_file}
+ ${CMAKE_CURRENT_LIST_DIR}/${lex_file}.l
+ ${GENERATED_SRC}/${lex_file}.cpp
+ COMPILE_FLAGS "${LEX_FLAGS}")
+endforeach()
+
+
+BISON_TARGET(constexp
+ ${CMAKE_CURRENT_LIST_DIR}/constexp.y
+ ${GENERATED_SRC}/ce_parse.cpp
+ COMPILE_FLAGS "${YACC_FLAGS}")
+
+add_custom_command(
+ COMMAND ${CMAKE_COMMAND} -E copy ${PROJECT_SOURCE_DIR}/src/constexp.y ${PROJECT_BINARY_DIR}/src
+ DEPENDS ${PROJECT_SOURCE_DIR}/src/constexp.y
+ OUTPUT ${PROJECT_BINARY_DIR}/src/constexp.y
+)
+
+add_library(doxycfg STATIC
+ ${GENERATED_SRC}/lang_cfg.h
+ ${GENERATED_SRC}/configvalues.h
+ ${GENERATED_SRC}/configimpl.cpp
+ ${GENERATED_SRC}/configimpl.l.h
+ ${GENERATED_SRC}/configoptions.cpp
+ ${GENERATED_SRC}/configvalues.cpp
+ ${GENERATED_SRC}/settings.h
+ portable.cpp
+ portable_c.c
+ ftextstream.cpp
+ message.cpp
+ debug.cpp
+)
+add_sanitizers(doxycfg)
+
+add_library(doxymain STATIC
+ # generated for/by flex/bison
+ #${LEX_FILES_H} #unfortunately doesn't work in older versions of CMake (like 3.6.2)
+ #${LEX_FILES_CPP} #unfortunately doesn't work in older versions of CMake (like 3.6.2)
+ ${GENERATED_SRC}/code.l.h
+ ${GENERATED_SRC}/commentcnv.l.h
+ ${GENERATED_SRC}/commentscan.l.h
+ ${GENERATED_SRC}/constexp.cpp
+ ${GENERATED_SRC}/constexp.l.h
+ ${GENERATED_SRC}/declinfo.l.h
+ ${GENERATED_SRC}/defargs.l.h
+ ${GENERATED_SRC}/doctokenizer.l.h
+ ${GENERATED_SRC}/fortrancode.l.h
+ ${GENERATED_SRC}/fortranscanner.l.h
+ ${GENERATED_SRC}/pre.l.h
+ ${GENERATED_SRC}/pycode.l.h
+ ${GENERATED_SRC}/pyscanner.l.h
+ ${GENERATED_SRC}/scanner.l.h
+ ${GENERATED_SRC}/sqlcode.l.h
+ ${GENERATED_SRC}/vhdlcode.l.h
+ ${GENERATED_SRC}/xml.l.h
+ ${GENERATED_SRC}/xmlcode.l.h
+ ${GENERATED_SRC}/code.cpp
+ ${GENERATED_SRC}/commentcnv.cpp
+ ${GENERATED_SRC}/commentscan.cpp
+ ${GENERATED_SRC}/declinfo.cpp
+ ${GENERATED_SRC}/defargs.cpp
+ ${GENERATED_SRC}/doctokenizer.cpp
+ ${GENERATED_SRC}/fortrancode.cpp
+ ${GENERATED_SRC}/fortranscanner.cpp
+ ${GENERATED_SRC}/pre.cpp
+ ${GENERATED_SRC}/pycode.cpp
+ ${GENERATED_SRC}/pyscanner.cpp
+ ${GENERATED_SRC}/scanner.cpp
+ ${GENERATED_SRC}/sqlcode.cpp
+ ${GENERATED_SRC}/vhdlcode.cpp
+ ${GENERATED_SRC}/xml.cpp
+ ${GENERATED_SRC}/xmlcode.cpp
+ #
+ ${GENERATED_SRC}/ce_parse.cpp
+ # custom generated files
+ ${GENERATED_SRC}/lang_cfg.h
+ ${GENERATED_SRC}/ce_parse.h
+ ${GENERATED_SRC}/resources.cpp
+ #
+ arguments.cpp
+ cite.cpp
+ clangparser.cpp
+ classdef.cpp
+ classlist.cpp
+ cmdmapper.cpp
+ condparser.cpp
+ context.cpp
+ cppvalue.cpp
+ defgen.cpp
+ definition.cpp
+ dia.cpp
+ diagram.cpp
+ dirdef.cpp
+ docbookgen.cpp
+ docbookvisitor.cpp
+ docgroup.cpp
+ docparser.cpp
+ docsets.cpp
+ docvisitor.cpp
+ dot.cpp
+ dotcallgraph.cpp
+ dotclassgraph.cpp
+ dotdirdeps.cpp
+ dotfilepatcher.cpp
+ dotgfxhierarchytable.cpp
+ dotgraph.cpp
+ dotgroupcollaboration.cpp
+ dotincldepgraph.cpp
+ dotlegendgraph.cpp
+ dotnode.cpp
+ dotrunner.cpp
+ doxygen.cpp
+ eclipsehelp.cpp
+ emoji.cpp
+ entry.cpp
+ filedef.cpp
+ fileparser.cpp
+ formula.cpp
+ ftvhelp.cpp
+ groupdef.cpp
+ htags.cpp
+ htmldocvisitor.cpp
+ htmlentity.cpp
+ htmlgen.cpp
+ htmlhelp.cpp
+ image.cpp
+ index.cpp
+ language.cpp
+ latexdocvisitor.cpp
+ latexgen.cpp
+ layout.cpp
+ mandocvisitor.cpp
+ mangen.cpp
+ markdown.cpp
+ memberdef.cpp
+ membergroup.cpp
+ memberlist.cpp
+ msc.cpp
+ namespacedef.cpp
+ outputgen.cpp
+ outputlist.cpp
+ pagedef.cpp
+ perlmodgen.cpp
+ plantuml.cpp
+ qhp.cpp
+ qhpxmlwriter.cpp
+ reflist.cpp
+ resourcemgr.cpp
+ rtfdocvisitor.cpp
+ rtfgen.cpp
+ rtfstyle.cpp
+ searchindex.cpp
+ sqlite3gen.cpp
+ stlsupport.cpp
+ symbolresolver.cpp
+ tagreader.cpp
+ template.cpp
+ textdocvisitor.cpp
+ tooltip.cpp
+ util.cpp
+ vhdldocgen.cpp
+ vhdljjparser.cpp
+ xmldocvisitor.cpp
+ xmlgen.cpp
+)
+add_sanitizers(doxymain)
+
+# LLVM/clang headers give a lot of warnings with -Wshadow and -Wcast-align so we disable them for
+# the one file that includes them
+
+if (NOT MSVC)
+set_source_files_properties(clangparser.cpp PROPERTIES COMPILE_FLAGS "-Wno-shadow -Wno-cast-align")
+endif()
+
+##foreach(lex_file ${LEX_FILES})
+##add_library(doxymain STATIC ${GENERATED_SRC}/${lex_file}.l.h)
+##endforeach()
+
+add_executable(doxygen
+ main.cpp
+)
+add_sanitizers(doxygen)
+
+if (use_libclang)
+ find_package(LLVM REQUIRED CONFIG)
+ find_package(Clang REQUIRED CONFIG)
+ if (CMAKE_CXX_COMPILER_ID STREQUAL "Clang")
+ target_compile_features(doxymain PRIVATE cxx_alignof)
+ target_compile_features(doxygen PRIVATE cxx_alignof)
+ if (use_libc++)
+ target_compile_options(doxymain PRIVATE -stdlib=libc++)
+ target_compile_options(doxygen PRIVATE -stdlib=libc++)
+ endif()
+ endif()
+ include_directories(${LLVM_INCLUDE_DIRS})
+ add_definitions(${LLVM_DEFINITIONS})
+ if (static_libclang)
+ set(CLANG_LIBS libclang clangTooling)
+ else() # dynamically linked version of clang
+ llvm_config(doxymain USE_SHARED support)
+ set(CLANG_LIBS libclang clang-cpp)
+ endif()
+ target_compile_definitions(doxygen PRIVATE ${LLVM_DEFINITIONS})
+endif()
+
+target_link_libraries(doxygen PRIVATE
+ doxymain
+ doxycfg
+ qtools
+ md5
+ lodepng
+ mscgen
+ doxygen_version
+ vhdlparser
+ ${SQLITE3_LIBRARIES}
+ ${ICONV_LIBRARIES}
+ ${CMAKE_THREAD_LIBS_INIT}
+ ${EXTRA_LIBS}
+ ${CLANG_LIBS}
+ ${COVERAGE_LINKER_FLAGS}
+ ${DOXYGEN_EXTRA_LINK_OPTIONS}
+)
+
+set_project_warnings(doxycfg)
+set_project_warnings(doxymain)
+set_project_warnings(doxygen)
+
+set_project_coverage(qtools)
+set_project_coverage(doxycfg)
+set_project_coverage(doxymain)
+set_project_coverage(doxygen)
+
+
+install(TARGETS doxygen DESTINATION bin)
+
diff --git a/.pc/manpages.diff/doc/doxygen.1 b/.pc/manpages.diff/doc/doxygen.1
new file mode 100644
index 0000000..0b02cb2
--- /dev/null
+++ b/.pc/manpages.diff/doc/doxygen.1
@@ -0,0 +1,62 @@
+.TH DOXYGEN "1" "@DATE@" "doxygen @VERSION@" "User Commands"
+.SH NAME
+doxygen \- documentation system for various programming languages
+.SH DESCRIPTION
+Doxygen is a documentation system for C++, C, Java, Objective-C, IDL
+(Corba and Microsoft flavors), Fortran, Python, VHDL and to some extent PHP, C#, and D.
+.PP
+You can use doxygen in a number of ways:
+.TP
+1) Use doxygen to generate a template configuration file:
+.IP
+doxygen [-s] \fB\-g\fR [configName]
+.TP
+2) Use doxygen to update an old configuration file:
+.IP
+doxygen [-s] \fB\-u\fR [configName]
+.TP
+3) Use doxygen to generate documentation using an existing configuration file:
+.IP
+doxygen [configName]
+.TP
+4) Use doxygen to generate a template file controlling the layout of the generated documentation:
+.IP
+doxygen -l [layoutFileName]
+.IP
+In case layoutFileName is omitted layoutFileName.xml will be used as filename.
+If - is used for layoutFileName doxygen will write to standard output.
+.TP
+5) Use doxygen to generate a template style sheet file for RTF, HTML or Latex.
+.IP
+RTF:
+doxygen \fB\-w\fR rtf styleSheetFile
+.IP
+HTML:
+doxygen \fB\-w\fR html headerFile footerFile styleSheetFile [configFile]
+.IP
+LaTeX: doxygen \fB\-w\fR latex headerFile footerFile styleSheetFile [configFile]
+.TP
+6) Use doxygen to generate an rtf extensions file
+.IP
+RTF:
+doxygen \fB\-e\fR rtf extensionsFile
+.IP
+If - is used for extensionsFile doxygen will write to standard output.
+.TP
+7) Use doxygen to compare the used configuration file with the template configuration file
+.IP
+doxygen \fB\-x\fR [configFile]
+.TP
+8) Use doxygen to show a list of built-in emojis.
+.IP
+doxygen \fB\-f\fR emoji outputFileName
+.IP
+If - is used for outputFileName doxygen will write to standard output.
+.PP
+If \fB\-s\fR is specified the comments in the config file will be omitted.
+If configName is omitted `Doxyfile' will be used as a default.
+If - is used for configFile doxygen will write / read the configuration to /from standard output / input.
+.SH AUTHOR
+Doxygen version @VERSION@, Copyright Dimitri van Heesch 1997-2019
+.SH SEE ALSO
+doxywizard(1).
diff --git a/.pc/no-timestamps.diff/Doxyfile b/.pc/no-timestamps.diff/Doxyfile
new file mode 100644
index 0000000..44eb5b5
--- /dev/null
+++ b/.pc/no-timestamps.diff/Doxyfile
@@ -0,0 +1,332 @@
+# Doxyfile 1.8.16
+
+#---------------------------------------------------------------------------
+# Project related configuration options
+#---------------------------------------------------------------------------
+DOXYFILE_ENCODING = UTF-8
+PROJECT_NAME = Doxygen
+PROJECT_NUMBER =
+PROJECT_BRIEF =
+PROJECT_LOGO =
+OUTPUT_DIRECTORY = doxygen_docs
+CREATE_SUBDIRS = YES
+ALLOW_UNICODE_NAMES = NO
+OUTPUT_LANGUAGE = English
+OUTPUT_TEXT_DIRECTION = None
+BRIEF_MEMBER_DESC = YES
+REPEAT_BRIEF = YES
+ABBREVIATE_BRIEF =
+ALWAYS_DETAILED_SEC = NO
+INLINE_INHERITED_MEMB = NO
+FULL_PATH_NAMES = YES
+STRIP_FROM_PATH =
+STRIP_FROM_INC_PATH =
+SHORT_NAMES = NO
+JAVADOC_AUTOBRIEF = YES
+JAVADOC_BANNER = NO
+QT_AUTOBRIEF = NO
+MULTILINE_CPP_IS_BRIEF = NO
+INHERIT_DOCS = YES
+SEPARATE_MEMBER_PAGES = NO
+TAB_SIZE = 8
+ALIASES =
+OPTIMIZE_OUTPUT_FOR_C = NO
+OPTIMIZE_OUTPUT_JAVA = NO
+OPTIMIZE_FOR_FORTRAN = NO
+OPTIMIZE_OUTPUT_VHDL = NO
+OPTIMIZE_OUTPUT_SLICE = NO
+EXTENSION_MAPPING =
+MARKDOWN_SUPPORT = YES
+TOC_INCLUDE_HEADINGS =
+AUTOLINK_SUPPORT = YES
+BUILTIN_STL_SUPPORT = NO
+CPP_CLI_SUPPORT = NO
+SIP_SUPPORT = NO
+IDL_PROPERTY_SUPPORT = YES
+DISTRIBUTE_GROUP_DOC = NO
+GROUP_NESTED_COMPOUNDS = NO
+SUBGROUPING = YES
+INLINE_GROUPED_CLASSES = NO
+INLINE_SIMPLE_STRUCTS = NO
+TYPEDEF_HIDES_STRUCT = NO
+LOOKUP_CACHE_SIZE = 0
+#---------------------------------------------------------------------------
+# Build related configuration options
+#---------------------------------------------------------------------------
+EXTRACT_ALL = YES
+EXTRACT_PRIVATE = YES
+EXTRACT_PRIV_VIRTUAL = NO
+EXTRACT_PACKAGE = NO
+EXTRACT_STATIC = YES
+EXTRACT_LOCAL_CLASSES = YES
+EXTRACT_LOCAL_METHODS = NO
+EXTRACT_ANON_NSPACES = NO
+HIDE_UNDOC_MEMBERS = NO
+HIDE_UNDOC_CLASSES = NO
+HIDE_FRIEND_COMPOUNDS = NO
+HIDE_IN_BODY_DOCS = NO
+INTERNAL_DOCS = NO
+CASE_SENSE_NAMES = NO
+HIDE_SCOPE_NAMES = NO
+HIDE_COMPOUND_REFERENCE= NO
+SHOW_INCLUDE_FILES = YES
+SHOW_GROUPED_MEMB_INC = NO
+FORCE_LOCAL_INCLUDES = NO
+INLINE_INFO = YES
+SORT_MEMBER_DOCS = YES
+SORT_BRIEF_DOCS = NO
+SORT_MEMBERS_CTORS_1ST = NO
+SORT_GROUP_NAMES = NO
+SORT_BY_SCOPE_NAME = NO
+STRICT_PROTO_MATCHING = NO
+GENERATE_TODOLIST = YES
+GENERATE_TESTLIST = YES
+GENERATE_BUGLIST = YES
+GENERATE_DEPRECATEDLIST= YES
+ENABLED_SECTIONS =
+MAX_INITIALIZER_LINES = 30
+SHOW_USED_FILES = YES
+SHOW_FILES = YES
+SHOW_NAMESPACES = YES
+FILE_VERSION_FILTER =
+LAYOUT_FILE =
+CITE_BIB_FILES =
+#---------------------------------------------------------------------------
+# Configuration options related to warning and progress messages
+#---------------------------------------------------------------------------
+QUIET = NO
+WARNINGS = YES
+WARN_IF_UNDOCUMENTED = YES
+WARN_IF_DOC_ERROR = YES
+WARN_NO_PARAMDOC = NO
+WARN_AS_ERROR = NO
+WARN_FORMAT = "$file:$line: $text "
+WARN_LOGFILE = warnings.log
+#---------------------------------------------------------------------------
+# Configuration options related to the input files
+#---------------------------------------------------------------------------
+INPUT = src \
+ vhdlparser
+INPUT_ENCODING = UTF-8
+FILE_PATTERNS = *.h \
+ *.cpp \
+ *.md
+RECURSIVE = NO
+EXCLUDE =
+EXCLUDE_SYMLINKS = NO
+EXCLUDE_PATTERNS =
+EXCLUDE_SYMBOLS =
+EXAMPLE_PATH =
+EXAMPLE_PATTERNS =
+EXAMPLE_RECURSIVE = NO
+IMAGE_PATH =
+INPUT_FILTER =
+FILTER_PATTERNS =
+FILTER_SOURCE_FILES = NO
+FILTER_SOURCE_PATTERNS =
+USE_MDFILE_AS_MAINPAGE =
+#---------------------------------------------------------------------------
+# Configuration options related to source browsing
+#---------------------------------------------------------------------------
+SOURCE_BROWSER = YES
+INLINE_SOURCES = NO
+STRIP_CODE_COMMENTS = NO
+REFERENCED_BY_RELATION = YES
+REFERENCES_RELATION = YES
+REFERENCES_LINK_SOURCE = YES
+SOURCE_TOOLTIPS = YES
+USE_HTAGS = NO
+VERBATIM_HEADERS = YES
+#---------------------------------------------------------------------------
+# Configuration options related to the alphabetical class index
+#---------------------------------------------------------------------------
+ALPHABETICAL_INDEX = YES
+COLS_IN_ALPHA_INDEX = 5
+IGNORE_PREFIX =
+#---------------------------------------------------------------------------
+# Configuration options related to the HTML output
+#---------------------------------------------------------------------------
+GENERATE_HTML = YES
+HTML_OUTPUT =
+HTML_FILE_EXTENSION = .html
+HTML_HEADER =
+HTML_FOOTER =
+HTML_STYLESHEET =
+HTML_EXTRA_STYLESHEET =
+HTML_EXTRA_FILES =
+HTML_COLORSTYLE_HUE = 220
+HTML_COLORSTYLE_SAT = 100
+HTML_COLORSTYLE_GAMMA = 80
+HTML_TIMESTAMP = YES
+HTML_DYNAMIC_MENUS = YES
+HTML_DYNAMIC_SECTIONS = YES
+HTML_INDEX_NUM_ENTRIES = 100
+GENERATE_DOCSET = YES
+DOCSET_FEEDNAME = "Doxygen docs"
+DOCSET_BUNDLE_ID = org.doxygen.Doxygen
+DOCSET_PUBLISHER_ID = org.doxygen.Publisher
+DOCSET_PUBLISHER_NAME = Publisher
+GENERATE_HTMLHELP = NO
+CHM_FILE =
+HHC_LOCATION =
+GENERATE_CHI = NO
+CHM_INDEX_ENCODING =
+BINARY_TOC = NO
+TOC_EXPAND = NO
+GENERATE_QHP = NO
+QCH_FILE =
+QHP_NAMESPACE = org.doxygen.Project
+QHP_VIRTUAL_FOLDER = doc
+QHP_CUST_FILTER_NAME =
+QHP_CUST_FILTER_ATTRS =
+QHP_SECT_FILTER_ATTRS =
+QHG_LOCATION =
+GENERATE_ECLIPSEHELP = NO
+ECLIPSE_DOC_ID = org.doxygen.Project
+DISABLE_INDEX = NO
+GENERATE_TREEVIEW = YES
+ENUM_VALUES_PER_LINE = 4
+TREEVIEW_WIDTH = 250
+EXT_LINKS_IN_WINDOW = NO
+FORMULA_FONTSIZE = 10
+FORMULA_TRANSPARENT = YES
+USE_MATHJAX = NO
+MATHJAX_FORMAT = HTML-CSS
+MATHJAX_RELPATH =
+MATHJAX_EXTENSIONS =
+MATHJAX_CODEFILE =
+SEARCHENGINE = YES
+SERVER_BASED_SEARCH = YES
+EXTERNAL_SEARCH = NO
+SEARCHENGINE_URL =
+SEARCHDATA_FILE = searchdata.xml
+EXTERNAL_SEARCH_ID =
+EXTRA_SEARCH_MAPPINGS =
+#---------------------------------------------------------------------------
+# Configuration options related to the LaTeX output
+#---------------------------------------------------------------------------
+GENERATE_LATEX = NO
+LATEX_OUTPUT =
+LATEX_CMD_NAME =
+MAKEINDEX_CMD_NAME = makeindex
+LATEX_MAKEINDEX_CMD = makeindex
+COMPACT_LATEX = NO
+PAPER_TYPE = a4
+EXTRA_PACKAGES =
+LATEX_HEADER =
+LATEX_FOOTER =
+LATEX_EXTRA_STYLESHEET =
+LATEX_EXTRA_FILES =
+PDF_HYPERLINKS = YES
+USE_PDFLATEX = NO
+LATEX_BATCHMODE = NO
+LATEX_HIDE_INDICES = NO
+LATEX_SOURCE_CODE = NO
+LATEX_BIB_STYLE = plain
+LATEX_TIMESTAMP = NO
+LATEX_EMOJI_DIRECTORY =
+#---------------------------------------------------------------------------
+# Configuration options related to the RTF output
+#---------------------------------------------------------------------------
+GENERATE_RTF = NO
+RTF_OUTPUT =
+COMPACT_RTF = NO
+RTF_HYPERLINKS = NO
+RTF_STYLESHEET_FILE =
+RTF_EXTENSIONS_FILE =
+RTF_SOURCE_CODE = NO
+#---------------------------------------------------------------------------
+# Configuration options related to the man page output
+#---------------------------------------------------------------------------
+GENERATE_MAN = NO
+MAN_OUTPUT =
+MAN_EXTENSION = .3
+MAN_SUBDIR =
+MAN_LINKS = NO
+#---------------------------------------------------------------------------
+# Configuration options related to the XML output
+#---------------------------------------------------------------------------
+GENERATE_XML = NO
+XML_OUTPUT = xml
+XML_PROGRAMLISTING = YES
+XML_NS_MEMB_FILE_SCOPE = NO
+#---------------------------------------------------------------------------
+# Configuration options related to the DOCBOOK output
+#---------------------------------------------------------------------------
+GENERATE_DOCBOOK = NO
+DOCBOOK_OUTPUT = docbook
+DOCBOOK_PROGRAMLISTING = NO
+#---------------------------------------------------------------------------
+# Configuration options for the AutoGen Definitions output
+#---------------------------------------------------------------------------
+GENERATE_AUTOGEN_DEF = NO
+#---------------------------------------------------------------------------
+# Configuration options related to the Perl module output
+#---------------------------------------------------------------------------
+GENERATE_PERLMOD = NO
+PERLMOD_LATEX = NO
+PERLMOD_PRETTY = YES
+PERLMOD_MAKEVAR_PREFIX =
+#---------------------------------------------------------------------------
+# Configuration options related to the preprocessor
+#---------------------------------------------------------------------------
+ENABLE_PREPROCESSING = YES
+MACRO_EXPANSION = YES
+EXPAND_ONLY_PREDEF = YES
+SEARCH_INCLUDES = YES
+INCLUDE_PATH = qtools \
+ libmd5 \
+ liblodepng \
+ libmscgen
+INCLUDE_FILE_PATTERNS =
+PREDEFINED =
+EXPAND_AS_DEFINED =
+SKIP_FUNCTION_MACROS = YES
+#---------------------------------------------------------------------------
+# Configuration options related to external references
+#---------------------------------------------------------------------------
+TAGFILES = qtools_docs/qtools.tag=../../qtools_docs/html
+GENERATE_TAGFILE = doxygen.tag
+ALLEXTERNALS = NO
+EXTERNAL_GROUPS = YES
+EXTERNAL_PAGES = YES
+#---------------------------------------------------------------------------
+# Configuration options related to the dot tool
+#---------------------------------------------------------------------------
+CLASS_DIAGRAMS = NO
+DIA_PATH =
+HIDE_UNDOC_RELATIONS = YES
+HAVE_DOT = YES
+DOT_NUM_THREADS = 0
+DOT_FONTNAME = Helvetica
+DOT_FONTSIZE = 10
+DOT_FONTPATH =
+CLASS_GRAPH = YES
+COLLABORATION_GRAPH = YES
+GROUP_GRAPHS = YES
+UML_LOOK = NO
+UML_LIMIT_NUM_FIELDS = 10
+TEMPLATE_RELATIONS = YES
+INCLUDE_GRAPH = YES
+INCLUDED_BY_GRAPH = YES
+CALL_GRAPH = NO
+CALLER_GRAPH = NO
+GRAPHICAL_HIERARCHY = YES
+DIRECTORY_GRAPH = YES
+DOT_IMAGE_FORMAT = svg
+INTERACTIVE_SVG = YES
+DOT_PATH =
+DOTFILE_DIRS =
+MSCFILE_DIRS =
+DIAFILE_DIRS =
+PLANTUML_JAR_PATH =
+PLANTUML_CFG_FILE =
+PLANTUML_INCLUDE_PATH =
+DOT_GRAPH_MAX_NODES = 100
+MAX_DOT_GRAPH_DEPTH = 0
+DOT_TRANSPARENT = NO
+DOT_MULTI_TARGETS = NO
+GENERATE_LEGEND = YES
+DOT_CLEANUP = NO
+DOT_MAX_FOLD = 17
+DOT_UML_DETAILS = NO
diff --git a/.pc/reproducible_changelog.diff/doc/changelog.doc b/.pc/reproducible_changelog.diff/doc/changelog.doc
new file mode 100644
index 0000000..df4293b
--- /dev/null
+++ b/.pc/reproducible_changelog.diff/doc/changelog.doc
@@ -0,0 +1,11109 @@
+/** \page changelog Changelog
+\tableofcontents{html,latex}
+\section log_1_9 1.9 Series
+\subsection log_1_9_1 Release 1.9.1
+\htmlonly
+(release date 08-01-2021)
+
+
Bug fixes
+
+
issue #8282: Error on ALIAS declaration without quotes [view]
+
issue #8286: Incorrect processing of VHDL strings [view], [view]
+
issue #8291: Doxygen crash on Windows when INLINE_SIMPLE_STRUCTS=YES [view]
+
issue #8294: Draw sibling dependee directories within same parent directoy in directory dependency graph.
+[view],
+[view],
+[view],
+[view], and
+[view]
Various fixes based on coverity scan results [view]
+
bug_549093 Regular HTML comments are removed. [view]
+
+
Features
+
+
Add a CLANG_ADD_INC_PATHS option which can be used to control whether the directory of every input file is added as an include when using Clang assisted parsing.
+[view], and
+[view]
Refactoring code for dot related source files [view]
+
Refactoring of portable.h and portable.cpp functions to be contained in a namespace Fixing some memory issues caused by not correctly freed pointers [view]
Bug 5388 - Wrong call graph in simple situation [view]
+
Bug 5389 - [Latex/PDF] Merging brief and detailed description in file section [view]
+
Bug 5390 - Parsing problem with C++11 empty initializer lists [view]
+
Bug 5393 - Move constructors and move assignment operators of embedded classes of template classes cannot be matched. [view]
+
Bug 5396 - Dia diagrams not displayed by Firefox [view]
+
Bug 5404 - regression referencing namespaced type [view]
+
Bug 5408 - doxygen nested \if \endif sample not working [view]
+
Bug 5410 - doxygen 1.8.6 sorts the contents of a namespace by group within the Class List [view]
+
Bug 5414 - Link refs with no title swallow an extra newline [view]
+
Bug 5415 - Documentation for derived classes no longer has an "Additional Inherited Members" section after upgrading doxygen from 1.8.3.1 to 1.8.6 [view]
+
Bug 5416 - configure --prefix=/opt/foo not accepted [view]
+
Bug 5417 - Command \| not working when last character in markdown table line [view]
+
Bug 5421 - Last line of code block lost if it is only one character and there is no text afterward [view]
+
Bug 5422 - Doxygen crashes on incorrect end group /**< @} */ [view]
+
Bug 5424 - star is not printed in \code environment [view]
+
Bug 5425 - Internal inconsistency: namespace in IDL [view]
+
Bug 5428 - Server side (PHP) search broke in 1.8.3 [view]
+
Bug 5436 - python3 import style causes doxygen to ignore some inheritances [view]
+
Bug 5437 - Markdown Extra - fenced code block: '>' before tab width parsed as block quote [view]
+
Bug 5438 - Tilde sign in combination with <pre> and MARKDOWN_SUPPORT disabled [view]
+
Bug 5439 - Blockquote followed by text inserts an extra paragraph [view]
Bug 5070 - Create possibility to keep user comments in Doxyfile
+
Bug 5207 - Latex: Hyperlinks for \secreflist / \refitem
+
Bug 5213 - Generated Doxyfile differs from result of doxygen -u (partial fix)
+
Bug 5263 - Indexing and searching cannot treat non ASCII identifiers
+
Bug 5270 - Fortran: in body documentation lands on wrong place In some cases, in propriety code, with in body Fortran documentation doxygen crashed. I REOPENED Bug_706520 for this
+
Bug 5271 - Fortran: Doxygen mixes up function-attributes with the return type test string should not be equal to "function" but should contain "function"
Bug 5282 - Accept IDs using unicode(non ASCII) characters in python codes
+
Bug 5283 - GENERATE_TREEVIEW=YES disables touch scrolling with Android 3.x
+
Bug 5284 - Cannot @ref or @link C++ operator overloads
+
Bug 5285 - Wrong page number and header in pdf output
+
Bug 5286 - When I use @INCLUDE DoxyWizard is closed Current directory was not changed at the right time so the include files could not be found in the "current" directory (i.e. the directory where the Doxyfile resides too, as this directory is shown as the current directory in the doxywizard). This is also important when the doxywizard is started from a shortcut.
+
Bug 5288 - Asterisks in comment wrongly displayed for @code
+
Bug 5289 - `FILTER_SOURCE_FILES=YES` required to build CALL_GRAPHS 5289
+
Bug 5290 - Fortran: error message when missing last EOL In case the original buffer in either fixed or free format code does not contain an EOL as last character, add it.
Bug 5347 - Long initialization line in C stops doxygen An extra "breakpoint" in the input string has been created in the form of a , (comma), so for initialization lines the line will be shorter and the , (comma) will be copied later on.
Bug 5374 - USE_MDFILE_AS_MAINPAGE doesn't work if full path is specified.
+
Bug 5381 - inline source browser shows wrong code with multi-line c++11's raw strings
+
Add support for honoring svg image format preference in msc
+
Added @parblock and @endparblock commands
+
Added compile support for Mavericks
+
Added fix to avoid errors with older compilers.
+
Added generated files to gitignore
+
Added missing docs tag
+
Added missing pthread lib to doxyapp
+
Added missing space after @parblock
+
Added rudimentary support for Django like template system for output creation.
+
Added the possibility to specify the -d option in the Visual studio GUI on windows for the lex rules
+
Adjust internationalization part to current situation
+
Alignment of @code and @verbatim section When having a code and a verbatim section the boxes are not aligned, this patch fixes this. Example code, aa.c; standard Doxyfile: /** \file
+
Allow @ref to unlabeled markdown page by name, i.e. @ref mypage.md
+
Allow links to other markdown pages of the form [link text](page.md)
+
Avoid accessing uninitialized memory in fileToString
+
Build problem with unistd.h and Cygwin The standard g++ compiler under windows (win32-g++) has unistd.gh file; Microsoft windows does not have it, therefore it is better to use the winbuild directory in case of windows and no dependency otherwise
+
Consistency in language part of the documentation Made documentation more inline with other parts of the documentation (regarding the way e.g. filenames are presented) Corrected some spelling errors Corrected the warning in the language.doc by placing a reference to the files from which language.doc is generated Corrected the color for the languages that are still v1.4.6 (language name now also red in stead of a pink background, was confusing with languages that were 1.5 / 1.6 compatible)
+
Corrected some inconsistencies in the comments
+
Debug output for lexical analyzer
+
Deleted generated files from source repository
+
Doxygen didn't allow @ref to parameters of type reference to an array.
+
Doxysearch under Cygwin should not have extension cgi.exe but just .cgi
+
Esperanto not supported by htmlhelp compiler reverting for Esperanto to default language (US English)
+
Fixed a number of compiler warnings reported by newer clang compiler
+
Fixed compilation issues in doxyapp
+
Fixed compile warning
+
Fixed compiler warning related to implicit size_t to int conversion
+
Fixed constness warning
+
Fixed invalid if statement found by cppcheck
+
Fixed issue with Romanian translator preventing treeview from working
+
Fixed regression autolinking C# template such as MyGenericClass<T>.g()
+
Fixed regression in argument matching for the template example
+
Fortran added keyword IMPURE
+
French translator up-to-date.
+
Internal documentation for debug possibilities Documentation regarding usage of -d option with [f]lex Initial documentation regarding the -d options with doxygen
+
LaTeX: Fix ToC entries of index/bibliography
+
Made lexer rule explicit
+
Make Python detection in configure work with version older than 2.7
+
Minor layout tweaks and extra guard
+
More fixes for the Windows build
+
Patch regarding generating the rules file for the windows build regarding languages, some inconsistencies in the (windows) build system, corrections to some spelling.
+
Regenerated language.doc
+
Removed Japanese characters in maintainers.txt as they break the build
+
Removed redundant backslashes in regexp pattern
+
Report details about fork() failure in logs.
+
Russian translator updated, new Russian maintainer added.
+
Small spelling correction to generate an rtf extensions file -> to generate a rtf extensions file
+
Some texts can be independent of \htmlonly / \latexonly
+
Space missing in error message. the word 'in' and the vale of filesOption were concatenated
+
This patch contains changes regarding the build system so that the *nix and Windows systems use the same information (consistency). Some use names routine names have been changed (from .l files with -P option) to reflect the file name that generated the routines, this makes it easier to create a general procedure. A number of include / header files are files are generated from different file types (html, xml, js), due some limitations of the windows build system the generated file names had to be changed (the extension in the windows build system is only available including the '.' so e.g. the file jquery_fx.js generates now jquery_fx.js.h instead of jquery_fx_js.h) In the windows version the creation of .cpp files from .l files has been adjusted to correct for the YY_BUF_SIZE problems. Furthermore on windows (and also used on *nix) some commands have been replaced with python scripts so that on windows only python is need (besides flex and bison). On *nix also perl is required for the generation using tmake.
+
Updated Visual Studio project files to include new source files
+
Usage of the -d option corrected Giving an error when a wrong -d option is given. Made some error messages more consistent. Corrected usage of the exit call, in case of an error: exit(1) otherwise exit(0). A closer look should be made on exitDoxygen as it does not contain any exit statements and it is unclear (to me) when it is used.
+
VHDL-2008 and arrays on unconstrained elements
+
consider currentFile when searching for global symbols
+
doc/language.doc generated from the updated sources (bgcolored)
+
doc/language.tpl -- UTF-8 reflected in the langhowto template
+
doc/language.tpl -- trailing spaces removed
+
doc/translator.py -- coloured status in HTML
+
doxygen /** style creates spurious code blocks with markdown enabled
+
doxygen version 1.8.5 throws many "Internal Inconsistency" errors when parsing .idl files
+
doxygen.sty.h was not ignored and not included/generated properly
Doxygen's source code is now managed using git and GitHub. Automatic builds
+ and regression tests are scheduled via Travis CI.
+
Configuration data for the config file, the documentation, and the wizard
+ are now produced from a single source (thanks to Albert)
+
All translation files have been migrated to UTF-8 (thanks to Petr Prikryl)
+
Added black box testing framework and a set of tests.
+
+
New features
+
+
Added SOURCE_TOOLTIPS option for advanced tooltip support while source browsing.
+
+
Bug fixes
+
+
Bug 4532 - HTML commands - documentation of </dd> tag missing
+
Bug 4710 - parameter on doxywizard manual Added sentence in respect to possible argument for doxywizard Added images to the LaTex / pdf version of the manual
+
Bug 4890 - Strange behavior when placing cite within brief.
+
Bug 4963 - SHORT_NAMES break references to \page in PDF output
+
Bug 5023 - Line breaks are not copied/displayed properly when using @copydoc.
+
Bug 5035 - Logical confusion with DISABLE_INDEX and GENERATE_TREEVIEW
Bug 5270 - Fortran: in body documentation lands on wrong place
+
Small typo corrected in doxywizard_usage.doc Generated config.doc file in git is not identical to the generated one
+
Various improvements to the (still experimental) sqlite3 support (thanks to Adrian Negreanu)
+
jquery: use the env MINIFIER if specified
+
Some words now in code style __attribute__ was seen (markdown) as the bold word attribute Reformulation of a sentence due to a not nice split of word (__declspec was split directly after __ in pdf)
+
Extended list with supported options for automatic link generation
+
Added -v option (analogous to --version). In case option started with -- and is not a known value (help or version) and error is given instead of starting doxygen
+
Fixed regression when nested class were processed before their parent
+
Minor changes to the way the code for config options is generated (thanks to Albert for the patch)
+
Brief description did not appear in the page index, when a page did not have any details.
+
Using & in the project name caused invalid HTML and LaTeX output
+
Fixed regression caused by the patch for bug 705219
+
Fixed issue running dot on files with non-ascii characters
+
Delayed expanding the HTML navigation tree until after the page has loaded
+
Made some fixed to the configure script for Cygwin (thanks to David Stacey)
+
config.xml is now used to generate configoptions.cpp and config.doc
+
Fixed whitespace issue when using \overload without arguments
+
Avoid space in the output after \n command following by a newline.
+
Fixed problem handling C comments inside a \code block.
+
Improved handling of \internal and \endinternal
+
Removed extra newline when reading in an input file
+
Make XML output adhere to MAX_INITIALIZER_LINES
+
Fixed issue handling \elseif after \ifnot
+
Fixed regression that could cause double nested classes
Added support for "clang assisted parsing", which allows
+ the code to also be parsed via libclang (C/C++ frontend of LLVM)
+ and can improve the quality of the syntax highlighting, cross-references,
+ and call graphs, especially for template heavy C++ code. To enable
+ this feature you have to configure doxygen with the --with-libclang
+ option. Then you get two new configuration options: CLANG_ASSISTED_PARSING
+ to enable or disable parsing via clang and CLANG_OPTIONS to pass additional
+ compiler options needed to compile the files. Note that enabling this feature
+ has a significant performance penalty.
+
Included patch donated by Intel which adds Docbook support.
+ This can be enabled via GENERATE_DOCBOOK and the output location can
+ be controlled using DOCBOOK_OUTPUT. Docbook specific sections can be
+ added using \docbookonly ... \enddocbookonly
+
Added support for UNO IDL (interface language used in Open/Libre Office), thanks to
+ Michael Stahl for the patch.
+
Included patch by Adrian Negreanu which stores data gathered by
+ doxygen in a sqlite3 database. Currently still work in progress and
+ can only be enabled using --with-sqlite3 during ./configure.
+
For interactive SVG graphs, edges are now highlighted when hovered by
+ the mouse.
+
Include patch by Adrian Negreanu to show duration statistics after a run.
+ You can enable this by running doxygen with the "-d Time" option.
+
Included patch by Markus Geimer which adds a new option
+ LATEX_EXTRA_FILES which works similarly to HTML_EXTRA_FILES in that
+ it copied specified files to the LaTeX output directory.
id 5056: Added support for processing DocSets with Dash (thanks to
+ Bogdan Popescu for the patch
+
id 4900: Added option EXTERNAL_PAGES which can be used to determine
+ whether or not pages imported via tags will appear under related
+ pages (similar to EXTERNAL_GROUPS).
+
id 5042: Added new MathJax command MATHJAX_CODEFILE which supports
+ including a file with MathJax related scripting to be inserted before
+ the MathJax script is loaded. Thanks to Albert for the patch.
+
id 5070: Comments in the config file starting with ## will now be
+ kept when upgrading the file with doxygen -u (and doxygen -s -u).
+ Thanks to Albert for the patch.
+
id 5061: Adds support for Latvian (thanks to a patch by Lauris).
+
Included language updates for Ukrainian, Romanian, and Korean
+
+
Bug fixes
+
+
id 1169: Fixed parse issue when using less than inside a template
+ argument.
+
id 1976 man page output was missing a linebreak before .SH when
+ definition a group with a section.
+
id 2114: @anchor were wrong when CREATE_SUBDIRS was enabled.
+
id 2445: Putting a @todo in front of an anonymous namespace caused
+ bogus entry in the todo list.
+
id 3198: Fixed alignment issue with tabs and multibyte characters.
+
id 3230: Character entities in titles were not rendered correctly
+ in the HTML navigation tree.
+
id 3272: No space between * and tag (e.g. \endcode) made parser
+ misbehave
+
id 3397: Included patch to limit generated Doxyfile comments to 80
+ columns
+
id 3487: Fixed off-by-one with MAX_DOT_GRAPH_DEPTH.
+
id 3785: Improved linking to template specializations.
+ Thanks to David Haney for the patch.
+
id 3909: Doxygen Header in C Files makes empty Lines in HTML Source
+ Code when starts in Line 1
+
id 4096: Fortran: array constructors with brackets were not correctly
+ recognized.
+
id 4223: The generated man pages had a .PP just before the subject
+ description
+
id 4224: On generated manpages the return section is incorrectly
+ indented
+
id 4261: use \page now generates a man page were the . is not
+ replaced by _8.
+
id 4385: Fixed issue with PROJECT_LOGO when using backslashes in
+ the path.
+
id 4499: Fortran: Using @var at module level didn't work.
+ expect a file/path name.
+
id 4650: Replaced "echo -n" with "printf" in the configure script.
Changed to way the search results for multiple projects can be linked
+ together. A project is now no longer identified by the tag files name but
+ via new option EXTERNAL_SEARCH_ID giving a bit more flexibility.
+
Disabled the disk cache for member data. Allows removing quite some complexity
+ in doxygen and is not really needed now that 64bit systems with >4GB RAM
+ are becoming more common. Let me know if you think you benefit from this caching.
+
id 5031: Using $relpath$ in a custom footer could lead to ambiguities
+ when followed by a name that could also be a marker, like 'search'.
+ Now $relpath^ should be used instead. $relpath$ is still supported for
+ backward compatibility.
+
+
New features
+
+
You can now use EXTENSION_MAPPING on files without any extension using
+ no_extension as placeholder (thanks to Jason Majors for the patch).
+
To make navindex section inside a layout file that links to
+ a specific URL you can use usergroup with the url attribute.
+
To make navindex section without any link inside a layout file you
+ can use usergroup with special title [none].
+
+
Bug fixes
+
+
id 4191: Fortran: Included patch to improve parsing line continuation
+ characters.
+
id 4204: Fortran: added support for protected attribute
+
id 4859, 5023: When using @copydoc, paragraphs breaks did not appear
+ in the copied documentation.
+
id 4930: Fortran: handle single quotes in normal Fortran comment.
+
id 4931, 5025: Scope of forwardly declared template class was lost
+ in the output.
+
id 4978: Tcl: Inline source code was not rendered correctly.
+
id 5005: Fixed case were a cyclic inheritance relation could crash
+ doxygen.
+
id 5008: Using @subpage in a -# style list was not handled properly.
+
id 5012: For a mainpage without title the project name is now shown as
+ the title in the XML output.
+
id 5017: The generated list of citations is now no longer included in
+ the tag file.
+
id 5014: Documenting strongly typed enum values outside of the enum
+ did not work.
+
id 5022: Python: = was missing in the output for variable assignment.
+
id 5024: Doxygen could crash when creating inline msc graphs.
+
id 5026: Members didn't have a More.. link to jump to detailed docs.
+
id 5030: Doxygen did not probably distinguish between two template
+
id 5034: regression: C++ style comments that started with a line of
+ slashes did not get processed correctly anymore.
+
id 5038: Fixed parse error when left shift operator occurred as a
+ default parameter.
+ members or functions that only differ in the return type.
+
Setting SEARCH_INCLUDES to NO resulted in no include graphs and no
+ include files being listed in the output.
+
Improved support for MinGW (thanks to a patch by Brecht Sanders).
+
Removed the Graphviz/dot dependency when building the doxygen
+ documentation.
+
Anchors to sub pages were wrong in the XML output.
+
Included VHDL patch by Martin Kreis that improves the flow chart
+ generation.
+
corrected several code pages and fontsets for proper RTF output for
+ a number of languages such as Greek.
Expanding the tree in an index page of the HTML output, will now
+ expand only one level instead of the whole sub-tree (thanks to
+ Pez Cuckow for the patch).
+
A blockquote in Markdown does no longer require a whitespace
+ after the last '>' if the '>' is followed by a newline.
+
id 4863: Included patch to add version info to all generated
+ template files (headers, footers, stylesheets, layout files, etc).
+
+
New features
+
+
Added support for using external tools to index and search through
+ the HTML documentation. An example index tool is provided (doxyindexer)
+ and an example search engine (doxysearch.cgi).
+ To configure the external search engine the following new options
+ are added to the configuration file: EXTERNAL_SEARCH (to enable the
+ feature), SEARCHENGINE_URL (to specify the URL of the search engine),
+ SEARCHDATA_FILE (to specify the name of the raw search data to index),
+ EXTRA_SEARCH_MAPPINGS (for search through multiple projects).
+ See the manual for details.
+
Added USE_MDFILE_AS_MAINPAGE config option to select a markdown page to
+ be used as the main page.
+
id 3945: This patch (contributed by Albert) adds support for
+ simple logic expressions for \cond, \if, and friends, i.e. you can do
+ \if (SOME_SECTION_NAME && (!THIS_ALTERNATIVE || THAT_ALTERNATIVE))
+
id 4888: Patch (contributed by Albert) adds a new configuration
+ option MATHJAX_FORMAT to select the MathJax output format. Options are
+ HTML-CSS, NativeMML, or SVG.
+
+
Bug fixes
+
+
id 4584: Fixed compile issues with 0 to QCString cast for
+ old compilers.
+
id 4752: A class A deriving from another class B inside a namespace
+ not known to doxygen, caused class B to appear in the global scope.
+
id 4839: Fixed problem processing .bib files when they were located
+ in a path containing spaces.
+
id 4848: Using \addindex in a page will now produce a link to the
+ word, instead of the start of the page.
+
id 4849: The TREEVIEW_WIDTH option did not have any effect.
+
id 4851: Jumping from a level 3 section to a level 1 section did
+ not appear correctly in the page TOC.
+
id 4852: C++11: Improved handling of noexcept expressions, e.g.:
+ Test() noexcept ( noexcept(T::T()) ) = default;
+
id 4853: Improved SIGINT handling when running multiple dot instances.
+
id 4860: Fixed problem processing .bib files when using a non default
+ output directory.
+
id 4862: Comment for IDL_PROPERTY_SUPPORT in the config file template
+ did not have line wrapping.
+
id 4864: Setting SHOW_FILES to NO prevented call graphs from being
+ generated.
+
id 4865: Fortran: In initialization statement the "=" was missing
+
id 4872: Fortran: ALIASes where not replaced in !! and !< comments.
+
id 4886: Added meta tag "generator" to HTML output (thanks to
+ Albert for the patch).
+
id 4899: Sections of the main page did not appear in the
+ navigation tree until the main page had sub pages.
+ Also fixed bug in treeview that caused mainpage with title and
+ sections to appear at the same level as the sections.
+
id 4908: Doxygen could select the wrong overloaded method when
+ the only difference in parameter types was the template type of
+ a typedef.
+
id 4909: Inheriting member documentation did not work in combination
+ with Java interfaces.
+
id 4915: Enum values did not appear in the detailed documentation
+ when using C++11 style enums.
+
id 4920: Even though HIDE_UNDOC_MEMBERS was enabled, the navigation
+ still showed undocumented members.
+
id 4921: Fixed back button behaviour when using the navigation tree.
+
id 4927: Added anchors to refs in the index.qhp TOC.
+
id : Added XML declaration to index.qhp TOC.
+
id 4932: When a class and its base class has the same nested class,
+ the collaboration diagram could point to the wrong class.
+
id 4934: Comments inside a function macro parameter appeared before
+ the expanded macro, instead of being treated as part of the parameter.
+
id 4936: Allow minus in the name of a HTML attribute.
+
id 4939: Code fragments were wrapped too early in the latex output.
+
id 4947: Fixed Qt version number in ./configure --help text.
+
id 4955: Included patch to prevent processing identifiers starting
+ with _ or __ as markdown.
+
id 4956: Horizontal ruler inside paragraph caused missing </p>
+
id 4957: Using "usergroup" in the layout.xml caused missing <div>
+
id 4962: Fixed problem with user defined entries in the eclipse help
+ index (thanks to Rene Papenhoven for the fix).
+
id 4959: Fixed problem parsing initializer list with C++11 style
+ uniform types.
+
id 4968: \if around list item preceded by whitespace caused wrong
+ list in the output.
+
id 4969: Correct link in documentation of SIP_SUPPORT option.
+
id 4979: Fixed bug that could prevent refman.tex from being generated.
+
id 4980: Fixed missing space in Chinese translation.
+
id 4989: Files added via HTML_EXTRA_STYLESHEET did not correct refer
+ to files that where placed in a subdirectory.
+
id 4991: Searching for multibyte characters did not work with the
+ server based search engine.
+
id 4993: Fixed case where line numbers got out of sync with the code.
+
id 4994: First member of an anonymous C++11 style enum was not shown
+ properly.
+
id 4995: Fixed case where _'s where falsely converted to Markdown
+ emphasis.
+
id 4996: Title not used when \ref'ing to a \section imported via
+ a tag file.
+
id 4997: Behavior of @cond was accidentally reversed by new expression
+ parser.
+
id 5000: Fixed problems handling @cond inside /// comments.
+
id 5001: Fixed case where doxygen would during preprocessing.
+
id 5002: A file specified using HTML_EXTRA_STYLEHSHEET did not end
+ up in the Qt Help index.
+
Improved the way enums are rendered in the HTML output.
+
When inlining structs (INLINE_SIMPLE_STRUCTS=YES) a <p> was missing
+ for members with a detailed description, causing invalid XHTML.
+
Fixed problem loading the navigation tree when using .xhtml as the
+ file extension.
+
The navigation tree was not always correctly positioned upon initial
+ load when using Chrome.
+
HTML Navigation tree showed static members even when EXTRACT_STATIC was
+ set to NO.
+
Same word could appear multiple times in the match list for an entry
+ in the search results when using server based search.
Using a fenced block (~~~~) in Markdown without explicit extension will
+ now be interpreted as a @code..@endcode block instead
+ of @verbatim..@endverbatim.
+
Classes inheriting from an class that is outside the scope of doxygen
+ are still shown in diagrams. This does not hold for usage relations.
+
+
New features
+
+
Added support for C++11:
+
+
strongly typed enums, e.g.:
+
enum class E
+
enums with explicit type, e.g.:
+
enum E : unsigned int { ... }
+
id 4749: added support for final keyword on classes and methods.
+
support for override keyword for methods.
+
nullptr is new a type keyword in code fragments.
+
support for variables with initializer lists,
+ e.g.:
const int var {10};
+
support for trailing return types,
+ e.g.:
auto foo() -> Bar;
+
id 4624: added support for template aliases,
+ e.g.:
template<typename T> using A = B<T>;
+
support for C++11 variadic templates,
+ e.g.:
template<typename... Values> class C;
+
support for documenting template class declarations.
+
id 4807: static_assert(...); inside a class is now ignored.
+
id 4793: Add support parameters with default lambda functions,
+ e.g.:
int foo(int i, std::function<int(int)> f = [](int x) -> int { return x / 2; })
+
default initializers for non-static data members,
+ e.g.:
class C { public: int x = 4; int y {6}; int z = y*func(); };
+
support for decltype as a way selecting a type for a variable,
+ e.g.:
int x; decltype(x) y;
+
support for new string literals,
+ e.g.
u8"utf8", u"utf-16", U"utf-32", L"wchar"
+
support for raw string literals (with and without user defined
+ delimiter),
+ e.g.
R"(some"thing)", u8R"raw(some)"thing)raw"
+
support for explicitly deleted and defaulted special members
+ (=default and =delete).
+
+
Made several improvements to the way Objective-C categories and protocols
+ are handled:
+
+
Class extensions are now treated as part of the class, whereas
+ categories are listed separately.
+
Fixed parse problem where category had a { } section.
+
Fixed parse problem for categories that implemented protocols.
+
Fixed render bug for protocols in class diagrams.
+
Attributes with the same name as a method are now no longer matched.
+
Internal properties are now also marked with [implementation]
+
Members of categories are shown in the class they extend as well, and
+ cross reference links are made between these members.
+
Class extension implementing protocols are now shown as protocols
+ inherited by the class itself, including the "Implemented by" relation.
+
+
Added option HTML_EXTRA_STYLESHEET which allows adding an additional
+ stylesheet without completely replacing doxygen.css.
+
Added option AUTOLINK_SUPPORT which can be used to enable/disable
+ autolinking globally.
+
Included language updates for Czech, Spanish, Greek, Slovak, and
+ Esperanto.
+
+
Bug fixes
+
+
Fixed render glitch where template member of a base class was not
+ properly hidden in the derived class.
+
Privately nested classes no longer appear in the declaration section
+ of their parent if EXTRACT_PRIVATE is disabled.
+
In the declaration section the separator line was in between the
+ member and its brief description.
+
Fixed a couple of compiler warning with the new XCode 4.4 compiler.
+
Added compilation support for Mountain Lion (Mac OS X 10.8).
+
id 4789: Nested namespaces did not appear in the namespace list if the
+ parent namespace was undocumented.
+
id 4809: Fixed some spelling errors in the code comments.
+
id 4814: Fortran: comma at begin of argument list description in
+ case of implicit type
+
id 4815: Fortran: Entities on line with USE, ONLY were not hyperlinked
+ in code.
+
id 4816: Fortran: handle carriage return in non terminated strings.
+
id 4821: Using Markdown formatting in @todo/@bug/.. like descriptions
+ did not work.
+
id 4823: Fixed potential crash when <code> appeared inside <summary>
+ for C# code.
+
id 4824: \xrefitems of the same type are not grouped together under
+ the same heading (just like \todo and friends).
+
Fixed case where full directory path was shown even though
+ FULL_PATH_NAMES was set to NO.
+
id 4825: HTML output of template-derived classes contained unescaped
+ characters.
+
id 4800: "Class Index" appeared twice in the PDF TOC, Index at the
+ end did not appear at all.
+
In a declaration no link was created when referring to a class inside
+ an undocumented namespace imported via a tag file.
+
id 4840: Make default for TAB_SIZE 4 and added remark in Markdown
+ section of the manual about the effect of TAB_SIZE on code block
+ processing when using tabs in the comment block.
+
id 4835: Project logo was not included in the Qt help output.
doxygen now strips the leading indentation shared by the lines in a
+ @code..@endcode block.
+
id 4755: Changed title of the SVG graphs from 'G' to the root node
+ of the graph.
+
+
New features
+
+
Added button in the navigation tree to allow enabling/disabling
+ syncing the navigation tree with the content.
+
Extended the number of HTML entities with Greek letters and other
+ symbols (thanks to Charles Karney for the patch).
+
id 4464: Added support for C++11 strongly typed enums
+ (enum class E { ... }).
+
+
Bug fixes
+
+
id 3470: Added missing class member initialization to a
+ class in doxmlparser and made the library compile again.
+
id : Added support for Obj-C property attribute "unsafe_retained".
+
id 4682, 4721: Unmatched quote in a comment prevented alias expansion.
+
id 4702: Fixed another case where local include path did not appear
+ correctly in the class documentation.
+
id 4716: Fortran: Some keyword were not colored in the source view.
+
id 4720: Fortran: Argument type was wrong type of in case of out of
+ place !> comment
+
id 4739: Included patch to fix problem compiling for x86 release on
+ Windows.
+
id 4741: Section without title could result in an invalid Qt Help
+ index.
+
id 4743: Anonymous enum could result in an invalid Qt Help index.
+
id 4751: Superfluous trailing comma in javascript
+ prevented navigation tree to load in IE7.
+
id 4753: a + at the start of a line inside a <pre> block,
+ triggered the start of a list. Also -- and --- where not kept untouched
+ inside a <pre> block.
+
id 4754: ndash (--) appearing in a brief description could lead
+ to invalid SVG images.
+
id 4759: -- and --- inside a Markdown code block were not handled
+ properly.
+
id 4783, 4699: In body documentation with a different indentation then the
+ main documentation was not rendered correctly (MARKDOWN=YES).
+
id 4784: Using an escaped pipe symbol in a Markdown table did not get
+ unescaped in the output.
+
id 4785: Code fragments did not appear properly in the doxygen manual.
+
id 4786: Added missing delete call in a piece of debugging code.
+
id 4788: Fixed some navigation issues in the manual
+
Not all inherited members appeared in the "Additional inherited members"
+ list.
+
Link to call after "Inherited members" was not correct when
+ CREATE_SUBDIRS was enabled.
+
New VHDL diagram was not generated if the path contained spaces.
+
Fixed a couple of problems handling Objective-C categories.
Integrated the root navigation tree in navtree.js for faster loading.
+
When the navigation tree is enabled, clicking jump to a line in
+ the source code view will now highlight the line.
+
+
New features
+
+
VHDL code now has a new Design Overview page (thanks for Martin Kreis
+ for the patch). Requires HAVE_DOT=YES, and DOT_IMAGE_FORMAT=svg.
+
id 4735: Added support for strong and weak attributes in Objective-C
+ properties.
+
+
Bug fixes
+
+
id 3772: Fortran: Appearance of comments in the HTML output
+ are now customizable via CSS again.
+
id 4655: <code> inside a <summary> or <remarks> section is now treated
+ as @code (was already the code for C#).
+
id 4661: When a comment started at indent >= 4 after a /** and
+ continued at the same indent without leading * after a blank line,
+ the continued part appeared at as a code block when Markdown was enabled.
+
id 4689: If a file was not indexed, the navigation tree became empty.
+
id 4702: Include path using quotes did not work as documented.
+
id 4709: @warning did not end at blank line when followed by
+ a numbered list.
+
id 4713: An anonymous namespace could introduce an invalid entry in
+ the navigation list.
+
id 4715: Breadcrumb navigation path had wrong links when
+ CREATE_SUBDIRS was enabled.
+
id 4729: Fixed case where function was incorrectly detected as a
+ variable.
+
id 4733: Fixed typo in the documentation of the LAYOUT_FILE option.
+
id 4737: Fixed visual misalignment for first argument.
+
The "arrow out" button in interactive SVG did not work when
+ served from a web server, due to the use of an absolute path.
+
If a declaration was too wide for a page, the content in HTML spilled
+ over the boundary of its box, which looked ugly.
+
Empty lines in a code fragment were collapsed.
+
Navigation tree entries of the hierarchy appeared under class index as
+ well.
+
Grouped globals and enum values were not added to the navigation index.
+
Inlined class were not properly shows in the navigation index.
+
Documented class in undocumented namespace did not show up in
+ class list and navigation tree.
+
ALLEXTERNALS=YES did not show all external classes in the class list.
+
External reference via URL did not work for new
+ "Additional Inherited Members" section + inherited from class link.
+
Objective-C protocols and C# generics were not index and listed
+ properly in the navigation tree and indices.
+
Undocumented files could produce a broken link in the navigation tree.
+
Additional Inherited Members could turn up empty of all members of
+ the inherited class were grouped and SUBGROUPING was set to NO.
Changed the way indexes (Class,File,Namespace,Groups) are rendered:
+
+ There are now shown in a uniform way in the HTML output as a tree.
+ Trees can be expanded and collapsed interactively
+ (this makes USE_INLINE_TREES obsolete).
+
+ The class list now also shows namespaces and nested classes.
+ The file list now also shows directories (this makes SHOW_DIRECTORIES
+ obsolete).
+
+ Member sections are now each rendered in a separate table.
+ This makes the HTML_ALIGN_MEMBERS option obsolete.
+
+Note: If you use a custom header for the HTML output (HTML_HEADER)
+make sure you add the following:
+
+ Otherwise the interactivity of the trees does not work.
+
+
Included a couple of performance improvements (thanks to Dirk Reiners)
+
Changed the way member attributes (like protected, virtual, and static)
+ are rendered in the HTML output.
+
Changed the look of the source code output.
+
Included language updates for Chinese, Czech, German, Esperanto,
+ Italian, Slovak, Spanish, Hungarian, and Polish.
+
Syntax highlighting in source code fragments is no longer dependent
+ on LATEX_SOURCE_CODE being set to YES.
+
Added natural scrolling for tablet devices (like the iPad)
+ when using the treeview.
+
For interactive SVGs the print button has been replaced by a
+ "arrow out" button that opens the original non-interactive SVG in a
+ new window for easy printing or saving.
+
id 4426: Long names are now wrapped in the dot nodes to avoid
+ very wide graphs.
+
+
New features
+
+
id 4508: Added support for <inheritdoc/> C# XML command
+ (thanks to John Werner for the patch).
+
id 4588, Added support for resolving environment variables of the
+ form $(PROGRAMFILES(X86)) inside the config file
+
Doxygen now shows Objective-C properties in collaboration diagrams
+ (thanks to Sven Weidauer for the patch).
+
Added ability to search for group or page titles.
+
Inherited class members are now shown as expandable sections in the
+ member overview (default is collapsed). Each section is rendered as
+ a table.
A -- will now be rendered as an 'en dash', similarly, --- will produce an
+ mdash.
+
+
Bug fixes
+
+
id 2891: Fortran: Prefix of routines got stripped.
+
id 4502: Include VHDL patch (thanks to Martin Kreis).
+
id 4569: Fixed include guard detection problem when using
+ #pragma once
+
id 4582: A numbered list (1. 2. 3.) where each list item ended with
+ an empty line is no longer treated as a set of separate lists (all
+ starting with 1.).
+
id 4586: Java: last enum value did not appear in the output unless it was
+ followed by a comma.
+
id 4591, 4606: Regression: Autolist items starting on a new paragraph
+ at indent level larger than 0 were not processed correctly.
+
id 4594: Sections could be missing from the navigation tree in
+ some situations.
+
id 4597: @tableofcontents did not work for the main page (@mainpage)
+
id 4598: Sections in a separate markdown page did not appear in the
+ table of contents.
+
id 4600: Fortran: Fixed problem causing call/caller graphs not to be
+ generated.
+
id 4601: RPM spec file was updated to make it work with RHEL 6.2
+ (thanks to Peter Klotz for the patch)
+
id 4604: Corrected line number of error message reported for
+ pages.
+
id 4605: C# regression: enum values where not shown in the docs.
+
id 4607: When #some_member appeared at the start of a line it was
+ seen as a level one header instead of a link to a member when
+ Markdown processing was enabled. Now at least one space is required
+ after the # to make it a header.
+
id 4608: Fixed case where doxygen could crash when a section and
+ subsection had the same label.
+
id 4610: docset creating could fail due to invalid Nodes.xml
+
id 4614: Using \internal in a group or member did not hide it
+ from the navigation tree if there was no documentation.
+
id 4615: Backticks in C# comments did not appear as inline
+ fragments, like was the case for other languages.
+
id 4620: PHP: defines are now shown as constants rather than enums.
+
id 4636: File with .md or .markdown extension were not included
+ with the default setting of FILE_PATTERNS.
+
id 4623: mailto style URLs did not work correctly in combination with
+ CREATE_SUBDIRS = YES.
Auto list items can now consist of multiple paragraphs.
+ The indentation of the (first line) of a new paragraph determines
+ to which list item the paragraph belongs or if it marks the end of the
+ list.
+
When UML_LOOK is enabled, relations shown on the edge of a graph
+ are not shown as attributes (conform to the UML notation)
+
Updated the manual and improved the look.
+
Made the contents in the navigation tree more consistent for
+ groups, pages with subpages, and grouped subpages.
+
id 4558: Latex: made the margins of latex page layout smaller using
+ the geometry package.
+
The tool doxytag has been declared obsolete and is removed
+ (it wasn't working properly anyway). Same goes for the installdox
+ script.
+
Updated the copyright in source code and doxywizard "about" to 2012.
+
id 4533: HTML version of the manual now has the treeview enabled
+ for easier navigation.
+
+
New features
+
+
Added support for
+ Markdown
+ formatting.
+ This is enabled by default, but can be disabled by
+ setting MARKDOWN_SUPPORT to NO. When enabled the following is
+ processed differently:
+
+
tabs are converted to spaces according to TAB_SIZE.
+
blockquotes are created for lines that start with one or more >'s
+ (amount of >'s determine the indentation level).
+
emphasis using *emphasize this* or _emphasis this_ or
+ strong emphasis using **emphasis this**. Unlike classic
+ Markdown 'some_great_identifier' is not touched.
+
code spans can be created using back-ticks, i.e. `here's an example`
+
Using three or more -'s or *'s alone on a line with only spaces
+ will produce a horizontal ruler.
+
A header can be created by putting a ===== (for h1) or ----- (for h2)
+ on the next line or by using 1 to 6 #'s at the start of a line
+ for h1-h6.
+
auto lists item can also start with + or * instead of only -
+
ordered lists can be made using 1. 2. ... labels.
+
verbatim blocks can be produced by indenting 4 additional spaces.
+ Note that doxygen uses a relative indent of 4 spaces, not an
+ absolute indent like Markdown does.
+
Markdown style hyperlinks and hyperlink references.
files with extension .md or .markdown are converted to related pages.
+
+ See the section about Markdown support in the manual for details.
+
It is now possible to add user defined tabs or groups of tabs to
+ the navigation menu using the layout file (see the section of the manual
+ about customizing the output for details).
+
Added new command \tableofcontents (or [TOC] if you prefer Markdown)
+ which can be used in a related page with sections to produce a
+ table of contents at the top of the HTML page (for other formats the
+ command has no effect).
+
When using SVG images and INTERACTIVE_SVG is enabled, a print icon
+ will be visible along with the navigation controls to facilitate
+ printing of the part of the graph that is visible on screen.
+
Added obfuscation of email addresses for the HTML output to make
+ email harvesting more difficult.
+
Added build targets for 64 bit Windows (thanks to Vladimir Simonov).
+ The installer script is also updated to install a 64 bit version of
+ doxygen on 64 bit systems and the 32 bit version on 32 bit systems.
+
Added support for using the HTML tag <blockquote> in comments.
+
Included patch by Gauthier Haderer that fixes some issues with the
+ dbus XML parser.
+
Added support for Markdown style fenced code blocks.
+
Added option to @code command to force parsing and syntax highlighting
+ according to a particular language.
+
Section of pages are now added to the navigation index.
+
Added support for cell alignment and table header shading in
+ LaTeX and RTF output.
+
Added -d filteroutput option to show the output of an input filter
+ (thanks to Albert for the patch).
+
id 4534: Latex: for Windows doxygen new generates a makepdf.bat
+ file in the latex output dir to create the latex documentation.
+
+
Bug fixes
+
+
id 2729: Fixed encoding issue in CHM index file for group titles.
+
id 2791: FORTRAN: Keywords like .GT. recognized as symbols for
+ cross ref.
+
id 2799, 3376, 3825: \copydoc did copy the brief description
+ into the detailed section, causing a difference between the original
+ and the copy.
+
id 3116: Using @ref for an example file, caused it to appear as
+ file::ext.
+
id 3228: Fortran: Included patch for blockdata sub-programs.
+
id 3920: Fortran: doxygen filter, preparsing fixed form of null
+
id 4443: TCL: Included patch to fixed UTF-8 support.
+
id 4444: TCL: Included patch to prevent ##### from appearing in the
+ output.
+
id 4220: Using a file name with path for HTML_STYLESHEET caused the
+ path to appear in the HTML output.
+
id 4477: Fixed one more problem with include guard detection.
+
id 4492: Fixed parse problem when a #define appeared inside an enum.
+
id 4497: Fixed problem parsing C++ template specialization of the
+ form A<func(T*)> such as used in boost::signal2 types.
+
id 4500: A </p> followed by an htmlonly..endhtmlonly section
+ caused invalid XHTML output.
+
id 4501: Fixed include handling in case the include guard was
+ documented.
+
id 4505: Fixed problem loading the navigation tree in IE8 when
+ serving pages via a web server.
+
id 4506: Included patch to avoid hyphenation hints in front of the
+ first capital in a word.
+
id 4509: When SHOW_FILES was NO, a grouped function did not appear
+ in the javascript based search index.
+
id 4514: \copybrief introduced extra spacing in the HTML output.
+
id 4515: Fixed case where search engine specific code appeared
+ twice in the HTML output.
+
id 4516: Fixed bug in the generated makefile causing index not
+ to be generated when using pdflatex.
+
id 4517: HTML output for example pages was not well-formed.
+
id 4520: Include statements in latex output where placed all on
+ one line in the LaTeX output.
+
id 4526: PHP: Fixed problem handling heredoc blocks
+
id 4527: For aliases with a single argument it is no longer required
+ to escape commas that appear inside the argument text.
+
id 4536: Latex: tables can now span multiple pages by using the xtab
+ package.
+
id 4544: Doxygen will ignore the common prefix shared by all
+ directories when computing a names for the directory's output files.
+ This will make the names of the output more stable.
+
id 4549: Added missing newline in man page output.
+
id 4555, 4556: Fixed parse problem for Q_PROPERTY when a template
+ with a namespaced type was used.
+
id 4557: Included patch which changes MATHJAX_RELPATH to use the
+ content delivery network by default.
+
id 4560: Fortran: Fixed problem handling multiple definition
+ statements on one line.
+
id 4561: Using -d Preprocessor now also works when QUIET is YES.
+
id 4563: Latex: citations where only generated properly if the
+ bib files specified via CITE_BIB_FILES did not have a path.
+
id 4565: Tcl: Same function in multiple Tcl namespaces not added.
+
id 4574: Fixed case where doxygen would not correctly detect
+ >> as a termination of a nested template.
+
id 4580: subpages generate empty pages in latex/rtf output and
+ broken links when SHORT_NAME was set to YES.
+
Included VHDL fixes provided by Martin Kreis.
+
The word "dummy" wrongly appeared before the first parameter type in
+ the LaTeX output for an Objective-C method.
+
Fixed several small glitches in the tree view javascript code.
+
Included a patch by Vladimir Simonov to make it possible to compile
+ doxygen with Visual Studio 2005.
+
Fixed some typos in the manual (thanks Albert).
+
+
+\endhtmlonly
+\section log_1_7 1.7 Series
+\htmlonly
+
+
+
Doxygen Release 1.7.6.1
+(release date 10-12-2011)
+
Changes
+
+
Doxygen now reports its cache usage (for the symbol and the
+ lookup cache) at the end of a run (if QUIET=NO), and recommends
+ settings for SYMBOL_CACHE_SIZE and LOOKUP_CACHE_SIZE for your
+ project if either cache is too small.
+
+
New features
+
+
Added new option LOOKUP_CACHE_SIZE to control the internal cache
+ doxygen uses to find symbols given their name and a context.
+
Python: added support for @staticmethod
+
+
Bug fixes
+
+
Python: scopes are now shown with . instead of ::
+
id 4483: Space before @if was not preserved, causing problems
+ with inline @if .. @endif constructs.
+
id 4490: Fixed XHTML validity problem when using mscgen graphs.
+
id 4493: Fixed XHTML validity problem when GENERATE_TREEVIEW was
+ disabled.
+
id 4494: Included patch to fix hang issue when non-empty
+ INCLUDE_PATH was used.
+
id 4495: Fixed parse issue when a comma appeared as part of an
+ enum's value.
+
+
+
Doxygen Release 1.7.6
+(release date 03-12-2011)
+
Changes
+
+
To improve the performance of loading the navigation tree,
+ the data is now split into multiple javascript files which
+ are loaded dynamically.
+
The selected member is now briefly highlighted in the HTML output
+ (when GENERATE_TREEVIEW is enabled).
+
The navigation tree (GENERATE_TREEVIEW) now shows the same information
+ as the index.
+
The navindex section of layout now also controls what is shown in
+ the navigation tree.
+
Improved HTML output support for IE9.
+
Included redesigned VHDL parser (thanks to Martin Kreis for the patch)
+
When a class/structs has many (>15) members of the same type, only
+ the first 10 are shown in the UML diagram.
+
Made the output of the javascript based search engine more compact.
+
+
New features
+
+
Update of the French translation.
+
id 3637: Added support for PHP heredoc and nowdoc constructs.
+
Added support for cross-referencing in case of operator-> overloading.
+ This includes support for std::auto_ptr,std::smart_ptr,std::unique_ptr
+ and std::weak_ptr when BUILTIN_STL_SUPPORT is enabled.
+
+
Bug fixes
+
+
Regression: some information was no longer available for a class,
+ due to accidental deletion of a code block.
+
Regression: fixed matching problem in the code parser.
+
Included fixes for TCL to support commands with \ and command
+ definitions preceded by whitespace (thanks to Rene Zaumseil)
+
When using "static int a,b" variable "b" incorrectly appeared in the
+ output even though EXTRACT_STATIC was set to NO.
+
id 2867: .spec file was only updated after running ./configure
+
id 4363: Fixed potential crash when using doxygen for large projects.
+
id 4370: Fixed problem running bibtex with \cite command on Windows.
+
id 4375: Fixed constant expression evaluation error in the
+ preprocessor.
+
id 4294: Removed bogus ' from the man page output.
+
id 4411: Quotes in the brief description could appear unescaped in
+ the tooltip.
+
id 4137: #includes with ../ were not always processed correctly.
+
Fixed potential crash when INLINE_GROUPED_CLASSES and INLINE_SIMPLE_STRUCTS
+ are set to YES.
+
id 4406: Fixed preprocessor problem handling #defines whose value was
+ a constant string containing ///.
+
id 4419: Using a \ at the end of a comment line could cause
+ parsing problems for C# as the \ was treated as a line continuation.
+
id 4391: Fixed parser problem when using multiple member groups
+ inside a macro definition.
+
id 2755: Fixed several issues related to \cite handling.
+
id 4400: Improved the way macro definitions are collected.
+
id 4421: Fixed LaTeX error when using \name with a description.
+
id 4424: The documentation for \mainpage incorrectly mentioned that
+ one has to use \ref main in case GENERATE_TREEVIEW was set to YES, which
+ is no longer the case.
+
id 4409: Nested aliases definitions where not always expanded properly
+ (regression w.r.t version 1.7.4)
+
id 4392: Fixed preprocessor problem where the @ character inside a
+ macro definition could appear as @@.
+
id 4401: Fixed problem running mscgen for LaTeX and RTF output.
+
id 4429: Using ClassName%'s did not work anymore, and also
+ ClassName's wasn't autolinked.
+
id 4437: Fixed potential printing of null pointer when using
+ a version filter that returned blanks.
+
id 3871: Fortran: first problem where subroutine using results
+ variable appeared as a function.
+
id 4331: If an URL appeared at the end of a sentence, the period
+ was included in the URL.
+
id 4362: Fortran: Added support for the Double Complex type.
+
id 4462: Included workaround for Solaris CC issue in index.cpp
+
id 4441: Included patch to fix some TCL issues and add the TCL_SUBST
+ configuration option.
+
id 4428: Fortran: Added support for ALIAS expansion in comment blocks.
+
id 4451: Fixed case where a macro was not corrected found in the header
+ file when it could only be found via INCLUDE_PATH.
+
id 4474: using multiple <para>'s inside a <summary> block caused
+ text to be joined without spacing.
id 4477: Fixed problem in the preprocessor regarding the handling
+ of include guards.
+
id 4478: Fixed typo in the docs for EXCLUDE_SYMLINKS.
+
id 4487: Using a relative URL with <a href> did not work when
+ CREATE_SUBDIRS was enabled.
+
id 4486: Using an absolute URL with <img> did not work when
+ CREATE_SUBDIRS was enabled.
+
+
+
Doxygen Release 1.7.5.1
+(release date 21-08-2011)
+
New features
+
+
Update of the French translation.
+
+
Bug fixes
+
+
id 2867: .spec file was only updated after running ./configure
+
id 4363: Fixed potential crash when using doxygen for large projects.
+
id 4370: Fixed problem running bibtex with \cite command on Windows.
+
Regression: some information was no longer available for a class,
+ due to accidental deletion of a code block.
+
Regression: fixed matching problem in the code parser.
+
+
+
Doxygen Release 1.7.5
+(release date 14-08-2011)
+
Changes
+
+
id 4145: Function in the call graphs are now shown based on first
+ appearance rather then alphabetical order.
+
id 3743: When customizing the HTML header $title now only generates
+ the title excluding the project name (which can still be added using
+ $projectname)
+
Improved the look of the class index: all items now have equal spacing.
+
+
New features
+
+
New option INTERACTIVE_SVG which when set to YES in combination
+ with DOT_IMAGE_FORMAT=svg will make doxygen
+ generate interactive SVG diagrams that support zooming and
+ panning via the mouse (only for large graphs).
+
Added support for the Tcl programming language
+ (thanks to Rene Zaumseil and Samuel Bentley for the patch).
+
Added @copyright command.
+
added option MATHJAX_EXTENSIONS to provide additional extensions for
+ MathJax (thanks to David Munger for the patch).
+
added option INLINE_SIMPLE_STRUCTS which when enabled shows the fields
+ of simple classes and structs (with only public data fields) as a table
+ and inline in context (file/group/namespace/class) provided this context
+ is documented.
+
When using the server based search engine (SEARCHENGINE=YES and
+ SERVER_BASED_SEARCH=YES) doxygen now advertises a opensearch provider
+ for your project, that allows integrating the search directly in
+ the search field of the browser (thanks to Phil Lello for the patch).
+
id 2755: Added new option CITE_BIB_FILES and LATEX_BIB_STYLE and a new
+ command \cite, allowing you to make references to literature (as defined
+ in one or more .bib files). This also works for output formats other
+ than LaTeX. The tool bibtex is required for this to work though. Thanks
+ to David Munger for the initial patch upon which this feature is based.
+
PHP namespaces are now shown as A\B in the output.
+
Added new \snippet command that can be used to include marked
+ sections from a source file. See
+ \snippet for more info.
+
Added translation support for Armenian, thank to Armen Tangamyan.
+ and included translation updates for a number of languages.
+
+
Bug fixes
+
+
Fixed a couple of potential race conditions found by Helgrind while
+ running dot from multiple threads.
+
Graphs did not appear when enabling both INTERACTIVE_SVG and
+ HTML_DYNAMIC_SECTIONS.
+
PDFs generated by newer versions of dot (i.e. 2.28) did not appear
+ in the output, because doxygen failed to extract the bounding box.
+
Improved call graph and cross-reference support for Python.
+
INTERACTIVE_SVG now also works with IE9 if the html file extension is
+ set to xhtml.
+
Fixed several cases where the LaTeX output could produce too long
+ lines.
+
id 1837: Putting two functions in the same group that only
+ different in the number of template arguments did not work.
+
id 2483, 3199: Fixed proper encoding of multibyte output in RTF
+ depending on the code page (thanks to Hirao for the patch).
+
id 2867: The .spec file in the source distribution did not get
+ updated to the latest version.
+
id 2872: Fortran: Continuation character was not recognized in
+ fixed format code.
+
id 2887: Fortran: @param checking was not case insensitive.
+
id 3168: Fixed problem combining @cond with preprocessor directives.
+
id 3343: Using "struct A : C, D {};" showed a private inheritance
+ relation for D.
+
id 3410: Some links to typedef where pointing to the typedef'ed
+ class instead.
+
id 3781: Anonymous enums caused an invalid entry in the LaTeX TOC.
+
id 3827: Deriving from an unknown template class could cause the
+ class to appear with a -g postfix in C#
+
id 3883: Fortran: Fixed issue handling private subroutines.
+
id 3990: LaTeX now starts a new page when starting a new module.
+
id 4014: Fortran: Prefix of function was overwritten and the word
+ 'function' not specified.
+
id 4050: Fortran: Included fix for using collaboration diagrams.
+
id 4158: Added PHP support for namespace with curly braces.
+
id 4174: Fortran: Improved handling of semicolons.
id 4188: A macro added to a group appeared twice in the group
+ documentation if was also made related to a class using \relates.
+
id 4221: Fixed problem were the search box was missing when using
+ a custom HTML header.
+
id 4227: Fixed unterminated img tab in the XHTML output.
+
id 4228: Fixed problem handling MSCFILE_DIRS option with multiple
+ paths.
+
id 4229: Included patch to sort overloaded members by appearance in
+ the code.
+
id 4230, 4231: Putting an autolist inside a @todo, @bug or similar
+ section did not work anymore.
+
id 4232: Referring to a logo with a relative path, caused
+ a broken image target when using a custom HTML header.
+
id 4235: Fixed HTML rendering problem on older browsers when
+ GENERATE_TREEVIEW was enabled.
+
id 4242: Linking to a section on the main page could result in a
+ broken link when GENERATE_TREEVIEW was enabled.
+
id 4243: Fixed invalid warning when using @deprecated method with
+ default values for parameters.
+
id 4245: A function made related using @relates could end up in
+ the wrong class if there was already a method with a matching
+ argument list in that other class.
+
id 4254: Return types containing multiple *'s ended up in the
+ output with only one * in some cases.
+
id 4267: Fixed problem with alias substitution if the alias had
+ more then 9 parameters.
+
id 4268: For nested anonymous structs @xx markers could appear in
+ the output.
+
id 4270: Added compilation support for MacOSX 10.7 (aka Lion).
+
id 4278: Fixed issue printing HTML pages when the
+ GENERATE_TREEVIEW option is set to YES.
+
id 4281: Fixed broken link to an undocumented namespace.
+
id 4291: Fixed potential crash while parsing Fortran code.
+
id 4292: Fixed problem parsing comment which included
+ an unterminated alias within quotes (i.e. "\word{")
+
id 4294: Lines starting with . did not appear in the man page output.
+
id 4296: Fortran: Fixed text is detailed function section.
+
id 4297: When enabling INTERACTIVE_SVG wide graphs are now also
+ fit to the screen width.
+
id 4304: Added missing space between parameter type and name in
+ the RTF output.
+
id 4305: Use background-color instead of background in doxygen.css.
+
id 4313: Fixed potential segfault while creating man pages.
+
id 4321: Fortran: add a space to "type" in argument list.
+
id 4324: Fixed problem handling include guard when multiple
+ blocks guarded by the same guard were used in a header file.
+
id 4327: Fortran: Unified handling of @params at various places.
id 4176: Fixed potential crash when generating a warning for
+ void f(int %x) style parameter, which is valid in C++/CLI.
+
id 4177: Included patch to enabled LargeAddressAware for Windows
+ builds.
+
id 4175: Fixed cases where FILE_VERSION_FILTER was called for
+ dummy files with name "generated".
+
id 4180: Fixed argument matching issue when one of match candidates
+ was a typedef of a method pointer.
+
id 4210: mscfile tag was closed with dotfile in the XML output.
+
doxygen -w html now ignores the values for HTML_HEADER and HTML_FOOTER
+ found in the config file.
+
Importing a group via a tag file could overrule a local group with
+ the same name even when EXTERNAL_GROUPS was disabled.
+
+
+
Doxygen Release 1.7.3
+(release date 03-01-2011)
+
Changes
+
+
Added a header for each HTML page above the navigation menu,
+ showing the project name and logo and a short description (all optional).
+ Disabling the index (with DISABLE_INDEX) still shows the new header
+ (you can still customize this using HTML_HEADER). This now works
+ nicely in combination with GENERATE_TREEVIEW = YES and/or
+ SEARCH_ENGINE = YES.
+
Redesigned the treeview feature. Instead of using frames, the
+ navigation tree is now loaded on each page dynamically. This allows
+ bookmarking a page and always keeps the top menu visible. Also the
+ current item is automatically highlighted in the tree.
+ Also updated the icons in the treeview to match the overall look'n'feel.
+ Note: if you now use a custom HTML header, please update it using
+ doxygen with the -w and the edit the default header.
+
+
New features
+
+
id 2734: Added SVG support to doxygen's dot output
+ (setting DOT_IMAGE_FORMAT to svg now works as expected)
+
Added control to the wizard to configure the color of the output
+ visually.
+
Added options to specify project synopsis and select a
+ project logo to the wizard.
+
Added option PROJECT_LOGO which can be used to specify an image
+ which will be shown in the header of each HTML page along with
+ the project name (PROJECT_NAME option).
+
Added option PROJECT_BRIEF which can be used to specify a brief
+ description which will be shown in the header of each HTML page
+ just below the project name.
+
Added new option FILTER_SOURCE_PATTERNS which can be used
+ in combination with FILTER_SOURCE_FILES to filter files used for
+ the source browser based on file extension, which can overwrite
+ the filter set by FILTER_PATTERNS and/or INPUT_FILTER.
+
Added new option STRICT_PROTO_MATCHING which is disabled by default,
+ and makes the parameter matching to be less strict, resulting in
+ fewer "No matching class member found" warnings.
+
+
Bug fixes
+
+
id 1666: code blocks with using directives did not get hyperlinked.
+
id 1770: enum values with bitfields did not get parsed correctly.
+
id 3207, 3944: Included a patch that fixes a couple of Fortran issues
+ (thanks to Albert).
+
id 3731: Fixed problem handling @cond..@endcond in Fortran code.
+
id 3779: Scope was missing in Tokens.xml when using docsets.
+
id 3870, 2891: Applied patch to avoid stripping prefixes for Fortran
+ subroutines.
+
id 3895: allow label before end statement in Fortran
+
id 3956: </see> was not handled properly in comment block.
+
id 3980: Fixed potential crash for empty verbatim section.
+
id 3983: closing brace of a function with one parameter has wrong
+ color in HTML.
+
id 3985: Added support for Fortran TYPEs with language bindings.
+ (thanks to a patch by Daniel Franke)
+
id 3989: An explicit link request such as #blah did not longer produce
+ a warning if no symbol named blah was found.
+
id 4002: warnings in "inbody" documentation were shown with "unknown"
+ file name.
+
id 4006: Titles customized via the layout file did not appear in
+ the title page and navigation tree, only in the top menu.
id 4012: Fixed a problem were // inside a code block got removed.
+
id 4015: Added support for escaping :: by using \:: (or @::)
+
id 4018: #include with relative path to parent dir did not get
+ hyperlinked.
+
id 4019: Removed double definition of docParamName in compound.xsd.
+
id 4023: C++/CLI Finalizer methods were not parsed properly.
+
id 4036: Objective-C method names can now be used as the
+ the first argument of \ref.
+
id 4037: Fixed a couple of problems in the compound.xsd schema used
+ for XML output.
+
id 4038: DISTRIBUTE_GROUP_DOC now works again for enum values.
+
id 4047: Improved matching of typedef'ed array parameter and non
+ typedef'ed array parameter.
+
id 4056: Added a number of fixed for Fortran interfaces.
+
id 4057: Handle files with the .for extension as Fortran.
+
id 4060: Fixed error in the grouping documentation.
+
Fixed line number sync problem when using Objective-C #import
+ statements.
+
Fixed problem handling /** @cond */ in the preprocessor.
+
Member groups could get reordered in the output.
+
+
+
Doxygen Release 1.7.2
+(release date 09-10-2010)
+
+
Changes
+
+
Changed the default font of the LaTeX output to helvetica.
+
Changed the way parameters and return values are represented in the
+ LaTeX and RTF output. They are now listed using tables.
+
+
New features
+
+
added support for Apple's block object extension for C/Obj-C/C++.
+
added support for detecting Python constructors and destructors.
+
id 3855: Added \endinternal command that can be used to force
+ the end of a section started with \internal.
+
id 3084: Added parsing support for PHP 5.3+ style namespaces.
+
id 3389: added \mscfile command which can be used to insert a
+ message sequence chart given a .msc file.
+ Also added a new config option MSCFILE_DIRS to provide directories
+ were msc files are searched (Thanks to Adrien for the patch).
+
Added support for type specifiers for documenting PHP parameters,
+ format: "@param type $paramname docs"
+
Added support for rendering formulas in the HTML output
+ using MathJax instead of using prerendered bitmaps.
+ For this purpose the options USE_MATHJAX and MATHJAX_RELPATH were
+ added.
+
+
Bug fixes
+
+
id 1666: Fixed case where using of a namespace did not work inside
+ an example.
+
id 2097, 2669: /// were not stripped from formulas and \dot..\enddot
+
id 3190: dropped support for a4wide paper format for LaTeX, since
+ it is on the LaTeX taboo list.
+
id 3261: Behavior of CLASS_DIAGRAM=NO in combination with
+ HAVE_DOT=YES, was not properly documented.
+
id 3332: Python comments for next class or method could end up in
+ code of a method/class when enabling INLINE_SOURCES.
+
id 3688: Fixed problem handling nested classes in Python.
+
id 3804: removed unexpected warnings about undocumented return types
+
id 3824: Undefined function macros could cause constant expression
+ errors.
id 3936: Made file extension to parser mapping case insensitive.
+
id 3937: Latex makefile clean target used rm command also for Windows.
+
id 3939: the EXCLUDE_SYMBOLS option was missing form the online docs.
+
id 3962: \htmlinclude and \verbinclude ended the brief description.
+
id 3963: Inconsistent behavior when a brief description was given
+ following by a detailed comment block with JAVADOC_AUTOBRIEF enabled.
+
Fixed a number of typos in the documentation
+ (thanks to Albert)
+
Fixed potential hangup when scanning directories defined as
+ symlinks to absolute paths.
+
HTML attributes other than src were not copied for the <img> tag.
+
+
+
Doxygen Release 1.7.1
+(release date 25-06-2010)
+
Changes
+
+
id 3803: Made warning and error messages appear with lower case
+ "warning:" and "error:" prefix to make it easier to use the messages
+ from Visual Studio.
+
+
New features
+
+
id 3809: Added new config option FORMULA_TRANSPARENT which allows
+ selecting between transparent (YES) or non-transparent (NO) PNGs for
+ formulas in the HTML output.
+
Update for Turkish translation.
+
+
Bug fixes
+
+
id 2959: Inheritance relation for a C# class deriving from
+ a generic class was not handled correctly.
+
id 3105: Changing DOT_IMAGE_FORMAT did not cause the graphs to be
+ regenerated.
+
id 3334: A field of the form "enum E *p" was ignore.
+
id 3549: Hide scope name was not working properly for todo items
+ inside class members, where the class was inside a namespace.
+
id 3764: In dot graphs now also @ref worked (previously only \ref was
+ supported).
+
id 3802: Fixed error when compiling doxygen for Solaris 8.
+
id 3804: Removed bogus warning about undocumented return type for
+ define when WARN_NO_PARAMDOC was enabled.
+
id 3805: Fixed parsing support for a function that returns a
+ struct definition.
+
id 3806: Doxygen could hang when using \copydoc in a function with
+ \param.
+
id 3807: Using //!< after a #define no longer worked.
+
id 3808, 3816, 3820: html help compiler (and also the Qt
+ help compiler) was called before all dot images were generated.
+
id 3810: Using a auto-list in combination with \subpage cause the
+ items to be inlined.
+
id 3812: Fixed problem parsing a @param command where the
+ text part started with a formula.
+
id 3813: Added some instructions how to document Fortran code.
+
id 3814: Using \var multiple times in a comment block did not
+ work properly.
+
id 3818: Tooltips could get wrongly truncated when multi-byte
+ UTF-8 characters were used.
+
id 3819: Argument matching failed for typedef in another namespace.
+
Fixed crash situation while handling commands inside a @ref section.
+
Treeview icons were missing in the HTML output when setting
+ GENERATE_TREEVIEW to NO and USE_INLINE_TREES to YES.
+
+
+
+
Doxygen Release 1.7.0
+(release date 15-06-2010)
+
Changes
+
+
Changed the look of the HTML output.
+
Made several internal changes that should have a positive effect on the
+ overall performance.
+
+
New features
+
+
The color of the HTML output can now easily be adjusted using three new
+ options: HTML_COLORSTYLE_HUE, HTML_COLORSTYLE_SAT,
+ and HTML_COLORSTYLE_GAMMA, which control respectively the hue,
+ saturation, and gamma of all elements in the HTML output.
+
Moved dot invocations to the end of a doxygen run. Doxygen will now
+ run multiple instances of dot in parallel (for better CPU utilization
+ on multi-core systems). The new config option DOT_NUM_THREADS
+ determines the number of threads used (were 0 is auto-detect).
+
Added option EXT_LINKS_IN_WINDOW which controls whether or not
+ links to symbols imported via tag files will be opened in a new window.
+
Included various language updates (thanks to Petr for coordinating).
+
Included patch by Stefan Oberhumer that allows customizing the
+ way parameter lists are shown in the LaTeX output.
+
+
Bug fixes
+
+
id 1666: source browser could miss links for used namespaces.
+
id 2255, 3796: \if and \endif did not work properly inside auto lists.
+
id 3139: No warning for missing return type documentation even though
+ WARN_NO_PARAMDOC was set to YES.
+
id 3341: Handling of nesting \defgroup was not always working
+ properly.
+
id 3355: ø was not translated correctly in the LaTeX output.
+
id 3401: Use relative paths for mscgen diagrams to avoid errors in the
+ LaTeX output.
+
id 3491: The "Use current settings at startup" feature of Doxywizard
+ was broken.
+
id 3500: Links in the search results were broken if they pointed to
+ symbols imported via tag files using an absolute path or URL.
+
id 3504, 3735: Fixed man page output problem when using @par.
+
id 3506: A C comment before a #endif caused the preprocessor
+ statement to be ignored.
+
id 3547: When HIDE_SCOPE_NAMES was enabled also the scope for
+ nested classes was stripped. Now only the namespace scope will be
+ stripped as before.
+
id 3575: Autolinks to namespace members did not work if
+ an explicit # or :: was used.
+
id 3591: Slashes inside strings in java annotations were not handled
+ properly.
+
id 3628: Fixed the "show html output" button in doxywizard
+ for Windows when IE was set as the default browser.
+
id 3652: Formatting was lost for section copied with \copydoc.
+
id 3653: Fixed C++ parse issue for "class : public base {} var;"
+ construct.
+
id 3685: Generated HTML footer file did not have UTF-8 encoding and
+ the relative path marker needed when using CREATE_SUBDIRS = YES.
+
id 3689: Fixed parsing problem with try-functions having multiple
+ catch handlers.
+
id : Specialized private template member function appeared as
+ public.
+
id 3695: Include dependency graphs were sometimes wrong.
+
id 3696: Some lines in the generated Doxyfile where too long.
+
id 3697: Fixed auto-link problem for certain URLs.
+
id 3698: Improved handling of ellipsis inside brief description when
+ JAVADOC_AUTOBRIEF is enabled.
+
id 3700: Accessibility of macros was not handled properly in all cases.
+
id 3699: Enabling REFERENCED_BY_RELATION without SOURCE_BROWSER could
+ result in broken links.
+
id 3701: Fixed problem handling @copydoc for function operators.
+
id 3703: A raw C# string constant could end up in the next string.
+
id 3709: subpages were not part of the XML output.
+
id 3711: First list item in the paragraph after a @todo
+ item was not parsed properly.
+
id 3718: Generated man page links were having a heading underscore.
+
id 3720: Made include guard detect a bit more strict to avoid false
+ positives.
+
id 3722: The labels of CVS tags were missing a colon.
+
id 3719: Fixed problem parsing Q_PROPERTY with template type and
+ spaces.
+
id 3729: Made the date string in the HTML footer translatable,
+ along with some other sentences on the directory pages.
+
id 3708: Inline attribute was shown also for non-inline template
+ members.
+
id 3733: Fixed problem handling @copy for operators with
+ const qualifier.
+
id 3738: Fixed problem handling '"' inside comments.
+
id 3740: Made the LaTeX output a bit less spacious using \input.
+
id 3736: Fixed preprocessor issue where a macro that was redefined
+ was not resolved.
+
Fixed character encoding issue on the search results page.
+
id 3734: C# namespaces are now extracted also without comment block
+ (the language spec does not allow XML documentation).
+
id 3742: included patch that fixes some typos in the code.
+
id 3744, 3679: Pages with an underscore in the label generated a
+ file name containing two underscores.
+
id 3747: text of the form something.symbol got autolinked when
+ symbol had a global scope.
+
id 3748: Call graph could be wrong when local variable has the same
+ name as a global function.
+
id 3750: Added documentation patch on how to create URL links with
+ custom text.
+
id 3751: Doxywizard now removes non-existent files from the
+ recent list and has an option to clear the list completely.
+
id 3752: A macro defined via PREDEFINED did not always overrule a
+ macro definition in the code.
+
id 3759: Enabling call graphs produced invalid XHTML output.
+
id 3766: Non ascii characters in file or directory names
+ caused problems on Windows.
+
id 3768: An ALIAS with parameters spanning multiple lines
+ caused problems with /// style comments.
+
id 3775: Included patch to prevent image overflowing the page in
+ the LaTeX output.
+
id 3783: Fixed problem using EXTENSION_MAPPING for C# (thanks to
+ Vsevolod Kukol for the patch).
+
id 3786: Links to external files could be wrong when CREATE_SUBDIR
+ was enabled.
+
id 3787: /* characters in a print broke parsing within an conditional
+ section.
+
id 3797: \if and \endif did not work properly inside HTML tables.
+
Using @include in combination with LATEX_SOURCE_CODE caused wrong
+ output.
+
Included a patch by Guido Tack which adds two new options
+ for docsets (DOCSET_PUBLISHER_ID and DOCSET_PUBLISHER_NAME) and
+ fixes an issue with linking to docset members.
+
Included patch by Stefan Oberhumer to support escaped {}'s in alias
+ definition and parameters.
+
+
+
+\endhtmlonly
+\section log_1_6 1.6 Series
+\htmlonly
+
+
+
Doxygen Release 1.6.3
+(release date 21-02-2010)
+
New features
+
+
id 3654: Using \dir without argument will create directory
+ documentation for the directory in which the \dir command
+ was found.
+
+
Bug fixes
+
+
id 3467: perlmod output was wrong when using paragraph commands.
id 3617: Replaced size attribute of hr tag by class attribute in the
+ HTML output.
+
id 3618, 3623, 3639:
+ Using \dot produced "Error opening map file" or
+ could even crash doxygen.
+
id 3619: Loading a new config file in doxywizard did not reset all
+ values of a previously loaded config file.
+
id 3621: Grouped members with todo-like items were shown with
+ "GlobalScope" prefix.
+
id 3622: Fixed RTF rendering problem with group index.
+
id 3624, 3675: Added missing line break in LaTeX output.
+
id 3627, 3648: The title of pages whose label had an underscore
+ was not shown
+
id 3631: Include guard not starting with #ifndef SOME_GUARD_H were not
+ recognised as such.
+
id 3632: Setting SEARCHENGINE to YES and GENERATE_HTML to NO caused
+ error that search results directory could not be created.
+
id 3635, 3655: typedef'ed enums or struct with the same as the
+ typedef did no longer show up.
+
id 3636, 3643: Related pages (manual and automatic like the todo page)
+ caused broken links when SHORT_NAMES was enabled.
+
id 3638, 3644: Automatically generated related pages (like the
+ todo page) caused broken links when CREATE_SUBDIR was enabled.
+
id 3641: comments after #if could cause next function call not to be
+ cross-referenced.
+
id 3642: \internal inside a conditional section caused warning.
+
id 3646: Using \internal inside a \section did not end at the
+ next \section as documented.
+
id 3647: \internal command produced message with .: in
+ the LaTeX output.
+
id 3649: HTML Tables with custom attributes were not rendered
+ properly.
+
id 3651: Man pages with underscore got double underscore in the name.
+
id 3658: Buffer overflow when using non-ascii characters as class
+ name.
+
id 3662: Macro definition had effect even if the definition was not
+ actually included.
+
id 3670: config.h and config.l where missing from the SVN repository.
+
id 3672: Todo items were merged for overloaded functions.
+
id 3673: C# enum values with @todo items were missing from the todo
+ list.
+
id 3678: Removed bogus warning when using <br/> tag.
+
Fixed parsing problem for function pointer type starting with
+ "typedef enum".
+
Preprocessor did not take EXCLUDE_PATTERNS into account, which
+ could cause parse issues when importing a .tlb file.
+
+
+
+
+
Doxygen Release 1.6.2
+(release date 30-12-2009)
+
Changes
+
+
id 3513: Autolinking to all-lower case words has been disabled,
+ in accordance with the documentation.
+
id 3608: Doxygen now allows any extension supported by dot via the
+ DOT_IMAGE_FORMAT option.
+
Switched back to using PNGs for built-in diagrams and formulas using
+ the Lode Vandevenne's PNG encoder.
+
+
New features
+
+
Added new option SERVER_BASED_SEARCH to re-enable searching via a
+ PHP enabled web browser instead of only using javascript locally.
+ This method better scales to larger projects and allows full text
+ search.
+
Added new options GENERATE_ECLIPSEHELP and ECLIPSE_DOC_ID
+ to generate an index file that can be used to embed doxygen's HTML
+ output into Eclipse as a help plugin
+ (thanks to a patch by Ondrej Starek).
+
Wrote new documentation
+ regarding the methods of searching in the HTML output.
+
Included patch by Ed Rosten to render formulas with
+ proper anti-aliasing on non-white backgrounds using transparency.
+
Add new option FORCE_LOCAL_INCLUDES to make the default #include
+ appearance in class documentation with "" i.s.o sharp brackets.
+
id 3156: Make \addindex put keywords into the .qhp file.
+
id 3519: #cmakedefine is now treated the same was as #define
+ (for users of the CMake build system).
+
Added compilation support for OSX 10.6 (aka Snow Leopard)
+
Included language update for Brazilian.
+
+
Bug fixes
+
+
Doxywizard did not warn when it failed to save its config file.
+
id 3136: Empty class definitions were not included in Tokens file
+ for docsets.
+
id 3187: GENERATE_QHP details was considered even though it is
+ not defined.
+
id 3223: Comment parser could get stuck in certain cases.
+
id 3254: GENERATE_QHP should generate keywords for classes in
+ generated *.qhc.
+
id 3273: Fixed two issues in the compound.xsd schema definition.
+
id 3491: Fixed wrong default destination directory.
+
id 3492: Fixed problem with distributing member group documentation
+ for anonymous member groups.
+
id 3496: GENERATE_TODOLIST=NO and friends not longer worked.
+
id 3505: Added support for UCS-2 encoded input files.
+
id 3508: Fixed problem parsing fully-qualified java annotations.
id 3489: xrefitems (like @todo) did not appear in the list when
+ found in comments marked with @enum or @name.
+
+
+
Doxygen Release 1.6.0
+(release date 20-08-2009)
+
Changes
+
+
id 3372, 3012: Replaced the PHP based search engine by a
+ JavaScript/DHTML based one.
+ As a result the search feature no longer requires a HTTP server
+ with PHP enabled to be usable. Searching is limited to symbols
+ though, but it is now possible to filter on symbol type.
+
id 2852: Make the HTML output XHTML 1.0 compliant.
+
id 3365: Objective-C categories are now merged with their base
+ class, unless there is no base class.
+
Member groups with the same header within the same scope are now
+ merged. This also works for Objective-C categories.
+
Changed the LaTeX style sheet such that more of the markup is
+ configurable. Please update your style sheet if you use a custom one.
+
id 3415: Treat \details inside a brief description as a new paragraph
+ command.
+
Split GENERATE_TREEVIEW into two separate options:
+ GENERATE_TREEVIEW and USE_INLINE_TREES.
+
Removed the dependencies on libpng and libz, doxygen now generates
+ gifs again for internal class diagrams (like it did 7 years ago ;-)
+
+
New features
+
+
Added option SORT_MEMBERS_CTORS_1ST, which when enabled places the
+ constructors and destructors first in an otherwise sorted list.
+
id 3377: Applied patch by Tobias Hunger that adds support for
+ documenting DBus XML interface descriptions.
+
Included QtHelp patch by Karsten Heimrich which adds missing
+ reference and keyword for methods.
+
Included updates for the Korean and Polish translation.
id 1837: Two template functions that only differed in the number
+ of template arguments were seen as the same function.
+
id 2505: HIDE_UNDOC_CLASSES did not work properly.
+
id 2786: Fixed problem with syncing the information of
+ declaration and definition in the presence of an extra forward
+ declaration in the source code.
+
id 2875: For C# enum values were merged together if the same enum
+ name was used in different scopes.
+
id 2894: Included patch to handle PROGRAM statement in Fortran as
+ subroutines/functions.
+
id 3104: Remove spacing around brackets for Obj-C protocols.
+
id 3131: Included patch for fixing wrongly labeled items in docsets.
+
id 3170: Improved parser to better disambiguate
+ nested templates ending with >> from the bitshift right operator.
+
id 3251: Fixed matching problem for method in nested class, where
+ the outer class is a template.
+
id 3379: Segfault/realloc error when a very long path was used.
+
id 3388: documented #define with guard caused wrong documentation.
+
id 3385: Doxywizard could crash on exit in some cases.
+
id 3392: Regression: a struct ivar in ObjC class screws up method
+ identification.
+
id 3396: Included patch that avoids trailing spaces in the
+ generated Doxyfile template.
id 3447: Added missing virtual destructor to CompAccept base class.
+
id 3450: Fixed segmentation fault for specific case in PHP code.
+
Fixed some issues building for Windows.
+
id 3457: Fixed problem handling strings like a"\b" within a comment.
+
id 3459: Fixed problem matching explicitly scoped parameter in a
+ template class.
+
id 3473: A namespace with name "internal" (C++/CLI keyword)
+ could confuse doxygen's C++ parser.
+
id 3477: @optional/@required attributes for Objective-C were missing
+ from the XML output.
+
+
+\endhtmlonly
+\section log_1_5 1.5 Series
+\htmlonly
+
+
Doxygen Release 1.5.9
+(release date 30-04-2009)
+
+
New features
+
+
Added new option LATEX_SOURCE_CODE, which when enabled adds
+ source code also to the latex output (typically to be used in
+ combination with SOURCE_BROWSER)
+
Included updates for the Finnish, Romanian, Korean, German, Japanese,
+ and Hungarian translation.
+
Added translation support for Esperanto.
+
id 579630: Added class attribute to the \todo and \bug HTML code so they
+ can be customized via CSS.
+
id 578740: Added support for Æ and æ characters.
+
+
Bug fixes
+
+
id 395169: Some links via tagfiles were not correct in
+ combination with CREATE_SUBDIRS=YES
+
id 539080: Having the same comment for the declaration and definition
+ of a function could result in duplicate documentation in case the
+ indentation level was different.
+
id 566713: Dot font was not removed even though DOT_CLEANUP was YES.
+
id 566925: Fixed problem resolving symbolic links.
+
id 567044: Fully qualified name was not shown correctly for nested
+ classes.
+
id 567375: Fixed parse problem for typedefs with redundant braces.
+
id 567535: Fixed problem when parsing operator%= for CLI/C++ code.
+
id 567777: Fixed problem with latex output when using enums.
+
id 567990: Doxygen could crash when there was a symlink in project.
+
id 568237: Non-ascii values entered where not saved according to the
+ INPUT_ENCODING.
+
id 568505: Fixed build problem for old Linux distributions.
+
id 569478: Fixed line continuation issue with the Fortran parser.
+
id 570960: C++ class defined in a .mm file was sometimes parsed as
+ Objective-C code.
+
id 571013: In the wizard, editing a text field in the middle of the
+ text in the expert tab caused the cursor to jump to the end of the line.
+
id 571096: Fixed Objective-C parsing problem when multiple protocol
+ forward declarations are put on one line.
+
id 571990: Fixed compiler issue with portable_iconv by moving the
+ function to a C file.
+
id 572560: Fixed parse issue when a #define is inside an enum.
+
id 572740: Fixed problem parsing C++ comments using line continuation.
+
id 573057: Included update for Swedish translator and changed
+ the language code from SE to SV to comply with ISO 639.
+
id 578382: When referring to a static variable or function
+ doxygen will now look at the file context in case of ambiguity.
+
+
+
Doxygen Release 1.5.8
+(release date 27-12-2008)
+
+
Changes
+
+
Completely rewrote the doxywizard. Main changes:
+
+
It is now based on Qt version 4. (4.3 or higher is required)
+
Different layout that allows easy switching between wizard
+ and expert mode, without losing settings.
+
Running doxygen can be done without first having to save
+ the configuration file.
+
For HTML output, there is a button to show the results in
+ the default browser.
+
Option to change the default configuration that is used
+ when you first start the wizard.
+
Non-default options are shown with red label, and there is
+ context menu to reset them back to the default.
+
+
Included Qt help update by Sebastian Pipping introducing
+ three new options to define custom filter sections and attributes:
+ QHP_CUST_FILTER_NAME,
+ QHP_CUST_FILTER_ATTRS,
+ QHP_SECT_FILTER_ATTRS.
+ Doxygen now directly generates the indices needed
+ by the qthelpgenerator.
+ Qt customers can have a look at issue 28 of the Qt Quarterly for
+ more information.
+
+
New features
+
+
id 131496, 522488, 541649, 554800:
+ Add new option EXTENSION_MAPPING, which can be used to
+ change the
+ mapping of file extension to language parser, e.g. defining
+
+ EXTENSION_MAPPING = f=C
+
+ will make doxygen parse files with the .f
+ extension as if it were C files.
+
Added support for Vietnamese (thanks to Dang Minh Tuan)
+
Thanks to Emin Ilker Cetinbas doxygen can now also produce Turkish
+ documentation.
+
id 143218: It is now possible to add the direction attributes
+ normally used with the @param command to document parameters
+ inline, e.g.
+
+ void foo(int v /**< [in] input parameter docs */);
+
+
+
Bug fixes
+
+
TYPEDEF_HIDES_STRUCT did not work correctly if the typedef did a
+ forward declaration of the struct/union.
+
id 153222: Fixed issue following recursive symbolic links.
+
id 423223: Detailed description was not visible for group functions
+ when SEPARATE_MEMBER_PAGES was enabled.
+
id 437346: Fixed issue handling multibyte characters in the RTF output.
+
id 475377: Improved error handling in case of character encoding
+ problems.
+
id 486747: Inherited typedefs were not resolved properly.
+
id 508752: Add support for BLOCK DATA to the Fortran parser.
+
id 532695: included documentation update about the use of \public
+ and friends for object-oriented programming in C.
+
id 532808: References to class variables in PHP code did not already work.
+
id 536394: Warning "no matching file member found" was given for a static
+ variables in multiple anonymous namespaces.
+
id 537686: Fixed invalid empty section for enum in a member group.
+
id 539590: C# generics with the same name but different template
+ parameters where merged.
+
id 540321: A using declaration in a header file was not taken into
+ account in the source file that included it.
+
id 540520: Have two C# enum values with the same name in different enums
+ was not handled properly.
+
id 543036: //## comments were extracted even if they were not part of
+ Rose documentation.
+
id 547436: Fixed issue combining Python docstrings and doxygen comments.
+
id 551615: A multiline C# comment with @ was not shown correctly in the
+ source browser.
+
id 544598: A multiline comment as part of a #define could case
+ wrong line counting and missing cross-references.
+
id 545128: \overload didn't work if it was the last statement in a
+ comment and not followed by a newline.
+
id 553380: Removed bogus warning referring to a namespace member from
+ with a brief description that was converted to a tooltip.
+
id 553968: Added support for JavaDoc command {@code ... }
+
id 554444: Bullet lists were no longer correctly indented when using
+ IE6.
+
id 554674: Fixed index rendering bug in the RTF output.
+
id 555174: The .qch file didn't include generated images.
+
id 555200: Fixed potential crash bug when parsing special comment
+ inside an if at global scope level of a PHP code fragment.
+
id 556240: Tree view in HTML output was not encoded correctly.
+
id 557001: VHDL Parser got confused when -- is in a string literal.
+
id 557014: Undocumented VHDL record member's internal record prefix
+ was not removed.
+
id 557026: Obj-C Protocols and interfaces had wrong
+ type/name in DocSets.
+
id 557031: Obj-C methods no longer require a space after the
+ initial - or +.
+
id 557034: Fixed problem parsing property in Objective-C code.
+
id 557038: Items in tabs.css could not be overridden by custom
+ style sheet.
+
id 557419: $relpath$ was no longer expanded in custom HTML headers.
+
id 557735: Summary for member groups was missing for groups and files.
+
id 558078: collaboration graph of a class using std::list of another class
+ was not correct if the classes where inside a namespace.
+
id 558460: When using \subpage, any section in the sub page was
+ missing from the LaTeX output.
+
id 558525: Template classes produced invalid HTML in the tree view.
+
id 559338: PHP Parser could get confused when there was a comment inside
+ an array initializer.
+
id 559650: Obj-C @interface without body was handle correctly.
+
id 560623: Mixin template classes where not shown properly in the inheritance
+ diagram if the classes where inside a namespace.
+
id 563136: The brief sentence is not shown for groups with no children.
+
id 563384: call graphs were not generated for Qt signals and slots
+
Included VHDL fix by Martin Kreis.
+
grouping of multiple @todo's (and friends) didn't work anymore,
+ causing duplicate sections and labels.
+
Some issues related to the Qt help output were fixed.
+
+
+
Doxygen Release 1.5.7.1
+(release date 5-10-2008)
+
+
Changes
+
+
The dot tool is no longer part of the doxygen package for MacOSX.
+ Please install GraphViz separately and set the dot path
+ to /usr/local/bin
+
+
New features
+
+
Added option DOT_FONTSIZE which allows to set the size of
+ the fonts used in dot generated graphs.
+
+
Bug fixes
+
+
id 554432: Re-added ALPHABETICAL_INDEX option.
+
id 554379: Fixed internal error for GENERATE_INDEXLOG when
+ GENERATE_HTML was set to NO.
+
id 554546: Included fix for handling relative includes in the
+ preprocessor.
+
Included several VHDL fixes related to syntax highlighting, finding
+ class members, and mixing upper and lower case.
+
Included patch to allow setting DEST_DIR environment variable
+ to determine where to install doxygen.
+
+
+
Doxygen Release 1.5.7
+(release date 28-9-2008)
+
+
Changes
+
+
The default CSS style sheet has been cleaned up and simplified, thanks
+ to the work done by Quinn Taylor.
+
+
New features
+
+
Added new config options GENERATE_QHP
+ which enables generating .qch (Qt compiled help) file via
+ the Qt's qthelpgenerator tool (part of Qt 4.4+).
+ This type of files can be read with Qt's Assistant to browse the
+ documentation in a similar way as is possible with Microsoft's
+ compiled HTML help (.chm). To further customize the output and run the
+ help generator from within doxygen, the following options
+ are available: QCH_FILE, QHP_NAMESPACE,
+ QHP_VIRTUAL_FOLDER, QHG_LOCATION.
+ Thanks to Sebastian Pipping for the patch.
+
Add new option SYMBOL_CACHE_SIZE to allow a different
+ trade off between doxygen's memory usage and the amount of disk
+ accesses.
+
id 532695: Added 3 new commands: \extends, \implements, and \memberof
+ that allow object oriented constructs to be documented as such
+ for languages that do not support it natively (e.g. C)
+
Added better support for one line comments after VHDL types.
+
Added new option LAYOUT_FILE which can be used to
+ specify a layout
+ template file that tells doxygen in which order to generate the
+ output and which titles to use for headings and how
+ the navigation index will look;
+ Read this for more info.
+ As a result the following options are now obsolete since they can
+ now only be controlled via the layout file:
+ DETAILS_AT_TOP, ALPHABETICAL_INDEX.
+ The following options can also be set via the layout file, but
+ for convenience and backward compatibility reasons they are still
+ also part of the configuration file:
+ SHOW_INCLUDE_FILES, SHOW_USED_FILES,
+ CLASS_GRAPH, COLLABORATION_GRAPH,
+ GROUP_GRAPHS, INCLUDE_GRAPH,
+ INCLUDED_BY_GRAPH.
+ Run doxygen with the -l option to generate the default layout file.
+
Included update for the Macedonian, Catalan, Brazilian, and Serbian
+ translation and also support for Serbian with Cyrillic characters.
+
+
Bug fixes
+
+
id 140264, 332187, 541924: Sections inside a \subpage where not shown as
+ subsection in the LaTeX/RTF output.
+
id 155098,156188: Added support for UTF-8 special characters in identifiers (which is
+ allowed by e.g. C#).
+
id 304598: operator-- caused invalid HTML output.
+
id 324047: parameter type [in or out] were not generated in RTF document
+
id 363499: @todo and friends did not work in a comment marked with @dir.
+
id 445485: HTML commands in a comment block with attribute values without
+ quotes were not handled properly.
+
id 533855: Processes were always documented as anonymous in VHDL code.
+
id 535379: Added support for %{...%} blocks in XPCOM's IDL.
+
id 536298: Last port in a VHDL port list was not correctly put in a
+ member group.
+
id 536385: Fixed problem matching function prototype and implementation
+ under certain conditions.
+
id 536629: Fixed compilation issue on NetBSD.
+
id 537393: Properties in Python were not properly handled.
+
id 538065: Added support for @optional and @required in Objective C 2.0
+ protocols.
+
id 538239: Some unlabeled VHDL processes were not corrected detected.
+
id 538515: Deriving a Objective-C interface from a protocol caused
+ parsing problems if the interface also has a body.
+
id 539057: Part of an Objective-C expression could be missing in the
+ source browser under certain conditions.
+
id 539590: Generic C# classes with the same name but different
+ template arguments were no longer treated as different classes.
+
id 539712: Fixed code parser issue for parameter indices of procedures
+ and functions.
+
id 540058: Creator code was wrong in the MacOSX application bundle.
+
id 540372: Fixed problem parsing large table by increasing
+ YY_READ_BUF_SIZE in the generated parser files.
+
id 540247: Fixed potential memory corruption issue parsing VHDL.
+
id 541113: Fixed locale for ctype, to avoid stripping of 0xA0
+ from multi-byte UTF-8 characters.
+
id 544479: SORT_MEMBER_DOCS did not work for class members.
+
id 546621: Fixed makefile so that .svn stuff is removed from the
+ tar-ball when doing "make archive".
+
id 546812: Using a table with row span greater than 1 did not
+ produce correct LaTeX output.
+
id 545098: Fixed problem parsing where clauses in combination with C#
+ generics.
+
id 545503: Nameless parameters of type "struct A" could end up wrongly
+ in the XML output.
+
id 545970: Referring to the main page did not work as advertised.
+
id 546158: The variable defined inside a foreach statement in C# code
+ was not considered for source linking, cause potentially incomplete call
+ graphs.
+
id 547361: Linking to specialized template functions did not work.
+
id 548175: Fixed problem parsing class members within a class X,
+ inside a namespace that is also named X.
+
id 548443: Documenting a nested namespace/classes with @namespace X.Y
+ did not work for C# (only X::Y worked).
+
id 548489: C++/CLI classes of type sealed abstract were not
+ processed correctly.
+
id 549318: Some headings in the user manual where wrongly formatted.
+
id 549581: Fixed potential buffer overflow in preprocessor.
+
id 550058: Obj-C: properties for private fields did not appear in the
+ output unless EXTRACT_PRIVATE was enabled.
+
id 550156: Corrected typo in the documentation for
+ GENERATE_TREEVIEW.
+
id 550247: Fixed problem parsing octal character literals in
+ the preprocessing phase.
+
id 551739: Related function with explicit namespace scope was not
+ properly placed if the function also existed in the global namespace.
+
id 552115: Anonymous structs and unions could produce invalid links in
+ the html help index.
+
id 552361: Fixed problem with operators in the LaTeX output.
+
id 552600: \copybrief ended a brief description instead of appending
+ to it.
+
id 553469: Removed bogus warning about internal inconsistency when
+ importing items via a tagfiles that are inside an undocumented scope.
+
id 553616: One can now remove the automatic line breaks in the type
+ part of a declaration by using a custom stylesheet with
+ BR.typebreak { display: none; }
+
id 553663: Aliases did not work in Fortran comments.
+
id 549022: Reimplemented in links could be wrong in case of
+ overloaded members.
+
id 553225: Parser was confused by arrays inside an Obj-C message.
+
Finnish translation was disabled.
+
A collaboration graph with multiple edge labels with not written to
+ the XML output correctly.
+
sub pages of a \mainpage were not shown in the Latex/RTF output.
+
Included some fixed for the VHDL parser.
+
+
+
Doxygen Release 1.5.6
+(release date 18-5-2008)
+
+
Changes
+
+
The GENERATE_TREEVIEW option is not longer a boolean, but can now
+ have 4 values, NONE (was NO), FRAME (was YES), HIERARCHIES, and ALL.
+ Thanks to Jake Colman for the patch.
+
a page marked as a sub page (\subpage) is now shown in the LaTeX and
+ RTF output as a section of its parent page. So the top level pages are
+ shown a chapters, subpages as sections, subpages of a subpage as
+ subsections, etc.
+
Included spec file updates by Kenneth Porter.
+
+
New features
+
+
id 514810: Added DOT_FONTNAME and DOT_FONTPATH options which allow
+ instructing dot to use a different font than FreeSans.ttf which doxygen
+ put in the output directory.
+
id 517242: Added option CHM_INDEX_ENCODING to specify the encoding
+ to be used for the CHM index files. Needed because CHM index files
+ cannot handle UTF-8 encoding.
+
id 519573: Included patch to make the font-size button visible in the
+ CHM output.
+
id 521288: Added new options SHOW_NAMESPACES and SHOW_FILES to
+ Suppress Namespace and Files Pages.
+
id 521495: Included a patch that makes it easy to modify the root of
+ the html treeview with an image using style sheets.
+
id 522300: Added option IDL_PROPERTY_SUPPORT to enable/disable special
+ propget/propput handling in IDL files.
+
Translation support for Finnish has been updated.
+
Added option FORMULA_FONTSIZE which can be used to change the font size
+ of the formulas included in the HTML documentation.
+
included update for Russian translation.
+
included patch to fixed some issues with VHDL code and add support
+ for some VHDL-93 constructs.
+
+
Bug fixes
+
+
Regression: fixed problem handling STL classes
+ when BUILTIN_STL_SUPPORT was enabled
+
id 142866,377976: Added new \copybrief and \copydetails commands,
+ which work as \copydoc but then only copy either the brief or the
+ detailed part of a comment block.
+
id 312655: DISTRIBUTE_GROUP_DOC didn't always work in combination
+ with SORT_BRIEF_DOCS enabled.
+
id 352234: The search index could contain invalid references when
+ SOURCE_BROWSER=NO and CALL_GRAPHS=YES.
+
id 402447: Added support for C# method declarations with where clauses.
+
id 425029: WARN_FORMAT does no longer require all of
+ $file, $line, $text to be valid.
+
id 495687: Replaced MAX_DOT_GRAPH_MAX_NODES with DOT_GRAPH_MAX_NODES
+ in the docs & config file.
+
id 508694 Fixed problem with mixed simple and double quotes in
+ Fortran format declaration
+
id 508752: Fixed problem where the Fortran scanner didn't recognize END
+
id 510971: Fortran: parser was confused by double REAL() in processed
+ statements.
+
id 514488: Fixed problem matching argument lists with const qualifiers.
+
id 514891: PDF generation failed with a LaTeX error when tocdepth
+ was set to a value higher than 2.
+
id 515518: Links in member group documentation was broken when
+ CREATE_SUBDIRS was enabled.
+
id 516086: Fixed division by zero when producing RTF output for the
+ comment /** <table><tr></tr></table> */
+
id 516536: Fixed build issues on OSX 10.4 and earlier.
+
id 516070: Added support for simple events without accessors in C#.
+
id 516387: replace 0xA0 character in perlmodgen.cpp by a space to
+ avoid compilation problems with the Chinese version of Visual Studio.
+
id 517112: Regression: examples with the same name but different paths
+ cause "file not found" warning.
+
id 518334: Fixed problem parsing Objective-C protocol definitions.
+
id 518537: Hiding an enum with an undocumented typedef with the same
+ name caused explicit referencing of the enum to fail.
+
id 519661: In some cases a function prototype could incorrectly be
+ flagged as a variable with constructor.
+
id 520325: Fixed parse problem when comment was after an extern "C"
+ block and before the opening bracket.
+
id 521234: Fortran: fixed problem causing
+ "stack empty! when parsing code"
+
id 522225: PDF Latex output did not produce proper hyperlinks for \page
+ and \subpage comment blocks.
+
id 522248: Page header were wrongly displayed in the RTF output.
+
id 522415: Fixed compile errors in addon/doxmlparser.
+
id 522600: Added additional warnings to signal invalid configurations.
+
id 523138: Removed redundant paragraph in navigation section of the
+ HTML output.
+
id 523326: Namespace name was prepended twice to template
+ specializations classes.
+
id 524357: Default mentioned for REFERENCED_BY_RELATION relation
+ was not correct.
+
id 524359: Default mentioned for REFERENCES_RELATION relation was
+ not correct.
+
id 524473: Removed incorrect warnings about parameters in VHDL.
+
id 525140: Improved handling of Objective-C 2.0 properties.
+
id 525143: Properties are now listed as attributes in the UML diagrams.
+
id 525144: GENERATE_DOCSET option grayed out in doxywizard.
+
id 526155: Removed warning about QFile::setName when parsing VHDL files.
+
id 527781: Template arguments for bases class not shown in a consistent
+ way.
+
id 528023: Inheritance relations were not correctly displayed for
+ C# generics.
+
id 528424: Fixed rendering bug in HTML output when used with Opera.
+
id 528584: Using enum and enum value with the same name in C# code
+ caused crash.
+
id 528620: Fixed typo in French translation.
+
id 528815: Fixed problem parsing define() statements in PHP code.
+
id 528989: Leading C comment could prevent preprocessor expansion for
+ the rest of the line.
+
id 529803: Doxygen didn't find call(er) relations for C# when using
+ this.Method() calls;
+
id 529554: Putting defined() inside a macro caused the preprocessor
+ to get confused.
+
id 529758: C++/CLI: default inheritance is now public, nested templates
+ ending with >> are now handled properly as well as indexed properties.
+
id 530201: Avoided warning for undocumented self parameter in Python.
+
+
+
Doxygen Release 1.5.5
+(release date 10-2-2008)
+
+
Changes
+
+
Pages created with @page are now chapters in the LaTeX and RTF output
+ and treeviews, and directly follow the mainpage. Also the project name
+ is not longer repeated for each chapter.
+ This should make it more convenient to create normal, printable
+ documentation with doxygen.
+
For dot graphs with an edge with more than ten labels, only the first
+ ten are shown followed by an ellipsis; done to prevent very long
+ dot runs resulting in unreadable graphs.
+
Use of pdflatex with hyperlinks is now the default.
+
id 511116: C++ preprocessor macro names are now replaced in the
+ comments as well. For example, S and m are replaced in the comments for:
+
+ #define C(S,m) /** container S */ struct S { /** value m */ int m; }
+
+
id 493923: The options SOURCE_BROWSER, CALL_GRAPH, CALLER_GRAPH,
+ REFERENCES_RELATION, and REFERENCED_BY_RELATION can now be independently
+ enabled and disabled. By default the relations are now disabled.
+
+
New features
+
+
Added support for VHDL (.vhd or .vhdl extension) based on a patch by
+ Martin Kreis. Use OPTIMIZE_OUTPUT_VHDL when parsing VHDL code.
+
id 374699: Added support for Objective-C 2.0 properties.
+
Added compilation support for MacOSX 10.5 (Leopard) in combination with
+ Xcode 3
+
Added support for docsets, which allow integration of doxygen generated
+ API documentation in Xcode 3. new options:
+
+
GENERATE_DOCSET: enables/disables the feature
+
DOCSET_FEEDNAME: sets the provider/suite name under which the set is
+ listed.
+
DOCSET_BUNDLE_ID: A unique name for the docset.
+
+ See the configuration file or manual for more details.
+
id 493467: Added compilation support 64bit Solaris machines in
+ combination with Sun's own compiler (thanks to Heiko Jansen).
+
id 153376: Added support for the \tparam command, which works similar to \param
+ but is meant for documenting template parameters.
+
id 140104: Added \headerfile command which can be used to specify
+ the second and third argument of a \class command, when
+ the documentation is already in front of a class definition.
+
Added translator support for Macedonian.
+
Added language updates for German, Persian, Spanish, Taiwanese,
+ and Chinese, Korean, Croatian.
+
+
Bug fixes
+
+
Fixed potential crash bug due to wrong pointer check.
+
Using @param as the first word in a comment block did not work properly
+ in combination with JAVADOC_AUTOBRIEF set to YES.
+
Some character's could be missing from IDL properties.
+
Automatic abbreviations did not work for nested classes or classes
+ in a namespace.
+
Fixed a preprocessor bug where the line numbers of a definition could
+ get out of sync with the source code.
+
id 142023: Putting Qt signals or slots in a group did not
+ make them appear in the group documentation.
+
id 318668: Comments in Python function argument lists got messed up.
+
id 325359: Added support for C# XML-doc commands typeparam and
+ typeparamref.
+
id 331674: Aliases did not work in Python code.
+
id 356399: Fixed strange warning when specifying a tag file with an
+ anchor twice.
+
id 363828: Docstrings found at the top of a python file are handled
+ as module documentation again.
+
id 429437: A #include outside the input files was not searched
+ in the current directory of the file containing the include.
+
id 451299: Sometimes the wrong include file chosen when ambiguous
+
id 460585: @cond did not work in Python code.
+
id 477377: Function in undocumented anonymous namespace cause broken
+ link if EXTRACT_ALL was set to NO.
+
id 484731: Additional fixes for parsing Fortran.
+
id 488125: operator->* was not displayed properly in the output.
+
id 490766: Fixed compile error in fortranscanner.l which occurred for
+ some compilers.
+
id 492027: Ampersand (&) in front of parameter stops documenting
+ of PHP source
+
id 493249: using a namespace (or Fortran module) caused the namespace
+ to appear in the documentation as if it was defined.
+
id 493434: Nested C# style XML lists in a comment block were not
+ handled correctly.
+
id 494187: Doxygen could crash due to an infinite recursion when
+ using tag files.
+
id 494599: When updating a config file an extra space was added just
+ before the end of a quoted string.
+
id 494760: Putting a # in a path name using Doxywizard, caused the
+ # to interpreted as the start of a comment in the Doxyfile.
+
id 495656: Description of default used for DOT_TRANSPARENT was wrong.
+
id 495687: Fixed typo in the description of DOT_GRAPH_MAX_NODES.
+
id 496392: Putting character entities like é in section/group
+ titles resulted in ´ in the output.
+
id 498049: Improvements to .spec files for RPM creation.
+
id 498680: Callgraphs for functions in anonymous namespaces generated
+ invalid labels for 'dot' when EXTRACT_ANON_NSPACES was set to YES.
+
id 498711: Reference parameters in PHP were not properly parsed.
+
id 499577: Collaboration diagrams not working with typedef
+
id 500227: Wrong output generated for Objective-C methods with
+ multiple arguments for LaTeX or RTF output.
+
id 500635: Project name is no longer placed before each top level
+ item in the treeview and other indices.
+
id 500465: Fixed some issues compiling for AIX.
+
id 500928: Fixed parser issue handling a tipple quoted
+ string when used to initialize a Python variable.
+
id 500944: Python variables with package scope were only extracted if
+ EXTRACT_STATIC was enabled.
+
id 501704: Line numbering was wrong when a #include was placed inside
+ an array/struct initializer list.
+
id 502213: Combining a brief and detailed description in an alias
+ produced the warning "unknown command \_linebr".
+
id 502447: Single quoted PHP strings were not handled correctly
+ by the source code parser.
+
id 503939: Variable was checked before initialized.
+
id 504120: TYPEDEF_HIDES_STRUCT now also works for enums.
+
id 504439: Assert when marshaling a member which had an associated
+ example.
+
id 504650: Generated LaTeX code injected hyperlinks into section titles.
+
id 507052: Fortran function named x_function was not properly handled.
+
id 507603: Enabling FILTER_SOURCE_FILES caused strange warnings when
+ INPUT_FILTER is empty.
+
id 508740: Using upper case port mode specifiers did not work correctly.
+
id 508753: Fortran: Added .f as allowed Fortran extension.
+
id 508759: Fortran: fixed potential memory corruption while scanning
+ parameter lists.
+
id 507528: XML output was not correct for pointer arrays.
+
id 508752: Fortran scanner didn't recognize lonely END
+
id 509278: Spaced before the \internal command where treated as
+ documentation.
+
id 509582: Fortran: Spaces in function return type were not parsed
+ properly.
+
id 510387: Fortran scanner didn't parse initialization of complex type
+ correctly.
+
id 511921: @file command ended brief description even when
+ JAVADOC_AUTOBRIEF was enabled.
+
id 512620: \copydoc of a comment with @param commands could result in
+ warnings that parameters were not documented.
+
id 513570: Fixed cross site scripting vulnerability in the
+ search.php script.
+
id 514814: Included missing fromUtf8 calls to translator decoder to
+ prevent potential language encoding issues.
+
id 513885: Using this-> inside a function could result in incomplete
+ call graph.
+
+
+
Doxygen Release 1.5.4
+(release date 27-10-2007)
+
+
Changes
+
+
id 469260: When setting SOURCE_BROWSER to YES, all undocumented classes also ended
+ up in the documentation. Now this will only happen if EXTRACT_ALL is also
+ enabled.
+
Upgraded included third party libs libpng and zlib to version 1.2.21 and 1.2.3
+ respectively.
+
+
New features
+
+
Included support for parsing Fortran 90, thanks to a patch by
+ Anke Visser and Oleg Batrashev (source: http://dougdevel.org/index.php?page=doxygen)
+
id 477548: Added config option SIP_SUPPORT to support handling SIP sources
+ (used for Python to C++ bindings).
+
id 475828: Added support for CLI/C++ style indexed properties.
+
Added config option TYPEDEF_HIDES_STRUCT which when enabled treats a typedef
+ of a struct as a struct with the name of the typedef. This behavior was
+ coupled to OPTIMIZE_OUTPUT_FOR_C in the previous version and is now an independent
+ option.
+
Included updates for the Korean, Brazilian and Chinese translations.
+
+
Bug fixes
+
+
id 314541: Fixed wrong DOCTYPE in HTML output when GENERATE_TREEVIEW was set to YES
+
id 321784: Changed scope resolution algorithm to avoid lookup failures on using
+ directives (thanks to Christoph Schulz for the patch).
+
id 415866: Fixed bug in preprocessor causing "More #endif's than #if's found" warning.
+
id 426971,465020: A brief description would in some cases be treated as a
+ detailed one.
+
id 430148: Doxygen reported "Internal Inconsistency" for class member inside
+ anonymous namespaces.
+
id 433449,363010: Removed Internal inconsistency when referencing enum values found
+ in a tag file.
+
id 438282: Line numbers were displayed when using \include inside \example.
+
id 443942,461433: mscgen was not called correctly on Windows when
+ generating .map files.
+
id 457346: increased the threshold for adding line breaks to the type part of a
+ declaration.
+
id 460294: Missing references in source browser when using the "register" keyword.
+
id 461889: Fixed bogus "no matching class member found" case.
+
id 462051: In certain cases doxygen failed to find the proper inheritance relation.
+
id 462077: Error in LaTeX index generation due to unescaped characters.
+
id 462159, 143250: Added support for parsing functions/methods returning a
+ pointer or reference to an array, e.g. a function of the
+ form: "int (*f(int))[];"
+
id 462436: Inheritance from an unknown template class was not handled consistently.
+
id 462439: Adjusted \author documentation.
+
id 462757: Fixed Latex output bug for members of anonymous struct or unions.
+
id 462861: Members references via tagfiles were sometimes broken.
+
id 463139: Doxygen failed to detect duplicate variable declarations in the same file.
+
id 465138: HTML entities in page title (such as ü) where not displayed
+ correctly in the HTML output.
+
id 465170: Wrong line numbers reported for errors when using multiline formulas.
+
id 465172: Fixed issues parsing <code>operator</code>.
+
id 466803: Fixed crash when parsing Java enum with empty field.
+
id 466890: Handling of CVS/RCS keywords was broken.
+
id 466910: When UML_LOOK is set to YES, the graph orientation is always top to bottom.
+
id 466991: Template argument using '?' operator breaks file generation.
+
id 468858,472310: C++ casting operator with templates was displayed wrong.
+
id 468937: .hhc and .hhk was missing the </body> and </html> tags.
+
id 469269: When HTML_DYNAMIC_SECTIONS was enabled, index.hhp missed
+ open.gif and closed.gif.
+
id 470029: Fixed crash while parsing a particular piece of PHP code.
+
id 471185: The word "property" was stripped from functions that started with it.
+
id 471495: Objective C category documentation was ignored in some cases.
+
id 472193: Fixed issue expanding multiple occurrences of the same alias command
+ argument.
+
id 472201: Removed spurious warning introduced by the fix for bug 465170.
+
id 473105: Auto link to nested class inside a base class was missing.
+
id 473140: Anonymous scope ended up wrongly in the XML output.
+
id 473402: context dependent \ref's inside a dot or msc graph did not work anymore.
+
id 473679: Doxygen skipped function if return type contained round parenthesis.
+
id 474529: index entries in LaTeX could be wrong on some platforms.
+
id 476035: Externally referenced links obtained via a tag file had an extra g in
+ the anchor
+
id 476562: argument of copydoc appears in XML output without proper escaping.
+
id 476766: Type of a virtual destructor was "virtual" in the XML output.
+
id 479113: Automatic links were not generated when next word started with "const".
+
id 479762: Wrong character encoding was used for dot files.
+
id 480722: File tooltips incorrect for the include dependency graph.
+
id 481168: Allow \f{environment}{ .... \f} so the number of braces matches.
+
id 481107: Using HTML_FILE_EXTENSION to set a non-default extension did not work
+ for the "no frames" link to main.html when GENERATE_TREEVIEW was enabled.
+
id 481827: Macro expansion removed the @ character when it appear in a C comment.
+
id 482964: The "template" word was a little too close to the rounded border in
+ the html output when rendered by Firefox.
+
id 484277: Adjusted the instructions to report a bug in the hope this will result
+ in less duplicate bugs.
+
id 484731: Fixed issue parsing unindented interface (Fortran).
+
id 486159: Fixed problem parsing \xrefitem commands in joined comment blocks.
+
id 488760: Added support for Trigraphs to doxygen's C-preprocessor.
+
id 488800: Fixed problem in perlmod generation.
+
id 488837: abstract class in PHP was not properly parsed.
+
id 489049: Setting MUTLILINE_CPP_IS_BRIEF to YES could cause wrong line number
+ references.
+
Call graphs were not properly synced between function declaration and definition.
+
Fixed bug in doxygen's internal caching mechanism which could make doxygen
+ forget enum lists for large projects.
+
+
+
Doxygen Release 1.5.3
+(release date 27-7-2007)
+
+
Changes
+
+
When OPTIMIZE_OUTPUT_FOR_C is enabled then a struct definition of the
+ form typedef struct _S { ... } S_t will be shown in the output as a
+ struct of type S_t and the typedef itself is omitted
+ (previously _S was shown
+ as well as a typedef of the form typedef _S S_t).
+
Improved the line-breaking rules for members whose return types have many characters
+ (for example a function returning a pointer to a template class).
+
Multiple brief and detailed descriptions are now possible. It is still not
+ recommended to make use of them, but at least no documentation is silently hidden
+ when there are two brief or two detailed descriptions for the same entity.
+
Improved dot layout control and page sizing to better fit images on the screen
+ and paper.
+
+
New features
+
+
Added support for aliases with arguments,
+ see the manual
+ for more information.
+
Added HTML_DYNAMIC_SECTIONS option which, when enabled,
+ will produce sections
+ in the HTML output that can be expanded/collapsed. Currently used for
+ diagrams and graphs.
+
Added support for type constraints as available in the C# language ("where" clause)
+
id 332263: Added new option EXTRACT_ANON_NSPACES that when set to YES will extract
+ the contents of anonymous namespaces and show then in the output.
+
id 423765: Added support for <see cref="SomeSymbol"/> style XML comments.
+
id 426971: Added QT_AUTOBRIEF config option, which has the same meaning
+ as JAVADOC_AUTOBRIEF only now for /*! .. */ style comment blocks.
+
id 435108: Reintroduced the MAX_DOT_GRAPH_DEPTH option as a means to further
+ reduce the size of a graph.
+
+
Bug fixes
+
+
id 137644: Fixed issue with "const" parsing of a typedef'ed struct where the "const"
+ is placed after the struct definition.
+
id 153362: A typedef of a function pointer was not shown correctly in the output.
+
id 156003: Wrong template arguments when using @related for a (template) function
+ with a template class.
+
id 170004: The check for PDF or DVI in the generated latex output
+ was not always reliable.
+
id 300022: PHP code with unknown extension was parsed as C/C++ code. Added a
+ detection rule for <?php to switch to PHP parsing.
+
id 317967: Setting USE_PDFLATEX to YES now generates a
+ Makefile with a "pdf" target,
+ to be consistent with the documentation.
+
id 397099: Fixed several cases where "referenced by" relation was unresolved.
+
id 423776: XML style see tag resulted in messed up documentation.
+
id 426852: \hideinitializer was sometimes ignored when using structural commands.
+
id 426977: Included a patch allow building under recent versions of Cygwin
+
id 427991: Doxygen failed to call mscgen.exe properly on Win32 platforms.
+
id 430962: struct keyword was stripped from typedefs even for C code.
+
id 431049: Fixed potential crash when GENERATE_PERLMOD was enabled.
+
id 431202, 333607: Quotes inside strings caused the Pythons parser to get off track.
+
id 431763: doxygen crashes when using unsupported tags in the config file.
+
id 432420: Last enum value of a Java 1.5 style enum with constructor did not appear.
+
id 432743: The "std" namespace appeared in the output when
+ BUILTIN_STL_SUPPORT was enabled.
+
id 432757: Setting INLINE_INHERITED_MEMBERS to YES,
+ did not inherit the group of grouped members of a base class.
+
id 433630: Using double-quotes (") inside a brief description could lead to
+ errors in dot files when the brief description was used as a tooltip.
+
id 434079: The number of graph nodes could still be too large despite a
+ conservative DOT_GRAPH_MAX_NODES setting.
+
id 436648: List of class members was no longer complete under certain conditions.
+
id 437218: Special characters in \brief string cause problems HTML/XML in source
+ listings.
+
id 438300: Fixed two cases where doxygen could access memory outside array
+ boundaries under certain conditions.
+
id 441114: Add support for <term> inside <list> to conform to
+ C# XML comments.
+
id 442313: Casing of special commands was not handled consistently.
+
id 443942: Fixed problems running mscgen.
+
id 444823: No newline after the error message when hhc failed with return code >0
+
id 445105: Fixed some issues and wrong spacing for the RTF generation.
+
id 446585: Doxygen could crash when producing a warning for undocumented C++/CLI
+ arguments of the type "T%".
+
id 447133: Replaced occurrences of ' by ' in the HTML output.
+
id 448210: Make rule to install manpages was broken.
+
id 451297: Fixed more issues where using double-quotes (") inside a brief
+ description could lead to errors in dot files when the brief
+ description was used as a tooltip.
+
id 452824: In the source browser linking of a local variable did not work
+ after a sizeof() of the variable.
+
id 452828: Missing reference to struct member in the source browser due to
+ incorrect bracket count.
+
id 453366: Removed bogus warning for unresolved references in brief descriptions.
+
id 453918: The __init__.py files were incorrectly treated as modules causing
+ scoping issues for symbols defined inside such file.
+
id 456471: Changing the installation location (--prefix) did not affect the
+ location were the documentation was installed. --docdir can still
+ be used to overrule the location for the documentation.
+
id 456475: Added support for C++/CLI style finalizers.
+
id 457857: Leading "struct" keyword is no longer stripped from the documentation of
+ functions that return a pointer to a struct.
+
id 458710: Expanding environment variables in the config file to a
+ file or path name with spaces (e.g. "$(VCInstallDir)include") was
+ incorrectly interpreted as a list when used with for instance INPUT.
+
id 458749: Undocumented constructors/destructors inside an undocumented member group
+ were not visible in the output.
+
+
+
Doxygen Release 1.5.2
+(release date 4-4-2007)
+
+
Changes
+
+
The options MAX_DOT_GRAPH_WIDTH, MAX_DOT_GRAPH_HEIGHT, and MAX_DOT_GRAPH_DEPTH have
+ been replaced by a single option DOT_GRAPH_MAX_NODES, which can be used to
+ limit the size of a graph indirectly, by specifying the maximum amount of nodes in
+ the graph. The main advantage is that this can be computed much faster; dot has
+ to be run only once per graph and never on graphs with more than the specified
+ amount of nodes. Note that doxygen will always render the root node and its
+ direct children even when DOT_GRAPH_MAX_NODES = 0.
+
Parameters names are now copied to reimplemented functions, avoiding warnings about
+ missing or wrong parameter names when INHERIT_DOCS = YES.
+
+
New features
+
+
id 150916,159291,166209,330109,396316
+ Doxygen now uses UTF-8 internally for all strings and uses
+ iconv to recode the input to UTF-8. For HTML, LaTeX and man pages
+ the output is now always UTF-8. For RTF the encoding is local and
+ depends on the code page specified in the translator.
+ The config option USE_WINDOWS_ENCODING has been removed.
+ A new config option INPUT_ENCODING has been added which can be used to
+ specify the encoding of the input. Another config option DOXYFILE_ENCODING
+ can be used to specify the encoding of the config file itself.
+
Added support for message sequence charts (using mscgen).
+ For this two new commands have been added: \msc and \endmsc (similar
+ to \dot..\enddot), and a new config option MSCGEN_PATH (similar to DOT_PATH)
+ See the manual and website for more info.
+
Added support for C++/CLI. To enable it set CPP_CLI_SUPPORT to YES in the
+ config file (thanks to Ben Voigt for doing a lot of the work).
+
IGNORE_PREFIX now also works for function/members names when shown in the various
+ indices.
+
Doxygen will show a tooltip in the HTML output for links to classes, namespaces,
+ and members with the brief description (including dot graphs and source code).
+
id 321575: Added a new config option EXCLUDE_SYMBOLS which can be used to
+ exclude certain namespaces/classes/functions from the output by specifying
+ their name (which may include wildcards).
+
id 364536: Included patch by Ben Voigt which adds syntax highlight
+ support for several (managed) C++ keywords.
+
id 419349: Added two LaTeX layout enhancements provided by Stefan Pawig.
+
+
Bug fixes
+
+
id 132886: Included patch to fix an issue with using a sequence of xrefitems
+
id 134792: Added configure script for Cygwin autodetection.
+
id 162006: Doxygen now uses the default search path of dot for user defined
+ dot graphs (defined with @dot and @dotfile).
+
id 306231: Include fix for Japanese translation.
+
id 315543: htmlinclude didn't work as part of a description of a param.
+
id 322806: Doxygen now does not treat >> in a template list as a shift operator
+ for Java and C#.
+
id 332815: Legend generated with GENERATE_LEGEND did have typo.
+
id 345820: Included patch to make doxygen handle config files with
+ @INCLUDE with absolute paths correctly.
+
id 364780: Included patch to improve scope handling of nested classes/namespaces by
+ the code parser (thanks to Ben Voigt).
+
id 366113: Fixed configure script issue under Solaris.
+
id 367233: Non-class functions were duplicated in the xml index file.
+
id 367495: Windows build files had only support for English by default.
+
id 369499: In some cases variable names were duplicated in python source code output.
+
id 369200: Fixed parse problem when a single quote appeared in a Python comment line.
+
id 373229: Doxygen now gives a warning when it cannot inline a #include inside a body
+
id 374486: Inheriting from a template argument via an intermediate typedef could
+ result in invalid output.
+
id 375073: \ref could cause wrong XML output.
+
id 375753: Added missing new line to error message.
+
id 377911: Fixed problem with end of formula.
+
id 380516: Fixed line number issue in the Python parser.
+
id 381450: Tabs in the HTML output redefined the value of an "id" attribute,
+ which is not legal HTML.
+
id 374592: Member grouping didn't work properly for constructors.
+
id 381608: Initializer values of class variables and constants did no longer
+ appear in the documentations.
+
id 382274: Scanning files with RECURSIVE enabled ignored EXCLUDE_PATTERNS.
+
id 383377: C# code was not passed though the C-preprocessor.
+
id 383493: Improved the warning message for unterminated code/verbatim blocks.
+
id 384439: Made comment block parser more robust against HTML errors.
+
id 385384: SEPARATE_MEMBER_PAGES=YES caused broken links in Html Help index.
+
id 387781: Parsing #import statements was broken for Objective-C.
+
id 387848: Included patch to avoid LaTeX compilation issues.
+
id 389656: For C# enums in the same scope can have the same values, but doxygen's
+ parser got confused.
+
id 389750: Fixed alignment bug in the default html footer generated by doxygen.
+
id 390821: Fixed problem parsing Java 1.5 enums with initializers.
+
id 391619: When dot produces an non-zero return code, doxygen now prints the
+ return code and the command it tried to execute.
+
id 407815: Doxygen got confused by certain combinations of " and ' in PHP code.
+
id 409935: Fixed bug in qcstring.cpp
+
id 411300: PDF/Latex output was broken for operator[] documentation.
+
id 411328: Fixed Accessibility/Section 508 Compliance issue.
+
id 413071: Added support for Java 1.5 annotations.
+
id 415683: Two typedefs of function pointers with different names could still
+ resolve to the same type if the only difference was the argument list
+ and as a result cause "Undocumented function" warnings.
+
id 418920: Doxygen stripped leading comment chars from C# code blocks.
+
id 421131: Character encoding was not consistent for all HTML files.
+
The "list of all members" was not shown for a class with no members that derived
+ from a class with members.
+
+
+
Doxygen Release 1.5.1
+(release date 29-10-2006)
+
+
Bug fixes
+
+
id 148567: @todo at the end of a comment block caused problem when copied by @copydoc
+
id 352420: Fixed bug in LaTeX output (missing space after \bf).
+
id 363227: missing output for instance variables defined in a Python function
+ that has a doc string
+
id 363397: Member groups did not appear in a class when SUBGROUPING was set to YES.
+
id 364341: Parsing could become really slow if often included header files contained
+ using statements.
+
id 364673: The values of two enums with the same name (both in difference scopes)
+ where merged.
+
The version of dot shipped with the Mac binary had some non-standard dependencies.
+
Doxywizard didn't work on PC's where no Visual Studio 2005 was present, when build
+ with the project files (I'm now using /MT instead of /MD which fixes this issue).
+
Running 2 instances of doxygen on the same output directory caused corruption of
+ the temporary files generated by doxygen.
+
+
+
Doxygen Release 1.5.0
+(release date 16-10-2006)
+
+
Changes
+
+
cleaned up the internal structures to make them smaller, and made doxygen use
+ a temporary file to store the parse results (instead of keeping them in memory),
+ which will further reduce the memory usage, especially for large projects, and is a
+ first step towards incremental parsing.
+
+
New features
+
+
Added example application that shows how to configure and run doxygen from
+ within an application and use the information collected by doxygen without
+ also generating the output (see addon/doxyapp).
+
id 322467: Sections produces by \note, \warning, \remarks etc, now have a
+ class label in the generated HTML (<dl> tag) so you can give them a
+ distinct style using a non-default stylesheet (i.e. using HTML_STYLESHEET).
+
Added project files for building doxygen from Visual Studio 2005 (see winbuild dir).
+
added translator updates for Czech, Danish, German, Catalan, Croatian, French,
+ Japanese, and Italian.
+
added translator support for Arabic (thanks to Moaz Reyad)
+
added translator support for Persian (thanks to Ali Nadalizadeh)
+
+
Bug fixes
+
+
id 131445: Fixed autolinking for related functions.
+
id 137236: Updated documentation to make it clear that a lower-case only word
+ is not a candidate for autolinking.
+
id 141758: Fixed a problem parsing <?=...?> constructs outside of functions in PHP.
+
id 319169: Second level index not shown when DISABLE_INDEX=YES.
+
id 325337: Added "optimize output for C#" option to Doxywizard.
+
id 325426: Partial C# class inside a namespace where not handled properly.
+
id 327358: Fixed wrong link to the search engine when CREATE_SUBDIRS was set to YES.
+
id 326885: Leading ///'s ended up in code fragments when using indented
+ /// comments.
+
id 330513: For file documentation, the scope not stripped for namespace members
+ even if HIDE_SCOPE_NAMES was set to YES.
+
id 335131: Fixed "internal inconsistency" warning related to use of nested
+ classes defined outside a used namespace.
+
id 338475: Added support for Q_SIGNALS and Q_SLOTS macros (thanks to Thomas
+ Zander for the patch).
+
id 340973: Improved performance of "Computing template instances" step
+ significantly in case of (large) Java projects.
+
id 342090: Fixed missing cross-reference to "m" for code of the form f(a[s.f]->m)
+
id 344443: Code font commands where not treated properly in C# style comments.
+
id 344445: Made it more clear in the documentation where the XML commands in the
+ comment blocks are for, and how <code> works in C#.
+
id 345322: DOTFONTPATH was corrupted in mingw builds.
+
id 345519: Fixed problem parsing attributes in C#.
+
id 345660: Python class members that spanned multiple lines could confuse the parser.
+
id 345742: enum values were shown twice in some cases.
+
is 346095: Forced a newline before \normalsize in the LaTeX to avoid
+ font size issues.
+
id 346848: Under certain conditions nesting of groups did not work properly.
+
id 347444: paramref XML command did not render properly.
+
id 348259: Doxygen now keeps the _formulas.log file when there is a problem
+ generating bitmaps for formulas. This can help to identify the problem quicker.
+
id 348481: friend class in unnamed namespace produced bogus error.
+
id 348537: Fixed internal inconsistency warning that could occur when reopening
+ an anonymous namespace
+
id 349867: Fixed issue handling brief and detailed description when
+ both are positioned after an item.
+
id 350168: Doxygen didn't parse C# type constraints properly.
+
id 351890: In some cases C# attributes were treated as properties.
+
id 353044: C99 style variadic macros were not handled properly by doxygen.
+
id 353195: Member grouping with SUBGROUPING = YES now works the same for files
+ and namespaces as it does for classes.
+
id 354765: A command like \ingroup now ends a brief description as was the case
+ in the pre 1.4.x series.
+
id 355922: When a function was found in a namespace but also in the global
+ namespace, doxygen could make the wrong cross-reference.
+
id 356204: Setting HIDE_UNDOC_RELATIONS to NO could result in
+ argument mismatches in certain cases.
+
id 357092: Spurious doxygen warning when using a class that ends with 'const'
+ or 'volatile'.
+
id 357438: tabs and newlines were not parsed properly for html attributes inside
+ a comment block.
+
id 357646: objcache.cpp did not compile cleanly on a system with 64 bit pointers.
+
id 361812: whitespace after the colon at the end of a Python definition caused
+ parsing issues.
+
"struct Foo operator+()" was not parsed properly due to the "struct" keyword.
+
As a side-effect of bug 329861 Obj-C protocols and categories were no longer
+ extracted.
+
Fixed an problem with cross-referencing Obj-C code.
+
Removed the memory leaks reported by valgrind and tuned some data structures
+ to reduce the memory usage.
+
enums in a used namespace could cause arguments not to match.
+
fixed several cases where arguments of function/method declaration and definition
+ did not match while they should.
+
+
+\endhtmlonly
+\section log_1_4 1.4 Series
+\htmlonly
+
+
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 formulas.
+
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 stripped.
+
id 311577: Putting a documented 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: Undocumented 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
+
+
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-continuation characters.
+
id 304666: Attributes of the same class appeared separated with \n in
+ collaboration diagrams
+
id 304751: A define "foo()" was indistinguishable from a define "foo" in
+ the XML output.
+
id 304752: XML location tag attribute "file" could have the
+ syntactically 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: 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: Referring 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 documented
+ 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 properly 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 constructors 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 didn'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 "<name>" 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).
+
+
+\endhtmlonly
+\section log_1_3 1.3 Series
+\htmlonly
+
+
Doxygen Release 1.3.9.1
+
Bug fixes
(ids refer to the old bugzilla issue, just use it in the search box of the issue tracker)
+
+
Due to an error in the packaging script, an old version of doxywizard
+ was bundled with the Mac OS X version of doxygen.
+
Dot would not run if doxygen was installed in a path which contained
+ spaces (Mac OS X).
+
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 for sending an update).
+
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.
+
+
Doxygen Release 1.3.9
+
Changes
+
+
Changed the stylesheet so font usage is more uniform and consistent.
+
Changed the colors of the doxygen logo at the bottom of a HTML page.
+ Let me know if you prefer this one or the old one.
+
Improved rendering of template functions and methods in the HTML output
+ (previously these could push the method names to the right side of the page).
+
id 149899: A macro defined in the config file (see PREDEFINED) can now
+ prevented from being undefined (via a #undef in the code) when its
+ value is assigned via the := operator (e.g. PREDEFINED = A(x):=x ).
+
id 150631: if HIDE_SCOPE_NAMES is enabled the scope of a method in a
+ call graph is only shown when the method is of a different
+ class.
+
id 151911: Stylesheet is generated earlier in the process.
+
id 152164, 152166: Improved the way search results are sorted.
+
Changed the way function pointer arguments are represented in the
+ detailed description.
+
+
New features
+
+
Directory information is now extracted by doxygen. Files are
+ automatically grouped by directory. You can use
+ the SHOW_DIRECTORIES option to enable/disable this feature.
+ Added a new command \dir which can be used to document directories.
+
Language updates for Czech, Swedish, Hungarian, Danish, Russian, Italian,
+ German, Chinese, Croatian, and Polish.
+
Applied a patch by Arend van Beelen which adds support for the
+ new features introduced in PHP5.
+
Applied a patch by Ferdinand Wess for better handling of #import
+ statements in Obj-C code.
+
Applied a patch by Adam Treat to add read and write accessors
+ of a Q_PROPERY to the XML output.
+
Arnaud Bercegeay has added platform support for the Atari MiNT OS.
+
Included patch by James Ahlborn which improves the way nested numbered
+ lists are layouted in the HTML output.
+
Included update for Hungarian translation.
+
Added patch to improve support for Debian
+ (http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=263542)
+
+
Bug fixes
+
+
id 123772: putting an example inside a group caused broken links to
+ in the example list.
+
id 125737: Fixed link error when a @todo item was placed in the
+ documentation of a variable inside a anonymous union/struct.
+
id 126344: Added initial support for member template specializations.
+
id 126448: Argument passed to input filter was not always quoted.
+
id 126745: Anchors of grouped members were wrong in some cases.
+
id 128585: Lists were not always rendered properly in the man page
+ output format.
+
id 128809: Hidden files (starting with a dot) could not be included
+ with for instance \verbinclude.
+
id 130431: Prevented recursive loop in the call graph when a function
+ declares a local variable with the name of the function.
+
id 131299: \copydoc with argument A#func() didn't work.
+
id 131354: Fixed bug matching function declaration/implementation with
+ using declarations.
+
id 135448: Improved autodetection of Qt by the configure script
+ some more (thanks to Michael Henry).
+
id 135808: Removed reference to doxysearch.cpp from Doxyfile included
+ with the source distribution.
+
id 138629: Included patch to make the HTML output more conformant to
+ the XHTML standard (thanks to Jan Nijtmans).
+
id 144865: Variables in anonymous unions/structs did not appear as
+ data fields.
+
id 148547: Added a workaround for a compile problem in pngrutils.c
+ on AIX 5.2.
+
id 148671: Using "publicsomething" as a name for a base class resulted
+ in the "public" part being stripped.
+
id 148707: <a href> and <br> tags are now allowed inside html headings.
+
id 149023: Fixed template inheritance through typedefs problem.
+
id 149045: Fixed several small problems related to template handling.
+
id 149106: Fixed problem parsing enum declarations.
+
id 149164: Fixed problem in the configure script when used with perl
+ version 5.6 (thanks to a patch by Joerg Schlichenmaier)
+
id 149258: Example sources could be wrongly indented.
+
id 149263: Fixed copy/paste error in HTML_FOOTER documentation.
+
id 149698: Multiple lines of //!< comments were not handle correctly.
+
id 149711: Title of a namespace page/section was not generated.
+
id 149797: Forgot to turn off debug mode for the RTF output.
+
id 149880: Brief description of one variable could appear in the
+ the description of the next under certain circumstances.
+
id 150264: linking to Obj-C protocols did not work.
+
id 150427: "virtual" and "const" were not nicely formatted when
+ followed by unary scope resolution operator (e.g "const ::A")
+
id 150629: Enabling OPTIMIZE_OUTPUT_JAVA did not help for call graphs.
+
id 151457: Fixed compile problem on Solaris 4.2.
+
id 151452: Bug in LaTeX output for anonymous structs/unions whose
+ members have brief descriptions.
+
id 151246: Parse error when using in-body comment blocks.
+
id 152005: Objective-C string constants appear in output with @"@"
+
id 152182: Spaces mess up type in Objective C functions.
+
id 152184: label-less parameters in Objective C functions were not
+ parsed properly.
+
id 152383: Objective-C categories showed methods twice.
+
id 152572: \brief inside an argument description caused a bogus warning.
+
id 152681: Call-graphs were generated inside a table environment in
+ the HTML output.
+
#include after a @file comment made the #include appear on the same line
+ when DETAILED_AT_TOP was enabled.
+
User specified images & stylesheets did not work with
+ CREATE_SUBDIR.
+
Nested using directives did not work for C#.
+
Grouped classes did not always appear in the modules section of the
+ navigation tree.
+
"internal" classes appeared in the XML output.
+
friend classes did no longer appear in the output even when
+ HIDE_FRIEND_COMPOUNDS was set to NO.
+
Fixing bug in code parser when encountering arrays and some other
+ related problems.
+
Array initializers did not show up regardless of the
+ MAX_INITIALIZER_LINES setting.
+
Improved support for classes with the same name but in different
+ namespaces in combination with "using" of namespaces.
+
+
Doxygen Release 1.3.8
+
Changes
+
+
Rewrote doxywizard. It should be more easy to use and has much better
+ support for running doxygen from the GUI. Feedback is welcomed!
+
Members of a namespace are now also added to the file in which they
+ appear (thanks to Mike Morearty for the patch).
+
Included patch by Mikhail Glushenkov that fixed item 5 on the todo list
+ (titles of html pages are now internationalized).
+
A macro defined in the config file can now be undefined in the
+ source code via a #undef.
+
Optimized calling of dot using multiple -T flags at a couple of places
+ (note that doxygen now requires graphviz >=1.9)
+
+
New features
+
+
New option FILTER_PATTERNS which can be used to specify multiple
+ input filters, and let doxygen select the right one based on
+ matching the source file name with a specified pattern (thanks to
+ a patch by James Ahlborn).
+
id 142939: New commands \protocol and \category which can be used
+ to document Objective-C protocols and categories in the same way
+ the \class command does for classes.
+
Included patch that removes some cosmetic annoyances in the man page
+ output (thanks to Chris Croughton).
+
Added internationalization support for Afrikaans and
+ Lithuanian. Included language updates for Dutch,
+ Czech, Italian, Brazilian, Croatian, Japanese, Norwegian and
+ Russian.
+
+
Bug fixes
+
+
id 120810: \code fragment has links first time, but then no more.
+
id 124214: Fixed parse problems with single quoted strings in PHP.
+
id 135508: Using a namespace in C# did not get interpreted correctly.
+
id 137842: Using @todo/@bug/... and disabling the generation of the
+ list, still caused a colon to appear in the output.
+
id 138075: A comment block containing a \code block with C style
+ comments was not properly parsed.
+
id 138307: Fixed parse problems with single quoted strings in PHP.
+
id 138394: C style comments placed on the same line after a macro
+ definition appeared as part of the macro's value.
+
id 138429: Fixed language setting for HTML output when using
+ traditional Chinese.
+
id 140259: Using @dotfile in a comment block could cause broken @refs
+ to sections defined after the @dotfile command.
+
id 141915: Fixed a couple of problems with the RTF output.
+
id 141918: Fixed a couple of problems with the RTF output.
+
id 142118: Fixed compile issue with the mingw compiler.
+
id 142288: Doxywizard crashed when started (fix was applied to version
+ 1.3.7 as well).
+
id 142741: Links in todo/bug/... lists were broken if CREATE_SUBDIRS
+ was enabled. Same was true for the built-in diagrams.
+
id 142925: Autolinking to a member of a class from a page inside a
+ namespace did not work.
+
id 142940: Due to a misplaced break statement a examples included
+ with \example was shown twice in the output.
+
id 143107: Made some cosmetic changes to the HTML and HTML output,
+ (thanks to David Baird for the patch).
+
id 143340: Fixed autolink problem for names ending with a colon or
+ a <br> tag.
+
id 143412: Fixed problem parsing Objective C class methods.
+
id 143413: Fixed problem parsing Objective C root classes.
+
id 143593: Under certain conditions the XML output could contain a
+ reference to a non-existing class.
+
id 145295: Variable of a templated type was mistaken for a function.
+
id 145583: Fixed problems handing formulas and graphs defined using
+ @dot in combination with CREATE_SUBDIRS = YES.
+
id 147253: Quotes in a class initializer could confuse the source
+ code parser.
+
id 147425: The class diagram did not show the relation to the template
+ specialization when inheritance was done via one or more typedefs.
+
Fixed case where template classes "used" via typedefs were not
+ properly shown in the collaboration diagram.
+
Variables explicitly declared external were reported being defined
+ at the place they were actually declared external.
+
Fixed bug in the XML schema for enum values with initializers.
+
Documentation of a member group did not appear in the XML output
+ (thanks to Chris Croughton for the patch).
+
Command line build process failed under windows if the name of the
+ directory in which sources are located contained spaces (thanks to
+ Mikhail Glushenkov for the patch).
+
Improved cross-referencing to methods of a template instance variables
+ (thanks to a patch by Jeff Apple).
+
Included a patch by Enrico Schnepel that puts the same output files
+ in the same subdirectories (with SUBDIRS = YES) for subsequent runs
+ (on slightly modified input files) and also renumbers the dot nodes
+ so they are only regenerated when actually changed.
+
Unsupported HTML end tags and unsupported begin tags with attributes
+ are now copied to the output as is.
+
+
+
Doxygen Release 1.3.7
+
Changes
+
+
The \param command now has an optional input and/or output attribute.
+ The syntax for an input & output parameter is for example:
+ \param[in,out] name Description.
+
+
New features
+
+
Added new option CREATE_SUBDIRS which when enabled makes doxygen
+ distribute the generated output evenly over 100 subdirectories.
+
Added support for Qt's properties (i.e. Q_PROPERTY) which can be
+ documented by putting a documentation block in front of the macro or
+ by using a comment block with the new \property command.
+
Added new commands \manonly and \endmanonly to enter man page specific
+ text and commands in the generated man pages (thanks to Carsten Stiborg).
+
Included new python based translation report script, which now
+ replaces the old perl based version (thanks to Petr Prikryl).
+
Improved parser to also support parsing of Objective-C implementation
+ files.
+
Added new config option EXTRACT_LOCAL_METHODS which can be used for
+ Objective-C code to extract methods definition in the implementation
+ section that are not present in the interface.
+
Added new config option STRIP_FROM_INC_PATH which allows to
+ specify a list of paths that, if matched, will be striped from the
+ #include statement in the generated documentation of a class.
+
Added new command \includelineno with works as \include except it will
+ add line numbers to the code (thanks to Giancarlo Niccolai for the patch).
+
Added BeOS support, thanks to a patch by Mark Hellegers.
+
Included update for the French translation, thanks to Jacques Bouchard.
+
+
Bug fixes
+
+
id 133388: Fixed problem parsing '"' inside multi-line C++ style
+ comment blocks
+
id 134265: Doxygen now outputs unrecognized HTML tags instead of
+ removing them (thanks to Éric Malenfant for the patch).
+
id 134869: When HIDE_SCOPE_NAMES was set to NO, the methods of an
+ Objective-C class did not have the right name.
+
id 134876: Fixed problem with forward declaration of a protocol in
+ Objective-C.
+
id 134647: using a parameter name ending with "const" was not
+ accepted by doxygen.
+
id 134639: Fixed parse problem in the preprocessor.
+
id 137398: add \% command to the documentation.
+
id 137730: Fixed problem for man pages with non numeric extension
+ (thanks to a patch by Joe Schirmer).
+
id 138652: Line numbers for defines with /* */ comments were wrong
+ (thanks to J. Noack for the patch).
+
id 139591: Fixed problem parsing nested template arguments with
+ comments.
+
id 140012: a variable could appear in a group twice if it was
+ declared externally somewhere.
+
id 140540: Fixed problem parsing "@" in the source code parser.
+
id 141133: Spaces were stripped in default arguments such as
+ f(const char *t=" \t")
+
id 141364: Members of an anonymous nested structure had no brief
+ comment and no link to the detailed description if available.
+
Fixed recursive lockup problem that was caused by two or more
+ namespaces using each other (i.e. a cycle in the usage relation).
+
Included patch by Erik Zeek to allow the explicit setting of QTDIR to
+ override the "search for Qt" algorithm in the configure script.
+
Parsing of tag files produced for Objective-C code now works.
+
Objective-C: Improved hyperlinking of source code, handling of
+ prototypes and the list of all members of a class now also contains the
+ members of class categories.
+
Third argument of @class was ignored (thanks to Mahadevan for the patch).
+
Fixed problem with collaboration diagrams for template instances
+ whose template parameter list contained qualified scope names
+ (e.g A<B::C>).
+
Removed bogus warning about undefined documented function for
+ classes that were made friends of other classes.
+
Spaces where not preserved for @code block inside a @example block.
+
Undocumented dependency relations where not shown in some cases
+ even though HIDE_UNDOC_RELATIONS was set to NO.
+
Fixed two bugs that resulted in invalid HTML output.
+
For Unix the default FILE_PATTERNS did not include upper case versions
+ such as .C and .H
+
Fixed incorrect character encoding problem for the generated tag files.
+
Fixed problem that could lead to memory corruption/crashes.
+
Included a patch by Bernhard Rosenk to fix a compile problem with
+ doxywizard using a recent Qt version.
+
Call-graphs were missing if a file name ended with ".C" and K&R
+ function definitions were used.
+
Improved source code generation performance when there are many
+ typedefs with the same name in different scopes.
+
Linking to a section resulted in the wrong label in the XML output.
+
+
Doxygen Release 1.3.6
+
Changes
+
+
For projects with many nested classes, namespaces, typedefs and using
+ statements, doxygen could become very slow. This should
+ now be improved significantly.
+
Made some cosmetic changes to the HTML output (thanks to Ben Harper).
+
STRIP_FROM_PATH now by default strips the path from which doxygen is
+ run (i.e. $(PWD)/ on Unix)
+
+
New features
+
+
Make a start with adding support for Objective-C. Doxygen can now
+ parse Objective-C header files (including protocols and categories).
+ Thanks to Apple for donating hardware.
+
Include a patch by Hauke Duden which adds preliminary support for
+ the D programming language (see http://www.digitalmars.com/d).
+
C Comments inside #defines are now preserved. This could be useful
+ to document boilerplate code.
+
Included patch to replace tabs by the proper amount of spaced inside
+ code fragments in the XML output (thanks to Alexandr for the patch).
+
Included Gerik Rhoden's fixes for the .dsp/.dsw files found in the
+ wintools dir.
+
Examples (documented via \example) are now included in the XML output.
+
New option SORT_BRIEF_DOCS which when enabled will list the
+ declaration section of the documentation (with the brief descriptions)
+ in alphabetical order, instead of declaration order (thanks to
+ Akos Kiss for the patch).
+
Included patch for Hungarian translation (thanks to Akos Kiss)
+ and for the Serbian language. Added support for mixed Korean/english
+ (thanks to Jihoon Chung).
+ The translator report script was also updated (thanks to Petr Prikryl)
+
+
Bug fixes
+
+
id 120070: Included workaround for build problems with RedHat 9
+ (thanks to Tim van Holder)
+
id 128054: Fixed rare case where doxygen crashed due to a recursive
+ lock-up.
+
id 131404: Fixed problem cross-referencing PHP member functions.
+
id 131434: Clarified confusing warning message.
+
id 131446: Extra attributes of a <a href> tag (like target) are now
+ copied to the HTML output.
+
id 132535: Fixed problem with generating man page output for groups
+ with brief descriptions.
+
id 132772: Fixed compile problems on HP-UX using acc compiler
+ (thanks to Clyde Gerber).
+
id 133300: Fixed missing cross-reference to "c" in constructs such as
+ "a[b].c"
+
id 133482: Fixed spurious cross-references to member function which
+ was shadowed by a parameter name.
+
id 133986: Attributes of the <img> tag where not written to the
+ HTML output.
+
id 134123: Fixed problem with multiple arrows between nodes
+ in the graphical class hierarchy.
+
\ref in dot graphs was not working correctly (thanks to
+ Eoin MacDonell for the fix).
+
Grouped pages in the XML output did have the same id as their group.
+
Fixed problem handling environment variables inside a
+ quoted string in the config file (e.g. "$(HOME)/My Path/").
+
Using "\mainpage notitle" caused the "notitle" to appear in the treeview.
+
Page references where wrong in the latex output when PDF_HYPERLINKS
+ was disabled.
+
Words inside a hyperlink could be hyperlinked, resulting in invalid
+ HTML.
+
Fixed parse error handling function pointer arguments in K&R-style code.
+
Doxygen could crash when it failed to enter a directory.
+
+
Doxygen Release 1.3.5
+
Changes
+
+
Doxygen now only regenerates a dot image if it has actually changed!
+ This could significantly reduce the time of any run after the first.
+ Checking if a graph has changed is done by computing an md5 hash for
+ the graph description which is then stored along with the
+ image generated by dot and compared in subsequent runs.
+
Improved the way lists look in the man pages (thanks to Silke Reimer).
+
+
New features
+
+
Added support for parsing K&R style function prototypes.
+ Please try it on your favorite legacy C project and report any
+ problems.
+
Included languages updates for Traditional Chinese,
+ Danish, German, Korean translation.
+
id 120464: doxygen's XML output does now assign a prot="..."
+ attribute for nested classes (thanks to Paul Ross for the patch).
+
Added new configuration switch XML_PROGRAMLISTING to enable/disable
+ generating source code listings as part of the XML output (thanks to
+ Paul Ross for the patch).
+
Added new config option ABBREVIATE_BRIEF which makes the
+ aberration process of brief descriptions configurable and language
+ independent (thanks to Jake Colman for the patch).
+
The alphabetical class list now comes with a quick index
+ (thanks to Marcin Zukowski for the patch).
+
An XSLT script "combine.xslt" is now generated in the XML output
+ directory. It can be used to combine XML files into one big file.
+
The source code is now indexed and thus searchable when the source
+ browser and search engine options are enabled.
+
Added "dist" target to the makefile (thanks to Erik Zeek)
+
+
Bug fixes
+
+
id 119778, 123385: Documentation in the body of a function could not be
+ combined with a detailed description before the declaration.
+
id 122852: References to grouped functions were wrong in certain cases.
+
id 123031: problem matching f(const char) with f(const char cc).
+
id 123140: typedef'ed enums whose tag name was the same as the typedef
+ name did not appear in a group.
+
id 123145: Under certain circumstances an assertion failed message
+ was produced.
+
id 123206: Fixed problem in qtools when opening files in text mode.
+
id 123322: The search page did not honor DISABLE_INDEX.
+
id 123420: Functions with a brief description caused bogus </em> tags
+ in the HTML output.
+
id 124114: typo in the generated PHP search script could cause errors
+ in the search result page.
+
id 124187: Setting EXTRACT_LOCAL_CLASSES to NO, could result in a
+ broken "More..." link in documented local classes inside a namespace.
+
id 124214: Fixed problem in search indexer, which could crash doxygen
+ (thanks to Daniel Koebbing for the patch).
+
id 124545: fixed a number of problems in the generated search script.
+
id 124815: Fixed compile problem in filedef.h for aCC on HP-UX.
+
id 125369: Fixed inconsistency of showing files in the tree view
+ (thanks to a patch by Alexey Neyman).
+
id 125424: Font size was not reset after @endcode or verbatim block
+ in the latex output.
+
id 125654: Character encoding was not correct for html help treeview
+ (thanks to Sawada Kentaro for the fix).
+
id 125367: Fixed problem with producing links in case files with
+ the same name (but in different directories).
+
id 126968: Fixed problem parsing verbatim string literals such as
+ @"\" in C#.
+
id 127094: Fixed character encoding problem in the XML output.
+
id 131364: Fixed parse problem when initializing a function pointer.
+
Links to classes, files, namespaces and groups in the search results
+ were broken (missing file extension).
+
Doxygen logo is now transparent even when viewed with IE.
+
Using a character with ascii code 0x06 in a comment block could crash
+ doxygen if the preprocessor was enabled.
+
Fixed problem handling conditional commands and grouping (thanks to
+ Silke Reimer for the patch).
+
Fixed problem using \dotfile in combination with RTF output
+ (thanks to Vegard Larsen).
+
Fixed several problems related to the new md5 hash feature.
+
Undocumented functions referenced in a comment block were linked to
+ anyway.
+
Fixed a number of typos in the config file documentation (thanks to
+ Boaz Kelmer)
+
Workaround for toupper() bug for Russian (thanks to cav@cryptopro.ru)
+
Fixed problem that HTML image maps ended up in the RTF output.
+
Fixed bug in code fragment parser that could cause memory corruption
+ in certain cases.
+
Fixed problem matching definition and declaration of functions, which
+ could cause bogus warnings for functions with the same name but in
+ different namespaces.
+
Using "/// @file" to document a file quickly was not possible, while
+ "/** @file */" did work. Now both work.
+
+
Doxygen Release 1.3.4
+
Changes
+
+
Rewrote the search engine. The doxysearch CGI binary has been
+ replaced by a PHP script which is generated by doxygen. Also the
+ index file is now generated by doxygen and requires way less memory.
+ This should make it much easier to use the search facility.
+ All that is required is a web server with PHP 4.1 or higher.
+ Please report any problems you find.
+
Changed the way class names are resolved. This can result in
+ a significant speedup for projects that use namespaces and typedefs
+ (including Java projects). Thanks to Edmund Green for the performance
+ analysis and ideas.
+
+
New features
+
+
Added support for the ø, and Ø character entities.
+
Added language updates for Korean, Swedish, German, Russian,
+ Croatian, Brazilian, Spanish, Japanese, French and Italian.
+
Added new \relatesalso command, which can be used to put a file member
+ also in the documentation of a class (thanks to Ian Scott for the patch).
+
Added support for pseudo IDL files with the .pidl extension
+ (as used in TAO). Thanks to Éric Malenfant for the patch.
+
Added new commands \dot ... \enddot to include a dot graph in a
+ comment block (thanks to a patch by Eoin MacDonell). Inside the
+ URL attribute of a node you can use \ref to make links to documented
+ items. See the documentation of the \dot command for an example.
+
+
Bug fixes
+
+
Fixed recursive lock-up problem handling "using" of namespaces.
+
Doxygen incorrectly translated \\htmlonly and \\latexonly to
+ \verbatim in the output.
+
Using the -d Time option caused:
+ message.cpp<100>: Internal error: Requested unknown option QUIET
+ at the end of the run.
+
Static members appeared in the todo list even if EXTRACT_STATIC was
+ set to NO.
+
Fixed problem matching f(const int *i) with f(const int * const i),
+
Fixed case where a variable could get by assigned a bogus "()" in the
+ heading of the detailed description.
+
Fixed problem handling extern"C" (without the space).
+
\ref file.c ended up as file::c in the output.
+
Special characters in generated texts were not always translated into
+ proper LaTeX commands in the LaTeX output.
+
Fixed problem parsing "const ::Class *func()" and "static ::Class *func()".
+ The keywords were seen as namespaces.
+ due to the use of more than one const keyword.
+
Fixed two bugs in compound.xsd schema, thanks to Ademar Aguiar.
+
Fixed some more problems linking typedefs in combination with namespaces.
+
id 120637: Fixed parse problem handing character literals such
+ as '"' inside the initializer list of a constructor.
+
Fixed file handle leak when INLINE_SOURCES was set to YES.
+
Fixed problem handling Java packages (Internal inconsistency warnings).
+
Fixed problem preprocessing @verbatim blocks containing C comments.
+
Fixed problem handling preprocessor statement just before a function
+ body when ENABLE_PREPROCESSING was set to NO.
+
id 122457: INLINE_SOURCES feature was broken (only showed the
+ first line)
+
+
Doxygen Release 1.3.3
+
New features
+
+
Included update for VC++ 6.0 project/workspace files (can be found
+ in wintools). Thanks to Simon Goodwin & Johan Eriksson.
+
Added new debug flag "-d Time" which will report the elapsed time
+ for each message printed, and will also show the total running time
+ along with the time spend on external tools such as dot.
+ Note: If you have a project that takes doxygen a long time to process,
+ please send me the output so I get a global idea where to optimize.
+
New option SUBGROUPING which can be set to NO to have \nosubgrouping
+ for all classes (thanks to Torben Koch for the patch).
+
Added XML schemas for validating the XML output, and to help
+ writing XSLT files.
+ The generated index.xml now has a complete schema, the compounds
+ not yet. Thanks go to Alexej Humbach for doing a lot of the work.
+ Note that a couple of "id" attributes in the XML output have been
+ changed to "refid", and section tags are now nested.
+
Included language updates for Traditional Chinese and Japanese.
+
+
Bug fixes
+
+
Doxygen crashed when parsing a comment block with only a \mainpage
+ command.
+
Fixed problem matching namespace members.
+
Fixed scanner push back error for ALIASES with long definitions.
+
Default main page was wrong if DISABLE_INDEX was set to YES.
+
Argument of type array were not properly parsed in Java, causing
+ problems when documenting them with @param.
+
\image with "" as caption didn't work.
+
If the last \section in a comment block was empty, doxygen produced
+ warnings.
+
Call graphs were only generated if REFERENCES_RELATION was set to YES.
+
Link could be wrong if a member's name was found in multiple namespaces.
+
A function returning "struct s *" caused a bogus recursion relation
+ in the call graph.
+
Improved handling backslashes for the perlmodgen (thanks to Miguel
+ Lobo).
+
Page anchors did not appear in the tag files.
+
\ref's to grouped pages were not generated correctly.
+
Fixed parse bug when putting \image inside a HTML table.
+
Made the documentation parser more tollerant to spaces inside HTML
+ commands.
+
Doxygen now issues a warning if invalid commands are used inside
+ a single-line C++ comment (such a @see and @image).
+
Fixed parse problem for the semicolon in the following:
+ Class A : a(";") {};
+
Doxygen now resolves links to classes imported in a namespace
+ via using declarations or directives.
+
Doxygen now issues a warning when @code, @verbatim, @htmlonly, or
+ @latexonly are not properly terminated.
+
Fixed "Internal inconsistency" messages when parsing Java packages.
+
A member did not appear in its group if it was first declared without
+ documentation and then defined with documentation (with \ingroup).
+
The <caption> tag was put at the end of a <table>
+ in the HTML output, while it should be the first tag
+ after <table>. This is now corrected.
+
In the LaTeX output, the page references were missing for the links
+ in the documentation when PDF_HYPERLINK was set to NO.
+
+
Doxygen Release 1.3.2
+
Changes
+
+
The main page (\mainpage) can now be completely customized, by using
+ no project name or using "notitle" as argument for \mainpage.
+
Changed the look of the quick index on top of each page using CSS.
+
+
New features
+
+
Added new command \callgraph which can be put in the documentation
+ of a function to get a callgraph. In the config file a
+ new option CALL_GRAPH is added which can be set to YES to enable
+ callgraphs for all functions (note that this will slow doxygen down!).
+
Added new boolean config option UML_LOOK which can be enabled to give
+ class and collaboration diagrams a more UML conformant look
+ (thanks to Dominick Paniscotti).
+
Added new commands \xmlonly and \endxmlonly which can be paired
+ to form blocks of text that only appear in the XML output.
+
Added sub-indices for the lists of all class/file/namespace members
+ to filter out just of type of members.
+
Included language update for Czech, Italian, Portuguese, and French.
+
+
Bug fixes
+
+
Doxygen could crash if a namespace and a class with the same
+ name were found in the global scope.
+
Fixed problem handling multiple \xrefitem's in one comment block
+ (could crash doxygen).
+
Added check for recursive group relations to prevent lock-up/crash while
+ generating the group index.
+
Doxygen could crash if a group contained only undocumented members.
+
Putting a #include inside a function body would cause the
+ line numbering to be off.
+
Fixed cause of a failed assertion when @retval or @param was the last
+ text in a comment block.
+
Improved scope detection for code parser when dealing with examples
+ (imported via \example).
+
Fixed preprocessor bug handling "#if!defined(VALUE)" (note the lack of
+ a space).
+
Added warning if @subsection, @subsubsection or @paragraph were found
+ in the page context.
+
French translation was broken (probably due to a dos2unix accident).
+
Underscores inside a <pre> section did not appear correctly in the
+ LaTeX output.
+
Fixed several typos in the generated config file (thanks to a patch
+ by Justin Zaglio)
+
Formula's inside comments directly in front or behind function arguments
+ did not work.
+
Fixed code parser problem when //<! was nested in a normal C comment.
+
Included a number of fixes for typos found and corrected by Justin
+ Zaglio.
+
For #define values that were constant strings, doxygen tried to link
+ the text inside the string when shown in the documentation.
+
The source-browse parser did not link to class variables used in
+ inline function if the variables were defined before the functions.
+
The first paragraph after a <h1> or similar heading was not put in
+ a paragraph context in the generated output.
+
+
+
Doxygen Release 1.3.1
+
Changes
+
+
A multi-line C++ comment block now has to be aligned in order to
+ make doxygen treat it is one block. As a result the
+ following is treated as one comment block:
+
+ int var; //!< variable.
+ //! more info about var.
+ int anotherVar;
+
+ while this results in two comment blocks:
+
+ int var; //!< variable.
+ //! info about second variable
+ int anotherVar;
+
+ Hopefully this will give more intuitive results. Tabs are replaced
+ by spaces according to the value of TAB_SIZE in the config file.
+
Modified the CSS to change the look of the HTML output, and made the
+ stylesheet a little more powerful (thanks to a patch by Ben Harper).
+
Formula alignment in the HTML output is now controlled via CSS
+ (thanks to a patch by Vassilii Khachaturov).
+
The option TEMPLATE_RELATIONS now defaults to NO.
+
+
New features
+
+
Added new command \xrefitem which enables user-defined commands
+ that act like \todo and \bug, i.e. produces a related page containing
+ all items, which is cross-referenced with the documentation blocks
+ where the items are placed.
+
Added support for package scope in Java.
+
Added alt attributes to user included images in the HTML output
+ (thanks to patch by Vassilii Khachaturov)
+
Added XML_OUTPUT option to allow a user defined location for
+ generating XML output (thanks to a patch by Emmanuel Guerin).
+
Included language updates for French, German, Czech, Italian, and
+ Brazilian.
+
+
Bug fixes
+
+
Occurrences of <span> and <div> tags in the documentation
+ were not properly handled.
+
Fixed problem parsing the following pattern
+ "namespace { .... } typedef ....", which could crash doxygen if
+ IGNORE_PREFIX was used.
+
The project name is now put in front of each title of a HTML page
+ for easier bookmarking.
+
In C# enums, classes and structs without (optional) ; were not
+ properly parsed.
+
Though still not perfect, I Improved the way namespace aliasing is
+ handled. It should now work inside other namespaces and for
+ computing class and usage relations.
+
Fixed problem documenting typedefs of function pointers using
+ \typedef.
+
Links to groups imported via tag files were broken.
+
Fixed problem resolving class relations for nested classes within
+ namespaces.
+
Static members can now be documented in a separate file using \fn
+ as long as they have unique names. If the names are not unique the
+ documentation must be located in the same file (as was required before).
+
In arguments and return types of the form NA::A were not linked if NA
+ was a namespace alias to a documentation namespace and A a documented
+ class name.
+
Matching a declaration f(NA::C c) with f(C c) did not work if NA was
+ a namespace alias.
+
Undocumented classes had wrong links in the treeview frame.
+
Pages whose title contained < or >'s were not written correctly to the
+ tag file.
+
Fixed preprocessor bug: "a##b" was not correctly expanded if
+ argument "a" or "b" was empty.
+
Putting \todo and friends inside the documentation of enum values
+ did not result in an entry on the todo list page.
+
Fixed some problems compiling with versions of flex >2.5.4, but
+ also added a #error if these are used, since they produce incompatible
+ parsers (a bug report has been filed, but no feedback was received).
+
Characters >=128 are now written as &#nnn; to the XML output.
+ (thanks to a patch by Michiel Ouwehand).
+
The table row backgroup color of the "all member" list was hard-coded
+ in the HTML output. This is now controlled by the stylesheet.
+
Fixed problem handling omission of the optional arguments of
+ the \image command.
+
Enabling HIDE_IN_BODY_DOCS did not work properly if C++-style special
+ comments were used inside the body of a function.
+
Fixed problem cross-referencing variables used as a
+ guard (i.e. if (var) ...)
+
Setting ENUM_VALUES_PER_LINE to 0 caused a division by 0 error.
+
Autolinking did not work for members that were grouped and imported
+ via tag files.
+
The divide symbol "/" did not appear in the output for array/define
+ initializers
+
Fixed paring problem parsing "operator <b>new</b>"
+ in the documentation.
+
Fixed problem with resolving template relations (as reported by
+ Kris Thielemans).
+
Members in the todo list were not shown correctly (with dot separators)
+ if OPTIMIZE_OUTPUT_JAVA was set to YES.
+
Fixed problem handing "class A { public: A::f(); };" which is accepted
+ as valid C++ by a number of compilers.
+
Putting a /* inside a C-comment without matching */ caused the
+ preprocessor to ignore the rest of the file.
+
Improved the way typedefs are resolved.
+
Fixed parse problem for the following PHP code: $color='#FFFFFF'
+
Using @dontinclude could cause broken LaTeX output.
+
Links to examples (using \example) were broken.
+
Class members appeared twice in the index of the latex output.
+
Fixed problem putting \if..\else..\endif around a pair of \defgroup's
+
+
+
Doxygen Release 1.3
+
Changes
+
+
Increased internal buffer size from 16K to 256K for a number of
+ scanners, so the "input buffer overflow, can't enlarge buffer because
+ scanner uses REJECT" error should occur less easily.
+
Style commands like \e, \a or \c will now be terminated when
+ one of the characters in the following string is
+ found: ".,()[]:;?", example: "a point (consisting of @a x and @a y)"
+
Setting OPTIMIZE_OUTPUT_JAVA to YES, will automatically set INLINE_INFO
+ to NO.
+
Quotes strings (like "\0" or "%H.%d.%Y") are now considered to be
+ words (hence the \ and % do not have to be escaped).
+
+
New features
+
+
Added new configuration option USE_WINDOWS_ENCODING which can be
+ used to select windows specific character encodings for some languages.
+ (thanks to Piotr Kaminski).
+
Added new configuration option LATEX_HIDE_INDICES which can be
+ used to suppress the various indices that are normally generated in
+ the LaTeX output (thanks to Ken Yarnall for the patch).
+
Added new option MAX_DOT_GRAPH_DEPTH to set the maximum distance
+ from a root node after which the class or include graph will be
+ truncated. Setting this to a low value should considerably reduce the
+ time doxygen needs on large projects.
+
Included updates for French, Korean, Polish, Croatian, and
+ Danish translations.
+
Access to title of user defined user defined sections is now
+ possible from the doxmlparser.
+
<div> and <span> commands can now by used in the
+ documentation. Their effect is limited to the HTML output though
+ (thanks to Frank Schimmel for the patch)
+
Added inline, virtual, explicit and mutable attributes to XML output
+ (thanks to patch by Michiel Ouwehand).
+
+
Bug fixes
+
+
Fixed out-of-memory bug for files containing using directives and
+ including themselves (indirectly).
+
Doxygen could crash if two \todo-like commands appeared on the
+ same line.
+
Non-inline cast operator was not properly parsed.
+
Fixed preprocessor problem with parsing /*//*/
+
URL's in the docs using <a href=""> caused a nested link.
+
"using namespace A::B;" confused the code parser.
+
Interface keyword was not recognized in C# (thanks to Onorio Catenacci
+ for the patch).
+
Line counting was incorrect when parsing multi-line formulas.
+
\section's in a \mainpage are now correctly numbered in the LaTeX
+ output (nesting level was one too deep).
+
\ref to lower case names did not work
+ (thanks to Herman ten Brug for the patch)
+
escaped quotes (") were not preserved in the config file when it was
+ updated (thanks to Herman ten Brug for the patch).
+
PHP related fixes contributed by Vaclav Dvorak:
+
+
#-style comment handling,
+
adds (problematic) support for define() constants,
+
adds ".phtml" as a supported file extension for PHP code
+ (not very common, but still...),
+
fixes handling of code like "include 'file.inc';" (was parsed
+ as a variable definition),
+
removes the variable insidePHPCode (was not needed),
+
fixes spaces in function argument lists (the '$' was the problem).
+
+
Functions documented with \fn did not get transferred to declaration or
+ definition (depending on where the comment block was put).
+
If a function definition was documented and grouped the declaration
+ was not even if the same documentation block was used for it.
+
Fixed bug in code parser that could crash doxygen under
+ certain conditions.
+
Fixed some spacing problems in the LaTeX output
+ (thanks to patches by Roberto Bagnara).
+
Mail address containing the '+' character were not properly parsed
+ (thanks to Jon Parise for the patch).
+
Fixed duplicate/wrong id's of grouped members in the XML output.
+
Docparser reported wrong error if unknown command was found inside
+ \c (or similar command).
+
Preprocessor got confused when parsing a special comment as
+ part of a #define and containing a ' or ".
+
subgroups defined with @defgroup could be reordered if
+ @addtogroup was used.
+
Projects name was not shown as the root of the treeview anymore.
+
Links to pages imported via tag files were broken in the treeview
+ frame.
+
removed leading and trailing whitespace within a \code ... \endcode
+ block.
+
Constant class variables with constructor were parsed as functions.
+
Autolinks of the form class#member were not shown as class::member or
+ class.member in the documentation.
+
Fixed problem parsing things like echo('!$tar' . '"'); (PHP).
+
Fixed problem distinguishing f(__true_type) and f(__false_type)
+
Fixed lack of translation of some latin2 characters in the latex output
+ (thanks to Aleksander Kupiec for the patch).
+
Group members appeared in the treeview or html help index regardless
+ if they were documented.
+
The treeview page was not rendered with the right character set (it was
+ always English).
+
Explicit template instances appeared as a variable in the output.
+
Java instance and static initializer blocks are now correctly parsed
+ and can be documented.
+
Fixed bug in the LATEX_HIDE_INDICES option.
+
Fixed bug parsing simple lists (last word or token could get repeated).
+
\section titles did not appear in the RTF output.
+
Tables were not correctly rendered in the RTF output.
+
Verbatim fragments were not properly rendered in the RTF output.
+
Fixed some cases where collaboration relations were not visible due
+ to typedefs.
+
Fixed some compiler warnings that occurred with more recent versions
+ of gcc.
+
Auto-links to files were shown with as file::c instead of file.c.
+
@ref namespace::class was not parsed correctly.
+
Undocumented enums could appear in the declaration part of the output
+ even though HIDE_UNDOC_MEMBERS was set to YES.
+
\anchor tags now appear in the tagfiles as <docanchor> again.
+
Hyperlinks in the LaTeX were broken in some cases.
+
Fixed case where a global variable was not linked from within a function
+ body.
+
Include dependencies graph was shown at the place where the
+ "included by" graph should have appeared.
+
A // comment following by a //! comment was not handled properly by
+ the source browser.
+
If the definition of nested class was found before the definition of the
+ outer class, its name was displayed without scope.
+
If a parameter of a prototype was documented (with a separate
+ documentation block) and the name of the parameter in the definition
+ was different, the wrong name could be shown in the documentation.
+
Fixed bug handling \line, \skipline, and \until
+
+
Doxygen Release 1.3-rc3
+
Changes
+
+
Rewrote the implementation of the tree view feature
+ (see GENERATE_TREEVIEW). The new implementation should be much faster,
+ but does require a browser that supports JavaScript, DHTML, and CSS.
+ Please report any problems you find.
+
Changed the way dot is launched under Linux/Unix (vfork i.s.o. fork)
+ so less memory is required (thanks to a patch by Thorsten Behrens).
+
Changed "Methods" to "Member Functions" in the output (thanks to patch
+ by Tom Emerson).
+
STRIP_FROM_PATH now ignores the exact casing of characters, which
+ makes things simpler on Windows.
+
Style modifiers such as <b>, <em> and <pre> are now
+ capable of spanning multiple paragraphs.
+
Made some improvements to the documentation, including a diagram
+ showing the information flow between the doxygen and various other
+ tools (see the getting started section).
+
+
New features
+
+
Added support for comment blocks generated by
+ Rational Rose's ANSI C++ code generator (thanks to a patch by
+ Martin Beaudoin).
+
Included language update for the Serbian and Japanese.
+
Included patch by Ryunosuke Satoh to reduce size of the executable when
+ building for Cygwin.
+
Tables in the docs were ended with a bogus row in the LaTeX output.
+
A \link to a member variable that is grouped using \defgroup can
+ now be done from another member without specifying the full scope.
+
+
Bug fixes
+
+
@addindex now works on the whole line instead of a single word (as
+ was already suggested in the docs).
+
source code line in the XML output didn't escape special characters
+ like & anymore.
+
Fixed small bug in German translation (thanks to Jens Seidel).
+
e-mail addresses with multiple dots got truncated when linked.
+
Attributes of html commands with value "" where not properly parsed
+ causing the image in the legend page not to appear.
+
Fixed excessive memory usage in the "Building member list" phase while
+ using todo/test/bug items (thanks to Gerik Rhoden).
+
Fixed parsing problem in PHP. Doxygen was expecting classes to end with
+ a semicolon (thanks to Jaime Uriel Torres for the patch).
+
Using <dt> with also adding a <dd> caused a parse error while it is
+ legal HTML.
+
The identifier "package" in C/C++ code was wrongly interpreted as
+ a Java keyword.
+
\todo item at the end of a comment block caused "unexpected character"
+ error while generating the XML output.
+
\ref did not work when the argument was a file name.
+
\ref and \link are now allowed inside a <td>..</td> section.
+
Argument matching routine was not able to distinguish between
+ f(long n) and f(long long n).
+
Classes were listed in the alphabetical index with full scope.
+
\copydoc did not work recursively for members.
+
Fixed a number of small memory leaks (I used ccmalloc to detect them).
+
The HTML command <SUP> was not parsed correctly if it was prefixed
+ with an identifier (i.e. blah<SUP>).
+
HTML tags were not properly parsed if there was a linebreak after
+ the tag name.
+
The \~id command was not working properly. The section was always
+ generated regardless of the OUTPUT_LANGUAGE setting.
+
id attribute was missing from the sect tag in the XML output.
+
Links to files or file members could be wrong if SHORT_NAMES was set
+ to YES and the file was imported via a tag file.
+
Attribute lists inside an enum in an IDL file were not properly parsed.
+
Fixed problem in code browser that prevented linking to global
+ variables defined in other files.
+
When putting a "using namespace X" in a header file doxygen did not
+ recognize this in files that included the header file.
+
Fixed bug in parsing sections without title.
+
doxytag did not include anchor in the search index. Thanks to
+ Joerg Schlichenmaier for the fix.
+
Using an auto-list as an argument of @todo and friends did not work.
+
A class with all members in a section grouped could result in broken
+ LaTeX output (empty CompactItemize list).
+
+
Doxygen Release 1.3-rc2
+
New features
+
+
Added support for importing members via using declarations.
+
Anchors and sections (and references to them) are now supported in
+ all comment blocks, not just \page blocks.
+
Dot files imported via @dotfile now produce images maps in the
+ HTML output. Use the URL node attribute in the dot file to make a link
+ (thanks to Marco Dalla Gasperina for the patch).
+
New config option WARN_IF_DOC_ERROR which allows documentation problems
+ to be shown, while other warnings (such as warnings about
+ undocumented members) can be hidden (thanks to Miguel for the patch).
+
Included language update for German and Italian.
+
Added support for &tm; (trademark) and ® (registered).
+
Added "static" attribute to methods in the XML output to ease parsing.
+
+
Bug fixes
+
+
A <pre> .. </pre> section with included blank lines
+ causes warning about missing </pre> marker.
+
"typedef enum { a };" confused doxygen's parser, while most compilers
+ seem to accept it without warnings.
+
\deprecated item alone in a comment block caused a crash.
+
Putting @todo (and similar commands) inside a function body
+ did not result in correct cross-references with the todo list.
+
Java interfaces were not detected as such.
+
Fixed some localization problems in the XML output.
+
Fixed problem handling multiple \par commands (headings were wrong).
+
Fixed array out of bounds assert that was triggered while parsing.
+
Links to pages were not properly resolved in hyperlinked PDF.
+
Using a \name command without //@{ .. //@} scoping could cause
+ a segmentation fault.
+
Including images with @dotfile caused problems in the LaTeX output.
+
Local variables and parameters now properly hide globals with the
+ same name in the source browser, reducing wrong references.
+
Verbatim blocks in the documentation could break the RTF output.
+
RCS/CVS tags did not appear in the output.
+
@note section result in section with type "bug" in the XML output.
+
Dot graphs were truncated too quickly in some cases.
+
Files with a .php4 extension are now recognized as PHP files.
+
Source browser could get out of sync causing wrong cross references.
+
Text after @} could end up in another documentation block.
+
Putting a style command such as \c or \b at the end of a line, before
+ a auto list item, caused the list item to be ignored.
+
Autolinks to files did not work anymore.
+
@copydoc of a target without documentation could cause a crash.
+
+
Doxygen Release 1.3-rc1
+
Changes
+
+
New validating parser for documentation blocks that replaces the
+ old parser (which was actually only a lexical scanner).
+
The new documentation parser will now pass attributes of html tags
+ to the html output. Example:
+
Doxywizard will now run doxygen from the directory where the
+ config file is found, so paths can be made relative
+ in the config file. This will now also work if the config file's
+ path or name contains spaces.
+
Doxygen style comment blocks found in the body of functions are
+ now appended to the function's documentation block.
+
+
New features
+
+
Added rudimentary support for C#. Parsing should work,
+ but not all attributes are handled correctly.
+
Included perl module generator by Miguel Lobo. Setting
+ GENERATE_PERLMOD to YES in the config file will produce
+ a perl module in the output dir.
+
Included language updates for French, Czech, and Russian.
+
Included a number of enhancements to the xml parser (thanks to
+ a patch by Tree).
+
Locally documented parameters now appear in the XML output
+ (thanks to Cormac Twomey for the patch).
+
The preprocessor now inserts line control commands where appropriate.
+
+
Bug fixes
+
+
Aliased \if .. \endif commands around a \brief section were not handled
+ properly.
+
Warnings for undocumented members were not generated anymore
+ in certain cases.
+
A member of a group linked with \ref showed the group's title
+ as link text instead of the member's name.
+
Using aliased commands whose definition contained \n's caused the
+ code browser to put definition links at the wrong line numbers.
+
Todo items inside related pages appeared in tag files, causing warnings
+ about duplicated labels.
+
Included a patch by Ryunosuke Satoh that fixes some issues when
+ compiling in a cygwin environment.
+
The presence of using declarations could result bogus entries in the
+ class hierarchy.
+
Links in the hyperlinked sources could point to the wrong global
+ function depending on the order in which files were parsed.
+
Using \retval in combination with parameters that are documented
+ on the spot, caused bogus warnings about undocumented parameters.
+
id attributes of references/referencedby relations are wrong in
+ the XML output.
+
Links could wrongly point to a class in an outer scope instead of a
+ typedef with the same name in the inner scope.
+
A reference in the code to a member of a derived class that is defined
+ in a base class is now resolved properly even if both classes are
+ imported via tag files.
+
Language codes were wrong in the html help output for some languages
+ (thanks to Erwin Hoffmann for the patch).
+
Fixed case where function was detected as a variable.
+
if HIDE_UNDOC_CLASSES is set YES, doxygen will not complain about
+ undocumented classes.
+
Included RTF output fixes by Gorden Machel.
+
Global variables of complex types were not properly cross-referenced.
+
Fixed argument matching bug for nested template classes;
+ matching "f(A::B<T>::C c)" with
+ "f(C c)" within context A::B<T>
+
Fixed preprocessor bug handling nested comment blocks
+ (the */ of the inner block was eaten).
+
+
+\endhtmlonly
+\section log_1_2 1.2 Series
+\htmlonly
+
+
Doxygen Release 1.2.18
+
Changes
+
+
Running doxygen with the "-d Validate" option will activate a
+ new documentation parser. The parser will produce output for
+ Html, Latex, XML and RTF output (man page output still needs to be done).
+ For XML output this new parser will always be used.
+ Please try it and let me know if you see unexpected errors or
+ invalid output. This parser will replace the old one in the
+ next release.
+
+ The main advantages of the new parser are that it actually checks the
+ syntax of the documentation blocks and will produce valid output
+ by design.
+
+ For debugging purposes, adding "-d PrintTree" along
+ with "-d Validate" will let doxygen dump the abstract syntax tree of
+ each documentation block to the output in a pretty printed way
+ (this reflects the structure built-up by the parser).
+
A number of new XML tags are introduced along with the new parser,
+ these include: umlaut, acute, grave, circ, tilde, szlig, cedil, ring
+ nonbreakablespace, toclist, tocitem, xrefsect, xrefdescription,
+ and xreftitle.
+
Changed the way code fragments are represented in XML to simplify
+ validation.
+
Changed the way \page, \section, and \subsection are handled in LaTeX
+ (and RTF).
+
+
+ \page now results in a section in latex (of the related pages chapter)
+
+ \section is now a subsection within that page section (used to be a
+ section, so at the same level as \page)
+
+ \subsection is now a subsubsection within a subsection (used to be a
+ subsection).
+
+
Included a number of patches by Kristian Ede:
+
+
Undocumented private friend classes no longer cause warnings
+
Undocumented private classes no longer cause warnings
+
Undocumented members are now hidden if they are
+ default constructors, destructors or reimplemented.
+
+
Pages introduced via \page are now context aware. This means that
+ if you put them inside a class or namespace, names do not have
+ to be prefixed with a full scope to create a link in the documentation.
+
Boolean values in doxywizard can no longer be toggled by clicking
+ anywhere on the line on which they appear, but only by clicking on
+ the name or checkbox.
+
+
New features
+
+
@deprecated is now treated as @todo, @test, and @bug, which means
+ that a list of all deprecated items is generated.
+ Thanks to Angela Marshall for the patch.
+
Enum value documentation was added to the XML output.
+
Files ending with ".inc" are now recognized as PHP files
+ (thanks to Marcus Ahlfors).
+
Included updated documentation for language translators
+ (thanks to Petr Prikryl).
+
Included language updates for Czech, Slovak, Brazilian, Croatian,
+ Portuguese, Russian, Polish, Japanese and Serbian.
+ Include language support for Catalan (thanks to Albert Mora)
+
Included .dsp update by Simon Goodwin (already needs to be updated
+ again :-( )
+
Added new configuration options XML_DTD and XML_SCHEMA to set the
+ DTD or Schema used in the XML output.
+
Include new commands \subsubsection and \paragraph which add two
+ section level below \section and \subsection (thanks to
+ Dirk Reiners for the patch)
+
+
Bug fixes
+
+
Fixed lock-up bug in RTF output when using tables.
+
The internal comment conversion routine was confused by lines of the
+ form //*************
+
Fixed recursive lockup for template arguments of the form
+ "typename A = ::A"
+
Description part of @name did not (always) appear in the resulting
+ documentation.
+
Alphabetic index showed package scope using "::" even when
+ OPTIMIZE_OUTPUT_JAVA was set to YES. The same happened for class and
+ namespace HTML page titles.
+
New versions of dot (graphviz >=1.8.8) broke clickable images
+ for versions of doxygen <=1.2.17. Now fixed for newer doxygen
+ releases in a backwards compatible way thanks to a patch by John Ellson.
+
Fixed compile problem for 64 bit machines (pointer to int cast).
+
Included patch to build Doxygen 1.2.17 on AIX 4.3 by Russ Allbery
+
\if ... \else ... \endif blocks now also work in //!< style comments.
+
Fixed a couple of memory leaks in the code parser.
+
Fixed case where member function was put in the member variable
+ section (thanks to Mahadevan R)
+
Fixed bug causing link targets not to appear in the output.
+
Setting BRIEF_MEMBER_DESC set to NO for a member that did not have
+ a detailed description while setting ALWAYS_DETAILED to YES caused the
+ documentation not to appear in the output at all.
+
Fixed todo list linking problems for hyperlinked pdf output and
+ grouped pages.
+
Putting a function declaration and its definition in the same group
+ could lead to wrong links using @ref.
+
Undocumented but grouped members did not appear in the output.
+
The declaration and definition of overloaded global functions
+ was not always properly matched, causing functions not to appear
+ in the documentation.
+
Nested C-comments were confusing the preprocessor, causing it to
+ incorrectly skip comment blocks.
+
An empty line was not always being recognized as a paragraph break
+ (thanks to Stephen Pope for the fix).
+
An aliased \endif in a skipped section was not handled properly.
+
+
Doxygen Release 1.2.17
+
Changes
+
+
XML: The index of the XML output now has @refid instead of @id's,
+ and includes a "kind" attribute for the compounds and members for easier
+ filtering.
+
Improved dot image generation speed for large projects by changing
+ the way the best-fitting graph is computed (thanks to Philip Bergen
+ for the suggestion).
+
@name now automatically starts a member group section (previously
+ a @{ command was needed). The member group continues until a new @name
+ command is found or until the end of a compound is reached. @{ ... @}
+ commands can still be used for backward compatibility or to end a member
+ group before the end of a compound. @defgroup and friends still require
+ explicit @{ ... @} blocks.
+
Changed the way \todo, \bug, and \test are handled internally.
+ This should have no visible effect on the outside, but makes it much
+ easier to add similar commands and also saves a bit of memory on average.
+
+
New features
+
+
Added initial support for parsing PHP code (thanks to a patch by
+ Jan Borsodi). For a PHP file the following additional commands are
+ available:
+
+
\private
makes the current item private
+
\protected
makes the current item protected
+
\public
makes the current item public
+
\privatesection
changes to private section(same as private: in C++)
+
\protectedsection
changes to protected section(same as protected: in C++)
+
\publicsection
changes to public section(same as public: in C++)
+
\static
changes the current item to static
+
\pure
changes the current item to pure virtual
+
+
New command @copydoc that can be used to copy a documentation block
+ of some item and paste it in another documentation block.
+
i18n: Added support for the Serbian language (thanks to Dejan Milosavljevic).
+ Included a new language option Japanese-en for combined Japanese
+ and English.
+
Included patch for dealing with variable argument macros in @param
+ (thanks to Alfred Heggestad).
+
Added new option MULTILINE_CPP_IS_BRIEF to make doxygen treat
+ a multi-line brief comment block as a brief description. Set this to
+ YES to obtain the behavior of version 1.2.15 and earlier. Default as
+ of version 1.2.16 is to treat multi-line C++ comment block as a
+ detailed description.
+
New option CHM_FILE to set the .chm file (and path) to use for
+ Html Help output.
+
New option HHC_LOCATION to set the location of the Html Help compiler.
+ If given doxygen will automatically run the compiler to create the
+ .chm file.
+
Included .dsp & .dsw files to build doxygen from DevStudio in the
+ wintools dir. Thanks to Simon Goodwin for providing these.
+
Included new command $year that can be use in header and footer
+ files to produce the current year (thanks to Michael Beck for the patch).
+
+
Bug fixes
+
+
Fixed lock-up bug when writing RTF output with verbatim sections.
+
The tree view showed entries in C++ style even if OPTIMIZE_OUTPUT_JAVA
+ was set to YES.
+
Documentation blocks for function arguments in a documented header
+ file did not show up if the function definition was parsed first.
+
Inheritance relations in Java where not always correctly resolved if
+ the base class was explicitly scoped.
+
Fixed some non-standard conformance issues in the HTML output (thanks to
+ John Levon for the patch).
+
Usage relations for variables whose type was a qualified typedef were
+ not properly resolved.
Comment blocks ending with an empty /// comment line were not
+ properly handled by the comment conversion code.
+
@relates is no longer needed for a friend function documented in
+ the source file (thanks to Johan Eriksson for the fix).
+
Doxygen could link include files to non-existing source files, if they
+ pointed to external files but were also found in the include path.
+
"make install_docs" was broken.
+
Fixed parse bug for conversion operators of the form "operator ::X*()"
+
XML output fixes:
+
+
derivedcompoundref was not terminated properly.
+
innerpage and innergroup were closed twice.
+
Removed auto-generated section titles from the detailed descriptions
+ in the XML output.
+
para tags in simple section in the XML output were not properly matched
+
+
PDF output fixes:
+
+
Fixed pdflatex reruns in the Makefile when USE_PDFLATEX was YES. It
+ should now run the proper amount of times (thanks to Simon Goodwin
+ for the fix).
+
Links to items in the bug list were broken for the PDF output.
+
Fixed bug in PDF output that resulted in links to non-existing
+ source pages.
+
Fixed bug in URL parsing that caused invalid PDF output for the
+ doxygen manual.
+
Doxygen logo did not appear in the PDF manual.
+
+
RTF output fixes/improvements by Janet Swisher,
+ Gordon Machel & Martin Vuille:
+
+
Included fix for loading RTF style-sheets
+
reference list and title were merged
+
First word of company name was lost.
+
Main page title was not substituted.
+
There were two pages numbered "i" in the document.
+
Added a heading to the table of contents page.
+
Depending on the order in which things are
+ documented, there were extra, empty paragraphs
+ thrown in.
+
Added a number of debugging comments
+ and changed some existing ones to make it easier
+ to relate the comment in the RTF to the name of
+ the method that generates it.
+
+
operator|() caused invalid entries in the latex index.
+
Fixed bug parsing URLs with curly braces in documentation blocks.
+
Html help output now uses the correct language code if non English
+ language is selected.
+
Fixed bug in generate makefile for latex output (thanks to Petr
+ Prikryl)
+
Fixed source browser bug: a comment just before a function body
+ confused the parser.
+
Fixed problem handling function typedefs.
+
\endif appeared in output when used via ALIASES in a brief description.
+
Included heuristic to distinguish between a variable definition
+ with initialization via a constructor and a function prototype
+ (e.g. "Test var(initVal);", v.s. "Test func(SomeType);").
+
Fixed lock-up problem when to @brief were put after each other in a
+ comment block.
+
Images for include dependency graphs were unclickable.
+
Members in source fragments and examples were not linked to their
+ member group documentation if available.
+
For initializers of the form ' ', the space was removed in the output.
+
\dotfile generated files did not get generated correctly because dot
+ could not find the specified font.
+
Third argument of \class did not always work.
+
The pattern argument for the @skip, @skipline, @until and @line commands
+ now extents until the end of the line (as suggested by the documentation)
+ instead of just the first word.
+
+
+
Doxygen Release 1.2.16
+
Changes
+
+
Verbatim and preformatted sections
+ are now represented with a new "preformatted" tag in the XML output.
+
The HIDE_UNDOC_RELATIONS option is no longer depending on
+ HAVE_DOT being set to YES.
+
A dot is only added after a brief description if it starts
+ with a capital (thanks to Ondrej Jombik for the patch).
+
Doxygen now treats blocks of C++ comments such as
+ //! Detailed
+ //! Description
+ as a detailed description
+ (such blocks used to be treated as brief descriptions!).
+ A single line C++ comments still represents a brief description,
+ for multiline brief description an explicit @brief can be used.
+ See the updated documentation for more examples.
+
XML: Added class name to inheritance relations that are written to the
+ XML output.
+
Images included with \dotfile are now centered in the latex output
+ (thanks to Nils Strom for the patch).
+
+
New features
+
+
Included language update for Slovene.
+
CGI_URL now allows URLs that start with cgi: (for KDE KIO slave support)
+
Made include dependency graphs available from the XML parser API.
+
Added patch to support multi-byte RTF output (thanks to Sato Ryunosuke)
+
Gary Lee added language support for Chinese-Traditional.
+
Thanks to a patch by Loïc the RTF output now supports (non-nested)
+ tables.
+
Added compilation support for cygwin (win32-g++ target).
+ Thanks to Ryunosuke Sato for the patch.
+
Added new option DETAILS_AT_TOP to put the detailed documentation
+ at the top of a documentation page where normally only the brief
+ descriptions would be shown (based on a patch by Elliott Hughes).
+
XML: Added member template parameters to the XML output.
+
+
Bug fixes
+
+
Improved portability of the png code: updated zlib to version 1.1.4,
+ replaced K&R style code by ansi code, fixed compile problem with
+ pngenc.cpp on some platforms.
+
Fixed recursive lock-up problem that could occur for certain cases
+ in which recursive template inheritance was used.
+
The cross-package inheritance relations were broken for Java code.
+ I fixed this by treating Java import statement as C++ using statements.
+ Please report any problems that remain.
+
Alias commands put in separate parameter documentation blocks
+ were not resolved.
+
The documentation for arguments, documented with a separate
+ documentation block, was not consistently shown in source and header
+ files, depending on the order of the input files.
+
The characters '(', ')', '$', ''', and ';' were not recognized
+ as part of an URL.
+
Grouped enum values could not share the same documentation block
+ even when DISTRIBUTE_GROUP_DOC is YES.
+
The end caption tag was missing a closing > in the XML output.
+
Fixed bug with table captions in XML output.
+
Removed warning when documenting include guard-like defines.
+
The \package command was broken. Fixed cases where :: appeared in
+ the output when OPTIMIZE_OUTPUT_JAVA was set to YES.
+
Fixed scoping problem using \class for documenting nested classes inside
+ template classes.
+
Fixed invalid output bug when putting "-" items inside @arg or @li
+ lists.
+
Fixed problem referencing functions using {@link ... } with explicit
+ argument lists.
+
Fixed bug when parsing "typedef struct{}TypeName;" (i.e. without
+ a space before the struct).
+
Fixed argument matching bug for global functions having undocumented
+ classes, imported via using declarations, as their parameter type.
+
Fixed bug in conditional section handling for cases like:
+ @if guard text @else more text @endif
+
The html help files did not honor the HTML_FILE_EXTENSION settings.
+
Removed bogus warning when using @param for function-type
+ parameters.
+
Include statements in the source browser output now link to the
+ right include file in case of ambiguities.
+
The include lines in the file documentation didn't link to files that
+ were imported from tag files.
+
The include dependency graph did not show include files if they
+ were directly or indirectly imported from tag files. Existing tag
+ files need to be regenerated to make use of this.
+
XML: The refid of members in listofallmembers section in the XML output
+ was wrong. The ulink tag did not end properly in the XML output.
+ The Value of ambiguityscope in the XML output was not properly escaped.
+ LaTeX page reference texts appeared in the XML output.
+
Included language update for Brazilian.
+
Doxygen now treats "const int *" and "int const *" (i.e. with
+ reordered const) as equivalent types.
+
The preprocessor now avoids recursive includes, which helps
+ to parse files that do not have proper #ifndef-#define .. #endif guards.
+
Matching arguments with types "unsigned long int" and
+ "unsigned long int blah" removed argument name.
+ Same for "int" and "const int blah".
+
Fixed LaTeX output bug that occurs when using \dotfile in combination
+ with USE_PDFLATEX = YES (thanks to Nils Strom for the patch).
+
Links to static functions in the documentation, now point to the
+ local file in case of ambiguities.
+
Comments of the form /*/**/ confused the source browser.
+
Fixed bug parsing "class C : public ::C {};" inside a namespace.
+
Fixed bug in tag file reader when parsing includes.
+
The include dependencies were wrong if an include file name was part of
+ the input but the #include specifically asked for another file
+ not part of the input but with the same name.
+
+
Doxygen Release 1.2.15
+
Changes
+
+
On request of Richard Stallman and others I replaced all
+ generated GIF images with PNG images.
+ See http://www.burnallgifs.org
+ for the motivation.
+
The Documentation of function definitions and declarations are now
+ always merged. References/Referenced by relations are now equal
+ for function declarations and definitions.
+
When @retval commands are used to document parameters, doxygen will
+ no longer produce a warning message for that parameter. @retval can
+ still be used to document non parameters such as the return values
+ of a function.
+
#define A(x) x /**< a define */
+ will document a define, while
+
#define A(x) /** an argument */ x
+ will document the argument of the define
+
Links in the documentation to const/volatile members are now
+ possible by explicitly specifying "f() const" or "f() volatile"
+ in case a non-const/volatile "f()" also exists.
+
Doxygen now warns about undocumented compounds (thanks to Itai Frenkel
+ for the patch).
+
+
New features
+
+
Included language update for Russian and Romanian translations.
+
EPS images included with "\image latex" are automatically converted
+ to pdf's when USE_PDFLATEX is set to YES.
+
Added two new commands: LATEX_CMD_NAME and MAKEINDEX_CMD_NAME to
+ set the name of the latex and makeindex tools to be used for latex
+ output (thanks to Konno Akihisa for the patch).
+
Improved support for Java. Packages are now treated like
+ C++ namespaces and there is a new option OPTIMIZE_OUTPUT_JAVA
+ that, when enabled, provides more Java-oriented output. Please
+ report any Java-related problems that remain.
+
Extended XML parser API (see addon/doxmlparser/include/doxmlintf.h)
+ with full access to documentation blocks.
+ Made inheritance/collaboration diagrams accessible via the
+ XML parser API (see addon/doxmlparser/include/doxmlintf.h).
+ Reorganized the internals of the XML parser so the API does
+ not require destructors. Made the parser more portable (it should
+ compile with gcc and M$ visual C++ now).
+
+
Bug fixes
+
+
Using "@param x,y,z" resulted bogus warnings about undocumented
+ parameters.
+
"doxygen -w latex header.tex doxygen.sty Doxyfile" caused a segmentation
+ fault (thanks to Aric Cyr for the patch).
+
Fixed argument matching problem that occurred in some rare cases
+ that involved "using" of namespaces.
+
Using /**< Brief.\ more brief. Details. */ with ENABLE_JAVADOC = YES,
+ now removes the slash just like it did with /**...*/ style comments.
+
Using an ordered, html-style list inside a @param command
+ resulted in invalid output if list item contained blank lines.
+
STRIP_FROM_PATH now also works with Windows style paths
+ (e.g. C:\MyPath\)
+
A module can now appear more than once in the module tree
+ (thanks to Itai Frenkel for the patch).
+
In some cases the tree view showed leaf elements as non-leafs.
+
Fixed a number of cases where illegal characters could end up in
+ the XML output.
+
If a function in a base class was (re)implemented by several classes
+ only one of them appeared in the "(re)implemented in" list.
+
graph_legend.gif was hardcoded in translator_*.h files.
+ Note to translators: this has affected all translator files, so please
+ update your local translator file!
+
In some cases a grouped member within a namespace did not appear
+ in the group's documentation.
+
Namespace members were not properly cross-referenced with in the
+ source browser output.
+
Using directives inside anonymous namespaces had no effect.
+
Fixed bug in the preprocessor when parsing '"' as the argument to
+ a function macro.
+
The argument of commands like \c did not produce a link to
+ external documentation if possible, while links to local
+ documentation were generated.
+
+
+
Doxygen Release 1.2.14
+
Changes
+
+
Split up the XML output into an index (index.xml) and one page per
+ compound. This allows for faster processing and less memory consumption,
+ when using DOM style parsers.
+
Include files are now shown in the class documentation if
+ and only if SHOW_INCLUDE_FILES is YES.
+
Doxygen-style C comments inside macro definitions are now preserved
+ in the output. Example:
+
When deriving from pure virtual members or IDL interfaces, doxygen will
+ now put an "implements/implemented in" list in the documentation instead
+ of "reimplements/reimplemented by".
+
Doxygen now filters out duplicate input files.
+
+
New features
+
+
Added a very simple metrics utility
+ (see addon/doxmlparser/examples/metrics) which can compute some
+ figures based on the XML output generated by doxygen.
+
Added autodetection for Darwin (MacOSX) to the configure script.
+
Added option EXCLUDE_SYMLINKS.
+ The EXCLUDE_SYMLINKS tag can be used to select whether or not files or
+ directories that are symbolic links (a Unix filesystem feature) are
+ excluded.
+
Added option EXTERNAL_GROUPS.
+ If the EXTERNAL_GROUPS tag is set to YES all external groups
+ will be listed in the modules index. If set to NO, only the
+ current project's groups will be listed. (thanks to Darren Oldag
+ for the patch).
+
Included update for translator.pl (thanks to Petr Prikryl)
+
updated .spec file (thanks to Emilio Riva).
+
Included patch by Jochen Hanff to make the index headings configurable
+ via style-sheets.
+
If a comment block contains at least one @param command, doxygen now
+ produces warnings if not all parameters of a function are documented or
+ if the names of the parameters do not match the argumentlist.
+ (Please report any false alarms).
+
Added new command \~language_id to create sections that
+ are outputted for the language >language_id> only:
+ Example:
+
+ /** \~czech Cesky komentar \~english English comment text \~dutch
+ Nederlands commentaar \~ Common comment for all languages,
+ this tag switches off the language filter...
+ */
+
+ Which of the language specific fragments is outputted depends
+ on the setting of OUTPUT_LANGUAGE (Thanks to Milan Rusek for the patch).
+
Added build support for Cygwin (thanks to Ryunosuke Sato).
+
Added new option HTML_FILE_EXTENSION to allow different file extension
+ for the html file outputted by doxygen (like .php). Thanks to
+ Rob Olsthoorn for the patch.
+
Added option DOT_IMAGE_FORMAT that can be used to set the image
+ format of images generated by dot (possible formats: gif, png, jpg).
+
In the documentation of class, namespace, file and group items a
+ list of groups to which the item belongs is put between brackets ([..])
+ under the title (HTML only).
+
Added "list of all members" and template parameter lists for
+ classes to the XML output.
+
Included language updates for Chinese, Czech, French, Italian,
+ Brazilian, Japanese, Russian and German.
+
+
Bug fixes
+
+
The start of a comment (/*) embedded in a page or example block
+ caused parse problems.
+
operator%= member caused latex error when in pdf hyperlink mode.
+
fixed parse problem for global function typedefs like "typedef int f()"
+
Qt slots weren't included in the reference/referenced by relations
+ (thanks to Gordon Machel for the patch).
+
Fixed parse problem that occurred when the <SUP> tag was used in
+ a brief description.
+
Private members sometimes showed up in the all member list even though
+ EXTRACT_PRIVATE was NO.
+
Doxygen now exits with code 0 if there is no error (previously it
+ returned 1 in some cases were no error occurred).
+
Calling "doxygen -g -" now writes the config file to stdout
+ (this already worked when using "doxygen -g-").
+
Undocumented classes exposed when setting EXTRACT_ALL to YES, could
+ result in broken links in the class hierarchy.
+
Exception specifications in Java were not parsed properly.
+
If INLINE_INHERITED_MEMB was YES, pure virtual members of base classes
+ reachable via multiple paths appeared more than once in the
+ documentation.
+
Removed potential recursive loop when computing reimplements relations
+ for template instances.
+
Fixed argument matching problem when matching "a<int *>" with
+ a<int * >"
+
Links in the documentation of grouped namespace members were not
+ pointing to the group but to the namespace.
+
For template specializations the title of an html page contained
+ plain < and > characters.
+
When computing source references undocumented members could introduce
+ non-existing relations for documented members in front of it.
+
Fixed escaping problem in Makefile generated for latex output.
+
File names were sometimes prefixed for undocumented classes in the
+ class hierarchy.
+
When computing the list of all members, interface members are now
+ treated as virtual.
+
Protected members of a base class did not appear as such in the list of
+ all members of derived classes.
+
Fixed problem with ending itemized lists before paragraph commands
+ (like @see), which resulted in invalid output.
+
The version number in config files generated by doxywizard was
+ always 0.1.
+
Having a macro function and typedef with the same name confused doxygen.
+
An \endverbatim command at the end of a \name section was not parsed.
+
Stars (*) at the start of a line in /**< ... */ style comments
+ after a parameter were included in the result.
+
Putting a C-style comment in a @code block was not handled properly.
+
+
+
Doxygen Release 1.2.13.1
+
Bug fixes
+
+
Links to grouped members were broken.
+
The Module index was broken in HTML and subgroups were still not
+ sorted properly.
+
Selecting a non-default language was not possible in doxywizard
+ (thanks to Heiko Schaefer for the patch).
+
Ending a dash-style list was not possible by starting a new paragraph
+ anymore.
+
Fixed "exceptions" tag mismatch in the XML output.
+
extern "C" blocks inside source files incorrectly included header files
+ during preprocessing.
+
Compiling doxywizard on Unix with Qt-3.x didn't work because
+ libdoxycfg was linked with qtools from Qt-2.x.
+
Fixed potential memory corruption when generation the graphical class
+ hierarchy (nodes were deleted more than once).
+
+
New features
+
+
Added support for multi-method declarations such as: int func1(),func2();
+
Included updated DTD for validating the XML output produced by doxygen,
+ thanks to Angelo Hulshout.
+
Included support for Japanese-ShiftJIS translation,
+ thanks to Ryunosuke Sato.
+
Included update for Slovak translator, thanks to Stanislav Kudlac.
+
Thanks to a patch by Pascal Flammant tables in the documentation
+ can now have captions using <caption> ... </caption>
+ within a table definition.
+
A dash-style list can now be ended without ending the paragraph.
+ See the list-section of the documentation for an example.
+
+
Doxygen Release 1.2.13
+
Changes
+
+
Changed the way @internal works. The "For internal use only" message,
+ now appears (along with the internal documentation)
+ if and only if INTERNAL_DOCS = YES.
+
Subgroups are no longer sorted but presented in declaration order.
+
Members inside todo/test/bug lists are now shown with qualified
+ names again.
+
Reorganized the XML parser. It is now structured as a library,
+ a header file, and a test application. See addon/doxmlparser for
+ details.
+
+
New features
+
+
Included languages updates for French, Portuguese,
+ Korean, Italian, Dutch, Slovene, Brazil, German and Portuguese.
+ Thanks to Harry Kalogirou doxygen now has support for output in
+ the Greek language.
+
Included patch by Adam Doppelt to make doxysearch work
+ better with windows/IIS.
+
Added more info to the XML output: include dependencies,
+ member groups, re-implement relations, const/volatile specifiers,
+ namespace info, related pages, inner classes, inner namespaces.
+
Added some logic to deal with member specializations.
+ They should now be added as additional members to a class instead of
+ being ignored and producing a warning.
+
Thanks to a patch by Bruce Korb, author of
+ autogen, doxygen now
+ has output support for producing autogen definition files. To do
+ this set GENERATE_AUTOGEN_DEF to YES in the config file.
+
The \relates command can now be used for macros as well.
+
New option INLINE_INHERITED_MEMB which can be enabled to include all
+ directly and indirectly inherited members inside the
+ documentation of a class as if they were real members (inspired by
+ a patch sent by Ted Drain).
+
Added option EXTRACT_LOCAL_CLASSES which can be used to show
+ or hide classes and structs defined in source files.
+
Thanks to an install script written by David Greig, the windows
+ version of doxygen now comes with a windows installer based on
+ Jordan Russell's
+ Inno Setup.
+
+
+
Bug fixes
+
+
Fixed potential bogus link in the references list.
+
Auto detection of idl files was broken.
+
Preprocessor did not parse hexadecimal values correctly.
+
Fixed XML output problem (too many </highlight> tags).
+
Documentation for nested classes inside other nested classes was
+ not written to the output.
+
Fixed problem mixing paragraph commands (like \param) with
+ hyphen-style lists.
+
Modules index in LaTeX was broken.
+
STRIP_FROM_PATH now works for windows-style paths as well.
+ Thanks to Joël Conraud for the patch.
+
For functions whose declaration was grouped and whose definition
+ contained a documentation block with a todo/test/bug item,
+ the item did not appear in the todo/test/bug list.
+
In the source browser output, the "=" in variable initializers
+ was outputted as "==".
+
Fixed parse problem for typedefs of function pointers returning
+ a template instance.
+
Fixed bug in parsing method pointer function arguments of the
+ form "void f(void (C::*m)() const)"
+
+
Doxygen Release 1.2.12
+
Changes
+
+
Improved the speed of the todo/test/bug list generation considerably.
+
The list of all members of a class now shows for each member,
+ the class in which the member is defined.
+
Rewrote a substantial part of the source code parser
+ (SOURCE_BROWSER = YES). It is now more context sensitive and
+ will generate more/better links.
+
+
+
New features
+
+
Added new option HIDE_UNDOC_RELATIONS that can be set to NO to show
+ any undocumented inheritance and usage relations from the various
+ graphs.
+
Included updates for translations to Chinese (thanks to Charlie Liu)
+ Slovene (thanks to Matjaz Ostroversnik), Russian
+ (thanks to Alexandr Chelpanov), Czech (thanks to Petr Prikryl)
+ and Croatian (thanks to Boris Bralo). Included Petr's translator
+ adapter simplifications. Included Latin2 patch by Mitja Udovc.
+
Updated the graph legend page.
+
Added option REFERENCES_RELATION that can be enabled in combination
+ with SOURCE_BROWSER to produce for each function
+ a list of all called/used members/functions/variables.
+ The reverse list can now be enabled/disabled using the
+ new REFERENCED_BY_RELATION option.
+
Added native support for typedefs of the form
+ "typedef void (__stdcall *name)()", where __stdcall can be any
+ identifier.
+
Included a patch by Stephen Goudge which adds an option
+ EXAMPLE_RECURSIVE to indicate whether or not example files should
+ be searched recursively.
+
Included patch by Erik Zeek to add EOL translation to the
+ config file output.
+
Doxygen now searches the current directory for source files if
+ the INPUT and FILE_PATTERNS are empty (thanks to Johan Eriksson
+ for ideas and code)
+
Reference to/referenced by information is now included in the XML
+ output.
+
+
+
Bug fixes
+
+
Fixed more RTF problems and added an RTF integrity check that
+ is performed on the generated RTF output (bracket matching).
+
Refined the macro detection in the preprocessor a little, so it does
+ not match constructors and functions so easily.
+
the % prefix didn't work for scoped items.
+
References to groups defined in tag files did not work.
+
documentation for classes inside namespaces was generated multiple
+ times.
+
Running doxytag on qt-3.0.0 resulted in a tag file containing
+ non-breakable spaces.
+
The \package statement did not work correctly for packages whose name
+ contained a dot.
+
Fixed Parser bug for java initializers of the form = "\"/*";
+
Fixed LaTeX output problem when using \par followed by a (-) list.
+
Fixed LaTeX output bug in the related page index.
+
Commands inside a conditional section would still appear in the
+ result even if the section was disabled.
+
Included idea by Roberto Bagnara to make running "make" in the LaTeX
+ output autodetect how many times latex has to be run.
+
Included a patch by Johan Eriksson to fix a link problem in the
+ "list of all member" for grouped members.
+
Fixed potential crash when \todo was used without arguments.
+
The HIDE_UNDOC_CLASSES option did not work correctly for template
+ instances when set to YES.
+
\line, \skipline and \until introduced too many new lines.
+
Doxygen did not parse "struct {} typedef S;" correctly.
+
+
+
Doxygen Release 1.2.11.1
+
Changes
+
+
Included update for Slovak translation (thanks to Stanislav Kudlac)
+
+
Bug fixes
+
+
Fixed RTF output bugs.
+
When preprocessing was disabled, the input was truncated for sources
+ containing CR's (i.e. sources edited on Windows).
+
Syntax highlighting C-style comments was broken.
+
Links to members in undocumented groups were broken.
+
Deep class hierarchies caused "nested too deep" error in LaTeX output.
+
providing one documentation block for grouped, related members did
+ not work.
+
Documentation pages for documented classes nested inside
+ undocumented classes or namespaces were not generated.
+
+
Doxygen Release 1.2.11
+
Changes
+
+
Undocumented friend class declarations now link to their class
+ if documented.
+
Undocumented template classes (and other "used" types)
+ are now shown in the collaboration diagram.
+
Changed the look of the various indices (file/class/namespace/...)
+ in the HTML output.
+
+
New features
+
+
The source browser option now generates links to (documented)
+ globals and fields. Especially useful for C code.
+
Input containing CR+LF (DOS/Windows) or CR only (Mac) are now
+ automatically converted to LF.
+
New config option SKIP_FUNCTION_MACROS that when set to YES
+ (the default) makes doxygen's preprocessor automatically remove all
+ function macros that are alone on a line and do not end with a
+ semicolon. These are typically used as boiler-plate code and
+ confuse the parser if not removed.
+
Added class collaboration and inheritance diagram descriptions
+ to the XML output. Also added source browser output for each file.
+
Added a developers part to the manual, with some information on
+ how doxygen is structured internally.
+
+
Bug fixes
+
+
Using HIDE_UNDOC_MEMBERS=YES and ENUM_VALUES_PER_LINE=1 resulted in
+ blank lines in the HTML-output.
+
"friend class A::B" caused a bogus warning.
+
Fixed problem generating tag files for the Qt-3.0.0 beta releases.
+
Fixed parameter list layout problem in the HTML output.
+
Fixed some (all?) compile problems on Solaris.
+
Class hierarchy was not correct if a template class inherited from
+ a template argument, which was also a documented class.
+
When substituting template arguments, default values of
+ template arguments were not substituted themselves.
+
Fixed a number of XML output bugs (thanks to Christian Hammond).
+
Fixed bug parsing character literals.
+
Fixed bug in RTF output (bracket mismatch).
+
Initializer of the last enum value of an enum did not always appear.
+
Dots were removed from return types in Java.
+
In some cases a broken "More..." link was generated after
+ a brief class description.
+
Text of a section title containing was truncated if it contained an
+ asterix.
+
Fixed crash bug when filtering CR+LF's from input (thanks to Petr
+ Prykril).
+
Fixed generated makefile dependencies for USE_PDFLATEX = YES
+ (thanks to Marcus Holland-Moritz)
+
"\retval #VALUE" now links to VALUE if documented. The same works
+ for \exception and \throws
+ (and since the argument is a class no # is needed).
+
Sorting the alphabetical list was broken for nested classes.
+
+
Doxygen Release 1.2.10
+
New features
+
+
Relations between templates and their instances are now visualized
+ in the inheritance and collaboration graphs. Can be disabled
+ by setting TEMPLATE_RELATIONS to NO in the config file.
+
A Java package can now be documented using a comment block containing a
+ @package command or by putting a documentation block in front of a
+ package statement.
+
Added new command \dotfile which can be used to include a user
+ specified dot file as an image in the documentation. The new config
+ option DOTFILE_DIRS should be used to specify directories in which
+ doxygen should look for dot files (thanks to Samit Basu for the patch).
+
Added new build target macosx-c++ to build doxygen for Mac OS X
+ (Thanks to Jason Harris for telling me what needed to be changed).
+
Added --enable-langs option to the configure script which can be used
+ to compile-in support for a specified set of languages (thanks to
+ Vitaly Repin for the patch).
+
Included update for Russian & Italian translation.
+
Included translator.pl update received from Petr.
+
+
Bug fixes
+
+
Fix compile problem for the Irix compiler (thanks to Dirk Reiners)
+
Some generated &nsbp; entities where missing a ; in the HTML output.
+ For some browsers this resulted in argument types & names being
+ glued together.
+
The heading of parameter and return value lists was not bold anymore in
+ the HTML output.
+
"Reimplemented to/from" member links now work between template base
+ classes and their derived classes.
+
Not all documented templates class were regarded as documented
+ (unless EXTRACT_ALL was set to YES).
+
Fixed recursive lock-up problem for recursive templates of the form:
+ template<class T> class A : public A<typename T::B> {}
+
The labels in the alphabetical list were broken when namespaces were
+ used.
+
An error was given for import statements in Java sources.
+
The "list of all members" was no longer generated for nested classes.
+
Fixed bug in XML output causing mis matched <para> tags.
+
Fixed parse problem for enum initializers like: "enumVal = A<T,C>::val"
+
\hideinitializer did not hide the initializer of enum values.
+
Undocumented enums and enum values now behave correctly when
+ HIDE_UNDOC_MEMBERS is set to YES.
+
Fixed a problem with using \if inside alias definitions.
+
Fixed & changed the layout of function arguments a little.
+
Typedef struct{}Name was not parsed properly without adding more spaces.
+
Static initializer blocks were not properly parsed in Java classes.
+
Members of an unnamed namespace are now treated as static, and will
+ only appear in the documentation if EXTRACT_STATIC is set to YES.
+
Classes are sorted by their name, i.s.o. full scope again.
+
Improved argument matching for members defined within (nested)
+ namespaces.
+
+
+
Doxygen Release 1.2.9.1
+
Changes
+
+
Bug/test/todo items of members are now grouped
+ together with their compound.
+
+
New features
+
+
Added three new conditional commands: \ifnot, \else and \elseif
+ (thanks to Fabian Cenedese).
+
+
Bug fixes
+
+
The .spec file still assumed the --with-xmlgen switch was available.
+
Template instances caused double entries in the class list
+ (in LaTeX) and broke RTF output.
+
\if and \endif can now be used to make structural commands like
+ \brief, \ingroup, and \defgroup conditional.
+
The "const" in "func(B * const)" was parsed as a variable name.
+
Template specializations of the form A<N::C> where not handled
+ properly.
+
Putting \relates in a function documentation block that was
+ within a namespace, while referring to another namespace did not work.
+
Doxywizard always complained it could not read the config file.
+
Doxywizard did not properly update boolean and integer values.
+
Fixed recursive lock-up problem when recursive templates were used.
+
LaTeX output was broken when PDF_HYPERLINKS was enabled and templates
+ were used.
+
Private friends were hidden even though friends have no access control.
+
Argument matching was sensitive to spaces in some cases.
+
Bug/test/todo item in class members did not always result in the
+ generation of the list.
+
+
+
Doxygen Release 1.2.9
+
Changes
+
+
Friend class declarations are now treated as normal members.
+
Completely rewrote the way templates are handled.
+ Doxygen now (internally) computes all template instantiations it encounters.
+ This has the following advantages:
+
+
Template instantiations are now shown in the hierarchical index
+ and in all class diagrams in a uniform way.
+
The list of all members is now correct for classes deriving
+ from a template.
+
+ Since there is a lot of new code, some more testing won't hurt
+ to mature the code. If you are using templates, please try this
+ version for me and report any problems.
+
Started moving the XML output generator back into doxygen.
+ As a result the GENERATE_XML option has reappeared.
+
Function arguments names are now nicely aligned in the generated
+ HTML output. Thanks to Joe Bester for doing most of the work.
+
+
New features
+
+
Added GNU install tool auto detection to the configure script.
+
Included update for French translation (thanks to Xavier Outhier)
+ Olexij Tkatchenko has added support for the Ukrainian language.
+ Included update for Portuguese and Brazilian.
+
Added --docdir option to the configure script.
+
Using the non-commercial version of Qt for windows, it is now
+ possible to build doxywizard for windows.
+
Made preprocessor parse error messages somewhat more informative.
+
+
Bug fixes
+
+
Image references to dot images were broken in the RTF output
+ (thanks to Henning Moll for the fix).
+
Linebreaks are now done with \par instead of \line in the RTF
+ output (thanks to Henning Moll).
+
Removed bogus warnings when parsing tag files.
+
The detailed description in a @name block can now be more than
+ plain text.
+
Included fix for the tree view script for the Mozilla browser
+ (thanks to Alec Panovici).
+
Grouping members with the same signature but with a different scopes
+ is now possible.
+
Related functions could not be grouped.
+
MAN_LINKS option was broken (fixed by Patrick Ohly).
+
Including a file with \include in LaTeX caused the leading text
+ to appear in a smaller font size.
+
Improved the documentation and spec file (thanks to Jens Seidel).
+ Fixed some typos in the docs. Thanks to Wouter Slegers.
+
JavaDoc style links such as @{link #var} and @{link #var label}
+ now work.
+
"doxygen -g -s" now creates a file named Doxyfile i.s.o "-s"
+
Fixed a null pointer referencing problem (thanks to Nick Pratt)
+
8-bits characters are now correctly handled within the argument
+ of \b, \c or \e.
+
Reimplemented links were broken for grouped members (thanks to
+ Johan Eriksson for the fix).
+
Enabling the Tree view didn't result in proper RTF and LaTeX output
+ (thanks to Paul Sydney for the fix).
+
Merged patches by Joe Bester:
+
+
Could not link to @anchors in the main page on external packages.
+
All external modules and pages were linked to or appended
+ (even the TODO page, etc), even when EXTRACT_ALL is set to NO.
+
The section containing structs and unions is labeled
+ "Class Documentation" (in the English translation) even when
+ the OPTIMIZE_OUTPUT_FOR_C was set to YES.
+
+
using the IDL keyword "import" in other languages did not work
+ correctly.
+
members of a privately inherited base class were not shown in the
+ list of all members, while they were accessible from the derived class.
+
Reworked part of the template handling. Doxygen should now be
+ capable of handling nested template classes correctly. Please test
+ this if you are using these constructs. Thanks to Christoph Koegl
+ for providing some difficult test cases.
+
Fixed parse problem when parsing << as part of the first
+ argument of a typedef.
+
Further improved typedef resolution.
+
The LATEX_HEADER-config option disabled the \mainpage-output
+ (thanks to Eric Reinhart for the fix).
+
Merged a patch by Erik Zeek, to allow compilation under BCB5
+
Spaces in arguments of preprocessor macros were not treated properly.
+
Fixed argument matching bug that caused doxygen to treat
+ f(type t) and f(type_t t) as the same function.
+ "void func(const ::A)" was interpreted as "void func(const::A)",
+ where "const" would have to be a class name.
+
static file members were not auto-linked even if EXTRACT_STATIC was set
+ to YES.
+
+
+
Doxygen Release 1.2.8.1
+
Changes
+
+
Enum values of a grouped (with @ingroup) enum are now automatically
+ added to the same group.
+
+
New features
+
+
Included update for Brazilian translation.
+
Add support for < > & ' "
+ in the documentation,
+ since these commands after occur in Java documentation.
+
+
Bug fixes
+
+
Parameters appeared in the documentation for undocumented
+ arguments (and twice if they were also documented with @param).
+
Specifying boolean tags twice in the config file resulted in
+ an invalid value (both boolean values were appended).
+
Fixed a number of typos (thanks to Jens Seidel).
+
When a paragraph header was directly followed by an
+ item list doxygen did not render the first item properly.
+
The "More..." link was often omitted for grouped members.
+
"dangerous" characters like ":" are now escaped from man page
+ file names
+
+
Doxygen Release 1.2.8
+
Changes
+
+
Doxygen now uses a more natural naming scheme for man pages.
+
Man page and rtf output are now disabled by default.
+
+
New features
+
+
The dot generated inheritance and collaboration graphs for classes
+ should now show the proper template instantiation for the derived/used
+ classes. For instance it should show that class S uses class V
+ (indirectly) in the following example:
+
+ class V {};
+ template<class T> class U1 { T *m_t; };
+ template<class T> class U2 { U1<T> *m_t; };
+ template<class T> class B1 { U2<T> *m_t; };
+ template<class T> class B2 : public B1<T> {};
+ class S : public B2<V> {};
+
+ Please report any example of class hierarchies that are not shown
+ properly.
+
Added doc/translator.pl script created by Petr Prikryl.
+ Its main purpose is to extract information from doxygen's sources
+ related to internationalization (i.e. the translator classes), to
+ avoid duplication of information (i.e. doc/language.doc is now
+ generated) and to generate reports about the status of the translations
+ (e.g. missing methods).
+
Stanislav Kudlac added support for Slovak language and
+ Erik Søe Sørensen added support for Danish.
+ Applied language updates for
+ Italian, Croatian, Spanish, Czech, German & Russian.
+
Added support for "KBD" HTML tags (thanks to Albin Wu).
+
Added man patch by Patrick Ohly which allows to create freestyle
+ man pages using \page and puts man page with non-default extension
+ in the correct directory.
+
Added MAN_LINKS option (thanks to Patrick Ohly for the patch).
+
Added grouping patches by Patrick Ohly:
+
+ There are now three commands to define a group:
+
+ \defgroup name title
+ \addtogroup name [title]
+ \weakgroup name [title]
+
+
+ \defgroup must be used exactly once for a group, so you should
+ provide a title. Without the title you will get a warning and
+ doxygen will use the name as title (this is the old behavior).
+
+ /** \addtogroup name */
+
+ can be used to add documentation or
+ members to a group (as in 1.2.7), but the group is created if
+ it doesn't exist yet. You can provide the title later
+ with another block:
+
+ /**
+ * \addgroup name title
+ * documentation
+ */
+
+
+ Setting different titles will trigger a warning without overwriting
+ the title once more.
+
+
+ \weakgroup is exactly the same as \addtogroup, but if a member
+ is put into such a group with \weakgroup name @{ @}
+ and into
+ another group with \[def|addto]group @{ @}, then it will be
+ placed into the other group without issuing a warning.
+
+
+ Actually there is a four-level hierarchy for grouping with
+ (from strongest to weakest) \ingroup, \defgroup, \addtogroup,
+ \weakgroup. You will get warnings when putting members into
+ groups with commands of the same level, but only when you really
+ document this member. This will not trigger a warning and put
+ variable a into Group1:
+
+
+ /** \addtogroup Group1 */
+ /*@{*/
+ /** this is the real group */
+ extern int a;
+ /*@}*/
+
+ /** \addtogroup Group2 */
+ /*@{*/
+ extern int a;
+ /*@}*/
+
+
+
Bug fixes
+
+
Fixed a bug in the LaTeX output generation (empty lists).
+
Doxygen can now distinguishing f(const A) from f(const B)
+ even though they match from a syntactical point of view.
+
A template base class that is actually an inherited template
+ argument of the derived class is no longer shown in the output
+ indices and hierarchies.
+
TOC_EXPAND could result in a broken tree view
+ (patch by Alexandr Chalpanov).
+
If a base class had member names which has the same name as enumerator
+ values in a derived class, the enumerator values did not show up in
+ the documentation (thanks to John Harris for reporting this).
+
Applied a number of patches sent by Jens Seidel.
+
Fixed compiler limit problem on Windows (thanks to Trevor Robinson).
+
Add -dBATCH in system calls to ghostscript (needed for formulas)
+ to avoid a command prompt for newer versions of ghostscript
+ (thanks to Marvin Wolfthal).
+
In some situations doxygen wanted to write a files containing a \n.
+
Environment variables can now also be used for non-string values
+ in the config file, like for example QUIET = $(QUIET_ON)
+
Fixed a number of typo's in the docs (thanks to Philippe Lhoste &
+ Jens Seidel).
+
Inheritance through typedefs within a namespace did not yield the
+ correct inheritance diagram.
+
References to anchors in grouped members or pages were not
+ correctly resolved.
+
Fixed a problem with argument matching for arguments that contained
+ classes imported via a using declaration.
+
+
Doxygen Release 1.2.7
+
Changes
+
+
The configgen tool is now replaced by a more dynamic parser. This
+ will allow future output generators to add specific options without
+ changing or recompiling the doxygen engine. Doxywizard has also been
+ updated to use this new parser. Developers that wish to add new
+ configuration options, please look at Config::create() in src/config.l
+
Changed the way the translators work internally (thanks to Petr
+ Prikryl for ideas and code) and updated the documentation regarding
+ language support and maintenance. Users of languages other than
+ English will get a warning message if the translation for their
+ language is not up to date.
+
Did some internal cleaning up to make things
+ more consistent and easier to maintain. Please let me know if you
+ think something has been broken in the process.
+
Doxygen now uses a more unique output file name mangling scheme, which
+ generates unique file names even if entity names (like class names)
+ only differ in case.
+
Setting ALLEXTERNALS = NO now hides external pages in the page index.
+
+
+
New features
+
+
\image is now supported for RTF output (thanks to Joe Ninety).
+
New RTF_EXTENSIONS_FILE that can be used to configure the RTF output
+ (thanks to Joe Ninety for the patch).
+
Added new command \htmlinclude that can be used to include a
+ HTML file as is in the HTML documentation.
+ (thanks to Uwe Wojak for the patch)
+
can now be put in the documentation to force a
+ non-breakable space.
+
Included support for the gcc extension #include_next
+ (thanks to Jac Goudsmit for the patch).
+
Included translation for Brazilian Portuguese sent by Fabio Jun
+ Takada Chino. Add update for the Czech translation
+ (thanks to Petr Prikryl). Also included updates for German
+ (thanks to Jens Seidel), Russian (thanks to Alexandr Chelpanov) and
+ Croatian (thanks to Boris Bralo).
+
Added RPM spec file update by Jens Seidel.
+
Added SHORT_NAMES option which can be set to YES to make doxygen
+ generate short (but non-informative) output file names.
+
Added new command \addtogroup that can be used to extend a group
+ defined with \defgroup with extra members and/or documentation.
+
+
+
Bug fixes
+
+
Inline sources weren't appearing for undocumented non-inline members.
+
Doxygen did not subgroup in case the parent group was
+ found after the child group. (thanks to Johan Eriksson for the patch
+ that fixes this).
+
Specifying a directory at the INPUT that ends with a \ did not
+ make doxygen recurse the down the directory tree in Windows.
+
Fixed two small bugs that caused segfaults on
+ NetBSD and Linux on 64bit Alpha's (thanks to Rex McMaster
+ and Ovidiu Toader).
+
"Referenced by" section now starts at a new paragraph
+ (thanks to Joe Ninety).
+
Setting OPTIMIZE_OUTPUT_FOR_C still produced some C++-ish
+ sentences for the list of all struct/union fields.
+
Undocumented friend functions were listed as friend classes.
+
A CORBA IDL union with a switch was not always recognized correctly.
+
doxygen did not handle try-function-blocks with multiple catch clauses
+ properly.
+
\bug and co. were not working for static members.
+
Formulas weren't correctly re-generated when changed.
+
relative include paths containing /../ were not linked, since they
+ were not normalized.
+
Locally included files where not searched in the directory containing
+ the file that did the inclusion, only in the paths specified with
+ INCLUDE_PATH.
+
Fixed problem with numbers in the generated eps file for non-english
+ systems (thanks to Vsevolod Novikov).
+
Generated bookmarks in the RTF output not starting with a letter caused
+ problems (thanks to Jonathan Beaupre for the fix).
+
Putting å in the docs wasn't working as expected.
+
Fixed a number of typo's in the docs (thanks to Jens Seidel and
+ Philippe Lhoste).
+
Autolinking could create links inside user defined HTML links.
+
Email addresses in the docs starting with an "a" and put inside sharp
+ brackets were not properly displayed (thanks to Abramo Bagnara for
+ the fix).
+
Fix several man page output bugs (thanks a patch by Patrick Ohly).
+
+
+
Doxygen Release 1.2.6
+
Changes
+
+
The \bug command now works like the \todo and \test commands; each item
+ documented with \bug will be cross-referenced with a bug list. The list
+ can be disabled by setting GENERATE_BUGLIST to NO in the config file.
+
+
+
New features
+
+
Included updates for Croatian, Czech and German,
+ Japanese, Italian and Russian translations.
+
Added option GENERATE_CHI that can be used to control whether
+ or not an .chi file should be generated by the HtmlHelp compiler
+ (default is NO).
+
Added option DOT_CLEANUP that when set to NO leaves the intermediate
+ dot files in the output directory.
+
Added option BINARY_TOC to enable/disable use of a binary table of
+ contents in a .chm file (thanks to Martin Slater for the patch).
+
Added option TOC_EXPAND to when enabled shows the members of a
+ group in the treeview and HTML help table of contents (thanks again
+ to Martin Slater).
+
Included group support for man page output (thanks to Joe Bester for
+ the patch).
+
Added option SHOW_USED_FILES that can be used to disable the
+ list of used files normally generated at bottom of the documentation
+ of classes and structs (thanks to Joe Bester).
+
Updated the doxbar tool:
+
+
the addin no longer requires administrator privileges to work
+ (thanks to Michael Beck)
+
the existence of files is now checked (thanks to Pekka Pessi).
+
.odl and .inl files are recognized (thanks to Pekka Pessi).
+
+
+
+
Bug fixes
+
+
doxygen.css was also used by the treeview even if the user specified
+ his/her own stylesheet.
+
Inline source blocks (INLINE_SOURCES=YES) were sometimes truncated
+ at the wrong closing bracket (thanks to Jac Goudsmit for the fix).
+
Some references to subsections were not correctly generated
+ (thanks to Stefan Ruppert for the fix).
+
Fixed IDL union parse problem (thanks to Richard Hash).
+
Latex output sometimes contained $\ast$ for code fragments.
+
lonely *'s were not removed inside a <pre> and <code> blocks.
+
Applied patch sent by Joe Bester to make the treeview
+ javascript work with Mozilla. Still has some problems though.
+
Fixed a bug in code parser regarding string detection, inside
+ the argument list of a function.
+
Using a command alias starting with \class (or other structural
+ commands) did not give the expected result.
+
A function pointer returned as the template argument of a template
+ class that itself is the return type of a function was not
+ parsed properly.
+
In IDL, typedef's followed by an attribute list where not parsed
+ properly.
+
The list of all members now shows all privately accessible members
+ if EXTRACT_PRIVATE is set to YES, instead of just the non-inherited
+ private members.
+
Fixed autolink problem for grouped members.
+
Multiple static global functions with the same name (but in different
+ files), which were forward declared, could make doxygen put
+ the wrong documentation block at the wrong global function.
+
Support for Norwegian was not enabled.
+
The correct charset is now set when the treeview is used (thanks to
+ Boris Bralo).
+
For inline source fragments of member functions, the types
+ of the arguments are now also taken into account for
+ cross-referencing.
+
A sentence ending with a dot, directly followed by a \n was not
+ handled correctly.
+
File reference extracted from a tag file could something cause
+ doxygen to generate a bogus warning.
+
Parsing large arrays of hex numbers took very long when the source
+ browser was enabled.
+
Fixed install rule in the Makefile
+
Doxygen now parses try-function-blocks correctly.
+
A zero initialized function pointer inside a namespace was
+ misinterpreted as a pure virtual function.
+
Applied Joe Bester's patch that fixes some LaTeX output problems.
+
Java Package info was not correctly read from a tag file.
+
Todo items in the documentation of grouped members were not
+ correctly referenced from the todo list.
+
Removed bogus "a" entries from appearing in doxysearch's search results.
+
Putting <a href="..."><img src="..."></a> in the
+ docs will now work as expected for HTML.
+
Fixed problems with >pre>...>/pre> block in LaTeX.
+
Putting ç in the docs now produces a c-cedille.
+
+
+
+
+
Doxygen Release 1.2.5
+
Changes
+
+
Split up doxygen into a library and an executable part,
+ and moved the XML generation part to a separate front-end
+ (see addon/xmlgen).
+
Having SOURCE_BROWSER set to YES does not automatically
+ imply that a member is documented.
+
Typedefs of classes are now shown in (dot) inheritance graphs with
+ their typedef name instead of the resolved name.
+
Upgraded Qt files to 2.2.3 to fix some compile issues.
+
+
+
New features
+
+
Added initial support for Java. The parsing of Java code
+ should be ok. There is a new "packages" index, with a list
+ of all parsed Java packages, each of which can be documented
+ (but not yet in the Java way using package.html) and contains
+ links to the interfaces and classes in the package. The code
+ parser still needs work (It doesn't do much cross-referencing yet).
+ Also any explicit package scope for classes is basically ignored,
+ so you cannot have two classes with the same name in different
+ packages.
+ Let me know if you know of other improvements.
+
Added support for the Java style of linking (using
+ {@link package.object#item()} as syntax)
+
Added file, compound and namespace members to the treeview index.
+
New configuration option MAX_INITIALIZER_LINES that can be
+ used to control when/if the initial values of variable and defines
+ are shown in the documentation.
+
OPTIMIZE_OUTPUT_FOR_C flag that when set to YES makes doxygen produce
+ output that looks more natural for C programmers.
+
Included Czech language update sent by Petr Prikryl.
+
Added "Binary TOC=YES" and "Create CHI file=YES" to the HtmlHelp
+ project file for better integration with MSDN.
+
I've updated the doxbar tool:
+
+
sources are appended to the INPUT line of the template config file
+
sources mentioned in the .dsp with quotes (i.e. "c:\bla.cpp") are now
+ handled properly (thanks to Robert Radtke for the fix).
+
+
+
+
Bug fixes
+
+
Fixed 0-pointer bug that could crash doxygen in some cases.
+
Starting a list in a brief JavaDoc-style description split
+ the list into two invalid parts if a list item ended with a dot.
+
Fixed a problem with linking to grouped class members.
+
Indenting of code fragment in LaTeX output was not always correct.
+ Also for code lines starting with a * the * was removed.
+
Typedefs where not properly extracted from tag files.
+
Links to operators in a "See also" section did only work if the
+ arguments list was given.
+
Fixed parse bug in the code parser for the case where "<"
+ and ">" were found on a line but couldn't possibly be a
+ template scope.
+
The "More..." links was incorrect for members of class grouped
+ with @ingroup.
+
Fixed preprocessor parse bug that occurred when parsing string
+ literal "...\\" as an macro argument.
+
Fixed buffer overflow problems when parsing very long input lines
+ (thanks to Arnault Bonafos).
+
References to pages and anchors imported via tag files did not work.
+
Local references to page anchors did not work.
+
Windows only: doxygen leaked process handles while running dot
+ (thanks to Jeroen ter Hofstede for the fix).
+
Undefining (with #undef) a define set using PREDEFINED now
+ longer has an effect.
+
Functions appeared twice in modules if the prototype and definition
+ did not match exactly.
+
the word "operator" in todo items caused problems.
+
Fixed some more problems with references to external pages,
+ local references to sections, and naming conflicts with multiple
+ todo/test lists.
+
"char a:1, b:2" resulting in output including both bitfields for b.
+
The protection level of the members in the all-member list was not
+ always correct.
+
Fixed some typos in the Dutch and German translations.
+
\todo's in the docs of #define did not end up on the todo list.
+
"typedef volatile struct {} name;" was not handled properly.
+
HTML header and footer file are now read only once.
+
Fixed 2 memory leaks.
+
+
+
+
Doxygen Release 1.2.4
+
+
Changes
+
+
New XML-based tag file format.
+ Note: If you are already using tag files, you need
+ to regenerate them, because the old format is no longer supported!
+
Removed the "No description available" for classes without brief
+ description in the compound list.
+
User defined groups (a.k.a. modules) are now shown in a hierarchy.
+
If a function and its prototype are both inside different documented
+ files then they may both be documented separately and will appear
+ as such in their file documentation
+ If you only document the header file and not the source
+ file you can still put your documentation in front of the function
+ definition as before.
+
For unresolved base classes of a class inside a namespace, doxygen
+ now guesses they are defined outside the namespace (was inside).
+
Performance: replaced O(n^2) sort routines for member lists
+ with O(nlog(n)) versions.
+
+
+
New features
+
+
There is now an HTML Help like tree view, that can be enabled
+ by setting GENERATE_TREEVIEW to YES.
+ This feature requires a browser that supports frames and javascript.
+ Note that frame/page-resizing requires a manual reload with
+ Netscape 4.x at the moment (it is a known netscape bug).
+ (thanks to Ken Wong for providing the code to generate the tree
+ in the proper format).
+
Added new option TREEVIEW_WIDTH that can be used to set the initial
+ with of the treeview frame.
+
A warning is now generated for invalid \link targets
+ (again thanks to Ken Wong).
+
Wang Weihan sent an update for the Chinese translation which is now
+ included. Included update for the Russian and Italian language as well.
+
Support for Borland C++ and MINGW compilers for Windows
+ (thanks to Oliver Brandt for the patch).
+
Groups and pages defined in external documentation (i.e. with tag files)
+ can now be referenced using \ref.
+
Pages can now be put into groups using \ingroup (thanks to Ken Wong).
+ A group with only pages is rendered as a page (the group itself)
+ with subsections (the inserted pages).
+
\ingroup can now be put in a one line comments (thanks to Patrick Ohly)
+
\ingroup in a comment block before a comma separated list of
+ variables is now applied to all variables (as is the documentation
+ itself). (thanks to Patrick Ohly for the patch)
+
@{ .. @} blocks can now be used for normal groups as well
+ (thanks to Trevor Robinson for the patch). Here is an example:
+
+ /** @defgroup mygrp My Own Group
+ * @brief My brief group description.
+ * @{
+ */
+
+ /** @name My member group
+ * @{
+ */
+ /** This is a function */
+ void func1();
+
+ /** Another function */
+ void func2();
+
+ /** This is a typedef */
+ typedef int Int;
+
+ /** @} */
+
+ /** This is a variable */
+ int var;
+
+ /** This is a define */
+ #define DEF def
+
+ /** @} */
+
+
Normal groups can now also be nested using /*@{*/ ... /*@}*/ blocks
+ (thanks to Patrick Ohly for the patch)
+
+
+
Bug fixes
+
+
+
If source files were put in the input before header files, the
+ declaration against definition matching did not work for
+ global functions (thanks to Frank Warmerdam for reporting this).
+
The template argument type and name of template functions
+ were not separated by a space.
+
A comma separated list of member reference variables (like int &i,&j;)
+ was not parsed correctly.
+
Removed bogus warning when excluding non-existent files or directories
+
Fixed problem parsing nameless bit padding fields.
+
Fixed a pointer bug in the XML generation that could crash doxygen.
+
The code parser did not cross-reference functions inside namespaces
+ and nested classes.
+
Only the first member of a member group was shown in a group
+ definition.
+
REPEAT_BRIEF = NO now works for class, namespace and file documentation
+ as well.
+
No macro-expansion was done on a file that was #include'd in a body
+ of a class or enum.
+
Fixed macro concatenation bug in the preprocessor.
+
Global functions that were \ingroup'd could appear twice in a group
+ in some cases.
+
% and & can now be used in the URL in the documentation.
+
\c,\e and \b now also generate a link if they have the name of a
+ documented file as their argument.
+
Made the FILTER_SOURCE_FILES actually do something
+ (it was always treated as enabled).
+
Fixed two bugs in the autolist feature (thanks to Ken Wong)
+
Fix macro expansion bug in the preprocessor, when macro's
+ where used as the argument of an #include.
+
// did not work inside the argument of a \todo or \test command.
+
Doxygen did not parse arrays of function pointers properly.
+
Fixed parse bug for templates with nested template arguments.
+
Fixed parsing problem for template arguments
+ containing << or >> operators
+
Fixed some problems with the DOT_PATH config option on windows.
+
Group title and file names are now shown in the latex index instead
+ of the label names.
+
Portability: Added workaround for SGI MipsPro compiler, that
+ (hopefully) prevents it from crashing while compiling doxygen.
+ Worked around a number of compile problems with HP's C++ compiler.
+
Fixed problem with doxygen calling epstopdf.bat in Windows.
+
Fixed some problems that occurred when regenerating the
+ doxygen manual on Windows.
+
Fixed some output formatting problems regarding templates.
+
Global functions, typedefs, and enums did not get linked when
+ were read in via a tag file.
+
Using /* inside an \code ... \endcode block confused the parser.
+
+
+
Doxygen Release 1.2.3
+
+
Changes
+
+
enum values are now packed in groups of 4 in the declaration part
+ of the HTML docs.
+
JAVADOC_AUTOBRIEF is now set to NO by default, because too many
+ people expect the JavaDoc-style to behave as the Qt-style and
+ not in the way described in the JavaDoc spec.
+
The distribution now includes the part of Qt-2.2.0 that is needed for
+ compilation of doxygen, doxytag, and doxysearch. I've also created the
+ missing files for Windows. This allows compilation of doxygen on systems
+ without X11 or the full Qt. For doxywizard Qt-2.2.x is still required
+ however.
+
+
New features
+
+
Support for the Slovene language (thanks to Matjaz Ostroversnik)
+
Bit fields for struct members are now shown in the documentation.
+
Enabled "favorites" and "Full text-search" for the generated
+ HTML Help browser files.
+
Added support for M$-IDL properties. The "methods:" section
+ now also works.
+
Added support for Borland C++ builder "__published:" and "__property:"
+ sections. (__published: is just treated as public:).
+
Included update for the Czech language. Thanks to Wang Weihan there is
+ also support for Chinese output now.
+
Added a config option WARN_LOGFILE to log warnings to a
+ file for those
+ people that have to use certain "operating systems" that do not support
+ redirection of stderr to file.
+
Added a config option GENERATE_LEGEND that can be used to disable the
+ legend page normally generated for explaining dot graphs.
+
Thanks to a patch send by Micha Bieber, doxygen can now be run from
+ inside doxywizard.
+
Environment variables can now be used in the @INCLUDE_PATH
+ and @INCLUDE tags in the config file (thanks to Stephen
+ Goudge).
+
Windows compilation/installation instructions are updated (thanks to
+ Petr Prikryl)
+
New config tag ENUM_VALUES_PER_LINE to set the number of
+ enum values
+ that are grouped on one line (default=4).
+
#include's inside the body of a class are now expanded.
+
The source browser files can now by filtered using the
+ INPUT_FILTER if FILTER_SOURCE_FILES is set
+ to YES (thanks to Paul Strauss).
+
+
Bug fixes
+
+
For #foo in member documentation doxygen was trying to find
+ a global variable named foo instead of a member. Use ::foo
+ to make an explicit link to a global variable in case there is
+ also a member named foo.
+
A bullet list ending with a \par sometimes caused the paragraph to
+ be indented.
+
When STRIP_CODE_COMMENTS was set to NO, and /*!< .. */ style
+ comments were used, the code parser got out of sync with the
+ documentation parser.
+
(Hopefully) fixed some Solaris compile problems
+ (thanks to John Sturton).
+
documentation for private slots appeared in the documentation even
+ though EXTRACT_PRIVATE was set to NO.
+
\relates was not working for nested classes or classes defined
+ within a namespace.
+
namespace alias support was broken with respect to inheritance
+ relations containing aliased namespace names.
+
The documentation of members that are put into a
+ group (with \ingroup) is now removed from the natural
+ container of the member. Also the links are now corrected.
+
Links from the code parser to static global functions are
+ now always pointing to the correct file (thanks to Bill Soudan
+ for the patch).
+
Fixed HTML bug in non-indexed namespace member lists.
+
Using ':' inside ID's caused problems for some
+ XML parsers, I'm now using "__" instead. Also removed @ from appearing
+ in the output when anonymous compounds were used.
+
Fixed output bug that is caused by nesting paragraph commands
+ inside autolists.
+
Doxygen no longer generates source files for input files that
+ end with .doc or .txt
+
Fixed argument matching problem that could result in parameter name
+ changes for overloaded functions. Also fixed buglet for
+ matching things like "unsigned int" against "unsigned int name"
+
Fixed qtools compile problem with ./configure --english-only problem
+
Putting documentation between the class and its body now also works
+ if the class has base classes.
+
Fixed parse problem for const function pointers like
+ "int* (* const name)(long);"
+
Slightly changed the HTML output to work around display "bugs" in
+ Konquerer and Opera (thanks to Achim Spangler).
+
Examples in compress HTML help of doxygen's manual has absolute links.
+
+
+
Doxygen Release 1.2.2
+
Changes
+
+
Verbatim headers are now also created if a documented header
+ file does not contain a struct or class (unless VERBATIM_HEADERS = NO
+ of course).
+
For member groups, where only the first member is documented, that
+ documentation is no longer automatically copied to all other
+ members of the group. You can still enable this by setting
+ DISTRIBUTE_GROUP_DOC to YES in the config file.
+
The \mainpage block now gets its own chapter in Latex/RTF
+
+
New features
+
+
Added support for KDE-2 IDL (more specific: k_dcop member sections).
+
New ALIASES config option which allows you to add one or more user
+ defined aliases (a.k.a. macros) that can be used as commands in the
+ documentation. For instance:
+
+ ALIASES = "sideeffect=\par Side Effects:\n"
+
+ allows you to put @sideeffect in the documentation, which doxygen
+ will replace by "\par Side Effects:", before parsing. As a result
+ a formatted paragraph with a "Side Effects" header will appear.
+ Note that the \n's are replaced by real newlines, so in the example
+ you can put your paragraph text directly after the sideeffect command.
+
Added language support for Hungarian (Thanks to György Földvári),
+ Korean (thanks to Richard Kim), and Romanian (thanks to Alexandru Iosup).
+ Received language updates for Italian, Polish, Croatian, Czech,
+ Hungarian and Russian.
+
Added support for namespace aliases.
+
Added RTF patch from Alexander Bartolich. Here is his description of
+ the changes:
+ "The following patch of rtfgen.cpp allows to read *complete* style
+ definitions from rtfstyle. This includes \sbasedon, \snext, \additive
+ and actual style names.
+
+ If this data is missing the default value is used.
+ This means old rtfstyle-files can be used without change, with one
+ exception:
+ Reset is no longer considered a style. Since unknown style names
+ are simply ignored I don't consider this a big problem.
+ There is no means to write rtfstyle in old format, however.
+ "
+
Documentation can now also be put after the initializer of a constructor
+ but before the body.
+
+
Bug fixes
+
+
RTF output was broken w.r.t. dot generated images.
+
Spacing and blanks inside <pre> ... </pre> block were not
+ properly preserved.
+
Fixed lock-up when parsing "enum A { A };"
+
If INLINE_INFO was set to NO an empty property list could be put after
+ the function definitions.
+
Fixed source code linking for the following cases:
+ A::func().func2()
+ and a[2]->func().
+
\em %className did not remove the %
+
In some cases namespace members ended up multiple times in the
+ documentation.
+
Fixed a bug in the auto list generation.
+
\latexonly inside brief description did not work properly.
+
"Referenced By" list did not include constructors with
+ inline initializers.
+
ä and such were not parsed when used as the argument of a section.
+
A struct inheriting from a base class was marked as private inheritance
+ while it should be public inheritance.
+
The autobreak routine for long return types was sometimes skipping
+ characters.
+
Class usage relations should now also appear in the collaboration
+ diagrams for classes within the same namespace, without explicitly
+ having to mention the namespace.
+
+
+
+
+
+
Doxygen Release 1.2.1
+
+
Changes
+
+
I have completely rewritten the \todo code. Now a \todo command have a
+ paragraph as argument. The todo list has a header for each
+ item indicating where the todo item was found. The todo list (and
+ all todo items) can be disabled by setting GENERATE_TODOLIST to NO.
+
<pre> ... </pre> blocks now behave as in plain HTML instead of
+ \code ... \endcode blocks. This also works for LaTeX of course.
+ These blocks differ from \verbatim ... \endverbatim blocks in that
+ commands can be used inside these blocks.
+
+
New features
+
+
Added rudimentary support for XML output. Still very much work in
+ progress... You can enable it by setting GENERATE_XML to YES.
+ There is a small utility (based on Qt & Xerces-C) in addon/xmlread
+ that uses the SAX interface to read a generated XML file and then dumps
+ the class hierarchy contained in it.
+
Thanks to a patch sent by Christophe Prud'homme, doxygen now has a new
+ option USE_PDFLATEX that when set to YES makes doxygen use
+ pdflatex instead of latex to generate refman.pdf. The
+ result is a document with higher quality fonts.
+
Added a \test command that works similar to \todo and can be used to
+ describe test cases. Doxygen will generate a page containing a list
+ of all test cases. To disable the list set GENERATE_TESTLIST to NO.
+ Thanks to Dave Murrell for the idea and the initial code.
+
For each list option in the config file += can now be used to append
+ something to a list. Thanks to Joerg Baumann for adding this.
+
Numbered items are now supported like this:
+
+ /*!
+ This is nested list:
+ - It can be either one of following:
+ -# An apple
+ - Green or
+ - Red
+ -# An orange
+ - Or one of the following:
+ -# A plane
+ -# A bird
+
+ More text follows.
+ */
+
Doxygen will now do give proper warnings for formulas that do not
+ end properly.
+
Improved error reporting for illegal list combinations (thanks to
+ Joerg Baumann for the patch)
+
Comments from the code example in the dot graph "legend page" was
+ stripped if STRIP_CODE_COMMENTS was set to YES.
+
In the config file "@INCLUDE = file" can now be used to include
+ part of a configuration file. "@INCLUDEPATH = dir1 dir2 ..." can
+ be put in front of it to add search paths (default is $PWD).
+ Thanks to Joerg Baumann for the patch.
+
Added alphabetical quick indices for compound, file and namespace
+ member lists.
+
+
Bug fixes
+
+
Running ghostscript on Windows for generating formulas was done
+ asynchronously, resulting in ghostscript trying to access temporary
+ files that may already have been deleted by doxygen. Thanks to Robert
+ Golias for the code to fix this.
+
Include dependency graphs failed to get included in LaTeX because
+ \includegraphics did not like the dots in the generated file names.
+ Those dots are now escaped by underscores.
+
The \remark did not end a brief description in JavaDoc comments,
+ resulting in a error in the generated LaTeX.
+
"operator >>" was not matched against
+ "operator>>"
+
the (required) space after \addindex ended up in the LaTeX index,
+ causing all generated entries to be placed after the user added entries.
+
"typedef class A<B> a;" is now correctly handled in inheritance
+ relations.
+
Fixed some typos in the manual
+
\c Class::func(arg) was not autolinked.
+
Doxygen stopped reading from stdin after 4096 bytes.
+
In code fragments no autolinks for local variables or
+ dereferenced arguments were generated for template classes.
+
autolinking to a namespace member foo from within a class scope also
+ having a member foo did not work.
+
The brief description was prepended before \todo and \test.
+ The reference from the todo and test lists back to the documentation
+ did not work for overloaded members.
+
specifying width or height for \images was not handled properly.
+ (width and height were repeated). Now you can also use commands like
+ \textwidth as the width or height.
+
After expanding an environment variable in the config file, the
+ next environment variable was searched starting at the wrong position.
+
Fixed LaTeX/RTF labelname collisions between members of files and
+ groups, and between classes and groups with the same name.
+
HTML image map partly appeared in RTF output when built-in class
+ diagrams were used causing the RTF file to be truncated.
+
Inheritance relation was not determined correctly in case a base
+ class was imported from another namespace via a using declaration.
+
Todo and test items defined with \class or related block, where
+ sometimes missing from The todo & test
+
Preprocessor: Multi-line #define's where not properly parsed & colored
+ on windows due to \r's
+
Preprocessor: expansion of M(x)A, where M is a macro
+ that expands to mx, resulted in
+ "mxA", instead of "mx A"
+
Fixed compile problem with Qt-2.2.0beta1
+
+
+
Doxygen Release 1.2.0
+
+
Changes
+
+
CASE_SENSE_NAMES is now enabled by default.
+
In LaTeX .eps images are now included using the
+ graphicx package instead of epsfig to simplify the use of pdflatex
+ (thanks to Pier Giorgio for showing me how that works).
+
Reimplemented the system() call for Unix, so doxygen becomes
+ interruptible when calling external tools such as dot.
+
Changed the way -w works. It can now also be used to generate
+ template header and footers.
+
+
New features
+
+
Grzegorz Kowal added support for the Polish language. His patch
+ is now included.
+
A \par command without title argument can now be used to
+ add a new paragraph with the same indent under the heading of
+ another command (such as \par, \param,
+ \note, etc...)
+
Added a legend page explaining the various arrows and box colorings
+ for the class diagrams generated by dot.
+
Merged update for Croatian language.
+
Relative paths are now also allowed for the
+ STRIP_FROM_PATH tag.
+
Added a new section to the manual explaining the use of tag files
+ in more detail. Also move the contents of the INSTALL file into
+ the "installation" section of the manual.
+
Added ps_2on1 and pdf_2on1 targets to the
+ Makefile generated in the
+ LaTeX directory. These can be used to generate manual with 2
+ logical pages on 1 physical pages (Thanks to Onno).
+
Merged Czech language update from Petr Prikryl. Merged Spanish
+ language update sent by Lucas Cruz.
+
Added standard GNU long options --help and
+ --version.
+
Added a -w option that can be used to generate template
+ style sheet files for RTF, HTML, Latex. Thanks to Alexander Bartolich
+ for the idea and part of the implementation.
+
Merged patch from Steve Hespelt, which adds a new configuration
+ option: INCLUDE_FILE_PATTERNS. This tag can be used to
+ set the file patterns for the include files (if left empty the
+ FILE_PATTERNS will be used, which was also the old
+ behaviour).
+
Added a couple of commands for kdoc compatibility: @p,
+ @li, @em.
+ Also made @ref a bit less strict.
+
Portuguese translation by Rui Lopes.
+
+
Bug fixes
+
+
Documenting member function pointers with \var like this:
+
+
+ /*! class B */
+ class B
+ {
+ public:
+ void (B::*pmf)();
+ };
+
+ /*! \var void (B::*B::pmf)()
+ * docs for this class member.
+ */
+
+
+ did not work.
+
Library blocks inside M$-IDL files are now also processed
+ (a library is treated as a namespace at the moment).
+
Argument matching did not work for array argument with different
+ amounts of whitespace.
+
If a namespace definition was found before its documentation than
+ grouping it (with @ingroup) did not work.
+
Global functions within anonymous namespace scopes did appear
+ in the documentation with the anonymous scope marker used internally
+ by doxygen.
+
"namespace{}",so without space was not recognized as a namespace.
+
If the search engine was used then running installdox on the generated
+ html resulted in bogus links to the search engine.
+
Fixed some compiler warning on Solaris.
+
Changed grey by grey50 in dot.cpp to avoid PDF conversion problems.
+
A </pre> that was not preceded by a whitespace was ignored
+
The methods operator<() and operator<<() were not
+ automatically linked anymore.
+
Some special characters in LaTeX were eating up the blanks that
+ followed them.
+
The built-in C preprocessor did not evaluate the following to TRUE:
+
+ #define A
+ #define TO_BE_EVALUATED defined A
+ #if TO_BE_EVALUATED
+ ...
+ #endif
+
+
Improved code parsing a bit: things like
+ getClass()->func() and
+ (*pb)->func() should now work. Also the scope of the
+ body is correctly detected in case of inline constructor initializers
+ like: A() : m_a(10) { ... }
+
File index is now in (path,name) lexical order, instead of (name,path)
+ order. The file index is also only generated once instead of twice ;-)
+
Typedefs to structs in C-style did (still) not get resolved as "usage"
+ relations for the collaboration diagrams.
+
Fixed some HTML output typos reported by Onno Kortmann (who used
+ the tool "html tidy" on the generated output).
+
Merged a patch from Paul Lieverse that should solve the empty image
+ map problems on Solaris.
+
If the title of a \defgroup contained a documented class, a
+ nested (and thus broken) link was generated.
+
Externally defined variable were treated as variable definitions.
+
If a file only had a verbatim header but no documentation, a
+ link broken link was added to the HTML help TOC.
+
Fixed "member with no name" warning that occurred when a enum's
+ last value ended with a comma and the enum was inside a member group.
+
A <dl> type of list with multiple <dd>'s did not give
+ the correct output in LaTeX.
+
SORT_MEMBER_DOCS is NO only worked for
+ class members.
+
Both the prototype and the definition of a global function
+ appeared in a \defgroup.
+
Fixed some visual problems with operator links in source code
+ fragments.
+
Code parser got confused by template specifiers. Also improved
+ linking of typedef'ed classes.
+
A warning was generated if the same function was defined both inside
+ and outside a namespace.
+
+
+\endhtmlonly
+\section log_1_1 1.1 Series
+\htmlonly
+
+
Doxygen Release 1.1.5
+
+
Changes
+
+
If DISABLE_INDEX = YES and a user defined main was specified
+ (with \mainpage), then no index will be generated anymore.
+
RTF output is now enabled by default.
+
LaTeX output now uses fancyhdr instead of fancyheader.
+
If the search engine is enabled, the default config values will be
+ put into the generated HTML files, so you do not need to run
+ the installdox script, if the initial values are ok.
+
+
New features
+
+
Added a new config option HIDE_SCOPE_NAMES that can be set to YES
+ to hide the namespace and class scopes that are put in the
+ documentation and diagrams.
+
added a new type of graph, that can be used to visualize
+ which files #include (i.e. depend on) a given file. This graph is
+ enabled by setting HAVE_DOT and INCLUDED_BY_GRAPH to YES.
+
added new configuration option EXTRACT_STATIC that can be used
+ to enable/disable the extraction of static file members. The behavior
+ of this option used to be linked with EXTRACT_PRIVATE.
+
Added two new configuration options MAX_DOT_GRAPH_WIDTH and
+ MAX_DOT_GRAPH_HEIGHT that let the user configure how big the
+ generated dot graph may become.
+
Added a new configuration option EXPAND_AS_DEFINED that can
+ be used in combination with PREPROCESSING = YES, MACRO_EXPANSION = YES,
+ and EXPAND_PREDEF_ONLY = YES, to expand a given list of macro names,
+ as they are defined in the sources.
+
Merged Alexander Bartolich's RTF style sheet patch.
+ A new config option RTF_STYLESHEET_FILE is now available with which you
+ can specify a style sheet file. The style sheet file should contain
+ a list of assignments. The assignments can be used to overwrite the
+ definitions of the various styles with user defined settings.
+
Added a new command @since for JavaDoc compatibility.
+
Added two new commands: \remarks and \attention that work in a
+ similar way as \warning, \pre, \post, et al.
+
If SOURCE_BROWSER = YES, each member function documentation
+ now includes a list of member functions that call the member
+ somewhere in their body.
+
RCS/CVS tags of the form $word:text$ are now nicely typeset in the
+ documentation.
+
Providing all members of an enum with the same documentation can
+ now be done with member grouping like this:
+
Member grouping can by denoted more compactly like this:
+
+ //@{ Same documentation for each function
+ int getFunc1();
+ int getFunc2();
+ //@}
+
+ /*@{ @name Set functions
+ * Functions for setting values.
+ */
+ void setFunc1(int v);
+ void setFunc2(int v);
+ /*@}*/
+
+
Merged Czech language support patches send by Petr Prikryl. Also
+ removed some obsolete methods from the translator files.
+
Call chains like a->b()->c() are now followed
+ by the code parser so c() is linked if documented.
+
+
Bug fixes
+
+
the warning message in case of ambiguous file matches was containing
+ a bogus %s, which could even crash doxygen.
+
An autolist followed by a \retval, \param, or \exception did
+ produced invalid output, resulting in a compile error in LaTeX.
+
" has a special meaning in LaTeX when the german babel package
+ is loaded. Doxygen now produces proper output for text containing
+ quotes.
+
The title of a related page was not properly parsed, causing
+ HTML special characters to end up in the output for some languages
+ (German for instance).
+
The hierarchy shown in the "Contents" part of the html help
+ browser did not properly show the hierarchy when it contained
+ undocumented classes.
+
explicit compound specifiers in the return type could lead to
+ parse problems. Example:
+
+ enum SomeEnumType_e Func()
+ {
+ ...
+ }
+
+ This was parsed as an enum definition.
+
A user defined style sheet did not get included properly, if it
+ was specified with a (partial) path in HTML_STYLESHEET.
+
Linking in code fragments now works with nested classes
+ and links to the correct reimplemented member are generated.
+
\ingroup did not work when grouping enums
+
members of a module were not cross-referenced with the sources.
+
Function pointers like void ( *func )() where not
+ correctly parsed because of the extra spacing between
+ the `(' and the `*'.
+
The const in void func(int * const val /*< a value. */);
+ was named part of the name, instead of the type.
+
Removed bogus warning in case of global function pointer variables.
+ Function pointers inside namespaces and member function pointers
+ did also produce bogus warnings.
+
Fixed a misalignment problem with inline source fragments.
+ Also the initializer list after a colon is now included in an inline
+ source fragment.
+
Case sensitivity of file names was set before the configuration file
+ was parsed, causing the default value of CASE_SENSE_NAMES to
+ be used in any case.
+
added a space after "file" in the groupdef docs (thanks Hauke)
+
Documentation blocks can now also be put just after a class name, like
+ in:
+
+ class C
+ /*! documentation here */
+ {
+ ...
+ };
+
+ This was already possible for functions.
+
Due to a bracket counting bug, throw clauses where not always
+ parsed properly.
+
Fixed a parse bug for the following code-pattern:
+
+ void Class::
+ // Comment
+ method() {}
+
+
With the newer Qt versions (2.1.x), passing a null string as the first
+ argument of QRegExp::match seems no longer be allowed,
+ so I added some extra checks to avoid potential crashes.
+
The title of the documentation of a template class now explicitly
+ states that it is a template. (For non-English languages,
+ this still requires a change to trCompoundReference() in
+ translator_xx.h).
+
Fixed a problem with matching methods of template classes.
+
commenting out a section or subsection with <!-- -->
+ did not work.
+
Fixed some inconsistencies in the configuration page of
+ the documentation.
+
Some operators like operator[](),
+ operator|() and operator!()
+ did not appear correctly in the LaTeX index.
+
If an include file name matched a directory name, then the
+ directory could be found first in the INCLUDE_PATH. This resulted in a
+ scanner error.
+
Fixed parse problems that occurred when << or >> was
+ part of a template argument list.
+
Fixed some more parse problems that occurred when parsing base classes
+ that were nested templates.
+
variables whose name started
+ with an _ like struct {int x; } _var;
+ where not properly parsed.
+
LaTeX formulas did not work in the brief description of a JavaDoc
+ style block that was put after an item.
+
Empty group definitions were not properly handled.
+
References to pages using \ref did not work in LaTeX.
+
Members that are typedef's to classes are now shown in the
+ collaboration diagram.
+
+
+
+
Doxygen Release 1.1.4
+
+
Changes
+
+
The member definition that is put before the detailed
+ documentation section should now be layouted a bit better for members
+ of classes with lots of template arguments.
+
The HTML pages now have a new doxygen logo at the bottom. This logo has
+ a transparent background and no shadow or anti-aliasing, so it looks
+ equally nice on all backgrounds.
+
If the first member of a member group is documented, this documentation
+ is now repeated for all undocumented members of that group.
+
The following is now treated as one parameter list with two
+ parameters, instead of two lists with one parameter each.
+
+ /*!
+ * @param a the first parameter
+ *
+ * @param b the second parameter
+ */
+
+ The same goes for the @retval and @exception commands.
+
+
New features
+
+
In code fragments: added different colors for keywords that are
+ types, and for keywords that deal with the flow control.
+ Also added colors for string and character literals.
+
Added a new command \nosubgrouping that can be put in the documentation
+ of a class. It can be used in combination with member-grouping
+ to avoid that doxygen puts a member group as a subgroup of a
+ Public/Protected/Private/... section.
+
+ Example:
+
+ /*! A class.
+ * \nosubgrouping
+ */
+ class Test
+ {
+ public:
+ /*! \name A member group
+ */
+ //@{
+ /*! Docs for both members in the group. */
+ void Member1();
+ void Member2();
+ //@}
+ /*! A member outside of the group. */
+ void Member3();
+ };
+
+
Added three new configuration options:
+
+
WARN_IF_UNDOCUMENTED which can be used to turn on or off warning
+ message related to undocumented entities. This works independently
+ of the WARNING tag, which is there to enable/disable all
+ other warning messages.
+
WARN_FORMAT which can be used to specify the format of the warnings
+ produced by doxygen. The argument is a free form string
+ that must contain a $file, $line and $text marker.
+ The $file and $line markers will be replaced by the file name and line
+ number from where the warning originated.
+ The $text marker will be replaced by the actual warning text.
+ The default argument format string is: "$file:$line: $text".
+
DOT_PATH that can be used to specify the path
+ where the dot tool is to be found, in case it is not in the
+ default search path.
+
+
Added rudimentary support for using declarations. The following
+ now works:
+
+ /*! Docs for the namespace. */
+ namespace N
+ {
+ /*! Docs for class Test. */
+ class Test
+ {
+ public:
+ void func();
+ };
+ };
+
+ using N::Test;
+
+ /*! The documentation for func is here */
+ void Test::func() {}
+
+ Using of individual functions remains unsupported.
+
collaboration and include dependency graph are now also included
+ in the LaTeX documentation.
+
Thanks to Tim Mensch, doxygen has now has a \todo command, which
+ can be used put todo items in the documentation.
+ All items will automatically be cross-referenced with a
+ (generated) todo list. Here is an example:
+
+ /*! \mainpage
+ * \todo write something useful here.
+ */
+
+ /*! A class
+ * \todo Add more comments here
+ */
+ class Test
+ {
+ public:
+ //! \todo implement this function
+ void func();
+
+ /*! Computes stuff.
+ * \todo can we combine this with Test::func()?
+ * More docs.
+ */
+ void func2();
+ };
+
+
+ Note that the arguments of the \todo command ends at the end of the
+ line.
+
membergroups in files can now also be header-less. Example:
+
The `explicit' and `mutable' keywords are now recognized as
+ member attributes instead of return types.
+
the index page is now added to the HTML help contents.
+
In case "no matching member" is found, a list of possible
+ (but non-matching) candidates is generated along with the warning.
+ This makes it much easier to see what's wrong.
+
added two new commands:
+
+
\hideinitializer which can be put in the documentation to
+ a variable or the define to hide the initializer or define value.
+
\showinitializer which can be used to explicitly show the
+ initializer of a variable or the value of a define even if it
+ is longer than 30 lines.
+
+
+
Bug fixes
+
+
Fixed a lock-up problem, that occurred when
+ parsing a code fragment containing something like:
+
+ //
+ /*!
+ blah
+ */
+
+ while STRIP_CODE_COMMENTS was set to NO
+
The auto list feature was still broken.
+ Due to a bad scanner rule, things like -1 at the start of a line
+ were treated as a list items (again) and a list at the end of a
+ comment block did not always work either.
+
If an non-existent config file was specified, the directories
+ "html", "man" and "latex" were created anyway.
+
A fragment like: os << ">" was misinterpreted
+ by doxygen's code parser.
+
Parameter declarations that differ only in the presence or absence
+ of const and/or volatile are now treated as equivalent, as is
+ dictated by the C++ standard.
+
The inline function body was wrong in the following example:
+
+ void f(
+ int i ///< Parameter
+ )
+ {
+ return 1;
+ }
+
+ Thanks to Alexander Gidon for the fix.
+
typedef'ed classes are now also resolved in code fragments
+ (again thanks to Alexander).
+
Fixed a bug related to base classes with nested template specifiers,
+ like class SB in the following:
+
+ template <class T> class C {};
+ template <class T> class S {};
+ template <class T> class SB {};
+ template <class T> class S<C<T> > : public SB<C<T> > {};
+
+
#includes in code fragments where not hyperlinked. Operator
+ methods were also not correctly recognized.
+
C/C++ comments inside initializers where not handled properly.
+
If the type of an argument of a member definition was prefixed
+ with a (redundant) scope name of an indirect base class,
+ then it was not matched against the member declaration if that
+ omitted the scope.
+
\name did not work within //! comments
+
When FULL_PATH_NAMES was set to YES, doxygen did no longer
+ distinguish between files with the same name (but in
+ different directories).
+
The file match routine now does an case-insensitive lookup
+ if CASE_SENSE_NAMES = NO. Hopefully this is enough to
+ let doxygen ignore case differences in file names on Windows.
+
The constructors and destructors of classes inside namespaces
+ or other classes did not end up in the constructor/destructor
+ section of the documentation.
+
If an environment variable in the config file starts with a space
+ followed by a list of words, the space ends up in the first word
+ after expansion.
+
A <table> inside a JavaDoc style comment block caused a bogus
+ warning.
+
Using member groups could result in an empty list generated in
+ LaTeX, causing a error while compiling the documentation.
+
Fixed a missing stdlib.h problem in doxywizard, which occurred
+ on non-Linux systems.
+
The generation of dot include graphs did not work properly in
+ case file names with space were used.
+
back-references from source-lines to documentation only worked for
+ those members of a member group that were explicitly documented.
+
doxygen did not distinguish between func(int a) and func(int a[])
+ which could cause documentation to end up at the wrong member
+ in case over overloading.
+
+
+
+
+
Doxygen Release 1.1.3
+
+
Changes
+
+
Changed the way anonymous enums are handled: they are now handled
+ just like named enums, which makes the "Enumeration Values" section
+ obsolete.
+
If
+
+ /*! \file */
+
+ is put into a file (thus without further documentation) then the
+ file is treated as being documented.
+
+
New features
+
+
Doxygen now has a GUI frontend to create and edit the configuration
+ file. It is called doxywizard. To build it from sources use:
+
+ ./configure --with-doxywizard
+
+ The front-end requires Qt 2.x to build. I've only tested with Qt-2.1.
+ Sources can be found in the addon directory.
+
To make it very easy to add new configuration options, doxygen
+ now has an additional tool called configgen. All options supported
+ by doxygen are now located in one place (in configgen.cpp).
+ From this the configuration parser and part of the GUI are
+ generated. You only need configgen if you want to add new options
+ to doxygen. Thanks go to Joerg Baumann for providing the ideas
+ and part of the code.
+
Added a bit of syntax highlighting to the generated source
+ fragments in HTML (only keywords, comments and preprocessor directives
+ are colored for now). The font color & style is determined by
+ the style sheet, so it is easy to customize :-)
+
Typedefs of classes are now resolved when the inheritance
+ and usage relation of classes is determined.
+
Waechter Parker made the following improvements on the RTF generator:
+
+
Now it uses the translator for the table of contents entry names
+ for the sections.
+
writeSection now puts braces around the entry so the formatting
+ doesn't get messed up so easily.
+
removed extra newline in startDescList
+
writeSectionRef now writes out "title (p.pagnum)" like it should.
+
writeSectionRefAnchor now just calls writeSectionRef.
+
+
Doxygen's preprocessor now supports the non-ANSI "#else if"
+ preprocessor construction, which some other preprocessors seem to
+ accept as well.
+
Boris Bralo added language support for the Croatian language.
+ Nickolay Semyonov has finished the translation to Russian, which is
+ now included.
+
Added documentation for the commands \if and \endif, the
+ configuration tag ENABLED_SECTIONS, and the ways to groups
+ things together.
+
In the brief part of a JavaDoc style comment block,
+ putting a backslash after a space, prevents switching to the
+ detailed description. Example: i.e.\ this.
+
Class diagrams can now also be rendered with dot by setting
+ CLASS_GRAPH to YES (this will disable the build-in class graphs).
+ The advantages:
+
+
More compact diagrams.
+
Correctly looking diagrams in case of virtual inheritance.
+
A more consistent look w.r.t. the other graphs.
+
+
Groups can now contain namespaces and other groups.
+
operator% caused problems with LaTeX when PDF_HYPERLINKS was set to YES.
+
+
Bug fixes
+
+
\c func() did not autolink to function "func" anymore.
+
template members with multiple arguments were misaligned
+ in the HTML output.
+
Since 1.1.2, environment variable expansion in the config
+ file always resulted in a single string for each expanded variable
+ (just as if quotes were put around the environment variable).
+ The old behavior is restored again.
+
removed redundant spaces in the man page output and fixed the
+ tab alignment in code fragments.
+
typedef ( bla::*proc)(); was not properly parsed because of the
+ space after the first opening bracket.
+
fixed a problem in the namespace strip routine that could potentially
+ lock up doxygen.
+
Long pre-initialized arrays ended up in the documentation.
+
Friend functions that were documented at the declaration were
+ cross-referenced to the wrong file when using SOURCE_BROWSER=YES.
+
When EXTRACT_ALL=YES was used, classes that were
+ documented with \class appeared twice in the namespace documentation.
+
Setting HIDE_UNDOC_CLASS=YES could result in an incorrectly
+ indented textual class hierarchy. This should now be fixed.
+
Members with very long return types caused all member names to
+ be pushed to the right in the HTML documentation
+ (if HTML_ALIGN_MEMBERS was YES). Now some line breaks are inserted
+ at the proper places.
+
A couple of people reported that doxygen crashed while it was generating
+ dot graphs. The cause was likely to be multiple frees of the same
+ pointer (but I have not been able to reproduce the crash myself).
+ I've now reimplemented the deletion routine of the dot graph
+ representation, which hopefully fixes this problem.
+
Elements of the configuration options in lists, which used quotes
+ were broken up into smaller pieces anyway. This most notably broke
+ PREDEFINED in some cases that worked before.
+
Detailed description was present for classes, files and namespaces
+ even if there was only a brief description and REPEAT_BRIEF was NO.
+
LaTeX: For German output "deutsch" was used as an option for the babel
+ package, while it should be "german". For Russian output an encoding
+ option is added.
+
The inheritance relation was incorrect for the inner class of B in the
+ following situation:
+
+ template <class T> class A { public: class inner { }; };
+ template <class T> class B : public A<T>
+ { public: class inner : public A<T>::inner { }; };
+
+
Fixed a bug that prevented the header links of the search engine
+ from working.
+
Undocumented classes & enums made it in the file documentation even if
+ HIDE_UNDOC_MEMBERS was set to YES.
+
Backslashes in includes like
+
+ #include "..\blah.h"
+
+ did not end up in the include dependency graph.
+
If ALPHABETICAL_INDEX=YES but there were no documented classes, part
+ of the LaTeX output (doxygen.sty a.o.) was not generated
+ (Thanks to Markus Lepper for reporting this).
+
Doxygen can now match arguments containing an explicit namespace
+ qualifier against arguments containing an implicit qualifier
+ (i.e. imported via a using directive).
+ An example (thanks to Karl Stroetmann):
+
+ /*! a class */
+ class Test
+ {
+ public:
+ void resolve(const std::vector<int>&);
+ };
+ using namespace std;
+ /*! a member */
+ void Test::resolve(const vector<int>&) {}
+
+
Template specifiers are now shown in dot generated
+ collaboration graphs.
+
+
+
Doxygen Release 1.1.2
+
+
Changes
+
+
Having the source browser set to YES does not longer imply that
+ a member with a reference to the sources is automatically documented.
+
Base classes are shown in declaration order in the class diagrams
+
The arguments of a function now each get their own
+ line in the header above the detailed description. This makes
+ function with lots of argument much more readable.
+
Changed the look of the LaTeX output a bit.
+
+
New features
+
+
Thanks to Joerg Baumann, doxygen now has two new commands:
+
+
\if label
+
\endif
+
+ These commands can be used to create conditional documentation blocks.
+ Sections are disabled by default. To enable them add a guarding
+ "label" to the ENABLED_SECTIONS tag in the config file.
+ Conditional blocks can be nested.
+ Example:
+
+ /*! Normal docs.
+ * \if Cond1
+ * Only included if Cond1 is set.
+ * \endif
+ * \if Cond2
+ * Only included if Cond2 is set.
+ * \if Cond3
+ * Only included if Cond2 and Cond3 are set.
+ * \endif
+ * More text.
+ * \endif
+ * Unconditional text.
+ */
+
+
Again thanks to Joerg Baumann, URLs and mail addresses are now
+ hyperlinked in the PDF output
+ (=latex with PDF_HYPERLINKS = YES).
+
Added support for member grouping. I reimplemented this
+ from scratch. I decided to follow the doc++ syntax for the member
+ grouping. Here are two examples.
+
+ Usage: A group is defined by a //@{ .. //@} block
+ (or /*@{*/../*@}*/ if
+ you're addicted to C style comments :-) Nesting of groups is not
+ allowed. Before the opening marker of a block a separate comment
+ block should be placed. This block should contain the @name
+ (or \name) command to specify the header of the group.
+
+
+ If all members of a user defined member group are in same section
+ (for instance all are public methods), then the group as a whole
+ will be listed as subsection of that section.
+
+
+ Example1: Two ways to grouping member of a class
+
+
+ /** A class. Details */
+ class Test
+ {
+ public:
+ /** @name Group1
+ * Description of group 1. Details.
+ */
+ //@{
+ /** Function 1 in group 1. Details. */
+ void func1InGroup1();
+ /** Function 2 in group 1. Details. */
+ void func2InGroup1();
+ //@}
+
+ void func1InGroup2();
+ void func2InGroup2();
+ /** Function without group. Details. */
+ void ungroupedFunction();
+ };
+
+ void Test::func1InGroup1() {}
+ void Test::func2InGroup1() {}
+
+ /** @name Group2 */
+ //@{
+ /** Function 2 in group 2. Details. */
+ void Test::func2InGroup2() {}
+ /** Function 1 in group 2. Details. */
+ void Test::func1InGroup2() {}
+ //@}
+
+
+ Example2: Combining member groups with @defgroup.
+
+
+ /** @defgroup globals Global Functions
+ * Functions that may be used in any translation unit.
+ */
+
+ /** @name Debug Functions */
+ /*@{*/
+
+ /** @ingroup globals
+ * debug printf function.
+ */
+ void debugPrint(const char *s /**< the message to print. */
+ );
+
+ /** @ingroup globals
+ * assert function.
+ */
+ void my_assert(const char *f, /**< current file. */
+ int l, /**< current line. */
+ BOOL e /**< expression to evaluate. */
+ );
+ /*@}*/
+
+ /** @name Test Functions */
+ /*@{*/
+
+ /** @ingroup globals
+ * test on-board memory.
+ * @returns TRUE if successful.
+ */
+ bool testRam();
+
+ /** @ingroup globals
+ * perform CPU self-test.
+ * @returns TRUE if successful.
+ */
+ bool testCPU();
+
+ /*@}*/
+
+
Documented variables (e.g. constants) that are used as initializers
+ of function parameters are now also cross-referenced.
+
Lucas Cruz sent an update for the Spanish translation. This is now
+ included. Jens Breitenstein sent an update for the German translation.
+ Philippe Lhoste sent some bug fixes for the French translation.
+ Alessandro Falappa sent an updated of the Italian translation, which
+ is now included. Nickolay Semyonov added initial support for the
+ Russian language. I updated the Dutch translation.
+
Thanks to Matthias Andree, the doxygen source package
+ now contains a .spec file. This can be used to build an .rpm package
+ for doxygen.
+ doing:
+
+ rpm -ta doxygen-x.y.z.src.tar.gz
+
+ will create the rpm (in /usr/src/packages/RPMS/i386/ on my machine).
+ Running rpm -Uhv as root on the .rpm file will
+ install/update doxygen.
+ After that you can use rpm -e doxygen to uninstall it again.
+
Umlauts and other accents in the documentation now appear properly in
+ generated RTF output.
+
+
Bug fixes
+
+
Fixed bug in the generated config file (LATEX_BATCHMODE)
+
When updating the config file, TAB_SIZE and
+ COLS_IN_ALPHA_INDEX
+ were reset to their default values. Environment variables in
+ the config file are no longer replaced by their value when updating
+ the config file.
+
The version.cpp file is now automatically updated when creating
+ a source/cvs package.
+
The types of arguments that are prefixed with a namespace scope
+ are now be matched against non-prefixed names. Example:
+
+ namespace std { class string {}; }
+ //! A class
+ class Test {
+ public:
+ void test(std::string a);
+ };
+ using std::string;
+ //! A member
+ void Test::test(string a);
+
+ Note: The namespace definition has to be part of the
+ input sources for this to work!
+
Fixed a bug in structure of the graphical class hierarchy
+ (thanks to Paul Bohme for pointing me at this bug)
+
Non-function members can now also be documented if they
+ are inside anonymous namespaces, which themselves are nested in
+ named namespaces.
+
#defines can now grouped with \defgroup and \ingroup as well.
+
fixed a bug in the latex output of groups (thanks to Gregory Kurz
+ for reporting this)
+
Doing a \ref to a \anchor in an example did not work.
+
static file & namespace members were cross-referenced even though
+ they were not visible if EXTRACT_PRIVATE is set to NO.
+
The following code fragment made doxygen crash, because the
+ table was split between the brief and detailed section:
+
+ /** <table><tr><td>a. </td><tr></table> */
+ class Test {};
+
+ Doxygen now ends the brief description when a <table> tag is encountered.
+
\c and \b now also accept numbers and other printable characters,
+ instead of only identifiers.
+
Autolinking did not work if a member with arguments was specified
+ in the documentation and that member had a const or volatile postfix
+ in the code. Autolinking did not also not work if a member with
+ arguments contained digits (thanks to Fred Labrosse for pointing me
+ at this bug).
+
The first line was missed if @code was used for generating man pages.
+ (Thanks to Joe Bester for the patch).
+
\link create_link(long,int&) bla \endlink
+ now works (doxygen was confused by the arguments before).
+
A brief description after a function definition, followed by a detailed
+ description now works as expected. Example:
+
Multi-line brief descriptions after a function declaration or definition
+ now work as excepted. Example:
+
+ bool func()
+ //!< Brief.
+ //!< More brief.
+
+
\latexonly fragments were put on a single line causing problems
+ when latex comments (%'s) are used.
+
The license file that came with doxygen was of LGPL, while it
+ should be GPL. The correct license file is included now.
+
The heading of the alphabetical index was duplicated if
+ classes were present in both upper and lower case.
+
If ENABLE_PREPROCESSING=NO and the INPUT_FILTER was used, doxygen
+ did not filter properly can could even block on input!
+
Internationalization should now output proper characters with qt-2.1x.
+
If namespace contained a function prototype & a function definition
+ they both ended up in the documentation.
+
<table> without </table> could cause doxygen to crash. Now a
+ warning is given.
+
Multiline variable and enum initializers with lots of spaces were
+ shown in an ugly way.
+
+
+
+
+
Doxygen Release 1.1.1
+
+
Changes
+
+
"Reimplements" for a member now points to the most direct
+ base class that overrides the member instead of the base
+ class containing the vtable.
+
classes, namespaces, and members are now sorted
+ in a case insensitive way (like in a dictionary).
+ Was case sensitive.
+
Kenji Nagamatsu has send me an update for the Japanese translation
+ which is now included.
+
+
New features
+
+
new option SHOW_INCLUDE_FILES, which can be set to NO to turn of the
+ list of include files that is generated for each documented file.
+
new option STRIP_CODE_COMMENTS, which can be set to NO to keep any
+ special comment blocks in the generated code fragments.
+
Added a new tag to the configuration file: SORT_MEMBER_DOCS. If this
+ is set to NO the member documentation will appear in declaration
+ order (as was the case with version 1.0.0 and older).
+
Corba IDL exceptions are now also supported by doxygen.
+ If you do not want to put the documentation in front of the
+ exception you can use \idlexcept command which behaves like \class.
+
Local file:/// URLs are now automatically linked when put in the
+ documentation.
+
For \class and other structural commands you can now use
+ a backslash (\) at the end of a line to continue the command on
+ the next line.
+ Example:
+
"make distclean" now removes all generated stuff and results in a
+ package that is more clean than a normal source package
+ (i.e. the generated flex & bison code is removed).
+
Added command \note (and @note) for a "Note:" paragraph.
+
Multi arguments can now be given as a comma separated list
+ after a \param or \retval command. Example:
+
+ void Zoom( int aX1, int aY1, int aX2, int aY2 );
+ /*! Zoom into the data.
+ * \param aX1, aY1 Upper left corner.
+ * \param aX2, aY2 Lower right corner.
+ */
+
+
Added 9 new class declaration sections:
+ Public/Protected/Private Types, for member typedefs & variables.
+ [Static] Public/Protected/Private Attributes, for member variables.
+
Doxygen now has a new command line option -u, that can be used
+ to upgrade an old configuration file without losing the values that
+ where edited. In combination with the -s option this can also be used
+ to strip comments from or add comments to a configuration file.
+
Added a new tag LATEX_BATCHMODE that makes latex run in batch mode.
+ This will run latex non-interactively, and not stop at the first
+ problem encountered. If the tag is enabled this mode will also be
+ used when generation formulas for inclusion in the HTML documentation.
+
The \ingroup command can now also be used to group a number of
+ members. The only limitation is that a member can currently be in
+ one group only (classes, files & namespaces do
+ not have this limitation).
+
+
Bug fixes
+
+
The graphical class hierarchy was not properly generated when
+ template classes were used.
+
Template specialization could not be documented using the
+ \class command. This is now fixed. Example:
+
+ /*!
+ * \class T<A,int>
+ * My template specialization of template T.
+ */
+
+
Fixed a bug when parsing M$-IDL code, containing
+ helpstring("bla") attributes. The attributes of a method are no longer
+ shown in the documentation (the attributes of method arguments
+ still visible however).
+
Improved the search algorithm that tries to connect classes with their
+ base classes. It should now (hopefully) work correct in all cases
+ where nested classes and/or namespaces are used.
+
Fixed a scanner problem that could cause doxygen to get
+ confused after parsing struct initializers.
+
the DOTFONTPATH environment variable is now automatically set
+ for Windows. This should make any "missing doxfont.ttf"
+ messages disappear.
+
the extra LaTeX packages specified with EXTRA_PACKAGES can now
+ also be used when generating formulas for HTML.
+
The documentation of a parameters that is part of a member definition,
+ is now used in the documentation as well.
+
Fixed a HTML output bug in the class/file group-pages.
+
Links to example files generated with \link ... \endlink where not
+ correct.
+
made the bullet list generation more robust. A space is now required
+ after the - sign. A list can now start a paragraph.
+
the configure script now detects whether or not dot is installed.
+
The VERBATIM_HEADERS option didn't have any effect any more.
+ It should now work again as advertised.
+
The IGNORE_PREFIX option can now also deal with a list of prefixes.
+
@verbatim ... @endverbatim blocks did not work.
+
removed some \n's from the systems calls that run dot. This appears to
+ cause problems for some people and was not what I intended anyway :^)
+
The following construct was not working:
+
+ namespace foo { class bar; }
+ /*! let's go to the bar */
+ class foo::bar { };
+
+
Members inside anonymous namespaces nested inside named namespaces
+ were not properly handled.
+
When documenting template specializations with the \class command,
+ the second argument was not interpreted correctly.
+
Interface inheritance relations are now always public for IDL
+ interfaces.
+
Templetized related functions showed a double `template' line.
+
Related function that had a declaration and a definition
+ also appeared in file documentation but without documentation.
+
Links to files of the include dependency graph were
+ non existent in some situations.
+
Removed warning generated for undocumented friend classes.
+
Class reference in the main page ended up in refman.tex
+
Source files were generated for files mentioned in tag files.
+
The graphical class hierarchy always contained all external class,
+ regardless of the ALLEXTERNALS flag.
+
operator~() was grouped with the constructor/destructors.
+
In a number of cases, documented include files, that were
+ shown in the include dependency diagram where not found to be
+ documented. As a result the diagram was often not clickable and
+ incomplete.
+
Fixed the graphical class hierarchy. Sometimes classes were missing.
+
Added support for the cpp_quote hack inside M$-IDL code.
+ /** \union XYZ
+ * \brief The XYZ union.
+ */
+ union XYZ switch ( ABC )
+ {
+ case A: D_VAR m_d; ///< Docs for a member in case A
+ case B: E_VAR m_e; ///< Docs for a member in case B
+ };
+
+
Classes documented with \class and using \ingroup where not always
+ put into the group.
+
In Latex & RTF references to undocumented files where put in the
+ index.
+
+
+
Doxygen Release 1.1.0
+
Changes
+
+
Static file members are now hidden if EXTRACT_PRIVATE is set to NO.
+
the documentation of members in the class/file descriptions are now
+ alphabetically sorted by member name for each section. There is a new
+ section for constructors & destructors.
+
merged file, header and source indices into one file index.
+ As a result, doxygen will generate a hyperlinked source code only
+ once. This should greatly increase speed and reduce memory usage
+ for large projects.
+
+
+
New features
+
+
Thanks to Parker Waechter, doxygen now has a new output format: RTF.
+ This is Microsoft's "portable" document format. Due to the great
+ "portability" of this format the output produced by doxygen will
+ probably only look nice with Microsoft's Word 97.
+
+ RTF is currently disabled by default. You can set GENERATE_RTF to
+ YES to enable it. The directory where the RTF output is put, can
+ be specified using the RTF_OUTPUT tag in the configuration file.
+ COMPACT_RTF can be enabled to generate more compact RTF.
+ RTF_HYPERLINKS can be used to generate HTML like cross references
+ in the document.
+
Doxygen can now use the "dot" tool from graphviz 1.5, which is an
+ open-sourced, cross-platform graph drawing toolkit from AT&T and
+ Lucent Bell Labs.
+
+ Graphviz can be found at
+ https://www.graphviz.org/
+ If you have the "dot" tool available in the path, you can set
+ HAVE_DOT to YES in the configuration file to let doxygen use it.
+
+ Doxygen uses the "dot" tool to generate the following graphs:
+
+
+
if GRAPHICAL_HIERARCHY is set to YES, a graphical representation
+ of the overall inheritance diagram will be drawn,
+ along with the textual one (currently supported for HTML only).
+
if INCLUDE_GRAPH is set to YES, an include dependency graph
+ is generated for each documented file that includes at least one
+ other file (currently supported for HTML and RTF only).
+
if COLLABORATION_GRAPH is set to YES, a graph is drawn for each
+ documented class and struct that shows:
+
+
the inheritance relation with base classes
+ (using solid blue/green/red arrows, for public,protected,private
+ inheritance).
+
the containment relations with other structs
+ and class (using purple dashed arrows with variable names as labels)
+ (currently supported for HTML and RTF only)
+
+
+
+ For the include dependency graph and the collaboration graph,
+ doxygen will render a transitive closure of the relation. If
+ the diagram becomes too large (currently wider than 1024 pixels),
+ only the maximum graph depth (as seen from the root of the
+ graph) that still fits will be drawn. (the nodes that can still be
+ expanded are shown with a red border in this case).
+
+ For HTML all graphs are drawn as client side clickable image maps.
+
Each file now has a list the files it includes
+ (with links to the sources if available)
+
For class documentation it is now possible to choose how the
+ #include statement should look like
+ (i.e. like "stdio.h" or <stdio.h>).
+ This can be done using the third argument of
+ the \class command.
+ Example:
\class myclass myclass.h "mydir/myclass.h"
+
If the - character is used as the first character in a comment line
+ it is interpreted as an item of a bullet list. Subitems are also
+ possible. Here is an example:
+
+ /*!
+ * A list:
+ * - item 1
+ * - subitem 1
+ * - item 2
+ * - subitem 1
+ * - subsubitem
+ * - subitem 2
+ * - item 3
+ * - item 4
+ *
+ * Starting a new paragraph in a top level item ends the list!
+ */
+
+
+ Notice: tabs can be used for indenting, but the TAB_SIZE tag in the
+ configuration file must be set correctly!
+
Function/member arguments can now be documented, like this
+
+ /*! This function finds the first occurrence of a
+ * substring in a string.
+ */
+ char *strstr(const char *haystack, /*!< the string to search in. */
+ const char *needle) /*!< the substring to search for. */
+ {
+ }
+
+
Three new section commands \pre, \post and
+ \invariant are added to describe
+ preconditions, postconditions and invariants respectively.
+
Variable/enum initializers and define definitions are
+ now included in documentation (unless the initializer/definition
+ is more than 30 lines long)
+
Added new configuration option IGNORE_PREFIX that can be
+ used to ignore a specified prefix while generating the alphabetical
+ class index.
+
+
+
Bug fixes
+
+
All defines were shown as function macros in the documentation section.
+
Fixed bug with parsing multi-line defines on Windows (\r problem).
+
Protection level of members inside nested anonymous compounds was not
+ set correctly.
+
Class diagram was not correct in case the same class was inherited
+ via two different paths (bug introduced in 1.0.0).
+
If a tag is specified two times in the config file, then the second
+ definition will correctly overwrite the value of the first occurrence.
+
For multiple defines with comments after them only the first was
+ cross-referenced with the sources.
+
Autolinks to #defines looked like function macro even if they weren't.
+
Members that were hidden deep in an inheritance tree, got multiple
+ scope prefixes in the "all members list", while a scope prefix to
+ the member in the base class was enough to use it unambiguously.
+
\latexonly ... \endlatexonly in the main page produced
+ erroneous text in refman.tex
+
The keywords in header and footer were only evaluated once.
+
Formulas now also work in documentation blocks that are put after an
+ item.
+
The source code could produce links to the wrong class for
+ a code fragment like a.f() in
+ case two classes have the same member variable `a', but with a
+ different class types and those classes both had the member
+ function `f'.
+
array type arguments (like int a[2]) where not matched if the argument
+ name of declaration and definition were different.
+
memory in code.l is now returned at the appropriate times.