DoxyPress  1.6.0
Timeline

The following information details the development of DoxyPress and DoxyPressApp.

Major Milestones

2014

November 2014

  • Discovered Doxygen was not sufficient for accurate C++11 API documentation
  • Used QDoc on Qt 4.8.6 source code to generate html output
  • Merged Qt 5.x html pages with Qt 4.x html output
  • Developed a parser to convert html documentation to the Doxygen format

December 2014

  • Fork of Doxygen 1.8.8
  • Renamed Doxygen to DoxyPress
  • Wrote new makefiles to build DoxyPress with GNU Autotools
  • Removed all Qt 2 classes and containers
  • DoxyPress links with CopperSpice library using C++11
  • Code reformatted and modified to use C++11 syntax where appropriate
  • Updated source code to use variadic templates and shared pointers
  • Renamed DoxyWizard to DoxyPressApp
  • Wrote new makefiles to build DoxyPressApp with GNU Autotools
  • Redesigned the user interface of DoxyPressApp

2015

January 2015

  • Changed DoxyPress to use a JSON project file
  • Added a new parser to support documenting Makefiles. Uses the new command \code {.mk}
  • Changed erroneous 'div' tags to paragraph tags
  • Resolved issues with white space in tables. Blank rows are no longer displayed in the table output and do not cause layout issues
  • Changed DoxyPressApp to use a JSON project file
  • Added a feature to convert a Doxygen project file to a DoxyPress JSON project file
  • Tags with list values are now comma separated. Improved UI to use one consistent style of editor
  • Tags with list values can be modified inline or with the pop up editor

February 2015

  • Updated help text for every field in the DoxyPressApp
  • Help text is activated by mousing over the corresponding data field
  • Created a new test project for functional testing
  • Added a tag for removing the timestamp for LaTex
  • Added a tag to specify the full file name for the GhostScript program
  • New variable added
    • $datetimeHHMM
    • Variable will be substituted with the current date and time during documentation generation
    • An example of this format is: "Tue Mar 31 2015 15:30"

March 2015

  • Added a new command \sortid X, where X must be an integer
  • This newcommand can be used to specify the sort order of pages in the treeview
  • Incorporated numerous changes from Doxygen 1.8.9 into DoxyPress 1.0.0
  • Updated the HTML style sheets and layout files
  • DoxyPress and DoxyPressApp released to Alpha

April 2015

  • Added DoxyPress support Forum for end users, developers, and bug tracking
  • Added syntax highlighting in DoxyPressApp for several words like Reading, Processing, Error, and Warning
  • Fixed display issue with \secreflist layout
  • Added a second optional parameter to \anchor to specify the displayed anchor name
  • Fixed <dl> so it can contain multiple <dd> tags
  • Images no longer force a new paragraph
  • DoxyPress and DoxyPressApp released to Beta
  • DoxyPressApp 1.0.0 release
  • DoxyPress 1.0.0 release

May 2015

  • Compiled clang 3.6.0 on Windows 32-bit and 64-bit
  • Review the process to use clang for C++ parsing
  • Add support for documenting CopperSpice macros
  • Enhanced support for Qt macros
  • Auto generated table has been added to property documentation to show associated methods
  • Changed the function pages (variables, typedefs, enums, etc) to show the underscore letter for the first page
  • For a function page containing multiple pages, a new redirect page from the base name to the correct first letter will automatically be generated

June 2015

  • Clean up DoxyPress documentation
  • Backport several cherry picks
  • Added a warning when member source and member documented return types do not agree
  • Output was incorrect when an enum with the same name was in multiple namespaces
  • Enhanced C++ parsing support
  • Removed compound auto link to self
  • Added three new sections to the layout file for class docs
    • Typedefs which were in "Public Types" were moved to "Public Typedefs"
    • Typedefs which were in "Protected Types" were moved to "Protected Typedefs"
    • Typedefs which were in "Private Types" were moved to "Private Typedefs"

July 2015

  • Redesigned the entire translation system to use the built in CopperSpice Translations
  • A DoxyPress project can switch between language translations without rebuilding
  • Extensive changes to use QString instead of eight bit strings
  • Modified all methods character processing to use Unicode
  • Fixed <div id = "nav-path">, conflict with the an id, new id is "breadcrumb"
  • Added markdown page to the Test Suite Project

