Releases: Fortran-FOSS-Programmers/ford
Releases · Fortran-FOSS-Programmers/ford
FORD v6.1.3
FORD v6.1.2
FORD v6.1.1
This should fix an issue with the packaging
FORD v6.1.0
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
andinclude
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
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
Bug fix:
- Fixed regression introduced in v5.0.5 causing FORD to crash when using Python 3 (PR #170)
Version 5.0.5
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
use
d 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
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
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