Skip to content

Version 6.0.0

Compare
Choose a tag to compare
@cmacmackin cmacmackin released this 30 Jun 12:44
· 1106 commits to master since this release

Long overdue, this release contains numerous bug fixes and new features contributed by users.

The exclude_dir project file option is now recursive (e.g., all subdirectories are excluded). This was always the intended behaviour, but a bug prevented it from working. It has the potential to break some people's builds if they relied on it being non-recursive. (Issue #177, PR #194)

New Features:

  • Ability to read fixed-form source files with unlimited line length (Issue #208)
  • Experimental ability to explicitly specify a lexer for syntax highlighting of non-Fortran source files (Issue #203, PR #217)
  • Introduction of controls on graph sizes and depth to improve performance generating graphs of large projects (Issue #176, PR #197, #216, #218)
  • Option not to include copies of source files in documentation (Issue #172, PR #241)
  • New option to set custom MathJax configurations (PR #195)
  • Option to specify which revision of your code the documentation is for (PR #197)
  • Multithreading of some parts of the processing (PR #197)
  • Progress bars for generating graphs and search index

Bug fixes:

  • Fixed crashing when variable names begin with common (Issue #173)
  • Improved stability of parsing module procedures (Issues #185, #199)
  • Include directories specified using a ~ are now properly evaluated (Issue #134)
  • Computed go to no longer mistaken for function call (Issue #207, PR #214)
  • Made graphs case-insensitive (Issue #193, PR #201)
  • Fixed error in displaying calls to interfaces in certain graphs (Issue #193, PR #201)
  • No longer crashes parsing character variables declared with the * notation (Issue #212)
  • Various issues generating relative links in documentation (Issue #204, PR #209)
  • Interfaces of type-bound-procedures with private implementations are now displayed (Issue #215)
  • Fixed recursion errors when making graphs for large projects (Issues #174, #183)
  • Now considers explicit interfaces within generic interfaces as callable procedures in their own right (Issue #202)
  • Graph project file option now case-insensitive (Issue #219, PR #220)
  • Sorting variables now works properly within common blocks
  • No longer crashes trying to evaluate the permission of a finalisation procedure (Issue #229)
  • Added new checks to ensure arrays aren't mistaken for function calls (Issue #190)
  • Comments in an interface defining a constructor will now be displayed (Issue #233)
  • Change dict method call to be compatible with Python 3.5 (PR #170)
  • Fixed position of hidden anchors so intra-page links up properly
  • Explicit imports with the use statement are now case insensitive (PR #178)
  • Fixed typo when generating search index (PR #196)
  • Fixed name-mangling routines (PR #192)
  • Fixed broken links for intrinsic module documentation (PR #197)
  • Filter for empty preprocessor flags (PR #214)

Miscellaneous:

  • LaTeX symbols inside of bug, note, warning, and to-do environments are now coloured consistently (Issue #184)
  • Search results page can now be styled by user-supplied CSS (Issue #184)
  • Switched to a new MathJax Markdown extension which provides better rendering and works with newer versions of Markdown (Issues #196, #221, #222, #236)
  • Improved display of links to hidden documentation so they no longer look out of place (Issue #182)
  • Removed the "all procedures", "all modules", etc. listings from the side of documentation. These were too large to be useful and meant HTML files took up too much disk space (Issue #205)
  • Massive reduction in memory use by not storing generated HTML in memory (PR #191)
  • Switch from list concatenation to use of iterators to save processing and memory (PR #191)
  • Better example project file (PR #169)
  • Improved page rendering time by moving import of search information to bottom (PR #175)
  • Improved performance of search index generation by filtering which HTML is analysed (PR #178)