August 2015

  • Given a function with only a brief description and no detailed description
    • With Auto Brief is set "on" documentation was not shown in the declaration section
    • Resolved in DoxyPress version 1.1.0
  • Official release of DoxyPress and DoxyPressApp
  • DoxyPressApp 1.1.0 release
  • DoxyPress 1.1.0 release

September 2015

  • Attended CppCon in Seattle, Washington
  • Presented a talk announcing the release of CopperSpice
  • Presented a talk announcing the release of DoxyPress
  • Presented a lightning talk about a compile time counter using templates

October 2015

  • Reorganize DoxyPressApp Json project file to use a hierarchical structure
  • Fix input source path issues and recursion problem
  • Updated the DoxyPress test build

November 2015

  • Added a project tag to specify the main index page name, this file name will not be included in the navigation treeview file listing if FILES is enabled
  • New tags were added in the project file to specify source extensions and header extensions
  • New header extension tags allow the user the ability to define which files will appear in the File List
  • Release RC-2

December 2015

  • Added Latex Stylesheets to DoxyPress, updated DoxyPressApp with a new project tag
  • Updated the DoxyPress test build
  • Backport cherry picks
  • Converted numerous internal raw pointers to shared pointers
  • Removed unused source code
  • Release RC-3
  • Updated copyright

2016

January 2016

  • Uploaded source to GitHub (version 1.1.0)
  • Backport cherry picks
  • Added new project tag to omit the main index page from the navigation treeview
  • Added new project tag to specify a list of namespaces which should be renamed in the documentation with an alias name
  • Merged development branch with master
  • Uploaded source to GitHub (version 1.2.0)
  • Added the ability to pass the date/time to DoxyPress from the command line (Refer to Set Date/Time)
  • Added a feature in the DoxyPressApp program to pass the date/time to DoxyPress
  • Corrected several error messages for project file tags
  • DoxyPressApp 1.2.0 release
  • DoxyPress 1.2.0 release

February 2016

  • Fixed legacy issue with auto links to templated classes
  • Resolved an issue with graphViz
  • Resolved an issue with file names for global functions
  • Enhanced the interface to use libclang for parsing C++
  • Minimum required version of GCC is now 4.8.1

March 2016

  • Upgrade to clang 3.7.1
  • Enhance libClang integration for C++ parsing
  • Separated File Listing into Files List and File Source
  • Updated the default layout file, added a new tag for File Source
  • Added user requested changes and enhancements
  • Added a command line option in DoxyPressApp to convert a project file to the DoxyPress format
  • DoxyPressApp 1.2.1 release
  • DoxyPress 1.2.1 release

April 2016

  • Enhanced the options DoxyPressApp can pass to DoxyPress
  • Continue with development to use libClang for parsing C++ source

May 2016

  • CppNow 2016 presentation on CopperSpice and our new CsSignal library
  • CppNow 2016 presentation on DoxyPress demonstrating how clang can be used to parse C++
  • CppNow 2016 presentation on libGuarded
  • Switch to using clang libTooling 3.7.1 for parsing C++
  • Created a test suite for C++ parsing
  • DoxyPressApp 1.2.2 release
  • DoxyPress 1.2.2 release

June 2016

  • Fix reported member grouping issue
  • Rework Python parsing file
  • Created a test suite for Python parsing
  • Adjust icons to indicate a P for packages instead of a namespace for Java and python
  • Add new tag to DoxyPressApp for Python optimization
  • Released DoxyPress 1.2.3-RC-1 source and Windows 64 binary files

July 2016

  • CopperSpice team on temporary medical leave as Barbara recovers from a Total Knee Replacement
    Thank you to the community for their wonderful support and encouragement during this time

August 2016

  • Fix reported user issues
  • Backport cherry picks
  • Added accelerators to DoxyPressApp
  • Update python test build files
  • Enhance how css files are copied into a project
  • Update DoxyPress documentation
  • Released DoxyPress 1.2.4-RC-1, Windows 64 binary files

September 2016

  • Several improvements in markdown
  • Added documentation detailing how to build DoxyPress with libClang
  • Added documentation detailing how to build clang
  • Remove "-0" from Cs library file names
  • DoxyPressApp 1.2.4 release
  • DoxyPress 1.2.4 release

October 2016

  • Continue internal work on clang parsing for C++

November 2016

  • Resolve several reported issues from current users
  • Backport cherry picks
  • Minor clean up in the DoxyPressApp UI
  • Extensive changes to Fortran parsing
  • Added test files for multiple languages to DoxyPress test build
  • Modify the global containers to access by value instead of raw pointers

