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
- 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
- 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
February 2024
- Modify code to remove warnings
- Organize list of include files
- Change zero to nullptr, fix format string, correct variable shadowing
May 2024
- Parse a CS macro not as function or a method, corrects an issue with highlighting an access specifier
July 2024
- Improve debug and other output messages
- Fix line count in parsing macros
- Update test build
August 2024
- Switch from clang 10 to clang 18, used when documentation is generated using clang
September 2024
- Update minimum version to CMake 3.18
- Release new clang 18.1.8 binary files
- Improve clang parsing for forward declarations
- DoxyPressApp 1.7.0 release
- DoxyPress 1.7.0 release