Skip to content

Releases: Fortran-FOSS-Programmers/ford

FORD v6.1.3

10 Sep 08:42
912d8a8
Compare
Choose a tag to compare

Fixed several small-ish bug fixes, plus more tests and some minor tidying up:

  • Fix enums with kind specified for integer literals #243
  • Fix "Unknown Procedure Type" in call tree #319
  • Fix multi-line strings containing an exclamation mark #320
  • Fix case sensitivity for MODULE SUBROUTINE #353

FORD v6.1.2

06 Sep 17:11
d40ee86
Compare
Choose a tag to compare

A few bug fixes:

  • Fix for renamed used objects not being recognised (#352)
  • Ignore format statements when parsing (#350)
  • Improve error message for inline alternative documentation (#292)

Plus more tests and a little bit of tidying up

FORD v6.1.1

20 Jul 14:21
76aeb1f
Compare
Choose a tag to compare

This should fix an issue with the packaging

FORD v6.1.0

20 Jul 14:09
72d1861
Compare
Choose a tag to compare

See CHANGELOG.md for a full list of changes.

New Features

  • Add ability to choose encoding
  • Add --force mode to carry on past some errors
  • Add hide_undoc option to hide undocumented elements
  • Add max_frontpage_items option to control number of objects in bottom navigation links
  • Add gitlab project option
  • Add copy_subdir option to copy subdirectories to generated documentation
  • Add ability to define user aliases
  • Add ordered_subpage option to control order of subpages in left-hand navbar
  • Add support for python -m ford
  • Add ability to link to external project documentation
  • Warn on missing include files instead of error

Better recognition of Fortran features

  • Recognise double complex type
  • Recognise both subroutine and function calls on same line, for example call foo(bar())
  • Allow lines consisting of a single ampersand
  • Recognise both extends and include case-insensitively
  • Recognise contains in submodule procedures
  • Allow backslashes in character default values

Bugfixes

  • Fix copying MathJax config file
  • Fix invalid "Read more" for components of derived types
  • Fix links in the README files
  • Add source code line values to raised exceptions
  • Fix #273: Ensuring set is used for module uses data
  • Fix #267: Include all proc doc when missing read more
  • Fix directory names in error message
  • Fix anchors being hid by navbar for all elements
  • Fix missing parentheses on str.lower call
  • Fix and update URLs for intrinsic modules

Plus many project/sustainability related fixes

Version 6.0.0

30 Jun 12:44
Compare
Choose a tag to compare

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)

Version 5.0.6

16 Sep 16:17
Compare
Choose a tag to compare

Bug fix:

  • Fixed regression introduced in v5.0.5 causing FORD to crash when using Python 3 (PR #170)

Version 5.0.5

15 Sep 15:19
Compare
Choose a tag to compare

Bug fixes:

  • Fixed exclude_dir settings being ignored (Issue #155)
  • Fixed FORD counting zero total lines of files and producing a ZeroDivisionError for libraries with no program (Issue #160)
  • Fixed regression caused from improving classification of used entities as public or private (Issue #165)
  • Fixed NameError arising in the graphs module when graphviz is not installed (Issue #166)
  • Updated dependencies to require version of beautifulsoup4 which won't encounter an error when using LXML in projects with graphs (Issue #154)

Version 5.0.4

27 Jul 10:08
Compare
Choose a tag to compare

Bug fixes:

  • favicon path now evaluated relative to project file, as intended
  • custom CSS path now evaluated relative to project file, as intended

Version 5.0.3

27 Jul 09:28
Compare
Choose a tag to compare

Bug fixes:

  • Paths specified as command line arguments now evaluated relative to PWD, as intended
  • Processing of permission attributes for variables (specified after declaration) no longer causes error

Version 5.0.2

26 Jul 17:34
Compare
Choose a tag to compare

Bug fixes:

  • Fixed issue where all of the @note, @todo, @warning, and @bug environments were labelled as "Note" (Issue #152)
  • Fixed incompatibilities with Python 3 introduced in version 5.0.0 (Issue #153)