December 2016

  • Add additional testing to the test build for DoxyPress commands
  • Cleaned up marshaling by removing raw pointers, increased stability
  • Corrected an issue with the source file index layout
  • Resolved C# user report parsing issue
  • Resolved tagfile generation issue
  • Enhanced file source navigation
  • Redesigned cite and bibliography to work on Windows
  • Add 'override' to inherited methods
  • Update documentation detailing how to build clang for Debian Jessie
  • DoxyPressApp 1.2.5 release
  • DoxyPress 1.2.5 release

2017

January 2017

  • Update copyright
  • Resolved return type issue for overloaded methods
  • Fixed an issue when documenting a template overload
  • Enhance parsing when suppressing word links for templates
  • Clarified warning messages
  • Template parameter list did not match when < > spacing was not exact, compare adjusted
  • DoxyPressApp: Added Find and FindNext on the process tab

February 2017

  • Optimize memory usage in preprocessor
  • Clean up inherited memory leaks as reported from Valgrind
  • Change several small QList containers to use QVector
  • Enhance clang parsing to handle template parameters
  • CMake build files under development, working on scripts to locate required libraries
  • Accepted as speakers for CppNow 2017
  • DoxyPressApp 1.2.6 release
  • DoxyPress 1.2.6 release

March 2017

  • Redesign interface for handling templates in clang libTooling when parsing C++
  • Extensive testing of the clang parsing by documenting the actual clang source code
  • DoxyPressApp 1.2.7 release
  • DoxyPress 1.2.7 release

April 2017

  • Fix Unicode problem with comments, multi byte characters are now displayed properly
  • Fix DoxyPressApp to display the DoxyPress output using UTF-8
  • Correct warning log for explicit methods
  • Continued improvements in clang libTooling when parsing C++

May 2017

  • CppNow 2017 presentation on CsString, a Unicode aware string library
  • CppNow 2017 presentation on libGuarded, new RCU container classes
  • DoxyPressApp 1.2.8 release
  • DoxyPress 1.2.8 release
  • DoxyPressApp 1.2.9 release
  • DoxyPress 1.2.9 release

June 2017

  • Update CMake build system to locate CopperSpice libraries
  • Update CMake build system for packaging support with CPack
  • Fix issue with the brief on group pages, use abbreviated brief
  • Allow a group list to contain classes with the same name in different scopes
  • Optimize class lookup in map container, remove duplicate calls to find
  • For Latex output, modify so only one text stream is used
  • Fix format of Latex comments
  • Increase number of recent files open to 15 for DoxyPressApp

July 2017

  • CMake successfully creates zip file packages for DoxyPress & DoxyPressApp for Windows
  • Recorded CppCast interview
  • Started CopperSpice YouTube channel
  • Accepted as speakers for CppCon 2017 presenting CsString, a Unicode aware string library
  • Accepted as speakers for CppCon 2017 presenting libGuarded, new RCU container classes
  • Clean up user issues reported on Github
  • DoxyPressApp 1.2.10 release
  • DoxyPress 1.2.10 release

August 2017

  • Resolved issue with lex parsing C++ qualifiers
  • Fixed output when only RTF is selected
  • Minor DoxyPressApp gui updates
  • Updated to support clang 3.8.1 for clang parsing
  • Update minimum required clang version to 3.8.1 for building DoxyPress
  • Update minimum required GCC version to 5.4 for building DoxyPress
  • Migrate to C++14 on all platforms

September 2017

  • Document how to build clang 3.8 for various platforms with RTTI enabled, required for clang parsing
  • Update documentation when parsing with clang
  • DoxyPressApp 1.2.11 release
  • DoxyPress 1.2.11 release
  • Attended CppCon in Seattle, Washington
  • Presented a talk on CsString and libGuarded at CppCon

November 2017

  • Begin design to overhaul the internal representation of parsed source code
  • New entry system design required adding a new class called QFlatMap to CopperSpice

December 2017

  • Check the input source path for README.md, automatically parse this file if it is available
  • Modify the algorithm to mangle upper case file names or page names when case sensitivity is turned on
  • Do not report a return type mismatch if one of the return types is auto
  • Update DoxyPressApp, add an icon to display a file selector for the markdown main page tag

2018

January 2018

  • Update copyright
  • Major internal update to the entry system which tracks and organizes parsed code and docs, uses QFlatMap
  • Remove entire miniEntry (EntryNav) classes
  • Remove marshalling / serialization
  • Remove obsolete classes used for file storage
  • Multiple cherry picks
  • Correct duplicated ~ in a code block
  • Correct backslash which was removed in a code block
  • Update several translation files
  • Resolve issues parsing TCL
  • Fix template argument parsing for nested template arguments
  • DoxyPress 1.2.12 release
  • DoxyPressApp 1.2.12 release

February 2018

  • Fix RTF issue when 'file source' tag is disabled
  • Fix Latex cite file copy issue
  • Backport cherry picks
  • Improve syntax highlighting
  • Increase lex file read buffer size, improve read methods
  • Optimize several utility functions
  • Update text in several translation files
  • Add locale aware date and time formatting and translations
  • Correct shallow copy issue in tag reader
  • Use \deprecated command to add a "D" in the brief description documentation for HTML
  • Add deprecated marker in the main documentation for HTML
  • Improve documentation commands
  • In the documentation, add sample code blocks for various computer languages showing syntax highlighting

March 2018

  • DoxyPress 1.2.13 release
  • DoxyPressApp 1.2.13 release
  • Update documentation
  • Published a video for our CopperSpice YouTube channel covering the general usage and features of DoxyPress

April 2018

  • Enhanced verification for overloaded methods located in a namespace
  • Changed the way methods in the source code and the documentation are verified to match

May 2018

  • Overhaul the CopperSpice libraries to use CsString providing support for UTF-8 strings
  • Convert DoxyPressApp to the use the new CopperSpice string classes
  • Redesign DoxyPress to use the new CopperSpice string classes and regular expression classes
  • Backport several changes

June 2018

  • Major rewrite for markdown support to use iterators instead of indexes
  • Run sanitizers on code base
  • Enhance latex support
  • Add Ubuntu 18.04 to CI server
  • DoxyPressApp fully migrated to CopperSpice 1.5.0
  • DoxyPress fully migrated to CopperSpice 1.5.0
  • DoxyPress 1.3.0 release
  • DoxyPressApp 1.3.0 release

July 2018

  • Update DoxyPress documentation and context help in DoxyPressApp
  • Add new project tag to include markdown headers in the table of contents
  • Several new project tags added for clang parsing
  • Update libClang and libTooling libraries to clang 6.0.1 for clang parsing
  • Clang parsing tags moved to a separate page in DoxyPressApp
  • Clang 6.0.1 headers are supplied and will be used when 'use supplied headers' is enabled
  • Enhance syntax highlighting for the source output when using clang parsing
  • Support for C++17 and some parts of C++2a available when parsing with clang
  • When clang parsing is enabled
    • Using a compilation database generated by your build
      • Compilation database is used to automatically pass the clang flags used by your project
    • No compilation database available
      • Language dialect can be selected from a new tag instead of specifying in the clang flags
      • Clang header location is no longer required in the clang flags if the 'use supplied headers' tag is selected

August 2018

  • Build distributions for clang 6.0.1 on all supported platforms
  • Upload clang binaries to the copperspice download site
  • Backport relevant enhancements and corrections
  • Remove Fedora 24 from CI Server
  • Add Fedora 27 to CI Server
  • Add Fedora 28 to CI Server
  • DoxyPress 1.3.1 release
  • DoxyPressApp 1.3.1 release
  • Add license to About box in DoxyPressApp

September 2018

  • Fix project file name extension when there are multiple dots
  • Attended CppCon in Seattle, Washington
  • Presented a talk on Undefined Behavior at CppCon in Bellevue, Washington
  • DoxyPressApp 1.3.2 release
  • DoxyPress 1.3.2 release

December 2018

  • Reduced the minimum height of DoxyPressApp
  • Added constexpr label to output
  • Backport numerous corrections to multiple output formats
  • Improve language parsing

2019

January 2019

  • Update copyright and license
  • Improve handling of auto brief
  • Enhance warning message when an entity is undocumented

February 2019

  • DoxyPressApp 1.3.3 release
  • DoxyPress 1.3.3 release

March 2019

  • CopperSpice European Tour – C++ User Group presentations in the Netherlands, Germany, and England
  • Multiple presentations at the emBO++ conference in Bochum, Germany

April 2019

  • Add files for emoji support
  • Clean up error message formatting
  • Update JQuery version
  • Optimize character escaping
  • Enhance test suite

May 2019

  • Code refactoring for improved readability
  • Add const to methods and change 0 to nullptr
  • Enhance TOC

June 2019

  • Improve entry system and add second argument for commentscan commands
  • Correct inplace modifications of strings
  • Add support for inline images
  • Various improvements to backslash escape handling

July 2019

  • Enhance output for included files
  • Various changes to the lex parsers
  • Improve reflist handling and latex output
  • Add support for colon and equal characters in html
  • Changes to handle inline namespaces

August 2019

  • Add rule for line continuation in preprocessing
  • Fix markdown line breaks
  • Add support for additional text styles like underline and strikeout
  • Enhance RTF output
  • Support formulas is RTF output
  • Improve latex output
  • DoxyPress and DoxyPressApp built with CopperSpice 1.6.0
  • DoxyPressApp 1.3.4 release
  • DoxyPress 1.3.4 release

September 2019

  • Attended CppCon in in Denver, Colorado
  • Presented a talk on "High performance graphics on the GPU" at CppCon in in Denver, Colorado
  • Drop support for Autotools build system with CopperSpice
  • Update to CMake 3.8 as the minimum required version
  • DoxyPressApp 1.3.5 release
  • DoxyPress 1.3.5 release

October 2019

  • Drop support for Autotools build system with DoxyPress and DoxyPressApp
  • Modernize CMake build files for DoxyPress and DoxyPressApp
  • Move to C++17 on all platforms
  • Streamline rpath support for Linux and Mac OS X
  • Merge user pull requests with main branch
  • Update DoxyPressApp API for dot settings

November 2019

  • Minor code clean up
  • Improve Mac OS X build support
  • DoxyPress 1.3.6 release
  • DoxyPressApp 1.3.6 release
  • CopperSpice European Tour
    • Speaker at Meeting C++ 2019 Conference in Berlin, Germany
    • Presented an updated talk on "High performance graphics and rendering text on the GPU"
    • Speaker at code::dive 2019 in Wrocław, Poland
    • Presented "Undefined Behavior is Not an Error"
    • C++ and CopperSpice training in Bochum, Germany
    • Speaker at C++ User Group in the Netherlands

December 2019

  • Correct markdown issue when the line ends with a back tick
  • Fix a node issue in HTML output
  • Prevent infinite loop during comment parsing

2020

January 2020

  • Update copyright and license
  • Change markdown to use <code> instead of <tt>
  • Add missing elements for styles in dot
  • Improve how PlantUML locates the dot program

February 2020

  • Remove Fedora 27 from CI Server
  • Add Fedora 31 to CI Server
  • Add Centos 8 to CI Server
  • Display error messages on the screen and log file when reading the project file
  • Automatically create full output directory path
  • Prevent warnings when various keywords appear in the return type
  • Improve parsing for all languages
  • DoxyPressApp 1.3.7 release
  • DoxyPress 1.3.7 release

March 2020

  • Adjust line spacing for code blocks
  • For file listings where the comments are omitted, added one single comment to indicate number of lines removed
  • Update multiple enums and array structures with new values
  • Correct compiler warnings in DoxyPress
  • Reorder constructor initialization
  • Improve markdown parsing
  • Remove unused locals in several existing methods
  • Add support for new commands
  • Enhance html parsing to use new commands
  • Clean up html css, add new rules for intermediate tags

April 2020

  • Change CMake target to suppress warnings located in clang headers
  • Fix out of bounds issue when writing docs for member functions
  • Remove Ubuntu 14.04 from CI
  • Add Ubuntu 20.04 in CI
  • DoxyPressApp 1.3.8 release
  • DoxyPress 1.3.8 release

May 2020

  • Change html css to improve formatting for source code listings
  • Add handleProperty() which marks comments for a property
  • Change enum MethodTypes to enum class MethodType
  • Code clean up, adjust variable names for clarity
  • Remove unused code

June 2020

  • Remove Mac OS X 10.13 from CI since the support for C++17 is too limited
  • Minimum required version for OS X is now XCode 11.3.1

July 2020

  • Add description marker to indicate a method is present as a result of a "using" declaration
  • Show parameters for methods included as a result of a using declaration
  • Minor code clean up, add scope to enum values
  • Add an option in the lex files to disable interactive parsing, unistd.h header is not required
  • Rewrite acquireFileVersion() and readCodeFragment(), remove usage of popen() in favor of QProcess
  • Build clang 10 from source for all supported systems

August 2020

  • Removed unused code, rename local variables and method names for readability
  • Add labels for C++ "nodiscard" and "noreturn" attributes
  • Modify comment parsing to accurately document methods with attributes
  • Update CMake build files to support clang 10
  • Migrate "clang parsing" to use clang 10 internally
  • Add new enum value in Entry::Sections to support C++20 concepts
  • Add two new tab types for concepts in the XML layout manager
  • Display requires clause in class documentation
  • Display constraint in member documentation
  • Enhance comment scan to parse new \concept command
  • Add new css rule for C++ requires clause
  • Enhance clang parsing to support C++20 concepts
  • Enhance clang parsing to support requires and requires requires for C++20

September 2020

  • Add parsing for #define macro documentation
  • Improve clang parsing of comment, ensure the cursor does not go out of bounds
  • Update DoxyPress test files for clang parsing enabled
  • DoxyPressApp 1.4.0 release
  • DoxyPress 1.4.0 release

October 2020

  • Correct handling of escape sequences and quotes in Latex
  • Add code to support includedoc, snippetdoc, and snipwithlines
  • Enhance process for finding docs in members
  • Update mathjax web site
  • Change http to https in multiple places
  • Enhance warning message
  • Remove obsolete files
  • Modify multiple parameter names for readability

November 2020

  • Major update to DoxyPress test files
  • Remove leading underscore in various method names
  • Improve warning messages when call graph has too many nodes to output
  • Prevent empty table for a class with no members
  • Improve methods in html output
  • Major improvements to the Latex output
  • Refine html, latex, and XML resource style sheets
  • Rename several free functions
  • Fix issue when documenting source code files in subdirectories
  • Incorporate additional nodes types in docparser
  • Multiple revisions to enhance the output for a variety of formats
  • Improve warnings in addRelatedPage()
  • Update startCodeFragment() and endCodeFragment() methods for all output formats
  • Add calls to start/end fragment
  • Remove destructors, add deleted assignment operators for OutputList
  • Move free functions into docbook visitor class
  • Improve docbook visitor output
  • Improve output for documenting method overloads and enums
  • Correct issue of an invalid tag used to determine when file source is displayed

December 2020

  • Add closing curly for pdf link in Latex
  • Correct enum tables for Latex
  • Improve tables for Latex output
  • Change code to use std::invoke() for method pointer call
  • Multiple output changes for man docs and RTF docs
  • Change how members are counted
  • Major internal change, rename multiple classes for sustainability

2021

January 2021

  • Update copyright date
  • Add the ability to bypass undocumented warnings using the new \bypassundocwarn command
  • Show a warning when methods parameter names mismatch between source and docs
  • Set new tag "warn-param-mismatch" to enable
  • All directories listed in the "Input Source" tag are included in the clang flags
  • Uncheck new tag "clang-include-input-source" to disable
  • Add several new tags to DoxyPressApp
  • Separate build configuration into two pages
  • DoxyPressApp 1.4.1 release
  • DoxyPress 1.4.1 release

March 2021

  • Remove Fedora 28 and Fedora 29 from CI
  • Add Fedora 32 and Fedora 33 in CI

May 2021

  • Update to FreeBSD 12.2 in CI

August 2021

  • Remove Fedora 30 and Fedora 31 from CI Server
  • Add Fedora 34 to CI Server

June 2021

  • Change "", 0, and nullptr to call QString()
  • Correct multiple files to call QString() when passing an empty string

July 2021

  • Add tooltip override for template classes
  • Remove recursive macro, use range based for loop
  • Improve container variable names
  • Change several range based for() loops to use const reference
  • Enhance searchInputfiles() function
  • Improve URL detection
  • Add new function for removeAllWhiteSpace()
  • Improve linkifyText()
  • Refactor createSubDirs()
  • Minor changes to trimEmptyLines() for internal line break
  • Improve handling of reflist
  • Ensure every page has a title

August 2021

  • Improve processLink() in markdown parsing for line counts
  • Minor change in markdown detab() for non-breaking space
  • Improve various visitPre and visitPost methods for html
  • Enhance directory handling in buildFileList()
  • Test for nullptr before usage in multiple places
  • Redesign handling of c style comments
  • Very minor changes to Fortran parsing
  • Correct parsing of variadic macros
  • Improve python comment parsing

Sept 2021

  • Correct how internal_linebr is parsed
  • Adjust when member name entires are added in add enum value function
  • Improve html parsing for links
  • Copy attributes when processing template specializations
  • Enhance C++ parsing
  • Improve C highlighting for comments
  • Minor changes in comment parsing
  • Add support for additional html tags and URL protocols when parsing source code
  • Update generated lex files
  • Improve XML output for images
  • Improve warning message if translation files can not be loaded
  • Update CMake build files to generate new .qm files
  • In linkifyText() add call match() when word is not linked

November 2021

  • Allow whitespace before void keyword in a C++ return type
  • Improve captions in tables
  • Improvements for XML output
  • Minor changes to markdown for a fenced code block
  • In RTF output add newline after list entry, avoids dropping text
  • Close captions correctly in RTF output
  • Update handling when parsing using declarations in C++
  • Improve table formatting in RTF output
  • Change variable names for readability
  • Modify javascript code for tree view
  • Update html resource files
  • Minor change in regular expression for template argument parsing
  • Change post increment/decrement to pre increment/decrement
  • Add new methods to track location (row and column) of declarations
  • Correct html formatting for an ordered list
  • Create setDefFileName() method in Definition class
  • Add new information for setPrototype() to store declaration locations
  • Add missing information in Perl output
  • Refactor Html Help

December 2021

  • Update definitions in lex parser files
  • Change how keywords for specific languages are processed
  • Refine processing of comments
  • Standardize detection of anonymous classes
  • Add methods to standardize detection of anonymous methods
  • Refactor using isAnonymous() and standardize anonymous namespace
  • Refine Perl output for anonymous methods
  • Add check for anonymous namespace when documenting class members
  • Correct rule for parsing templates in default arguments
  • Upgrade multiple rules in the C, C++, and Java parser
  • Improve rules in the preprocessor parser for raw strings
  • Update to CMake 3.16 as the minimum required version

2022

January 2022

  • Update copyright
  • DoxyPressApp 1.4.2 release
  • DoxyPress 1.4.2 release

March 2022

  • Add title and subject to LaTex pdf output
  • Modify markdown to support strike through
  • Move test for isFunction() to the outer if statement

May 2022

  • Add new enums to support additional html tags, sort enums for readability
  • Support additional html tags in docparser
  • Update output visitor files to support additional html tags
  • Correct how \ref is parsed if the text contains a line break
  • Update resource file for xml output
  • Fix html mathjax formatting
  • Adjust warning messages

June 2022

  • Code clean up
  • Rename temp variable
  • Change variable memberList to memberName, use ptrEntry instead of root
  • Use "child" variable instead of "root" in addEnumValuesToEnums() method
  • Change variable names to prevent shadowing in multiple files
  • Rename data member in memberdef class
  • Enhance source code readability
  • Minor lex change for parsing Q_GADGET macro
  • Display the word "struct" or "class" for strong enums
  • Remove extra greater than sign in html output
  • Minor html blockquote change
  • Improve latex output for symbols
  • Update dot to handle a problem when a file is not documented
  • Change passed parameters in merge arguments
  • Adjust processing of artificial entries
  • Add isAnonymous() method to NamespaceDef
  • Change how qualified name is computed for enums
  • Minor changes in memberdef when writing documentation and links
  • Reorder DocAnchor constructor
  • Use "\n" instead of "endl" for pre-visit methods and formula
  • Ignore empty items when generating pages for reference lists
  • Add call for latex output to handle special characters
  • Improve error messages for undocumented members

July 2022

  • Modify how source code in rtf output is highlighted
  • Handle file extensions in tag reader
  • Minor changes in parsing inline formulas
  • Improve support for tag files in a class
  • Add xml output to doc image processing
  • Add const to static tag declarations
  • Fix variable shadowing in multiple files
  • Improve copyToOutput() in comment processing
  • Sort the list of class names shown on various index pages
  • Show the qualified name in 'Inherits' or 'Reimplemented' documentation
  • Optimize string initialization
  • Clean up syntax, variable names, and formatting
  • Clean up warning and error messages
  • Handle table cell attributes in xml output
  • Refactor attributes in html output
  • Restructure logic for parsing a section of documentation
  • Adjust list of emphasis characters in markdown
  • Escape more characters in markdown
  • Handle formula encoding syntax in isBlockCommand()
  • Modify return value in markdown processing of dashes
  • Add two methods for processing images
  • Refactor extractPageTitle()
  • Correct off by one error in a fenced code block
  • Change how new lines are detected and counted
  • Change string view to a string to extend the lifetime of the title
  • Refactor main entry function in markdown
  • Improve processing of new lines in a markdown block quote and a code block
  • Modifying how links are processed in markdown
  • Handle inline images in processlink()
  • Modify indent level for markdown headers
  • Add more rules for processing comments in c style source code
  • Add script file to generate .cpp files from lex input
  • Rename static variables, add scope to enums in lex parsers
  • Rename static variables, add scope to enums to lex files
  • Remove unused code in lex source
  • Modify rules for lex files
  • Improve rule names in Fortran lex files

August 2022

  • Expand range of supported CMake versions
  • Modify test input files
  • Add new command \force_output which will force an \fn block with no documentation to be included in the output
  • Improve warning messages, refactor how a project alias is expanded
  • Update xml header in tag files
  • Use ptrEntry instead of root in findEnumDocumentation()
  • Rename variables to remove shadowing
  • Refactor several find methods
  • Update latex header
  • Enhance handling of page header in markdown parser
  • Add support for strong enums
  • Improve syntax highlighting
  • Modify rules to handle comments inside code
  • Add additional lex support for requires and concepts constructs
  • Adjust parsing of comments in Python code
  • Add new parsing rules for Fortran

September 2022

  • Add new rules for Fortran syntax highlighting
  • Process comments better, improve line breaks and braces
  • Improve parsing of templates in comments
  • Add more support for concepts, requires, and constraints in lex parsers
  • DoxyPressApp 1.5.0 release
  • DoxyPress 1.5.0 release

November 2022

  • Update html JavaScript files for searching
  • Improve handling of html paragraph tags
  • Fix sort order of class names

2023

January 2023

  • Update copyright
  • Improve parsing of linked words
  • DoxyPressApp 1.5.1 release
  • DoxyPress 1.5.1 release

February 2023

  • Remove code which prevented overloads in the same class from being documented

March 2023

  • Add extra space after reference qualifier
  • Adjust when noexcept keyword is added to a method signature when parsing with clang
  • Correction for missing backslash in a code block
  • Ensure friend docs are not confused with constructors

November 2023

  • Correct invalid string conversion
  • Add const reference to improve performance
  • Update default clang version to C++17
  • Remove or update warning messages and comments
  • Correct forward declarations
  • Remove unused members in several classes
  • Use filePath() for back up file location
  • Change variable name from stat to m_static
  • Code clean up
  • Change how using declarations are stored
  • Use pre increment/decrement instead of post increment/decrement
  • Use unique file name for unknown man pages
  • Add additional source file extensions for C++
  • Remove scope names from search index when hide scope names is set
  • Optimize for loops
  • Support protected members in python
  • Improve comment parsing
  • Detect recursive call when parsing classes
  • Remove obsolete code
  • Remove unnecessary inline keyword for methods inside a class
  • Refine add() methods in perl output
  • Fix indentation in perl output
  • Clean up the source code which generates perl output
  • Change FileList to a const reference
  • Add new method to perl output include file names
  • Various improvements for the perl output
  • Add explicit test for nullptr
  • Rename includeInfo() to getIncludeInfo()
  • Rename initializer() to getInitializer()
  • Fix compiler warnings
  • Block out unused code
  • Alter initialization of empty strings

December 2023

  • Add methods to insert and retrieve a concept definition object from the global dictionary
  • Add methods for writing concepts
  • Revise various methods for C++ concepts
  • Add support for Concept page in documentation layout
  • Update how documentation is written for Files, Groups, and Namespaces
  • Minor changes to resource files
  • Add icon for page index
  • Enhance parsing class members
  • Add new index sections, refactor code for processing sections
  • Add additional sections and parsing for docbook, latex, rtf, and xml outputs
  • Enhance tag files, add support for concepts
  • Rewrite the method which converts template arguments to a string
  • Add a new function to find a concept for a given name
  • Correct an issue with parsing latex strings
  • Add concepts to the search index
  • Improve parsing for perl output
  • Support two new project file tags to warn when a See Also entry does not link
  • Add new keywords in various lex parsers
  • Modify parsing of html tags
  • Change warning for an invalid comment block
  • Multiple changes for syntax highlighting in code output
  • Enhance code parser
  • Improve primary processing system, add status messages and new documentation sections

2024

January 2024

  • Update copyright
  • Update readme file
  • DoxyPressApp 1.6.0 release
  • DoxyPress 1.6.0 release